Skip to content

Commit 7b79e54

Browse files
committed
doc: update release notes for 26.x
1 parent ccf00b1 commit 7b79e54

File tree

1 file changed

+12
-276
lines changed

1 file changed

+12
-276
lines changed

doc/release-notes.md

Lines changed: 12 additions & 276 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
26.0 Release Notes
1+
26.x Release Notes
22
==================
33

4-
Bitcoin Core version 26.0 is now available from:
4+
Bitcoin Core version 26.x is now available from:
55

6-
<https://bitcoincore.org/bin/bitcoin-core-26.0/>
6+
<https://bitcoincore.org/bin/bitcoin-core-26.x/>
77

88
This release includes new features, various bug fixes and performance
99
improvements, as well as updated translations.
@@ -40,296 +40,32 @@ unsupported systems.
4040
Notable changes
4141
===============
4242

43-
P2P and network changes
44-
-----------------------
43+
### Wallet
4544

46-
- Experimental support for the v2 transport protocol defined in
47-
[BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki) was added.
48-
It is off by default, but when enabled using `-v2transport` it will be negotiated
49-
on a per-connection basis with other peers that support it too. The existing
50-
v1 transport protocol remains fully supported.
45+
- #28994 wallet: skip BnB when SFFO is enabled
46+
- #28920 wallet: birth time update during tx scanning
47+
- #29176 wallet: Fix use-after-free in WalletBatch::EraseRecords
5148

52-
- Nodes with multiple reachable networks will actively try to have at least one
53-
outbound connection to each network. This improves individual resistance to
54-
eclipse attacks and network level resistance to partition attacks. Users no
55-
longer need to perform active measures to ensure being connected to multiple
56-
enabled networks. (#27213)
49+
### RPC
5750

58-
Pruning
59-
-------
51+
- #29003 rpc: fix getrawtransaction segfault
6052

61-
- When using assumeutxo with `-prune`, the prune budget may be exceeded if it is set
62-
lower than 1100MB (i.e. `MIN_DISK_SPACE_FOR_BLOCK_FILES * 2`). Prune budget is normally
63-
split evenly across each chainstate, unless the resulting prune budget per chainstate
64-
is beneath `MIN_DISK_SPACE_FOR_BLOCK_FILES` in which case that value will be used. (#27596)
53+
### CI
6554

66-
Updated RPCs
67-
------------
68-
69-
- Setting `-rpcserialversion=0` is deprecated and will be removed in
70-
a future release. It can currently still be used by also adding
71-
the `-deprecatedrpc=serialversion` option. (#28448)
72-
73-
- The `hash_serialized_2` value has been removed from `gettxoutsetinfo` since the value it
74-
calculated contained a bug and did not take all data into account. It is superseded by
75-
`hash_serialized_3` which provides the same functionality but serves the correctly calculated hash. (#28685)
76-
77-
- New fields `transport_protocol_type` and `session_id` were added to the `getpeerinfo` RPC to indicate
78-
whether the v2 transport protocol is in use, and if so, what the session id is.
79-
80-
- A new argument `v2transport` was added to the `addnode` RPC to indicate whether a v2 transaction connection
81-
is to be attempted with the peer.
82-
83-
- [Miniscript](https://bitcoin.sipa.be/miniscript/) expressions can now be used in Taproot descriptors for all RPCs working with descriptors. (#27255)
84-
85-
- `finalizepsbt` is now able to finalize a PSBT with inputs spending [Miniscript](https://bitcoin.sipa.be/miniscript/)-compatible Taproot leaves. (#27255)
86-
87-
Changes to wallet related RPCs can be found in the Wallet section below.
88-
89-
New RPCs
90-
--------
91-
92-
- `loadtxoutset` has been added, which allows loading a UTXO snapshot of the format
93-
generated by `dumptxoutset`. Once this snapshot is loaded, its contents will be
94-
deserialized into a second chainstate data structure, which is then used to sync to
95-
the network's tip.
96-
97-
Meanwhile, the original chainstate will complete the initial block download process in
98-
the background, eventually validating up to the block that the snapshot is based upon.
99-
100-
The result is a usable bitcoind instance that is current with the network tip in a
101-
matter of minutes rather than hours. UTXO snapshot are typically obtained via
102-
third-party sources (HTTP, torrent, etc.) which is reasonable since their contents
103-
are always checked by hash.
104-
105-
You can find more information on this process in the `assumeutxo` design
106-
document (<https://github.com/bitcoin/bitcoin/blob/master/doc/design/assumeutxo.md>).
107-
108-
`getchainstates` has been added to aid in monitoring the assumeutxo sync process.
109-
110-
- A new `getprioritisedtransactions` RPC has been added. It returns a map of all fee deltas created by the
111-
user with prioritisetransaction, indexed by txid. The map also indicates whether each transaction is
112-
present in the mempool. (#27501)
113-
114-
- A new RPC, `submitpackage`, has been added. It can be used to submit a list of raw hex
115-
transactions to the mempool to be evaluated as a package using consensus and mempool policy rules.
116-
These policies include package CPFP, allowing a child with high fees to bump a parent below the
117-
mempool minimum feerate (but not minimum relay feerate). (#27609)
118-
119-
- Warning: successful submission does not mean the transactions will propagate throughout the
120-
network, as package relay is not supported.
121-
122-
- Not all features are available. The package is limited to a child with all of its
123-
unconfirmed parents, and no parent may spend the output of another parent. Also, package
124-
RBF is not supported. Refer to doc/policy/packages.md for more details on package policies
125-
and limitations.
126-
127-
- This RPC is experimental. Its interface may change.
128-
129-
- A new RPC `getaddrmaninfo` has been added to view the distribution of addresses in the new and tried table of the
130-
node's address manager across different networks(ipv4, ipv6, onion, i2p, cjdns). The RPC returns count of addresses
131-
in new and tried table as well as their sum for all networks. (#27511)
132-
133-
- A new `importmempool` RPC has been added. It loads a valid `mempool.dat` file and attempts to
134-
add its contents to the mempool. This can be useful to import mempool data from another node
135-
without having to modify the datadir contents and without having to restart the node. (#27460)
136-
- Warning: Importing untrusted files is dangerous, especially if metadata from the file is taken over.
137-
- If you want to apply fee deltas, it is recommended to use the `getprioritisedtransactions` and
138-
`prioritisetransaction` RPCs instead of the `apply_fee_delta_priority` option to avoid
139-
double-prioritising any already-prioritised transactions in the mempool.
140-
141-
Updated settings
142-
----------------
143-
144-
- `bitcoind` and `bitcoin-qt` will now raise an error on startup
145-
if a datadir that is being used contains a bitcoin.conf file that
146-
will be ignored, which can happen when a datadir= line is used in
147-
a bitcoin.conf file. The error message is just a diagnostic intended
148-
to prevent accidental misconfiguration, and it can be disabled to
149-
restore the previous behavior of using the datadir while ignoring
150-
the bitcoin.conf contained in it. (#27302)
151-
152-
- Passing an invalid `-debug`, `-debugexclude`, or `-loglevel` logging configuration
153-
option now raises an error, rather than logging an easily missed warning. (#27632)
154-
155-
Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
156-
157-
New settings
158-
------------
159-
160-
Tools and Utilities
161-
-------------------
162-
163-
- A new `bitcoinconsensus_verify_script_with_spent_outputs` function is available in libconsensus which optionally accepts the spent outputs of the transaction being verified.
164-
- A new `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_TAPROOT` flag is available in libconsensus that will verify scripts with the Taproot spending rules.
165-
166-
Wallet
167-
------
168-
169-
- Wallet loading has changed in this release. Wallets with some corrupted records that could be
170-
previously loaded (with warnings) may no longer load. For example, wallets with corrupted
171-
address book entries may no longer load. If this happens, it is recommended
172-
load the wallet in a previous version of Bitcoin Core and import the data into a new wallet.
173-
Please also report an issue to help improve the software and make wallet loading more robust
174-
in these cases. (#24914)
175-
176-
- The `gettransaction`, `listtransactions`, `listsinceblock` RPCs now return
177-
the `abandoned` field for all transactions. Previously, the "abandoned" field
178-
was only returned for sent transactions. (#25158)
179-
180-
- The `listdescriptors`, `decodepsbt` and similar RPC methods now show `h` rather than apostrophe (`'`) to indicate
181-
hardened derivation. This does not apply when using the `private` parameter, which
182-
matches the marker used when descriptor was generated or imported. Newly created
183-
wallets use `h`. This change makes it easier to handle descriptor strings manually.
184-
E.g. the `importdescriptors` RPC call is easiest to use `h` as the marker: `'["desc": ".../0h/..."]'`.
185-
With this change `listdescriptors` will use `h`, so you can copy-paste the result,
186-
without having to add escape characters or switch `'` to 'h' manually.
187-
Note that this changes the descriptor checksum.
188-
For legacy wallets the `hdkeypath` field in `getaddressinfo` is unchanged,
189-
nor is the serialization format of wallet dumps. (#26076)
190-
191-
- The `getbalances` RPC now returns a `lastprocessedblock` JSON object which contains the wallet's last processed block
192-
hash and height at the time the balances were calculated. This result shouldn't be cached because importing new keys could invalidate it. (#26094)
193-
194-
- The `gettransaction` RPC now returns a `lastprocessedblock` JSON object which contains the wallet's last processed block
195-
hash and height at the time the transaction information was generated. (#26094)
196-
197-
- The `getwalletinfo` RPC now returns a `lastprocessedblock` JSON object which contains the wallet's last processed block
198-
hash and height at the time the wallet information was generated. (#26094)
199-
200-
- Coin selection and transaction building now accounts for unconfirmed low-feerate ancestor transactions. When it is necessary to spend unconfirmed outputs, the wallet will add fees to ensure that the new transaction with its ancestors will achieve a mining score equal to the feerate requested by the user. (#26152)
201-
202-
- For RPC methods which accept `options` parameters ((`importmulti`, `listunspent`,
203-
`fundrawtransaction`, `bumpfee`, `send`, `sendall`, `walletcreatefundedpsbt`,
204-
`simulaterawtransaction`), it is now possible to pass the options as named
205-
parameters without the need for a nested object. (#26485)
206-
207-
This means it is possible make calls like:
208-
209-
```sh
210-
src/bitcoin-cli -named bumpfee txid fee_rate=100
211-
```
212-
213-
instead of
214-
215-
```sh
216-
src/bitcoin-cli -named bumpfee txid options='{"fee_rate": 100}'
217-
```
218-
219-
- The `deprecatedrpc=walletwarningfield` configuration option has been removed.
220-
The `createwallet`, `loadwallet`, `restorewallet` and `unloadwallet` RPCs no
221-
longer return the "warning" string field. The same information is provided
222-
through the "warnings" field added in v25.0, which returns a JSON array of
223-
strings. The "warning" string field was deprecated also in v25.0. (#27757)
224-
225-
- The `signrawtransactionwithkey`, `signrawtransactionwithwallet`,
226-
`walletprocesspsbt` and `descriptorprocesspsbt` calls now return the more
227-
specific RPC_INVALID_PARAMETER error instead of RPC_MISC_ERROR if their
228-
sighashtype argument is malformed. (#28113)
229-
230-
- RPC `walletprocesspsbt`, and `descriptorprocesspsbt` return
231-
object now includes field `hex` (if the transaction
232-
is complete) containing the serialized transaction
233-
suitable for RPC `sendrawtransaction`. (#28414)
234-
235-
- It's now possible to use [Miniscript](https://bitcoin.sipa.be/miniscript/) inside Taproot leaves for descriptor wallets. (#27255)
236-
237-
GUI changes
238-
-----------
239-
240-
- The transaction list in the GUI no longer provides a special category for "payment to yourself". Now transactions that have both inputs and outputs that affect the wallet are displayed on separate lines for spending and receiving. (gui#119)
241-
242-
- A new menu option allows migrating a legacy wallet based on keys and implied output script types stored in BerkeleyDB (BDB) to a modern wallet that uses descriptors stored in SQLite. (gui#738)
243-
244-
- The PSBT operations dialog marks outputs paying your own wallet with "own address". (gui#740)
245-
246-
- The ability to create legacy wallets is being removed. (gui#764)
247-
248-
Low-level changes
249-
=================
250-
251-
Tests
252-
-----
253-
254-
- Non-standard transactions are now disabled by default on testnet
255-
for relay and mempool acceptance. The previous behaviour can be
256-
re-enabled by setting `-acceptnonstdtxn=1`. (#28354)
55+
- #28992 ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz
56+
- #29080 ci: Set HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK to avoid unrelated failures
25757

25858
Credits
25959
=======
26060

26161
Thanks to everyone who directly contributed to this release:
26262

263-
- 0xb10c
264-
- Amiti Uttarwar
26563
- Andrew Chow
266-
- Andrew Toth
267-
- Anthony Towns
268-
- Antoine Poinsot
269-
- Antoine Riard
270-
- Ari
271-
- Aurèle Oulès
272-
- Ayush Singh
273-
- Ben Woosley
274-
- Brandon Odiwuor
275-
- Brotcrunsher
276-
- brunoerg
277-
- Bufo
278-
- Carl Dong
279-
- Casey Carter
280-
- Cory Fields
281-
- David Álvarez Rosa
282-
- dergoegge
283-
- dhruv
284-
- dimitaracev
285-
- Erik Arvstedt
286-
- Erik McKelvey
287-
- Fabian Jahr
28864
- furszy
289-
- glozow
290-
- Greg Sanders
291-
- Harris
29265
- Hennadii Stepanov
293-
- Hernan Marino
294-
- ishaanam
295-
- ismaelsadeeq
296-
- Jake Rawsthorne
297-
- James O'Beirne
298-
- John Moffett
299-
- Jon Atack
300-
- josibake
301-
- kevkevin
302-
- Kiminuo
303-
- Larry Ruane
304-
- Luke Dashjr
30566
- MarcoFalke
306-
- Marnix
307-
- Martin Leitner-Ankerl
30867
- Martin Zumsande
309-
- Matthew Zipkin
310-
- Michael Ford
311-
- Michael Tidwell
312-
- mruddy
31368
- Murch
314-
- ns-xvrn
315-
- pablomartin4btc
316-
- Pieter Wuille
317-
- Reese Russell
318-
- Rhythm Garg
319-
- Ryan Ofsky
320-
- Sebastian Falbesoner
321-
- Sjors Provoost
322-
- stickies-v
323-
- stratospher
324-
- Suhas Daftuar
325-
- TheCharlatan
326-
- Tim Neubauer
327-
- Tim Ruffing
328-
- Vasil Dimov
329-
- virtu
330-
- vuittont60
331-
- willcl-ark
332-
- Yusuf Sahin HAMZA
33369

33470
As well as to everyone that helped with translations on
33571
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).

0 commit comments

Comments
 (0)