diff options
Diffstat (limited to 'doc/release-notes.md')
-rw-r--r-- | doc/release-notes.md | 308 |
1 files changed, 38 insertions, 270 deletions
diff --git a/doc/release-notes.md b/doc/release-notes.md index ee37c6a7c6..b27bfd0272 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,9 +1,9 @@ -25.0 Release Notes +25.1rc1 Release Notes ================== -Bitcoin Core version 25.0 is now available from: +Bitcoin Core version 25.1rc1 is now available from: - <https://bitcoincore.org/bin/bitcoin-core-25.0/> + <https://bitcoincore.org/bin/bitcoin-core-25.1/test.rc1> This release includes new features, various bug fixes and performance improvements, as well as updated translations. @@ -40,301 +40,69 @@ unsupported systems. Notable changes =============== -P2P and network changes ------------------------ +### P2P -- Transactions of non-witness size 65 and above are now allowed by mempool - and relay policy. This is to better reflect the actual afforded protections - against CVE-2017-12842 and open up additional use-cases of smaller transaction sizes. (#26265) +- #27626 Parallel compact block downloads, take 3 +- #27743 p2p: Unconditionally return when compact block status == READ_STATUS_FAILED -New RPCs --------- +### Fees -- The scanblocks RPC returns the relevant blockhashes from a set of descriptors by - scanning all blockfilters in the given range. It can be used in combination with - the getblockheader and rescanblockchain RPCs to achieve fast wallet rescans. Note - that this functionality can only be used if a compact block filter index - (-blockfilterindex=1) has been constructed by the node. (#23549) +- #27622 Fee estimation: avoid serving stale fee estimate -Updated RPCs ------------- +### RPC -- All JSON-RPC methods accept a new [named - parameter](JSON-RPC-interface.md#parameter-passing) called `args` that can - contain positional parameter values. This is a convenience to allow some - parameter values to be passed by name without having to name every value. The - python test framework and `bitcoin-cli` tool both take advantage of this, so - for example: +- #27727 rpc: Fix invalid bech32 address handling -```sh -bitcoin-cli -named createwallet wallet_name=mywallet load_on_startup=1 -``` +### Rest -Can now be shortened to: +- #27853 rest: fix crash error when calling /deploymentinfo +- #28551 http: bugfix: allow server shutdown in case of remote client disconnection -```sh -bitcoin-cli -named createwallet mywallet load_on_startup=1 -``` +### Wallet -- The `verifychain` RPC will now return `false` if the checks didn't fail, - but couldn't be completed at the desired depth and level. This could be due - to missing data while pruning, due to an insufficient dbcache or due to - the node being shutdown before the call could finish. (#25574) +- #28038 wallet: address book migration bug fixes +- #28067 descriptors: do not return top-level only funcs as sub descriptors +- #28125 wallet: bugfix, disallow migration of invalid scripts +- #28542 wallet: Check for uninitialized last processed and conflicting heights in MarkConflicted -- `sendrawtransaction` has a new, optional argument, `maxburnamount` with a default value of `0`. - Any transaction containing an unspendable output with a value greater than `maxburnamount` will - not be submitted. At present, the outputs deemed unspendable are those with scripts that begin - with an `OP_RETURN` code (known as 'datacarriers'), scripts that exceed the maximum script size, - and scripts that contain invalid opcodes. +### Build -- The `testmempoolaccept` RPC now returns 2 additional results within the "fees" result: - "effective-feerate" is the feerate including fees and sizes of transactions validated together if - package validation was used, and also includes any modified fees from prioritisetransaction. The - "effective-includes" result lists the wtxids of transactions whose modified fees and sizes were used - in the effective-feerate (#26646). +- #27724 build: disable boost multi index safe mode in debug mode +- #28097 depends: xcb-proto 1.15.2 +- #28543 build, macos: Fix qt package build with new Xcode 15 linker +- #28571 depends: fix unusable memory_resource in macos qt build -- `decodescript` may now infer a Miniscript descriptor under P2WSH context if it is not lacking - information. (#27037) +### Gui -- `finalizepsbt` is now able to finalize a transaction with inputs spending Miniscript-compatible - P2WSH scripts. (#24149) +- gui#751 macOS, do not process actions during shutdown -Changes to wallet related RPCs can be found in the Wallet section below. +### Miscellaneous -Build System ------------- +- #28452 Do not use std::vector = {} to release memory -- The `--enable-upnp-default` and `--enable-natpmp-default` options - have been removed. If you want to use port mapping, you can - configure it using a .conf file, or by passing the relevant - options at runtime. (#26896) +### CI -Updated settings ----------------- - -- If the `-checkblocks` or `-checklevel` options are explicitly provided by the -user, but the verification checks cannot be completed due to an insufficient -dbcache, Bitcoin Core will now return an error at startup. (#25574) - -- Ports specified in `-port` and `-rpcport` options are now validated at startup. - Values that previously worked and were considered valid can now result in errors. (#22087) - -- Setting `-blocksonly` will now reduce the maximum mempool memory - to 5MB (users may still use `-maxmempool` to override). Previously, - the default 300MB would be used, leading to unexpected memory usage - for users running with `-blocksonly` expecting it to eliminate - mempool memory usage. - - As unused mempool memory is shared with dbcache, this also reduces - the dbcache size for users running with `-blocksonly`, potentially - impacting performance. -- Setting `-maxconnections=0` will now disable `-dnsseed` - and `-listen` (users may still set them to override). - -Changes to GUI or wallet related settings can be found in the GUI or Wallet section below. - -New settings ------------- - -- The `shutdownnotify` option is used to specify a command to execute synchronously -before Bitcoin Core has begun its shutdown sequence. (#23395) - - -Wallet ------- - -- The `minconf` option, which allows a user to specify the minimum number -of confirmations a UTXO being spent has, and the `maxconf` option, -which allows specifying the maximum number of confirmations, have been -added to the following RPCs in #25375: - - `fundrawtransaction` - - `send` - - `walletcreatefundedpsbt` - - `sendall` - -- Added a new `next_index` field in the response in `listdescriptors` to - have the same format as `importdescriptors` (#26194) - -- RPC `listunspent` now has a new argument `include_immature_coinbase` - to include coinbase UTXOs that don't meet the minimum spendability - depth requirement (which before were silently skipped). (#25730) - -- Rescans for descriptor wallets are now significantly faster if compact - block filters (BIP158) are available. Since those are not constructed - by default, the configuration option "-blockfilterindex=1" has to be - provided to take advantage of the optimization. This improves the - performance of the RPC calls `rescanblockchain`, `importdescriptors` - and `restorewallet`. (#25957) - -- RPC `unloadwallet` now fails if a rescan is in progress. (#26618) - -- Wallet passphrases may now contain null characters. - Prior to this change, only characters up to the first - null character were recognized and accepted. (#27068) - -- Address Purposes strings are now restricted to the currently known values of "send", - "receive", and "refund". Wallets that have unrecognized purpose strings will have - loading warnings, and the `listlabels` RPC will raise an error if an unrecognized purpose - is requested. (#27217) - -- In the `createwallet`, `loadwallet`, `unloadwallet`, and `restorewallet` RPCs, the - "warning" string field is deprecated in favor of a "warnings" field that - returns a JSON array of strings to better handle multiple warning messages and - for consistency with other wallet RPCs. The "warning" field will be fully - removed from these RPCs in v26. It can be temporarily re-enabled during the - deprecation period by launching bitcoind with the configuration option - `-deprecatedrpc=walletwarningfield`. (#27279) - -- Descriptor wallets can now spend coins sent to P2WSH Miniscript descriptors. (#24149) - -GUI changes ------------ - -- The "Mask values" is a persistent option now. (gui#701) -- The "Mask values" option affects the "Transaction" view now, in addition to the - "Overview" one. (gui#708) - -REST ----- - -- A new `/rest/deploymentinfo` endpoint has been added for fetching various - state info regarding deployments of consensus changes. (#25412) - -Binary verification ----- - -- The binary verification script has been updated. In previous releases it - would verify that the binaries had been signed with a single "release key". - In this release and moving forward it will verify that the binaries are - signed by a _threshold of trusted keys_. For more details and - examples, see: - https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-binaries/README.md - (#27358) - -Low-level changes -================= - -RPC ---- - -- The JSON-RPC server now rejects requests where a parameter is specified multiple - times with the same name, instead of silently overwriting earlier parameter values - with later ones. (#26628) -- RPC `listsinceblock` now accepts an optional `label` argument - to fetch incoming transactions having the specified label. (#25934) -- Previously `setban`, `addpeeraddress`, `walletcreatefundedpsbt`, methods - allowed non-boolean and non-null values to be passed as boolean parameters. - Any string, number, array, or object value that was passed would be treated - as false. After this change, passing any value except `true`, `false`, or - `null` now triggers a JSON value is not of expected type error. (#26213) +- #27777 ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN +- #27834 ci: Nuke Android APK task, Use credits for tsan +- #27844 ci: Use podman stop over podman kill +- #27886 ci: Switch to amd64 container in "ARM" task Credits ======= Thanks to everyone who directly contributed to this release: -- 0xb10c -- 721217.xyz -- @RandyMcMillan -- amadeuszpawlik -- Amiti Uttarwar +- Abubakar Sadiq Ismail - Andrew Chow -- Andrew Toth -- Anthony Towns -- Antoine Poinsot -- Aurèle Oulès -- Ben Woosley -- Bitcoin Hodler -- brunoerg -- Bushstar -- Carl Dong -- Chris Geihsler -- Cory Fields -- David Gumberg -- dergoegge -- Dhruv Mehta -- Dimitris Tsapakidis -- dougEfish -- Douglas Chimento -- ekzyis -- Elichai Turkel -- Ethan Heilman -- Fabian Jahr -- FractalEncrypt -- furszy -- Gleb Naumenko -- glozow -- Greg Sanders +- Bruno Garcia +- Gregory Sanders - Hennadii Stepanov -- hernanmarino -- ishaanam -- ismaelsadeeq -- James O'Beirne -- jdjkelly@gmail.com -- Jeff Ruane -- Jeffrey Czyz -- Jeremy Rubin -- Jesse Barton -- João Barbosa -- JoaoAJMatos -- John Moffett -- Jon Atack -- Jonas Schnelli -- jonatack -- Joshua Kelly -- josibake -- Juan Pablo Civile -- kdmukai -- klementtan -- Kolby ML -- kouloumos -- Kristaps Kaupe -- laanwj -- Larry Ruane -- Leonardo Araujo -- Leonardo Lazzaro -- Luke Dashjr - MacroFake -- MarcoFalke -- Martin Leitner-Ankerl -- Martin Zumsande -- Matt Whitlock -- Matthew Zipkin +- Matias Furszyfer - Michael Ford -- Miles Liu -- mruddy -- Murray Nesbitt -- muxator -- omahs -- pablomartin4btc -- Pasta - Pieter Wuille -- Pttn -- Randall Naar -- Riahiamirreza -- roconnor-blockstream -- Russell O'Connor -- Ryan Ofsky -- S3RK -- Sebastian Falbesoner -- Seibart Nedor -- sinetek -- Sjors Provoost -- Skuli Dulfari -- SomberNight -- Stacie Waleyko - stickies-v -- stratospher -- Suhas Daftuar -- Suriyaa Sundararuban -- TheCharlatan -- Vasil Dimov -- Vasil Stoyanov -- virtu -- w0xlt -- willcl-ark -- yancy -- Yusuf Sahin HAMZA +- Will Clark As well as to everyone that helped with translations on -[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
\ No newline at end of file +[Transifex](https://www.transifex.com/bitcoin/bitcoin/). |