cln-nip47/CHANGELOG.md
2026-08-09 20:15:55 +02:00

3.4 KiB

Changelog

[0.2.0] 2026-08-09

Added

  • holdinvoice methods: make_hold_invoice, cancel_hold_invoice, settle_hold_invoice
  • holdinvoice notification: hold_invoice_accepted

Changed

  • pay_keysend will use the new CLN xkeysend command using CLN v26.06+
  • Budget is updated on demand instead of by a background task
  • list_transactions is bounded (at most 500 transactions and ~128kB response) to prevent DoS
  • Upgrade nostr_sdk and CLN dependencies

Removed

  • multi_pay_invoice and multi_pay_keysend, they were removed from the spec

Fixed

  • nip47-create no longer fails if the NWC fails to start, the error is only logged, since the NWC at that point is already persisted to the DB
  • Paying amount-less invoices with a request amount
  • Legacy keysend TLV byte decoding
  • Report the correct error when the payment route is too expensive
  • Notifications are sent per client, so one failing client no longer prevents the others from receiving them
  • Available payment methods are now determined from the node's RPC instead of it's (custom) version string
  • Deduplication of request events instead of filtering unreliably

[0.1.9] 2026-04-23

Fixed

  • nip47-budget: race condition where new budget settings would sometimes be ignored

[0.1.8] 2026-04-03

Changed

  • updated cln dependencies

[0.1.7] 2025-11-27

Fixed

  • If there were failed payment attempts before success the payment_sent notification might not have been sent

[0.1.6] 2025-11-10

Added

  • Include pending and failed payments in list_transactions, now that state exists wallets can display these more meaningfully
  • Include expired invoices in list_transactions, now that state exists wallets can display these more meaningfully

Changed

  • Upgrade nostr_sdk to v0.44 and implement new fields in sync with the nip47 spec, e.g. state for transactions
  • Only process events that were created after cln-nip47 started so it does not sent duplicate responses

Fixed

  • Some minor fixes around bolt11 invoices with 0 amount (aka any amount)
  • Don't ignore offset parameter in list_transactions
  • Also add notifications to the info_event's content if enabled to be in line with the spec

[0.1.5] 2025-07-24

Changed

  • cap list_transactions to under 128kB since more can lead to incompatibilities with certain wallets

[0.1.4] 2025-07-24

Fixed

  • no longer panic on missing both bolt11 and bolt12 strings from listpays response

[0.1.3] 2025-05-04

Changed

  • NWC's with budget at 0 and no renewing interval set (aka "receive-only" NWC) will now stop announcing pay methods when announcing itself to relays, this is for services which demand a receive-only NWC (e.g. stacker.news)

[0.1.2] 2025-04-18

Added

  • nip47-create and nip47-list: add clientkey_public and walletkey_public to output. These are useful for private relay whitelists.
  • nip47-notifications: new option to enable/disable nip47 notifications. Usefule if you don't need them and want to use public relays that may rate limit you.

Fixed

  • nip47-revoke: actually stop task if no relays were ever connected

[0.1.1] 2025-04-07

Changed

  • use xpay instead of pay if CLN version supports it, this is a workaround for a library issue but also xpay is better

Fixed

  • added missing nip47-list labels

[0.1.0] 2025-04-02

Added

  • initial release of cln-nip47