Skip to content

Commit 7b5080d

Browse files
committed
Bitcoin Core 25.0
1 parent 7b84fc5 commit 7b5080d

File tree

2 files changed

+398
-0
lines changed

2 files changed

+398
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: Bitcoin Core 25.0 released
3+
name: blog-release-25.0
4+
id: en-blog-release-25.0
5+
lang: en
6+
type: posts
7+
layout: post
8+
9+
## If this is a new post, reset this counter to 1.
10+
version: 1
11+
12+
## Only true if release announcement or security annoucement. English posts only
13+
announcement: 1
14+
15+
excerpt: >
16+
Bitcoin Core 25.0 is now available.
17+
---
18+
Bitcoin Core version 25.0 is now available for [download][download
19+
page]. See the [release notes][] for more information about the many
20+
new features and bug fixes in this release.
21+
22+
If you have any questions, please stop by the #bitcoin IRC chatroom
23+
([IRC][irc], [web][web irc]) and we’ll do our best to help you.
24+
25+
[release notes]: /en/releases/25.0/
26+
[IRC]: irc://irc.libera.chat/bitcoin
27+
[web irc]: https://web.libera.chat/#bitcoin
28+
[download page]: /en/download
29+
30+
{% include references.md %}

_releases/25.0.md

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

0 commit comments

Comments
 (0)