Skip to content

Commit aa6cc5b

Browse files
committed
Merge bitcoin/bitcoin#27751: doc: Add doc/release-notes/release-notes-25.0.md
034cb5a doc: Fix broken link in release notes (MacrabFalke) fab19a8 doc: Fix typo in doc/release-process.md URL (MarcoFalke) faaa97b doc: Add doc/release-notes/release-notes-25.0.md (MarcoFalke) Pull request description: Also, fix a typo in another doc. ACKs for top commit: fanquake: ACK 034cb5a Tree-SHA512: f487fadcefdf0257ab6be1550faaad36825be551d6ec83abd32d69784ce537144714b3a023f4e13003f5f1b5e6a944f6d63f278cdeca2299139c9043af1c726f
2 parents 25202ca + 034cb5a commit aa6cc5b

File tree

2 files changed

+341
-1
lines changed

2 files changed

+341
-1
lines changed
Lines changed: 340 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,340 @@
1+
25.0 Release Notes
2+
==================
3+
4+
Bitcoin Core version 25.0 is now available from:
5+
6+
<https://bitcoincore.org/bin/bitcoin-core-25.0/>
7+
8+
This release includes new features, various bug fixes and performance
9+
improvements, as well as updated translations.
10+
11+
Please report bugs using the issue tracker at GitHub:
12+
13+
<https://github.com/bitcoin/bitcoin/issues>
14+
15+
To receive security and update notifications, please subscribe to:
16+
17+
<https://bitcoincore.org/en/list/announcements/join/>
18+
19+
How to Upgrade
20+
==============
21+
22+
If you are running an older version, shut it down. Wait until it has completely
23+
shut down (which might take a few minutes in some cases), then run the
24+
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
25+
or `bitcoind`/`bitcoin-qt` (on Linux).
26+
27+
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
28+
possible, but it might take some time if the data directory needs to be migrated. Old
29+
wallet versions of Bitcoin Core are generally supported.
30+
31+
Compatibility
32+
==============
33+
34+
Bitcoin Core is supported and extensively tested on operating systems
35+
using the Linux kernel, macOS 10.15+, and Windows 7 and newer. Bitcoin
36+
Core should also work on most other Unix-like systems but is not as
37+
frequently tested on them. It is not recommended to use Bitcoin Core on
38+
unsupported systems.
39+
40+
Notable changes
41+
===============
42+
43+
P2P and network changes
44+
-----------------------
45+
46+
- Transactions of non-witness size 65 bytes and above are now allowed by mempool
47+
and relay policy. This is to better reflect the actual afforded protections
48+
against CVE-2017-12842 and open up additional use-cases of smaller transaction sizes. (#26265)
49+
50+
New RPCs
51+
--------
52+
53+
- The scanblocks RPC returns the relevant blockhashes from a set of descriptors by
54+
scanning all blockfilters in the given range. It can be used in combination with
55+
the getblockheader and rescanblockchain RPCs to achieve fast wallet rescans. Note
56+
that this functionality can only be used if a compact block filter index
57+
(-blockfilterindex=1) has been constructed by the node. (#23549)
58+
59+
Updated RPCs
60+
------------
61+
62+
- All JSON-RPC methods accept a new [named
63+
parameter](https://github.com/bitcoin/bitcoin/blob/master/doc/JSON-RPC-interface.md#parameter-passing) called `args` that can
64+
contain positional parameter values. This is a convenience to allow some
65+
parameter values to be passed by name without having to name every value. The
66+
python test framework and `bitcoin-cli` tool both take advantage of this, so
67+
for example:
68+
69+
```sh
70+
bitcoin-cli -named createwallet wallet_name=mywallet load_on_startup=1
71+
```
72+
73+
Can now be shortened to:
74+
75+
```sh
76+
bitcoin-cli -named createwallet mywallet load_on_startup=1
77+
```
78+
79+
- The `verifychain` RPC will now return `false` if the checks didn't fail,
80+
but couldn't be completed at the desired depth and level. This could be due
81+
to missing data while pruning, due to an insufficient dbcache or due to
82+
the node being shutdown before the call could finish. (#25574)
83+
84+
- `sendrawtransaction` has a new, optional argument, `maxburnamount` with a default value of `0`.
85+
Any transaction containing an unspendable output with a value greater than `maxburnamount` will
86+
not be submitted. At present, the outputs deemed unspendable are those with scripts that begin
87+
with an `OP_RETURN` code (known as 'datacarriers'), scripts that exceed the maximum script size,
88+
and scripts that contain invalid opcodes.
89+
90+
- The `testmempoolaccept` RPC now returns 2 additional results within the "fees" result:
91+
"effective-feerate" is the feerate including fees and sizes of transactions validated together if
92+
package validation was used, and also includes any modified fees from prioritisetransaction. The
93+
"effective-includes" result lists the wtxids of transactions whose modified fees and sizes were used
94+
in the effective-feerate (#26646).
95+
96+
- `decodescript` may now infer a Miniscript descriptor under P2WSH context if it is not lacking
97+
information. (#27037)
98+
99+
- `finalizepsbt` is now able to finalize a transaction with inputs spending Miniscript-compatible
100+
P2WSH scripts. (#24149)
101+
102+
Changes to wallet related RPCs can be found in the Wallet section below.
103+
104+
Build System
105+
------------
106+
107+
- The `--enable-upnp-default` and `--enable-natpmp-default` options
108+
have been removed. If you want to use port mapping, you can
109+
configure it using a .conf file, or by passing the relevant
110+
options at runtime. (#26896)
111+
112+
Updated settings
113+
----------------
114+
115+
- If the `-checkblocks` or `-checklevel` options are explicitly provided by the
116+
user, but the verification checks cannot be completed due to an insufficient
117+
dbcache, Bitcoin Core will now return an error at startup. (#25574)
118+
119+
- Ports specified in `-port` and `-rpcport` options are now validated at startup.
120+
Values that previously worked and were considered valid can now result in errors. (#22087)
121+
122+
- Setting `-blocksonly` will now reduce the maximum mempool memory
123+
to 5MB (users may still use `-maxmempool` to override). Previously,
124+
the default 300MB would be used, leading to unexpected memory usage
125+
for users running with `-blocksonly` expecting it to eliminate
126+
mempool memory usage.
127+
128+
As unused mempool memory is shared with dbcache, this also reduces
129+
the dbcache size for users running with `-blocksonly`, potentially
130+
impacting performance.
131+
- Setting `-maxconnections=0` will now disable `-dnsseed`
132+
and `-listen` (users may still set them to override).
133+
134+
Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.
135+
136+
New settings
137+
------------
138+
139+
- The `shutdownnotify` option is used to specify a command to execute synchronously
140+
before Bitcoin Core has begun its shutdown sequence. (#23395)
141+
142+
143+
Wallet
144+
------
145+
146+
- The `minconf` option, which allows a user to specify the minimum number
147+
of confirmations a UTXO being spent has, and the `maxconf` option,
148+
which allows specifying the maximum number of confirmations, have been
149+
added to the following RPCs in #25375:
150+
- `fundrawtransaction`
151+
- `send`
152+
- `walletcreatefundedpsbt`
153+
- `sendall`
154+
155+
- Added a new `next_index` field in the response in `listdescriptors` to
156+
have the same format as `importdescriptors` (#26194)
157+
158+
- RPC `listunspent` now has a new argument `include_immature_coinbase`
159+
to include coinbase UTXOs that don't meet the minimum spendability
160+
depth requirement (which before were silently skipped). (#25730)
161+
162+
- Rescans for descriptor wallets are now significantly faster if compact
163+
block filters (BIP158) are available. Since those are not constructed
164+
by default, the configuration option "-blockfilterindex=1" has to be
165+
provided to take advantage of the optimization. This improves the
166+
performance of the RPC calls `rescanblockchain`, `importdescriptors`
167+
and `restorewallet`. (#25957)
168+
169+
- RPC `unloadwallet` now fails if a rescan is in progress. (#26618)
170+
171+
- Wallet passphrases may now contain null characters.
172+
Prior to this change, only characters up to the first
173+
null character were recognized and accepted. (#27068)
174+
175+
- Address Purposes strings are now restricted to the currently known values of "send",
176+
"receive", and "refund". Wallets that have unrecognized purpose strings will have
177+
loading warnings, and the `listlabels` RPC will raise an error if an unrecognized purpose
178+
is requested. (#27217)
179+
180+
- In the `createwallet`, `loadwallet`, `unloadwallet`, and `restorewallet` RPCs, the
181+
"warning" string field is deprecated in favor of a "warnings" field that
182+
returns a JSON array of strings to better handle multiple warning messages and
183+
for consistency with other wallet RPCs. The "warning" field will be fully
184+
removed from these RPCs in v26. It can be temporarily re-enabled during the
185+
deprecation period by launching bitcoind with the configuration option
186+
`-deprecatedrpc=walletwarningfield`. (#27279)
187+
188+
- Descriptor wallets can now spend coins sent to P2WSH Miniscript descriptors. (#24149)
189+
190+
GUI changes
191+
-----------
192+
193+
- The "Mask values" is a persistent option now. (gui#701)
194+
- The "Mask values" option affects the "Transaction" view now, in addition to the
195+
"Overview" one. (gui#708)
196+
197+
REST
198+
----
199+
200+
- A new `/rest/deploymentinfo` endpoint has been added for fetching various
201+
state info regarding deployments of consensus changes. (#25412)
202+
203+
Binary verification
204+
----
205+
206+
- The binary verification script has been updated. In previous releases it
207+
would verify that the binaries had been signed with a single "release key".
208+
In this release and moving forward it will verify that the binaries are
209+
signed by a _threshold of trusted keys_. For more details and
210+
examples, see:
211+
https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-binaries/README.md
212+
(#27358)
213+
214+
Low-level changes
215+
=================
216+
217+
RPC
218+
---
219+
220+
- The JSON-RPC server now rejects requests where a parameter is specified multiple
221+
times with the same name, instead of silently overwriting earlier parameter values
222+
with later ones. (#26628)
223+
- RPC `listsinceblock` now accepts an optional `label` argument
224+
to fetch incoming transactions having the specified label. (#25934)
225+
- Previously `setban`, `addpeeraddress`, `walletcreatefundedpsbt`, methods
226+
allowed non-boolean and non-null values to be passed as boolean parameters.
227+
Any string, number, array, or object value that was passed would be treated
228+
as false. After this change, passing any value except `true`, `false`, or
229+
`null` now triggers a JSON value is not of expected type error. (#26213)
230+
231+
Credits
232+
=======
233+
234+
Thanks to everyone who directly contributed to this release:
235+
236+
- 0xb10c
237+
- 721217.xyz
238+
- @RandyMcMillan
239+
- amadeuszpawlik
240+
- Amiti Uttarwar
241+
- Andrew Chow
242+
- Andrew Toth
243+
- Anthony Towns
244+
- Antoine Poinsot
245+
- Aurèle Oulès
246+
- Ben Woosley
247+
- Bitcoin Hodler
248+
- brunoerg
249+
- Bushstar
250+
- Carl Dong
251+
- Chris Geihsler
252+
- Cory Fields
253+
- David Gumberg
254+
- dergoegge
255+
- Dhruv Mehta
256+
- Dimitris Tsapakidis
257+
- dougEfish
258+
- Douglas Chimento
259+
- ekzyis
260+
- Elichai Turkel
261+
- Ethan Heilman
262+
- Fabian Jahr
263+
- FractalEncrypt
264+
- furszy
265+
- Gleb Naumenko
266+
- glozow
267+
- Greg Sanders
268+
- Hennadii Stepanov
269+
- hernanmarino
270+
- ishaanam
271+
- ismaelsadeeq
272+
- James O'Beirne
273+
274+
- Jeff Ruane
275+
- Jeffrey Czyz
276+
- Jeremy Rubin
277+
- Jesse Barton
278+
- João Barbosa
279+
- JoaoAJMatos
280+
- John Moffett
281+
- Jon Atack
282+
- Jonas Schnelli
283+
- jonatack
284+
- Joshua Kelly
285+
- josibake
286+
- Juan Pablo Civile
287+
- kdmukai
288+
- klementtan
289+
- Kolby ML
290+
- kouloumos
291+
- Kristaps Kaupe
292+
- laanwj
293+
- Larry Ruane
294+
- Leonardo Araujo
295+
- Leonardo Lazzaro
296+
- Luke Dashjr
297+
- MacroFake
298+
- MarcoFalke
299+
- Martin Leitner-Ankerl
300+
- Martin Zumsande
301+
- Matt Whitlock
302+
- Matthew Zipkin
303+
- Michael Ford
304+
- Miles Liu
305+
- mruddy
306+
- Murray Nesbitt
307+
- muxator
308+
- omahs
309+
- pablomartin4btc
310+
- Pasta
311+
- Pieter Wuille
312+
- Pttn
313+
- Randall Naar
314+
- Riahiamirreza
315+
- roconnor-blockstream
316+
- Russell O'Connor
317+
- Ryan Ofsky
318+
- S3RK
319+
- Sebastian Falbesoner
320+
- Seibart Nedor
321+
- sinetek
322+
- Sjors Provoost
323+
- Skuli Dulfari
324+
- SomberNight
325+
- Stacie Waleyko
326+
- stickies-v
327+
- stratospher
328+
- Suhas Daftuar
329+
- Suriyaa Sundararuban
330+
- TheCharlatan
331+
- Vasil Dimov
332+
- Vasil Stoyanov
333+
- virtu
334+
- w0xlt
335+
- willcl-ark
336+
- yancy
337+
- Yusuf Sahin HAMZA
338+
339+
As well as to everyone that helped with translations on
340+
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).

doc/release-process.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ cat "$VERSION"/*/all.SHA256SUMS.asc > SHA256SUMS.asc
284284

285285
- Push the flatpak to flathub, e.g. https://github.com/flathub/org.bitcoincore.bitcoin-qt/pull/2
286286

287-
- Push the snap, see https://github.com/bitcoin-core/packaging/blob/master/snap/build.md
287+
- Push the snap, see https://github.com/bitcoin-core/packaging/blob/main/snap/local/build.md
288288

289289
- This repo
290290

0 commit comments

Comments
 (0)