aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2023-12-06 15:13:59 +0000
committerfanquake <fanquake@gmail.com>2024-01-04 16:21:37 +0000
commit7b79e54474b86864c81148c74824bfe4b732412d (patch)
tree79e01917350b320055904918a33f09d41198044f
parentccf00b1e6eb811a3af2c22518a832dd9a51f8aa4 (diff)
doc: update release notes for 26.x
-rw-r--r--doc/release-notes.md288
1 files changed, 12 insertions, 276 deletions
diff --git a/doc/release-notes.md b/doc/release-notes.md
index b30dadf62b..f55c72ab9a 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -1,9 +1,9 @@
-26.0 Release Notes
+26.x Release Notes
==================
-Bitcoin Core version 26.0 is now available from:
+Bitcoin Core version 26.x is now available from:
- <https://bitcoincore.org/bin/bitcoin-core-26.0/>
+ <https://bitcoincore.org/bin/bitcoin-core-26.x/>
This release includes new features, various bug fixes and performance
improvements, as well as updated translations.
@@ -40,296 +40,32 @@ unsupported systems.
Notable changes
===============
-P2P and network changes
------------------------
+### Wallet
-- Experimental support for the v2 transport protocol defined in
- [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki) was added.
- It is off by default, but when enabled using `-v2transport` it will be negotiated
- on a per-connection basis with other peers that support it too. The existing
- v1 transport protocol remains fully supported.
+- #28994 wallet: skip BnB when SFFO is enabled
+- #28920 wallet: birth time update during tx scanning
+- #29176 wallet: Fix use-after-free in WalletBatch::EraseRecords
-- Nodes with multiple reachable networks will actively try to have at least one
- outbound connection to each network. This improves individual resistance to
- eclipse attacks and network level resistance to partition attacks. Users no
- longer need to perform active measures to ensure being connected to multiple
- enabled networks. (#27213)
+### RPC
-Pruning
--------
+- #29003 rpc: fix getrawtransaction segfault
-- When using assumeutxo with `-prune`, the prune budget may be exceeded if it is set
- lower than 1100MB (i.e. `MIN_DISK_SPACE_FOR_BLOCK_FILES * 2`). Prune budget is normally
- split evenly across each chainstate, unless the resulting prune budget per chainstate
- is beneath `MIN_DISK_SPACE_FOR_BLOCK_FILES` in which case that value will be used. (#27596)
+### CI
-Updated RPCs
-------------
-
-- Setting `-rpcserialversion=0` is deprecated and will be removed in
- a future release. It can currently still be used by also adding
- the `-deprecatedrpc=serialversion` option. (#28448)
-
-- The `hash_serialized_2` value has been removed from `gettxoutsetinfo` since the value it
- calculated contained a bug and did not take all data into account. It is superseded by
- `hash_serialized_3` which provides the same functionality but serves the correctly calculated hash. (#28685)
-
-- New fields `transport_protocol_type` and `session_id` were added to the `getpeerinfo` RPC to indicate
- whether the v2 transport protocol is in use, and if so, what the session id is.
-
-- A new argument `v2transport` was added to the `addnode` RPC to indicate whether a v2 transaction connection
- is to be attempted with the peer.
-
-- [Miniscript](https://bitcoin.sipa.be/miniscript/) expressions can now be used in Taproot descriptors for all RPCs working with descriptors. (#27255)
-
-- `finalizepsbt` is now able to finalize a PSBT with inputs spending [Miniscript](https://bitcoin.sipa.be/miniscript/)-compatible Taproot leaves. (#27255)
-
-Changes to wallet related RPCs can be found in the Wallet section below.
-
-New RPCs
---------
-
-- `loadtxoutset` has been added, which allows loading a UTXO snapshot of the format
- generated by `dumptxoutset`. Once this snapshot is loaded, its contents will be
- deserialized into a second chainstate data structure, which is then used to sync to
- the network's tip.
-
- Meanwhile, the original chainstate will complete the initial block download process in
- the background, eventually validating up to the block that the snapshot is based upon.
-
- The result is a usable bitcoind instance that is current with the network tip in a
- matter of minutes rather than hours. UTXO snapshot are typically obtained via
- third-party sources (HTTP, torrent, etc.) which is reasonable since their contents
- are always checked by hash.
-
- You can find more information on this process in the `assumeutxo` design
- document (<https://github.com/bitcoin/bitcoin/blob/master/doc/design/assumeutxo.md>).
-
- `getchainstates` has been added to aid in monitoring the assumeutxo sync process.
-
-- A new `getprioritisedtransactions` RPC has been added. It returns a map of all fee deltas created by the
- user with prioritisetransaction, indexed by txid. The map also indicates whether each transaction is
- present in the mempool. (#27501)
-
-- A new RPC, `submitpackage`, has been added. It can be used to submit a list of raw hex
-transactions to the mempool to be evaluated as a package using consensus and mempool policy rules.
-These policies include package CPFP, allowing a child with high fees to bump a parent below the
-mempool minimum feerate (but not minimum relay feerate). (#27609)
-
- - Warning: successful submission does not mean the transactions will propagate throughout the
- network, as package relay is not supported.
-
- - Not all features are available. The package is limited to a child with all of its
- unconfirmed parents, and no parent may spend the output of another parent. Also, package
- RBF is not supported. Refer to doc/policy/packages.md for more details on package policies
- and limitations.
-
- - This RPC is experimental. Its interface may change.
-
-- A new RPC `getaddrmaninfo` has been added to view the distribution of addresses in the new and tried table of the
- node's address manager across different networks(ipv4, ipv6, onion, i2p, cjdns). The RPC returns count of addresses
- in new and tried table as well as their sum for all networks. (#27511)
-
-- A new `importmempool` RPC has been added. It loads a valid `mempool.dat` file and attempts to
- add its contents to the mempool. This can be useful to import mempool data from another node
- without having to modify the datadir contents and without having to restart the node. (#27460)
- - Warning: Importing untrusted files is dangerous, especially if metadata from the file is taken over.
- - If you want to apply fee deltas, it is recommended to use the `getprioritisedtransactions` and
- `prioritisetransaction` RPCs instead of the `apply_fee_delta_priority` option to avoid
- double-prioritising any already-prioritised transactions in the mempool.
-
-Updated settings
-----------------
-
-- `bitcoind` and `bitcoin-qt` will now raise an error on startup
- if a datadir that is being used contains a bitcoin.conf file that
- will be ignored, which can happen when a datadir= line is used in
- a bitcoin.conf file. The error message is just a diagnostic intended
- to prevent accidental misconfiguration, and it can be disabled to
- restore the previous behavior of using the datadir while ignoring
- the bitcoin.conf contained in it. (#27302)
-
-- Passing an invalid `-debug`, `-debugexclude`, or `-loglevel` logging configuration
- option now raises an error, rather than logging an easily missed warning. (#27632)
-
-Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
-
-New settings
-------------
-
-Tools and Utilities
--------------------
-
-- A new `bitcoinconsensus_verify_script_with_spent_outputs` function is available in libconsensus which optionally accepts the spent outputs of the transaction being verified.
-- A new `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_TAPROOT` flag is available in libconsensus that will verify scripts with the Taproot spending rules.
-
-Wallet
-------
-
-- Wallet loading has changed in this release. Wallets with some corrupted records that could be
- previously loaded (with warnings) may no longer load. For example, wallets with corrupted
- address book entries may no longer load. If this happens, it is recommended
- load the wallet in a previous version of Bitcoin Core and import the data into a new wallet.
- Please also report an issue to help improve the software and make wallet loading more robust
- in these cases. (#24914)
-
-- The `gettransaction`, `listtransactions`, `listsinceblock` RPCs now return
- the `abandoned` field for all transactions. Previously, the "abandoned" field
- was only returned for sent transactions. (#25158)
-
-- The `listdescriptors`, `decodepsbt` and similar RPC methods now show `h` rather than apostrophe (`'`) to indicate
- hardened derivation. This does not apply when using the `private` parameter, which
- matches the marker used when descriptor was generated or imported. Newly created
- wallets use `h`. This change makes it easier to handle descriptor strings manually.
- E.g. the `importdescriptors` RPC call is easiest to use `h` as the marker: `'["desc": ".../0h/..."]'`.
- With this change `listdescriptors` will use `h`, so you can copy-paste the result,
- without having to add escape characters or switch `'` to 'h' manually.
- Note that this changes the descriptor checksum.
- For legacy wallets the `hdkeypath` field in `getaddressinfo` is unchanged,
- nor is the serialization format of wallet dumps. (#26076)
-
-- The `getbalances` RPC now returns a `lastprocessedblock` JSON object which contains the wallet's last processed block
- hash and height at the time the balances were calculated. This result shouldn't be cached because importing new keys could invalidate it. (#26094)
-
-- The `gettransaction` RPC now returns a `lastprocessedblock` JSON object which contains the wallet's last processed block
- hash and height at the time the transaction information was generated. (#26094)
-
-- The `getwalletinfo` RPC now returns a `lastprocessedblock` JSON object which contains the wallet's last processed block
- hash and height at the time the wallet information was generated. (#26094)
-
-- 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)
-
-- For RPC methods which accept `options` parameters ((`importmulti`, `listunspent`,
- `fundrawtransaction`, `bumpfee`, `send`, `sendall`, `walletcreatefundedpsbt`,
- `simulaterawtransaction`), it is now possible to pass the options as named
- parameters without the need for a nested object. (#26485)
-
-This means it is possible make calls like:
-
-```sh
-src/bitcoin-cli -named bumpfee txid fee_rate=100
-```
-
-instead of
-
-```sh
-src/bitcoin-cli -named bumpfee txid options='{"fee_rate": 100}'
-```
-
-- The `deprecatedrpc=walletwarningfield` configuration option has been removed.
- The `createwallet`, `loadwallet`, `restorewallet` and `unloadwallet` RPCs no
- longer return the "warning" string field. The same information is provided
- through the "warnings" field added in v25.0, which returns a JSON array of
- strings. The "warning" string field was deprecated also in v25.0. (#27757)
-
-- The `signrawtransactionwithkey`, `signrawtransactionwithwallet`,
- `walletprocesspsbt` and `descriptorprocesspsbt` calls now return the more
- specific RPC_INVALID_PARAMETER error instead of RPC_MISC_ERROR if their
- sighashtype argument is malformed. (#28113)
-
-- RPC `walletprocesspsbt`, and `descriptorprocesspsbt` return
- object now includes field `hex` (if the transaction
- is complete) containing the serialized transaction
- suitable for RPC `sendrawtransaction`. (#28414)
-
-- It's now possible to use [Miniscript](https://bitcoin.sipa.be/miniscript/) inside Taproot leaves for descriptor wallets. (#27255)
-
-GUI changes
------------
-
-- 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)
-
-- 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)
-
-- The PSBT operations dialog marks outputs paying your own wallet with "own address". (gui#740)
-
-- The ability to create legacy wallets is being removed. (gui#764)
-
-Low-level changes
-=================
-
-Tests
------
-
-- Non-standard transactions are now disabled by default on testnet
- for relay and mempool acceptance. The previous behaviour can be
- re-enabled by setting `-acceptnonstdtxn=1`. (#28354)
+- #28992 ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz
+- #29080 ci: Set HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK to avoid unrelated failures
Credits
=======
Thanks to everyone who directly contributed to this release:
-- 0xb10c
-- Amiti Uttarwar
- Andrew Chow
-- Andrew Toth
-- Anthony Towns
-- Antoine Poinsot
-- Antoine Riard
-- Ari
-- Aurèle Oulès
-- Ayush Singh
-- Ben Woosley
-- Brandon Odiwuor
-- Brotcrunsher
-- brunoerg
-- Bufo
-- Carl Dong
-- Casey Carter
-- Cory Fields
-- David Álvarez Rosa
-- dergoegge
-- dhruv
-- dimitaracev
-- Erik Arvstedt
-- Erik McKelvey
-- Fabian Jahr
- furszy
-- glozow
-- Greg Sanders
-- Harris
- Hennadii Stepanov
-- Hernan Marino
-- ishaanam
-- ismaelsadeeq
-- Jake Rawsthorne
-- James O'Beirne
-- John Moffett
-- Jon Atack
-- josibake
-- kevkevin
-- Kiminuo
-- Larry Ruane
-- Luke Dashjr
- MarcoFalke
-- Marnix
-- Martin Leitner-Ankerl
- Martin Zumsande
-- Matthew Zipkin
-- Michael Ford
-- Michael Tidwell
-- mruddy
- Murch
-- ns-xvrn
-- pablomartin4btc
-- Pieter Wuille
-- Reese Russell
-- Rhythm Garg
-- Ryan Ofsky
-- Sebastian Falbesoner
-- Sjors Provoost
-- stickies-v
-- stratospher
-- Suhas Daftuar
-- TheCharlatan
-- Tim Neubauer
-- Tim Ruffing
-- Vasil Dimov
-- virtu
-- vuittont60
-- willcl-ark
-- Yusuf Sahin HAMZA
As well as to everyone that helped with translations on
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).