|
3 | 3 | All notable changes to this project will be documented in this file. |
4 | 4 |
|
5 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). |
| 6 | +## [25.09rc1] - 2025-08-18: "Hot Wallet Guardian" |
| 7 | + |
| 8 | +This release named by @king-11. |
| 9 | + |
| 10 | +Note: release schedule moved one month: this is v25.09, and all deprecations incremented accordingly. ([#8370]) |
| 11 | + |
| 12 | +### Added |
| 13 | + |
| 14 | + - JSON-RPC: `xpay` can now directly pay a BIP353 address, like `₿[email protected]`. ( [#8467]) |
| 15 | + - JSON-RPC: `xpay` can now pay a simple offer directly, rather than requiring fetchinvoice first. ([#8467]) |
| 16 | + - JSON-RPC: `listchainmoves` and `listchannelmoves` commands to access the audit log of coin movements. ([#8410]) |
| 17 | + - `reckless` can now install python plugins using the uv package manager. ([#8430]) |
| 18 | + - JSON-RPC: `getroutes` new parameter `maxparts` to limit the number of routes in the solution. ([#8448]) |
| 19 | + - Plugins: `openchannel` and `openchannel2` hooks now expose the `channel_type` field for the offered channel. ([#8454]) |
| 20 | + - Plugins: The `htlc_accepted_hook` now gets the TLV-stream ([#8433]) |
| 21 | + - Plugins: `xpay` now publishes `pay_part_start` and `pay_part_end` notifications on every payment send attempt. ([#8354]) |
| 22 | + - JSON-RPC: `sql` also supports functions `json_object(key1, value1, ...)` to construct JSON objects and `json_group_array(value)` to aggregate rows into JSON array. ([#8446]) |
| 23 | + - clnrest: can now return successful responses as xml, yaml, or form-encoded in addition to json defined in the 'Accept' header. The same goes for request types defined in the 'Content-type' header. ([#8383]) |
| 24 | + - JSON-RPC: `getroutes` now performs better when using the "auto.no_mpp_support" layer (for forced single-part payments) ([#8299]) |
| 25 | + - contrib/log_visualizer.html: A new tool for rendering CLN log files in the browser. ([#7725]) |
| 26 | + - hsmtool: new `derivetoremote` method. ([#7344]) |
| 27 | + - JSON-RPC: `sql` plugin now supports `chainmoves` and `channelmoves` tables. ([#8410]) |
| 28 | + - JSON-RPC: `wait`: new subsystems `chainmoves` and `channelmoves`. ([#8410]) |
| 29 | + - Plugins: `channel_hint_update`, `pay_failure` and `pay_success` notifications now have objects of the same name containing the expected fields. ([#8376]) |
| 30 | + - JSON-RPC: `coin_movement` notification `utxo` field. ([#8445]) |
| 31 | + - JSON-RPC: `coin_movement` notification `spending_txid` field. ([#8445]) |
| 32 | + - JSON-RPC: `coin_movement` notification `primary_tag` and `extra_tags`. ([#8445]) |
| 33 | + - Plugins: `coin_movement` notification with `part_id` field now always has `group_id` field. ([#8445]) |
| 34 | + |
| 35 | + |
| 36 | +### Changed |
| 37 | + |
| 38 | + - Protocol: We now insist that peers support `option_channel_type` (in CLN since 0.12.0 in late 2022, similar for other implementations). ([#8389]) |
| 39 | + - Protocol: payment secret ('s' field) is now mandatory in BOLT11 payment requests for improved security. ([#8377]) |
| 40 | + - wss-proxy.py was replaced by a rust version with support for multiple `wss-bind-addr`. If you install CLN from pre-compiled binaries you must remove the old wss-proxy directory first before installing CLN, usually ([#8080]) |
| 41 | + - pyln-client: plugin notifications parameters now exposed directly, not wrapped in `params` object. ([#8376]) |
| 42 | + - Plugins: `bookkeeper` now explicitly assumes every transaction is in the same currency as the node (true unless you added manually) ([#8445]) |
| 43 | + - JSON-RPC: fundchannel / fundchannel_start returned `channel_type` will include option_zeroconf if it was implied by a 0 minimum_depth, even if we didn't explicitly ask for a zero conf channel. ([#8389]) |
| 44 | + - build: we now require sqlite3 version 3.26 or above (released 2018-12-01). ([#8418]) |
| 45 | + - Plugins: `bookkeeper` now uses the lightningd database, not "accounts.db". ([#8410]) |
| 46 | + - libplugin: you can now call the synchronous API functions at any time (not just in the init callback). ([#8410]) |
| 47 | + - Plugins: "utxo_deposit" notification is allowed to have missing `transfer_from`, and null is not considered an account name. ([#8410]) |
| 48 | + - Plugins: `sql` tables `forwards`, `htlcs`, `invoices`, `sendpays` all use `created_index` as their primary key (and `rowid` is now an alias to this). ([#8410]) |
| 49 | + |
| 50 | + |
| 51 | +### Deprecated |
| 52 | + |
| 53 | +Note: You should always set `allow-deprecated-apis=false` to test for changes. |
| 54 | + |
| 55 | + - Plugins: `channel_hint_update`, `pay_failure` and `pay_success` notification fields outside the same-named object. ([#8376]) |
| 56 | + - pyln-client: plugin custom notifications `origin` and `payload` (use parameters directly) ([#8376]) |
| 57 | + - JSON-RPC: `coin_movement` notification `utxo_txid`, `vout` and `txid` fields (use `utxo` and `spending_txid`). ([#8445]) |
| 58 | + - JSON-RPC: `coin_movement` notification `tags` array (use `primary_tag` and `extra_tags`). ([#8445]) |
| 59 | + |
| 60 | + |
| 61 | +### Removed |
| 62 | + |
| 63 | + - Protocol: backwards compatibility allowances for CLN before 23.08 which didn't handle `option_scid_alias` properly. ([#8389]) |
| 64 | + - Config: `experimental-anchors` and `experimental-onion-messages` (deprecated 24.02 / 24.08, disabled v25.05). ([#8352]) |
| 65 | + - JSON-RPC: `commando-rune`, `commando-listrunes`, `commando-blacklist` (deprecated v23.08, disabled v25.05). ([#8352]) |
| 66 | + - Config: autodetection for rest-port/rest-protocol/rest-host/rest-certs options to clnrest-* (deprecated v23.11, disabled v25.02). ([#8352]) |
| 67 | + - Config: `max-locktime-blocks` (deprecated v24.05, disabled v25.02). ([#8352]) |
| 68 | + |
| 69 | + |
| 70 | +### Fixed |
| 71 | + |
| 72 | + - JSON-RPC: `fetchinvoice` is now more reliable. ([#8470]) |
| 73 | + - lightningd: don't get confused with parallel ping commands. ([#8344]) |
| 74 | + - libbacktrace works with macOS, so we get backtraces on crashes ([#8431]) |
| 75 | + - Protocol: trying to create a channel below our own min-capacity-sat will now fail before asking the peer, not with an error blaming the peer when they accept! ([#8468]) |
| 76 | + - Config: the node no longer crashes if you set `watchtime-blocks` to 0 (which is fine for testing: don't do this on mainnet!). ([#8436]) |
| 77 | + |
| 78 | + |
| 79 | +### EXPERIMENTAL |
| 80 | + |
| 81 | + - Protocol: support for `start_batch` in splicing makes us Eclair compatible! ([#8335]) |
| 82 | + - Protocol: we now allow routing through old short-channel-ids once a splice is done (previously we would refuse, leading to a 6 block gap in service). ([#8387]) |
| 83 | + - Config: Removed the non-functional `experimental-upgrade-protocol` config option. ([#8377]) |
| 84 | + |
| 85 | + |
| 86 | + |
| 87 | +[#8376]: https://github.com/ElementsProject/lightning/pull/8376 |
| 88 | +[#8436]: https://github.com/ElementsProject/lightning/pull/8436 |
| 89 | +[#8389]: https://github.com/ElementsProject/lightning/pull/8389 |
| 90 | +[#8431]: https://github.com/ElementsProject/lightning/pull/8431 |
| 91 | +[#8430]: https://github.com/ElementsProject/lightning/pull/8430 |
| 92 | +[#8418]: https://github.com/ElementsProject/lightning/pull/8418 |
| 93 | +[#8445]: https://github.com/ElementsProject/lightning/pull/8445 |
| 94 | +[#8470]: https://github.com/ElementsProject/lightning/pull/8470 |
| 95 | +[#8370]: https://github.com/ElementsProject/lightning/pull/8370 |
| 96 | +[#8446]: https://github.com/ElementsProject/lightning/pull/8446 |
| 97 | +[#8448]: https://github.com/ElementsProject/lightning/pull/8448 |
| 98 | +[#8080]: https://github.com/ElementsProject/lightning/pull/8080 |
| 99 | +[#8468]: https://github.com/ElementsProject/lightning/pull/8468 |
| 100 | +[#8433]: https://github.com/ElementsProject/lightning/pull/8433 |
| 101 | +[#8383]: https://github.com/ElementsProject/lightning/pull/8383 |
| 102 | +[#7725]: https://github.com/ElementsProject/lightning/pull/7725 |
| 103 | +[#8467]: https://github.com/ElementsProject/lightning/pull/8467 |
| 104 | +[#8454]: https://github.com/ElementsProject/lightning/pull/8454 |
| 105 | +[#8352]: https://github.com/ElementsProject/lightning/pull/8352 |
| 106 | +[#8299]: https://github.com/ElementsProject/lightning/pull/8299 |
| 107 | +[#8377]: https://github.com/ElementsProject/lightning/pull/8377 |
| 108 | +[#8363]: https://github.com/ElementsProject/lightning/pull/8363 |
| 109 | +[#8335]: https://github.com/ElementsProject/lightning/pull/8335 |
| 110 | +[#8354]: https://github.com/ElementsProject/lightning/pull/8354 |
| 111 | +[#8344]: https://github.com/ElementsProject/lightning/pull/8344 |
| 112 | +[#8387]: https://github.com/ElementsProject/lightning/pull/8387 |
| 113 | +[#7344]: https://github.com/ElementsProject/lightning/pull/7344 |
| 114 | +[#8410]: https://github.com/ElementsProject/lightning/pull/8410 |
| 115 | +[25.09rc1]: https://github.com/ElementsProject/lightning/releases/tag/v25.09rc1 |
| 116 | + |
| 117 | + |
6 | 118 |
|
7 | 119 | ## [25.05] - 2025-06-16: "Satoshi's OP_RETURN Opinion" |
8 | 120 |
|
|
0 commit comments