Skip to content

payany: update to v0.4.0 - #958

Merged
daywalker90 merged 1 commit into
lightningd:masterfrom
daywalker90:payany
Sep 15, 2026
Merged

daywalker90 merged 1 commit into
lightningd:masterfrom
daywalker90:payany

Conversation

@daywalker90

Copy link
Copy Markdown
Collaborator

Changelog

[0.4.0] 2026-09-01

Changed

  • startup: payany checks its command arguments before it starts. It disables itself with an error message when a check fails.
  • build: the optimized release profile now strips debug symbols and aborts on panic.

Fixed

  • budget: paying a bare bolt12 offer or a bip353 address failed again when a budget is set. The 0.3.2 removal of their handling caused the failure. Payany now fetches the invoice first so the budget check can account for it.
  • payany-xpay-handle-pay: pay failed again for a bare offer or a bip353 address. The 0.3.2 removal of their handling caused the failure. pay now passes them to xpay unchanged. maxfeepercent/exemptfee/exclude cannot be converted for them, use maxfee instead.
  • bip353 addresses: the message argument was dropped again. The 0.3.2 removal of their handling caused the failure. Payany now forwards it as payer_note when the command supports it.
  • budget: concurrent pay/xpay/renepay could race each other and exceed the budget, budget checks are now serialized and payments that passed the check are accounted for until they either show up in listsendpays or 10 seconds have passed
  • budget: the check no longer panics when the payment command has no first argument.
  • budget: the check now finds the invoice in the bolt11 argument too.
  • budget: payany now checks an amountless invoice against the budget when amount_msat is given.
  • lnurl: the message argument is percent-encoded before it is added to the callback URL. This change prevents special characters from changing the URL parameters.
  • lnurl: callbacks that already contain query parameters are now supported, the amount and comment parameters are appended correctly instead of corrupting the URL.
  • lnurl: the comment length check now counts characters, not bytes.
  • lnurl: the description hash is no longer required. Payany still checks it when the invoice carries it.
  • lnurl: a decoded LNURL must be an https clearnet link or an http onion link. Local test hosts (localhost, 127.0.0.1, [::1]) use http. Payany checks the callback URL the same way.
  • bolt12 offers: the message argument is now forwarded as payer_note when the command supports it. Setting both message and payer_note returns an error. A message on a command without the payer_note argument returns an error that asks you to upgrade CLN.
  • lnaddress: only exact localhost/127.0.0.1/[::1] hosts are fetched via http, any other domain that merely contains them (e.g. mylocalhost.com) is fetched via https. .onion addresses are fetched via http so they work when CLN is configured to use tor.
  • budget: payany-budget-per is now parsed strictly, values like garbage1week, 1week extra or 1.5h are rejected instead of being silently accepted. The time period is checked for overflow and absurd values can no longer wrap around and disable the budget check.

Removed

  • CLN versions <v26.06 are no longer supported, v25.09 especially no longer works

@daywalker90
daywalker90 merged commit 646824a into lightningd:master Sep 15, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant