Bitcoin Forum
May 21, 2026, 05:04:05 PM *
News: Latest Bitcoin Core release: 31.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 »
1  Bitcoin / Development & Technical Discussion / MOVED: Is It Worth Learning the Technical Side of Bitcoin as a Beginner? on: April 22, 2026, 05:36:19 PM
This topic has been moved to Beginners & Help.

https://bitcointalk.org/index.php?topic=5580932.0
2  Bitcoin / Development & Technical Discussion / MOVED: I am interested in learning technical topics. on: April 22, 2026, 05:35:52 PM
This topic has been moved to Beginners & Help.

https://bitcointalk.org/index.php?topic=5580952.0
3  Bitcoin / Bitcoin Discussion / Bitcoin Core v31.0 Released on: April 21, 2026, 06:24:11 PM
v31.0 Release Notes

Bitcoin Core version 31.0 is now available from:

https://bitcoincore.org/bin/bitcoin-core-31.0/

This release includes new features, various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

With the release of this new major version, versions 28.x and
older are at "End of Life" and will no longer receive updates.

In accordance with the security policy, we will in two weeks disclose:
  • Medium and high severity vulnerabilities fixed in 29.0. There is one of these.
  • Low severity vulnerabilities fixed in 31.0. There are none of these.

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the installer
(on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS) or
bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be
migrated. Old wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and tested on the following operating systems or
newer: Linux Kernel 3.17, macOS 14, and Windows 10 (version 1903). Bitcoin Core
should also work on most other Unix-like systems but is not as frequently tested
on them. It is not recommended to use Bitcoin Core on unsupported systems.

Notable changes

The default -dbcache value has been increased to 1024 MiB from 450 MiB on
systems where at least 4096 MiB of RAM is detected. This improves performance
but increases memory usage. On some systems (for example when running in
containers), the detected RAM may exceed the memory actually available, which
can lead to out-of-memory conditions. To maintain the previous behavior, set
-dbcache=450. See
reduce-memory.md
for further guidance on low-memory systems. (#34692)

Mempool

The mempool has been reimplemented with a new design ("cluster mempool"), to
facilitate better decision-making when constructing block templates, evicting
transactions, relaying transactions, and validating replacement transactions
(RBF). Most changes should be transparent to users, but some behavior changes
are noted:
  • The mempool no longer enforces ancestor or descendant size/count limits.
    Instead, two new default policy limits are introduced governing connected
    components, or clusters, in the mempool, limiting clusters to 64 transactions
    and up to 101 kB in virtual size.  Transactions are considered to be in the same
    cluster if they are connected to each other via any combination of parent/child
    relationships in the mempool. These limits can be overridden using command-line
    arguments; see the extended help (-help-debug) for more information.
  • Within the mempool, transactions are ordered based on the feerate at which
    they are expected to be mined, which takes into account the full set, or
    "chunk", of transactions that would be included together (e.g., a parent and its
    child, or more complicated subsets of transactions). This ordering is utilized
    by the algorithms that implement transaction selection for constructing block
    templates; eviction from the mempool when it is full; and transaction relay
    announcements to peers.
  • The replace-by-fee validation logic has been updated so that transaction
    replacements are only accepted if the resulting mempool's feerate diagram is
    strictly better than before the replacement. This eliminates all known cases of
    replacements occurring that make the mempool worse off, which was possible under
    previous RBF rules. For singleton transactions (that are in clusters by
    themselves) it's sufficient for a replacement to have a higher fee and feerate
    than the original. See delvingbitcoin.org
    post

    for more information.
  • Two new RPCs have been added: getmempoolcluster will provide the set of
    transactions in the same cluster as the given transaction, along with the
    ordering of those transactions and grouping into chunks; and
    getmempoolfeeratediagram will return the feerate diagram of the entire
    mempool.
  • Chunk size and chunk fees are now also included in the output of
    getmempoolentry.
  • The "CPFP Carveout" has been removed from the mempool logic. The CPFP carveout
    allowed one additional child transaction to be added to a package that's already
    at its descendant limit, but only if that child has exactly one ancestor (the
    package's root) and is small (no larger than 10kvB). Nothing is allowed to
    bypass the cluster count limit. It is expected that smart contracting use-cases
    requiring similar functionality employ TRUC transactions and sibling eviction
    instead going forward.
  • Some additional discussion can be found at
    doc/policy/mempool-terminology.md
    and
    doc/policy/mempool-replacements.md.

P2P and network changes
  • Normally local transactions are broadcast to all connected peers with which we
    do transaction relay. Now, for the sendrawtransaction RPC this behavior can be
    changed to only do the broadcast via the Tor or I2P networks. A new boolean
    option -privatebroadcast has been added to enable this behavior. This improves
    the privacy of the transaction originator in two aspects:
    <ol>
    • Their IP address (and thus geolocation) is never known to the recipients.
    • If the originator sends two otherwise unrelated transactions, they will not
      be linkable. This is because a separate connection is used for broadcasting
      each transaction. (#29415)
    </ol>
  • New RPCs have been added to introspect and control private broadcast:
    getprivatebroadcastinfo reports transactions currently being privately
    broadcast, and abortprivatebroadcast removes matching transactions from the
    private broadcast queue. (#34329)
  • Transactions participating in one-parent-one-child package relay can now have
    the parent with a feerate lower than the -minrelaytxfee feerate, even 0 fee.
    This expands the change from 28.0 to also cover packages of non-TRUC
    transactions. Note that in general the package child can have additional
    unconfirmed parents, but they must already be in-mempool for the new package to
    be relayed. (#33892)
  • The release has asmap data embedded for the first time, allowing the asmap
    feature to be used without any externally sourced file. The embedded map was
    created on 2026-03-05
    . Despite
    the data being available, the option remains off-by-default. Users still need to
    set -asmap or -asmap=1 explicitly to make it possible to use a peer's ASN
    (ISP/hoster identifier) in netgroup bucketing in order to ensure a higher
    diversity in their peer set.

Updated RPCs
  • gettxspendingprevout has 2 new optional arguments: mempool_only and
    return_spending_tx. If mempool_only is true it will limit scans to the
    mempool even if txospenderindex is available. If return_spending_tx is true,
    the full spending tx will be returned. In addition if txospenderindex is
    available and a confirmed spending transaction is found, its block hash will be
    returned. (#24539)
  • The getpeerinfo RPC no longer returns the startingheight field unless the
    configuration option -deprecatedrpc=startingheight is used. The
    startingheight field will be fully removed in the next major release. (#34197)
  • The getblock RPC now returns a coinbase_tx object at verbosity levels 1,
    2, and 3. It contains version, locktime, sequence, coinbase and
    witness. This allows for efficiently querying coinbase transaction properties
    without fetching the full transaction data at verbosity 2+. (#34512)

REST API
  • A new REST API endpoint
    (/rest/blockpart/<BLOCK-HASH>.<bin|hex>?offset=<OFFSET>&amp;size=<SIZE>) has been
    introduced for efficiently fetching a range of bytes from block <BLOCK-HASH>.
    (#33657)

Build System
  • The minimum supported Clang compiler version has been raised to 17.0 (#33555).
  • The minimum supported GCC compiler version has been raised to 12.1 (#33842).

Updated settings
  • The -paytxfee startup option and the settxfee RPC are now deleted after
    being deprecated in Bitcoin Core 30.0. They used to allow the user to set a
    static fee rate for wallet transactions, which could potentially lead to
    overpaying or underpaying. Users should instead rely on fee estimation or
    specify a fee rate per transaction using the fee_rate argument in RPCs such as
    fundrawtransaction, sendtoaddress, send, sendall, and sendmany.
    (#32138)
  • Specifying -asmap or -asmap=1 will load the embedded asmap data instead of
    an external file. In previous releases, if -asmap was specified without a
    filename, this would try to load an ip_asn.map data file. Now loading an
    external asmap file always requires an explicit filename like
    -asmap=ip_asn.map.
  • The -maxorphantx startup option has been removed. It was previously
    deprecated and has no effect anymore since v30.0. (#33872)
  • tor has been removed as a network specification. It was deprecated in favour
    of onion in v0.17.0. (#34031)
  • When -logsourcelocations is enabled, the log output now contains just the
    function name instead of the entire function signature. (#34088)
  • The default -dbcache value has been increased to 1024 MiB from 450 MiB
    on systems where at least 4096 MiB of RAM is detected. This is a performance
    increase, but will use more memory. To maintain the previous behaviour, set
    -dbcache=450. (#34692)
  • -privatebroadcast is added to enable private broadcast behavior for
    sendrawtransaction.

New settings
  • -txospenderindex enables the creation of a transaction output spender index
    that, if present, will be scanned by gettxspendingprevout if a spending
    transaction was not found in the mempool. (#24539)

GUI changes
  • The GUI has been updated to Qt 6.8. (#34650)
  • The createwallet, createwalletdescriptor and migratewallet commands are
    filtered from the console history to improve security and privacy. (gui#901)
  • The Restore Wallet dialog shows an error message if the restored wallet name
    is empty. (gui#924)

Fee Estimation

The Bitcoin Core fee estimator minimum fee rate bucket was updated from <strong>1
sat/vB</strong> to <strong>0.1 sat/vB</strong>, which matches the node’s default minrelaytxfee. This
means that for a given confirmation target, if a sub-1 sat/vB fee rate bucket is
the minimum tracked with sufficient data, its average value will be returned as
the fee rate estimate.

Restarting a node with this change invalidates previously saved
estimates in fee_estimates.dat, the fee estimator will start tracking fresh
stats.

IPC Interface
  • The IPC mining interface now requires mining clients to use the latest
    mining.capnp schema. Clients built against older schemas will fail when
    calling Init.makeMining and receive an RPC error indicating the old mining
    interface is no longer supported. Mining clients must update to the latest
    schema and regenerate bindings to continue working. (#34568)
  • Mining.createNewBlock now has a cooldown behavior (enabled by default)
    that waits for IBD to finish and for the tip to catch up. This usually prevents
    a flood of templates during startup, but is not guaranteed. (#34184)
  • Mining.interrupt() can be used to interrupt Mining.waitTipChanged and
    Mining.createNewBlock. (#34184)
  • Mining.createNewBlock and Mining.checkBlock now require a context
    parameter.
  • Mining.waitTipChanged now has a default timeout (effectively infinite /
    maxDouble) if the client omits it.
  • BlockTemplate.getCoinbaseTx() now returns a structured CoinbaseTx instead
    of raw bytes.
  • Removed BlockTemplate.getCoinbaseCommitment() and
    BlockTemplate.getWitnessCommitmentIndex().
  • Cap’n Proto default values were updated to match the corresponding C++
    defaults for mining-related option structs (e.g. BlockCreateOptions,
    BlockWaitOptions, BlockCheckOptions).

Credits

Thanks to everyone who directly contributed to this release:
  • 0xb10c
  • Alexander Wiederin
  • Alfonso Roman Zubeldia
  • amisha
  • ANAVHEOBA
  • Andrew Toth
  • Anthony Towns
  • Antoine Poinsot
  • ANtutov
  • Anurag chavan
  • Ava Chow
  • bensig
  • Ben Westgate
  • billymcbip
  • b-l-u-e
  • Brandon Odiwuor
  • brunoerg
  • Bruno Garcia
  • Calin Culianu
  • Carl Dong
  • Chandra Pratap
  • Chris Stewart
  • Coder
  • Cory Fields
  • da1sychain
  • Daniela Brozzoni
  • Daniel Pfeifer
  • David Gumberg
  • dergoegge
  • Dmitry Goncharov
  • Enoch Azariah
  • Eugene Siegel
  • Fabian Jahr
  • fanquake
  • Fibonacci747
  • flack
  • frankomosh
  • furszy
  • glozow
  • Greg Sanders
  • Hao Xu
  • Hennadii Stepanov
  • Henry Romp
  • Hodlinator
  • ismaelsadeeq
  • janb84
  • jayvaliya
  • joaonevess
  • John Moffett
  • Josh Doman
  • kevkevinpal
  • l0rinc
  • Luke Dashjr
  • Mara van der Laan
  • MarcoFalke
  • marcofleon
  • Martin Zumsande
  • Matthew Zipkin
  • Max Edwards
  • Murch
  • Musa Haruna
  • naiyoma
  • nervana21
  • Novo
  • optout
  • pablomartin4btc
  • Padraic Slattery
  • Pieter Wuille
  • Pol Espinasa
  • pythcoiner
  • rkrux
  • Robin David
  • Roman Zeyde
  • rustaceanrob
  • Ryan Ofsky
  • SatsAndSports
  • scgbckbone
  • Sebastian Falbesoner
  • sedited
  • seduless
  • Sergi Delgado Segura
  • Sjors Provoost
  • SomberNight
  • sstone
  • stickies-v
  • stratospher
  • stringintech
  • Suhas Daftuar
  • tboy1337
  • TheCharlatan
  • Tim Ruffing
  • Vasil Dimov
  • w0xlt
  • WakeTrainDev
  • Weixie Cui
  • willcl-ark
  • Woolfgm
  • yancy
  • Yash Bhutwala
  • yuvicc
  • zaidmstrr

As well as to everyone that helped with translations on
Transifex.



SHA256SUMS:
Code:
91917647aaf50965fc834e048256fce17e8f5590658c7e8de2879fb66cdc9a73  bitcoin-31.0-aarch64-linux-gnu-debug.tar.gz
4de1d568dedd48604f75132421bc0abeca432639589b49a3909c81db3a813112  bitcoin-31.0-aarch64-linux-gnu.tar.gz
fc17562b66707d0c8d1863af0cd40d7c6818a8d7d7b360b8d43276b1593924d9  bitcoin-31.0-arm-linux-gnueabihf-debug.tar.gz
8c19d007bfc73502625095ea4073af3a98ceb722d500556ab173bac5bcadd0d6  bitcoin-31.0-arm-linux-gnueabihf.tar.gz
a2d7a13b4da53d4a3e4c517f3a0269e2429813417bb320d3b268993cfdc545d0  bitcoin-31.0-arm64-apple-darwin.tar.gz
fc119a34915daac57e5fbdf181c9295d862d6843d52a9380e39dc0d0ac69cf20  bitcoin-31.0-arm64-apple-darwin.zip
955563c720b4d5fc22a11d4b102940d605f1cb9eb0b564f50deb606412c631e5  bitcoin-31.0-arm64-apple-darwin-codesigning.tar.gz
48d34a140aeaacd63a4bd37c24ed1876df4b077c98a7e0dd9a4483d1032839f4  bitcoin-31.0-arm64-apple-darwin-unsigned.tar.gz
b639946d343114cca5d87b218aaece04d0d111374b725d90dffc7e2d1d3b99f5  bitcoin-31.0-arm64-apple-darwin-unsigned.zip
7e45bab1787af974307fc077e6688d3eaab6788f3ad0e3a65d8cc9e428c41219  bitcoin-31.0-codesignatures-31.0.tar.gz
0ba0ef5eea3aefd96cc1774be274c3d594812cfac0988809d706738bb067b3e3  bitcoin-31.0.tar.gz
efe3e7d0383d54e5d79ac47911be0100b99872fa5205510a2a22d1194a0212d8  bitcoin-31.0-powerpc64-linux-gnu-debug.tar.gz
1d9c865aa0ccf675fc068e79d9fa57a5a70b59132fca38bb322a7d44ce2f0ff2  bitcoin-31.0-powerpc64-linux-gnu.tar.gz
acd0e38f4bb99c7c3024e494ca218d3ae67ec4a8b3b7ae556a8292353fe308b5  bitcoin-31.0-riscv64-linux-gnu-debug.tar.gz
7ece4ea365bba9b2008b27f0717ef6a518598a572edaa2815e775faadc53c136  bitcoin-31.0-riscv64-linux-gnu.tar.gz
56824dd705bc2a3b22d42e8aa02ed53498d491ff7c2c8aa96831333871887ead  bitcoin-31.0-x86_64-apple-darwin.tar.gz
8e230f36a2020072763adf742b20d95348cb20aaa0b0a918ca44ecdc83ac4efd  bitcoin-31.0-x86_64-apple-darwin.zip
fccf54f31bd58a3f834add05fa5df36520313d936445c556be8f71ccf314b658  bitcoin-31.0-x86_64-apple-darwin-codesigning.tar.gz
d1d0174f07cf87d9af4318f7072350510fa0f1bf8d3d3b1ee7143ad5967b6bdf  bitcoin-31.0-x86_64-apple-darwin-unsigned.tar.gz
b8d9b9915a1871ee12a3a9883fd47860028454fcd192864735f2e0d3a88b4735  bitcoin-31.0-x86_64-apple-darwin-unsigned.zip
96e3506195c5cc2ea9ca72fb2ddcbcf5246dd0db0d21d726f3c98eaf0c6b9078  bitcoin-31.0-x86_64-linux-gnu-debug.tar.gz
d3e4c58a35b1d0a97a457462c94f55501ad167c660c245cb1ffa565641c65074  bitcoin-31.0-x86_64-linux-gnu.tar.gz
1893e819d7554ca43e6e812dc642bd1fb4570a4077b07a03180ad1041e74e223  bitcoin-31.0-win64-setup.exe
82fd2c504a0f20a31d4d13bd407783d6fc7bf17622d0ce85228a9b92694e03f0  bitcoin-31.0-win64.zip
62baf547357029ac557d6fbbe91742c4ba6c1461c19ed4fab5131d4300b74d93  bitcoin-31.0-win64-codesigning.tar.gz
df3f8c2f6ce8fde8d2661d3c01f5265f90f938019d52e2f94acf2a9001af70ae  bitcoin-31.0-win64-debug.zip
ad31d4d82a0ddcf1340a447575ca958ee664656ca2e77282737898e1b8209ec8  bitcoin-31.0-win64-setup-unsigned.exe
5ecd365b53a2896850178f90302375480933e6c85ef81bb8abe8675fd44e1d9c  bitcoin-31.0-win64-unsigned.zip

SHA256SUMS.asc
Code:
-----BEGIN PGP SIGNATURE-----

iIcEABYIAC8WIQToauc0OWJbvuMGqua2bUJ/hzyxowUCaeJtlhEcbWVAbWF4ZWR3
YXJkcy5tZQAKCRC2bUJ/hzyxo5DLAP9YcudE9gVqBWb8j8mcaucIq7zkNXLvvdT3
FvPw1JeMgwEA3ZVfLbliZcjPYlUDLruSHfEexm+AJMVNgOVYuB1aQQ8=
=I0S+
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEY32x4jNw+Er/iMzgMVI0fQfaYnwFAmnijxoACgkQMVI0fQfa
YnyOrxAAp9ytMQCk8p6fbe/7pY9BQy2k0mH1RsEZO6rjct2rzKv0yOjfNpQnbmac
rpJfj20D5jRRB+aK8J88KUrcI6+IjdS55tLjr+bx0X9ExwtIVfhLqKJoDDuES8gM
ObbxMgIeSmYXlV6w4lV43TA6Uic2NNNNVnYlBWMwzFZ9Gx+VZNKo7gp7o0b/4+cf
KVl/FxVIO4eK465QJJ46fkNYhngSq9evcxX51hhmdHFxQ4YgYWYfmKwCjM04Mnrs
DyJL65BotnDiaPN9ktxDlQkTuK+qi5m/UQNfwNCl4Nh27qxBGz1uSbOpg37p8ZK6
AC93A2xUbmpwCuRk1KDyGhC7KoiUb5zy58vk4O7wvuXSkafjjdtNL/XFWtjzgTQy
wUHAnVSLFX/ttkYiJC2ffjU1HJr7cqH/iOhW79okCYWBv66g6i8Lg90ZmuSP+b/q
nuFlF1rlqnKH1BtaWsaKi7m8c1Hp8vI6wjae7Q0Y52L5nEs6Mp1rWoK+r+JU6BDs
qayzvb1TQG2BSK+aLx6cBBO7ulfu3qumx8axrEJgxUQPTxoAq9RveAsPpLj+bZjn
W832lOm/ixpJI2m0z8qAOTi9PUwhGYpQoT7ctuvmsGdbNqfS+KMV98yk1Oi3Sr4D
ARMq3MwH7uzpUd1VyYRWe9vHDama9/QPjoFCKF8Nzlnc7MDi4dk=
=2hZp
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJTBAABCAA9FiEEao+cJmUo4lrrHXcxwjcdkctxbqcFAmnifM4fHHNlYmFzdGlh
bi5mYWxiZXNvbmVyQGdtYWlsLmNvbQAKCRDCNx2Ry3FupyPDD/0Qvzue71ihGBSP
NPuVPda8mDot0sfi8Re/H6NSfPbJVtMecaGXseWOADOaaQmEhfPEKhU1GbjH7brJ
jLod8aezWTELEQYtiPDmOPkMtSv6tZkpNxyPY9JN0kGxFHXHeLP/eI4IQiqPIcxJ
xkW/0evBEV0vBAMfNn/k/G5OzL+cL6doZ9KhdZEJ03zDMUZmf1kelYSRqX3CQZ1P
hn4ge/VDNDb4eeZZNFmT9RoYRiZOmHXqQmx57n+/p8UAoGpy37njn3cxO9FnVuh8
Bcn0LyxFIVxazYK9z0SOH7XTRNnXXk85oimVf8SOzu60fwsXlGNk4Cggd2pmp9F6
Kh/tC07k0m88/sgV7UsV0qfY/wKvaf4vjTt8A01hgD+qWk0nia6QHFLb1Zrv3XlP
w+OUk0BkLPRA3MV+8fHqoLHK5TrzdOQMgwoMI8nNuWsk88sgISosfUDQTK021Tt5
vdrr80HfJH3Fd169lE0ZydAQuPcupAv0wrc2PRT+AyFHEX+P4jtmhSlhgvIOtb8Q
Q5hbYvWnUyNLuGeWi8JpvJ2lix1BL5x3Pp6a3+2IUj5AxLEMUmlYginVm8JgO0j3
/0mW0j5C5LcOnIG7uIGpSmzrYYBPd7vjqsJQ+ev78/Nqji04b+sXT/MQi2A8uJ18
6mdsX1EjmuPTqLq8VF1cZjWIBkLOhw==
=hxbk
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEM8EDtLJ5QXBUbM97z7LIPGbNeSoFAmnikTQACgkQz7LIPGbN
eSoxjw/+KPzuZ2zSoN601WPCPhHIsB14qXJ9JV980h9irPZQPldPUBAxLRkEl4Tx
OGFik0ushGXHRteVLF2McPJwlsaXXFpW3sCA132P56NgpnHHufE9Q8srGNi23o7S
Iih5u8fraRSvtuq/6aYFiivbt69fdDtoaUkdpAVBhJzlkjmbMDo15kf+hF7wWgK+
X9Wq5OcN7pbqKCgHV/HEnqvyLmvK1wt3RiqslyVclSM8lSZa0JTzLEsO9nQToayz
QrxZiAsu6MIOAVVlbuZ37bvSISD/hq+G62w016hklnUnRTgRpnKDMw8Diwa8So+E
OFYjjnHeQTyAsES0D2QU0MbTvO5PXJlK85UEfCppZli324CAsc/1M/E1/0KSDNpC
BCdRPfzbtdp1Mv6Rmjidey+rfFggAOQIrDL3kAq9aAGDOZRcbY19bzh609RoX/z+
7DCX3701XnWpB9BPuoE51uyI7nNpOX9//3eXuugHaX7YHFY4E7y8Q1LeS+ktUf+j
1I5yWoYHSlSBNKzBq7q+imax6jy+uw9zUjNRtzUb6M3wZ9Rq8a85v7TG1Szm5AVT
kBr4dCL6tqSW78R8hkbdZ9igGjsSFi3fv4kQrXyH9oM6TA12jC3CGcwABNmp1GOI
rXbnWn2qoSulHHD7SdWztxpZ1uP1rpaTbWdcnL9l5uwC9T6eVKw=
=5gXM
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJFBAABCAAvFiEE9Pxw8HMQAoQk78IKjkJWWT8XdyAFAmnik/kRHGd1Z2dlckBn
bWFpbC5jb20ACgkQjkJWWT8XdyCvMg/8DUzL+zKNxbkUBno1SsQ8N4YmgLwUiuj5
mHj9A3LhB4sg7araJSXuvaBgP6R+xjDErY89vVjdw+3ZUMPYIT15m/kCeayiCAXE
NW2/YjxL9tzjigjARH6vVbI2NpiLec9Ue+O8H3mZMMGc5wAt2J9V5HVscPeiJsy8
G92W3VNMMuhIv70dotr/VFa0zKYAl21u/zT0ksOYuYHzASLfLUJ6OBVAWRwcS8LW
mGEztGQQftvL27sIlY6F5fHTQvLJ16NUg6hPciHqkkG/v06cw0+9oryX23+GtcDC
8hkm93StDcf0shLVM65zvlVvbQgtWGeuXeHHDFjvS7SMd31JuQmUpP6NTPg0CPrx
ol0DBBLkBEdmLh+LgFek6JwNvq6FJmrcq8L/Ih0oPdR5KmiJGCyhY/4lNu5h9CYv
gj8clDaAyPuSpq40OUJG9B/rvlrURfhEDDvMvopsSuWTBGLvxVe1BEN3/LnSZiGG
xmDtn44McNPa9hPdtSECMuDV3FjKVfjrJFDuWJVITTnENWeATGiEGT9X5zT2ad2X
8O0ZYfRFkRCglMchNXLIJhSWByY/Ny6VwDRV9qye+uCfPja9BxU0sRAamrSNlbFf
JyVbt8JQMn/ei6/EdJusvdvKc72j8mdtNyNevUjHxmqaqfDRbAQeEaM0QfiuyPAm
lUoQRADVpE0=
=kiqq
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEoAg2YPI1onAAzTyBzm7EmUXBfqYFAmnkwbkACgkQzm7EmUXB
fqYpXA/+IkmTQtBnNg3lzjmbaHt8208ROUgwXMqGW/pnum+rxD5beXzExc+kC1Da
ABwB+E5A8PQOIcMPjQIi0o3+K1wB5VCDte2dB+Tz17BjGXSrqSheMnSu5Lk0S7Yp
CYkBPapkIWMg6OIC7OSe0GZouV3Lnem1SIUPI9MAJ53V2Rfmb+zKmZHo56TAda+R
vBYbz4yRoEjIMDPNbQGZfdn64k5bm2HxksK7UZqQ2/qmqw8/wG88ERAFEDD3P2CE
kIPon4M+QNzjjhxd2GKvs5dpZ/7C/sT5Ft7wzUZz+tXdoXTbJ1fqctENFrIXnA0H
JkTWHOop4k39kZ+qzCG1vHatl6rDtgnRR6Ce80eLVkxbc1w/MSU7TlKvxCnraVXi
S9NVjwvDL/diY/oTt0pRzXimBNGhN2A9JjwiM36P0WJ3vwW4izeye3/UOCqnzB62
m9leE0KX4fbHb5O1XWYsHs6pjoTsO4LiTS62tcXIYYyXQfvLKZc4B1KbaSaOFo9e
tVboF/OjV1dTFk79ZxtAwYHm0YlCbfS0g1iDTl/ZXU3vGcMNMI1pHe/R+cNvwTIG
NNJW7Kqy/yr+wFNqL7AHDlnIVCcsHDGhCC6jitFZCue9wA1lQgQJOLQE7nQO+oLX
gqn/+Xpr+haTj9Lk/wErHdgpxXdWeBf5MH/QLG8hkPZgN3yt1kM=
=ZyJI
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJPBAABCAA5FiEEDMuq/Xai7OLM0xQd4v/VsdiMqX0FAmnipLcbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzAAoJEOL/1bHYjKl9NwsP/1FBZX79KU8Jtie8HvAT
6wI4wZdYYfnDfk3QmqpM8P1qnjw38hpXimNjj3Zienjna6HbB+WEk1f7aMq6CSGi
s/mE0GN8Z5AHiCF4Vuhpf1HCXEz0nWbatvIzE9NvVMC4Q9hyzbgxHggG39+q+J4b
wcpEzbuxAbG8HzKZYvxaaJMNPWCKoqB5pas8THnm8mgNQgRSmM2shHBHxYgsR1A1
YMlPAhjre3kSI/ziJ+C4Fpj15fTtZQQ+2Oa80NBpdMmMFTal0OowaHHiggZpmlR0
vk5BWeEQbrFY/+assv0tmAUgaoER50CAOIYYzZgCiE+B8eWmeexoaDP5IbeN8Nli
VBmaQ8YG6Zhx5mU78Cx1HwooN8qQ+iSVkeNfHvErx4pMa6F0nGvNj4iVaMlOFlOJ
vXOfpYaoN58r2u/ebyNHfUq81CsofDm6RBZ3gmLHPejJCTrV/gkwRckvLEgrbvuM
HF60k/Wv2EyeNti6yRRRlH3Ufbz+7JcGPL3n651GLSSu4urxaaRtzYEKInyGSVbd
gA//O8jJOPC3yG+VFEYBEbxIuIuExeIQeLM5qZsXhj2h5/HlGBYy7Lgbi6oC2RP7
t0z5YMZWApUTRuTCWzhj3qSK0/9RaOZuKxcnSZgMx8dOWLnFjqm30sbAYCIxH24Q
oDE6va0QAC0/wouJDlSjMjUW
=301Y
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJjBAABCABNFiEEz7FuIclQ9n+pXlWPLuufXMCVJsEFAmnkxMUbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzExxmYW5xdWFrZUBnbWFpbC5jb20ACgkQLuufXMCV
JsFMeA//UICUvduTbiqp3E5Bx2k5m6mw3FihyrV8xXa0vYrt1qfL2x4TqjWPiajH
prjhxeUeSQ6GQX8huRippvbdxm8cc4+wGngRxE0hRTCW6mjERPLeugEEhjjRn0d9
Aw2YVWF1vYnXSiGZVwcL7J1BO1K38w1sXzAQnUbo6OmwRJonQoL71Vc32EdsghDs
xuVhLB22+RFFnW3WWfQAeUsZjQ+ZlVbX49Z9JON01B1bVHnF+ktHWiTwNVfCZEG6
8CV7xRArztQtiKAyAmMG0R0o8Z5ZwdR+b5FVQUXOe5x4JYaziMicZI1FLzv12zLx
1YsiTQxT/AFfh/P7w35N+D6Z3ghrfUOlxl6GFt55mTgsVOmzrXfK3pvCZqZ+2eIL
cYNcIynfCPPBD5O43iu4XNYTjMQG0VVCyOyn+ccWunw2HqrCyYMQzHfA8hxht1jR
PYdQXXW+iJ+FNQkbEXDopZNq3XnJLdJZFdoSgsOFpXnelFTBmvIdgGeRkkcJeQcc
7etccKidctoRUvvlEp8qnbbTLebjU622mBJVomL7bKcdPNqGIERtRajH+ITXKyav
k8hfuF4Ys5ZFkOMiJ9qqMtGo7hy+v1v7M1Y+Ww7GvtfkOXkKQ7NLpMnQHrYYO9SC
yhTr72ixu+qVe6GJ/JSjHC0m28zL2HjmNu/iuUTpMSJ6lMaG48w=
=xdJC
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJkBAABCABOFiEE5hdzzW4BBA4vG9eM5+KYS2KJyToFAmniZUobFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzFBxwaW5oZWFkbXpAZ21haWwuY29tAAoJEOfimEti
ick6cV0QAMuCv6INTZDjddL76muuTFPXqC1TrND44V30U2EoS7E4Fy6XeMTDfjB9
yoioNhzPZC0ci/JQGldY4g+mZyhtnZ56iprvWumyL3sIjHFnpv2Xj7JI4lV52hTj
YJXh4SkUqVXGY+7XYiSNY57M2p6yqDUVfMtDf2gU88Els3OHXzImduBHOSyR9zIo
lPrAa3sPgAtTFHxXGguJXf83O5bKeG49KhNXMzjMaDG/DN57CcW3/dnLKfFDMZKo
iOuXGNU11giL1lmruEvFoTaGAtyh8K6isddjEPShMY7iVCHa/pndAWARm5A1SZbs
K45gMuN0I3a7UxlM9ZeDyupKY5bsIatLLye6FU5mtG8r4e65SDycEdkgs+K9iSqE
+Fentk/J49CXClQEXExqAA/26BV+WtMOgGt/i3aGS17YJqbqOlBj1Ok3RV7gnhPf
xU2UV45GT1s+fPysyU7bgM2Mf93TAm71yQGTcruOLXoVC28s/kHBgls6MJW8kBQ+
nlMcVhdelKA+fbWuVQrMTZFN35kT/Q3ZRtGDKWp7QGPA/NUEL50hBveb2768EVZp
jTJoV+NtYkfCzJubgkmaafAUBFhqyQ1jv2UGIPL0YiAMcpcigY3vi4Nk1gxHV0vZ
grZ8vGZ0M4FYALho9JgQIBL3laqXvq5xmfxNi0nbTTka5W4O+T1r
=nHu3
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJGBAABCAAwFiEE0dvyxLlvLev0wWZUQQEIES5+qB8FAmnjVsQSHGhlYmFzdG9A
Z21haWwuY29tAAoJEEEBCBEufqgfSJ4QAJxzjEYljp09rnuPkacjFxjEDaH0gQI/
uaP81rBlyKzV2IhBpus46KVB9qVkS03euYG8iQwNHnXu2mRe8n4b/Y5CQcJg0PWa
nR8lHXPgqq8evZqhbrnEbwayH/39dsGtwUACx4GUbDB4H+lExJbijfWw7bW9UiTB
6do+aXB2n+KxIqaMajC3n0MqY49jbfgKUGllTrD/xY35LJflBR1RWxwJka4Z2Die
y9GgDB5c4T57ecD/a0VQkk2NTN7Nvq0vVkQGivABJtFOavL/Dm3g8y9jzXCZMNsA
IOMrot3e6FJBT0b70ufIDDHb2YaF2CdOAnqwsNDwZ0MFVqZeD1kdhQSujb0tD/A8
D9HQ8b61PyxXmHFsK0LgYjIeF2QAPn+VBtthsjPi6w7Gmq1MY8L+pFkAiD/B+oUZ
SO+tWdtKCL5wd6PGHUhT4jsb8VrxeaSvZHthcSQqw+Am3OiuGBQJoHWvokF7kakT
Er0bH+YbxIOxjq1fmIap8/93tJiQMd9hz2gkD835PzQOsq80BsE7m2SaV+4eQ+23
5BvB/oJSw3ybAbGic3JnSnF+UyiYrQkHOlHGpz2WcIU7b/pPVLZ0cXru2LF3RBAn
+9qKMl4B3sHRfcITFjK6tbLsjZijIbjEqP05vEh34O2wmJ7hsKhpCi8mM4mid7kK
xRxnVReX+3hb
=/+3r
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJEBAABCAAuFiEEFSgSMAeFyWRE0zNNF1ZXMuCOXkEFAmnibngQHG1lQGFjaG93
MTAxLmNvbQAKCRAXVlcy4I5eQbvUEACEQe21NsLuIsGABv7k8si3XRQUacmQ88kP
Zf0TDmziIECATf7FzFZqlsbu/dyUMYI/UQbIunp0tNcu+SCX8zF1h0MtlO75NS3E
8b+yjcyGw5BUSXgG4Bw4ojCTSGxT7XcBJNTuVu7SpcxXUCZucQhGposDre3NgW7l
1beIZmm2rlyVHoazvn+a+Ra9TBkha8vTSnsm0YjQjuabb/xuK2zMf1gmnlDQYgmA
PClzJW4Xpb5vB3gbPitQT3NYGeezkQkhCea6BR2LlzyXJyIz/nY5gcmprdwA6J/c
9tZF84dLwWAYZbfqL3wFxbO3Z4sTYrZa+2T0/5rQdLXZhnEfPP5gw3GpHfXTyY4K
IqBHBop9ajz115OXNe9OI8hNTRTxdTfD48dm7W8N4kY1FWcgQ+6y8mbLJnPlxG7U
gfJf05oL+7WOBa0RQQa5GmuBUN6SXYJn1CEaPckBygaGYVj215smYV29mShiNMKW
AqWlYYLqok10uyvszmOHE1fmTXnKG6PqxyQJowQavS22kTB02pNhtF662Ne9Weqc
V4UmunEQCjpaz9t3zvlF/uHZAW3sXtM1Hd9u3sIS0b20SJ9qJoMGjJw3vM7+BUtF
yK0jwZDBwbGYp7rRH3rpKcuCbO14vk3IlFEUKy6DusheIedjYQyTRfLNCM/q0kGw
+qwG/hTk3Q==
=6A8Y
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJPBAABCAA5FiEE7ZvfetalXiMuhFJCV/+b28wwEAkFAmnjb7gbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzAAoJEFf/m9vMMBAJ+J0P/2V/oWfOAM/Ozy1+E3zr
Isy4KaNs52p8SM+MNrYNlSvZj/qcq55BF32BJfDduOkfw70pKCwGT+0SGLdAcAvP
T/cLfDirs4Q9ICWaGE0rp9YJ1USZl9HfA38kCGmb9ciwGWBpNe80P2p6EhGQXpwY
XR114mFpVYHjE35xqrjdqHN0GeafsEpDdzSD5KWTUnimj0LEgZCGVyt10FnUs62n
Fw0WR3ZhCq1LFDrQGCqNQE/kZhRiyRwSdjyFk7YvkJcUcegya+A3CrtXCTmyBVNl
uCH6xzVdAMQrRRlM4WxMult4RuxrxCjhqLq4gyF9B0b1GWKuQd3HFVvTQ366yBbX
AONmtmuqPvk4sT2dANwCs1vuPRv0jj7vuNoYUmFcv3acmOtP+NSQ+5D2gyzvT1eE
IR9KFD428c4003KTkuddeV6mY3XErz+YB+SBg+P4A+3uBuiS4ktnrbGdfpi/I5T3
4w+4YYjfp8GFT3kpM3jkIeY9GgCZDDx2RNopS/TdmCBn0riO08ViQZORrQPjUndn
OTTNbdvCSBI0l10d4a5sk2jYZL2o4OqkDj30nxuwF3LWs3sokaVJtmEvuNaUCNiB
+lQidMspA9irO7K9mduIpEHwK13YOVraeaeWH3+0oIkcJsSltfrtEzxm0LNJzIFq
BXpOQo0jrRvW074o/u4bnW0j
=8qVm
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJJBAABCAAzFiEEnTzIanL4SUNC6l/RCkG9w/T6/xwFAmnib4IVHGFhcm9uQHNp
cHNvcmNlcnkuY29tAAoJEApBvcP0+v8cNdYQAIEaZzpdzje3kRB8lS7r5e9NPD2W
iphsHxNfQ50+oklWUWafVzp2QakiX1kOLYl2KZnfkifHZMGnUvNbNpQDYAJ2pOAD
ewI9mq/X5KVrwneF3Upkso/GP9idz7jIRcfffjhma+W9lsFi2psBbjDFqPmfnKbN
o/FHbh0zAIeZzR+CLd0jFXa8hH9dg/EI2dfatlPAxhcBIKk8IOMdYsmfS1l/tYOG
E9+GG4M1sNKymo/GAp7eD6QUmPGPmfl4waLNNcIfs4rbH+LoXBIe1yfnO1SCRY1t
fJtRPJ6zuN7JtfxlDmaOhQpd134dDV0/SMLeIOAAOibrZ/E2NCJYIOc/o39A5HTO
c7RMSynu/1bX8Pc0SFtMx0kSsCvuA2n0inG4HOYGX+2jBIQN5wIOxNawzfrK/nUT
Ds4aW50ptI/8LTo3gyv0rVS3kPC7WSxBFfkWRLLKi6hQD4qSjm5GR0i1ZWa7p65A
ueSUB8WXHzBtvQ1NeQX1rypv4dYKzcOPJ6tn7etLgk+Y06q0OqWPj7wHdPD6LEN4
6gZy9LfNnj4GKfSr/K0j7Dh4qEuu9YAhflYoV4Zl5LTBqD2ik+QnuMwvwgYBlZvA
6hPKesXeLAMtWSQKsBR9Q3piaejbffUgRS01Vo1W2bP9c6VLWGGJrTeAfzy5VAX+
K3JKJlAi+EuCtitS
=MNmq
-----END PGP SIGNATURE-----
4  Bitcoin / Development & Technical Discussion / MOVED: Code Review Request: Finalis Core - Deterministic BFT Blockchain on: April 16, 2026, 08:43:34 PM
This topic has been moved to Altcoin Discussion.

https://bitcointalk.org/index.php?topic=5580308.0
5  Bitcoin / Bitcoin Technical Support / MOVED: BIP-361 on: April 16, 2026, 08:42:40 PM
This topic has been moved to Development & Technical Discussion.

https://bitcointalk.org/index.php?topic=5580322.0
6  Bitcoin / Bitcoin Discussion / Bitcoin Core 30.2 Released on: January 10, 2026, 08:32:02 PM
v30.2 Release Notes

Bitcoin Core version v30.2 is now available from:

https://bitcoincore.org/bin/bitcoin-core-30.2/

This release includes new features, various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and tested on operating systems using the
Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

Wallet
  • #34156 wallet: fix unnamed legacy wallet migration failure
  • #34215 wallettool: fix unnamed createfromdump failure walletsdir deletion
  • #34221 test: migration, avoid backup name mismatch in default_wallet_failure

IPC
  • #33511 init: Fix Ctrl-C shutdown hangs during wait calls

Build
  • #33950 guix: reduce allowed exported symbols
  • #34107 build: Update minimum required Boost version
  • #34227 guix: Fix osslsigncode tests

Test
  • #34137 test: Avoid hard time.sleep(1) in feature_init.py
  • #34226 wallet: test: Relative wallet failed migration cleanup

Fuzz
  • #34091 fuzz: doc: remove any mention to address_deserialize_v2

Doc
  • #34182 doc: Update OpenBSD Build Guide

Misc
  • #34174 doc: update copyright year to 2026

Credits

Thanks to everyone who directly contributed to this release:
  • Ava Chow
  • brunoerg
  • davidgumberg
  • fanquake
  • furszy
  • Hennadii Stepanov
  • MarcoFalke
  • Ryan Ofsky

As well as to everyone that helped with translations on
Transifex.
7  Bitcoin / Bitcoin Discussion / Bitcoin Core 30.0 Released on: October 15, 2025, 12:12:25 AM
NOTICE: Wallet Migration bug present in Bitcoin Core wallet 30.0 & 30.1.

We have become aware of a wallet migration bug introduced in Bitcoin
Core 30.0 and 30.1. Under rare circumstances, when the migration of a
wallet.dat file fails, all files in the wallet directory may be deleted
in the process, potentially resulting in a loss of funds. A fix is
forthcoming and will be released as 30.2, but out of an abundance of
caution we have removed the binaries for affected releases from
bitcoincore.org.

At this time, we ask users to not attempt wallet migrations using the
GUI or RPC until v30.2 is released. All other users, including existing
wallet users, are unaffected and can keep using existing installations.

Specifically, it requires the presence of a default (unnamed) wallet.dat
file, which has not been created by default since 0.21 (released 5 years
ago), that fails to be migrated or loaded. One condition that may
trigger this is when pruning is enabled, and the wallet was unloaded
while pruning happened.



v30.0 Release Notes

Bitcoin Core version v30.0 is now available from:

https://bitcoincore.org/bin/bitcoin-core-30.0/

This release includes new features, various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and tested on operating systems using the
Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

Policy
  • The maximum number of potentially executed legacy signature operations in a
    single standard transaction is now limited to 2500. Signature operations in all
    previous output scripts, in all input scripts, as well as all P2SH redeem
    scripts (if there are any) are counted toward the limit. The new limit is
    assumed to not affect any known typically formed standard transactions. The
    change was done to prepare for a possible BIP54 deployment in the future. (#32521)
  • -datacarriersize is increased to 100,000 by default, which effectively uncaps
    the limit (as the maximum transaction size limit will be hit first). It can be
    overridden with -datacarriersize=83 to revert to the limit enforced in previous
    versions. (#32406)
  • Multiple data carrier (OP_RETURN) outputs in a transaction are now permitted for
    relay and mining. The -datacarriersize limit applies to the aggregate size of
    the scriptPubKeys across all such outputs in a transaction, not including the
    scriptPubKey size itself. (#32406)
  • The minimum block feerate (-blockmintxfee) has been changed to 0.001 satoshi per
    vB. It can still be changed using the configuration option. This option can be used
    by miners to set a minimum feerate on packages added to block templates. (#33106)
  • The default minimum relay feerate (-minrelaytxfee) and incremental relay feerate
    (-incrementalrelayfee) have been changed to 0.1 satoshis per vB. They can still
    be changed using their respective configuration options, but it is recommended to
    change both together if you decide to do so. (#33106)

    Other minimum feerates (e.g. the dust feerate, the minimum returned by the fee
    estimator, and all feerates used by the wallet) remain unchanged. The mempool minimum
    feerate still changes in response to high volume.

    Note that unless these lower defaults are widely adopted across the network, transactions
    created with lower fee rates are not guaranteed to propagate or confirm. The wallet
    feerates remain unchanged; -mintxfee must be changed before attempting to create
    transactions with lower feerates using the wallet. (#33106)

P2P and network changes
  • Opportunistic 1-parent-1-child package relay has been improved to handle
    situations when the child already has unconfirmed parent(s) in the mempool.
    This means that 1p1c packages can be accepted and propagate, even if they are
    connected to broader topologies: multi-parent-1-child (where only 1 parent
    requires fee-bumping), grandparent-parent-child (where only parent requires
    fee-bumping) etc. (#31385)
  • The transaction orphanage, which holds transactions with missing inputs temporarily
    while the node attempts to fetch its parents, now has improved Denial of Service protections.
    Previously, it enforced a maximum number of unique transactions (default 100,
    configurable using -maxorphantx). Now, its limits are as follows: the number of
    entries (unique by wtxid and peer), plus each unique transaction's input count divided
    by 10, must not exceed 3,000. The total weight of unique transactions must not exceed
    404,000 Wu multiplied by the number of peers. (#31829)
  • The -maxorphantx option no longer has any effect, since the orphanage no longer
    limits the number of unique transactions. Users should remove this configuration
    option if they were using it, as the setting will cause an error in future versions
    when it is no longer recognized. (#31829)

New bitcoin command
  • A new bitcoin command line tool has been added to make features more discoverable
    and convenient to use. The bitcoin tool just calls other executables and does not
    implement any functionality on its own. Specifically bitcoin node is a synonym for
    bitcoind, bitcoin gui is a synonym for bitcoin-qt, and bitcoin rpc is a synonym
    for bitcoin-cli -named. Other commands and options can be listed with bitcoin help.
    The new bitcoin command is an alternative to calling other commands directly, but it
    doesn't replace them, and there are no plans to deprecate existing commands. (#31375)

External Signing
  • Support for external signing on Windows has been re-enabled. (#29868)

IPC Mining Interface
  • The new bitcoin command does support one new feature: an (experimental) IPC Mining
    Interface that allows the node to work with Stratum v2 or other mining client software,
    see (#31098). When the node is started with bitcoin -m node -ipcbind=unix it will
    listen on a unix socket for IPC client connections, allowing clients to request block
    templates and submit mined blocks. The -m option launches a new internal binary
    (bitcoin-node instead of bitcoind) and is currently required but will become optional
    in the future (with [#33229](https://github.com/bitcoin/bitcoin/pull/33229)).
  • IPC connectivity introduces new dependencies (see multiprocess.md),
    which can be turned off with the -DENABLE_IPC=OFF build option if you do not intend
    to use IPC. (#31802)

Install changes
  • The test_bitcoin executable is now installed in libexec/ instead of bin/.
    It can still be executed directly, or accessed through the new bitcoin command
    as bitcoin test. The libexec/ directory also contains new bitcoin-node and
    bitcoin-gui binaries which support IPC features and are called through the
    bitcoin tool. In source builds only, test_bitcoin-qt, bench_bitcoin, and
    bitcoin-chainstate are also now installed to libexec/ instead of bin/ and
    can be accessed through the new bitcoin command. See bitcoin help output for
    details. (#31679)
  • On Windows, the installer no longer adds a “(64-bit)” suffix to entries in the
    Start Menu (#32132), and it now automatically removes obsolete artifacts during
    upgrades (#33422).

Indexes
  • The implementation of coinstatsindex was changed to prevent an overflow bug that
    could already be observed on the default Signet. The new version of the index will
    need to be synced from scratch when starting the upgraded node for the first time.

    The new version is stored in /indexes/coinstatsindex/ in contrast to the old version
    which was stored at /indexes/coinstats/. The old version of the index is not deleted
    by the upgraded node in case the user chooses to downgrade their node in the future.
    If the user does not plan to downgrade it is safe for them to remove /indexes/coinstats/
    from their datadir. A future release of Bitcoin Core may remove the old version of the
    index automatically. (#30469)

Logging
  • Unconditional logging to disk is now rate limited by giving each source location
    a quota of 1MiB per hour. Unconditional logging is any logging with a log level
    higher than debug, that is info, warning, and error. All logs will be
    prefixed with
    • [/tt] if there is at least one source location that is currently
      being suppressed. (#32604)
    • When -logsourcelocations is enabled, the log output now contains the entire
      function signature instead of just the function name. (#32604)

    Updated RPCs
    • The -paytxfee startup option and the settxfee RPC are now deprecated and
      will be removed in Bitcoin Core 31.0. They allowed the user to set a static fee
      rate for wallet transactions, which could potentially lead to overpaying or underpaying.
      Users should instead rely on fee estimation or specify a fee rate per transaction
      using the fee_rate argument in RPCs such as fundrawtransaction, sendtoaddress,
      send, sendall, and sendmany. (#31278)
    • Any RPC in which one of the parameters is a descriptor will throw an error
      if the provided descriptor contains a whitespace at the beginning or the end
      of the public key within a fragment - e.g. pk( KEY) or pk(KEY ). (#31603)
    • The submitpackage RPC, which allows submissions of child-with-parents
      packages, no longer requires that all unconfirmed parents be present. The
      package may contain other in-mempool ancestors as well. (#31385)
    • The waitfornewblock RPC now takes an optional current_tip argument. It
      is also no longer hidden. (#30635)
    • The waitforblock and waitforblockheight RPCs are no longer hidden.  (#30635)
    • The psbtbumpfee and bumpfee RPCs allow a replacement under fullrbf and no
      longer require BIP-125 signalling. (#31953)
    • Transaction Script validation errors used to return the reason for the error
      prefixed by either mandatory-script-verify-flag-failed if it was a consensus
      error, or non-mandatory-script-verify-flag (without "-failed") if it was a
      standardness error. This has been changed to block-script-verify-flag-failed
      and mempool-script-verify-flag-failed for all block and mempool errors
      respectively. (#33183)
    • The getmininginfo RPC now returns "blockmintxfee" result specifying the value of
      -blockmintxfee configuration. (#33189)
    • The getmempoolinfo RPC now returns an additional "permitbaremultisig" and
      "maxdatacarriersize" field, reflecting the -permitbaremultisig and -datacarriersize
      config values. (#29954)

    Changes to wallet-related RPCs can be found in the Wallet section below.

    New RPCs
    • A new REST API endpoint (/rest/spenttxouts/BLOCKHASH) has been introduced for
      efficiently fetching spent transaction outputs using the block's undo data (#32540).

    Build System

    Updated settings
    • The -maxmempool and -dbcache startup parameters are now capped on 32-bit systems
      to 500MB and 1GiB respectively. (#32530)
    • The -natpmp option is now set to 1 by default. This means nodes with -listen
      enabled (the default) but running behind a firewall, such as a local network router,
      will be reachable if the firewall/router supports any of the PCP or NAT-PMP
      protocols. (#33004)
    • The -upnp setting has now been fully removed. Use -natpmp instead. (#32500)
    • Previously, -proxy specified the proxy for all networks (except I2P which
      uses -i2psam) and only the Tor proxy could have been specified separately
      via -onion. Now, the syntax of -proxy has been extended and it is possible
      to specify separately the proxy for IPv4, IPv6, Tor and CJDNS by appending =
      followed by the network name, for example -proxy=127.0.0.1:5555=ipv6
      configures a proxy only for IPv6. The -proxy option can be used multiple
      times to define different proxies for different networks, such as
      -proxy=127.0.0.1:4444=ipv4 -proxy=10.0.0.1:6666=ipv6. Later settings
      override earlier ones for the same network; this can be used to remove an
      earlier all-networks proxy and use direct connections only for a given
      network, for example -proxy=127.0.0.1:5555 -proxy=0=cjdns. (#32425)
    • The -blockmaxweight startup option has been updated to be debug-only.
      It is still available to users, but now hidden from the default -help text
      and shown only in -help-debug (#32654).

    Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.

    Wallet
    • BDB legacy wallets can no longer be created or loaded. They can be migrated
      to the new descriptor wallet format. Refer to the migratewallet RPC for more
      details.
    • The legacy wallet removal drops redundant options in the bitcoin-wallet tool,
      such as -withinternalbdb, -legacy, and -descriptors. Moreover, the
      legacy-only RPCs addmultisigaddress, dumpprivkey, dumpwallet,
      importaddress, importmulti, importprivkey, importpubkey,
      importwallet, newkeypool, sethdseed, and upgradewallet, are removed.
      (#32944, #28710, #32438, #31250)
    • Support has been added for spending TRUC transactions received by the
      wallet, as well as creating TRUC transactions. The wallet ensures that
      TRUC policy rules are being met. The wallet will throw an error if the
      user is trying to spend TRUC utxos with utxos of other versions.
      Additionally, the wallet will treat unconfirmed TRUC sibling
      transactions as mempool conflicts. The wallet will also ensure that
      transactions spending TRUC utxos meet the required size restrictions. (#32896)
    • Since descriptor wallets do not allow mixing watchonly and non-watchonly descriptors,
      the include_watchonly option (and its variants in naming) are removed from all RPCs
      that had it. (#32618)
    • The iswatchonly field is removed from any RPCs that returned it. (#32618)
    • unloadwallet - Return RPC_INVALID_PARAMETER when both the RPC wallet endpoint
      and wallet_name parameters are unspecified. Previously the RPC failed with a JSON
      parsing error. (#32845)
    • getdescriptoractivity - Mark blockhashes and scanobjects arguments as required,
      so the user receives a clear help message when either is missing. As in unloadwallet,
      previously the RPC failed with a JSON parsing error. (#32845)
    • getwalletinfo - Removes the fields balance, immature_balance and
      unconfirmed_balance. (#32721)
    • getunconfirmedbalance - Removes this RPC command. You can query the getbalances
      RPC and inspect the ["mine"]["untrusted_pending"] entry within the JSON
      response. (#32721)
    • The following RPCs now contain a version parameter that allows
      the user to create transactions of any standard version number (1-3):
      • createrawtransaction
      • createpsbt
      • send
      • sendall
      • walletcreatefundedpsbt
        (#32896)

    GUI changes
    • The GUI has been migrated from Qt 5 to Qt 6. On Windows, dark mode is now supported.
      On macOS, the Metal backend is now used. (#30997)
    • A transaction's fee bump is allowed under fullrbf and no longer requires
      BIP-125 signalling. (#31953)
    • Custom column widths in the Transactions tab are reset as a side-effect of legacy
      wallet removal. (#32459)

    Low-level changes
    • Logs now include which peer sent us a header. Additionally there are fewer
      redundant header log messages. A side-effect of this change is that for
      some untypical cases new headers aren't logged anymore, e.g. a direct
      BLOCK message with a previously unknown header and submitheader RPC. (#27826)

    Credits

    Thanks to everyone who directly contributed to this release:
    • 0xb10c
    • amisha
    • Andrew Toth
    • Anthony Towns
    • Antoine Poinsot
    • Ava Chow
    • benthecarman
    • Brandon Odiwuor
    • brunoerg
    • Bue-von-hon
    • Bufo
    • Chandra Pratap
    • Chris Stewart
    • Cory Fields
    • Daniel Pfeifer
    • Daniela Brozzoni
    • David Gumberg
    • deadmanoz
    • dennsikl
    • dergoegge
    • enoch
    • Ethan Heilman
    • Eugene Siegel
    • Eunovo
    • Eval EXEC
    • Fabian Jahr
    • fanquake
    • Florian Schmaus
    • fuder.eth
    • furszy
    • glozow
    • Greg Sanders
    • Hao Xu
    • Haoran Peng
    • Haowen Liu
    • Hennadii Stepanov
    • Hodlinator
    • hoffman
    • ishaanam
    • ismaelsadeeq
    • Jameson Lopp
    • janb84
    • Jiri Jakes
    • John Bampton
    • Jon Atack
    • josibake
    • jurraca
    • kevkevin
    • kevkevinpal
    • kilavvy
    • Kristaps Kaupe
    • l0rinc
    • laanwj
    • leopardracer
    • Lőrinc
    • Luis Schwab
    • Luke Dashjr
    • MarcoFalke
    • marcofleon
    • Martin Zumsande
    • Matt Corallo
    • Matthew Zipkin
    • Max Edwards
    • monlovesmango
    • Murch
    • naiyoma
    • nervana21
    • Nicola Leonardo Susca
    • Novo
    • pablomartin4btc
    • Peter Todd
    • Pieter Wuille
    • Pol Espinasa
    • Prabhat Verma
    • rkrux
    • Roman Zeyde
    • Ryan Ofsky
    • Saikiran
    • Salvatore Ingala
    • Sebastian Falbesoner
    • Sergi Delgado Segura
    • Shunsuke Shimizu
    • Sjors Provoost
    • stickies-v
    • stratospher
    • stringintech
    • strmfos
    • stutxo
    • tdb3
    • TheCharlatan
    • Tomás Andróil
    • UdjinM6
    • Vasil Dimov
    • VolodymyrBg
    • w0xlt
    • will
    • willcl-ark
    • William Casarin
    • woltx
    • yancy
    • zaidmstrr

    As well as to everyone that helped with translations on
    Transifex.
8  Bitcoin / Bitcoin Discussion / Bitcoin Core 29.1 Released on: September 09, 2025, 05:20:07 PM
Bitcoin Core version 29.1 is now available from:

https://bitcoincore.org/bin/bitcoin-core-29.1/

This release includes various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and tested on operating systems using the
Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

Mempool Policy
  • The maximum number of potentially executed legacy signature operations in a
    single standard transaction is now limited to 2500. Signature operations in all
    previous output scripts, in all input scripts, as well as all P2SH redeem
    scripts (if there are any) are counted toward the limit. The new limit is
    assumed to not affect any known typically formed standard transactions. The
    change was done to prepare for a possible BIP54 deployment in the future.
  • #32521 policy: make pathological transactions packed with legacy sigops non-standard
  • The minimum block feerate (-blockmintxfee) has been changed to 1 satoshi per kvB. It can still be changed using the
    configuration option.
  • The default minimum relay feerate (-minrelaytxfee) and incremental relay feerate (-incrementalrelayfee) have been
    changed to 100 satoshis per kvB. They can still be changed using their respective configuration options, but it is
    recommended to change both together if you decide to do so.
    • Other minimum feerates (e.g. the dust feerate, the minimum returned by the fee estimator, and all feerates used by
      the wallet) remain unchanged. The mempool minimum feerate still changes in response to high volume.
    • Note that unless these lower defaults are widely adopted across the network, transactions created with lower fee
      rates are not guaranteed to propagate or confirm. The wallet feerates remain unchanged; -mintxfee must be changed
      before attempting to create transactions with lower feerates using the wallet.
  • #33106 policy: lower the default blockmintxfee, incrementalrelayfee, minrelaytxfee

Logging

Unconditional logging to disk is now rate limited by giving each source location
a quota of 1MiB per hour. Unconditional logging is any logging with a log level
higher than debug, that is info, warning, and error. All logs will be
prefixed with
Code:
[*]
if there is at least one source location that is currently
being suppressed. (#32604)

When -logsourcelocations is enabled, the log output now contains the entire
function signature instead of just the function name. (#32604)

RPC
  • The dumptxoutset RPC now requires a type parameter to be specified. To maintain pre
    v29.0 behavior, use the latest parameter. Documenting this change was missed in the v29.0
    release notes. (#30808)

Updated Settings
  • The -maxmempool and -dbcache startup parameters are now capped on
    32-bit systems to 500MB and 1GiB respectively.
  • #32530 node: cap -maxmempool and -dbcache values for 32-bit

Wallet
  • #31757 wallet: fix crash on double block disconnection
  • #32553 wallet: Fix logging of wallet version

P2P
  • #32826 p2p: add more bad ports

Test
  • #32069 test: fix intermittent failure in wallet_reorgsrestore.py
  • #32286 test: Handle empty string returned by CLI as None in RPC tests
  • #32312 test: Fix feature_pruning test after nTime typo fix
  • #32336 test: Suppress upstream -Wduplicate-decl-specifier in bpfcc
  • #32463 test: fix an incorrect feature_fee_estimation.py subtest
  • #32483 test: fix two intermittent failures in wallet_basic.py
  • #32630 test: fix sync function in rpc_psbt.py
  • #32765 test: Fix list index out of range error in feature_bip68_sequence.py
  • #32742 test: fix catchup loop in outbound eviction functional test
  • #32823 test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only()
  • #32833 test: Add msgtype to msg_generic slots
  • #32841 feature_taproot: sample tx version border values more
  • #32850 test: check P2SH sigop count for coinbase tx
  • #32859 test: correctly detect nonstd TRUC tx vsize in feature_taproot
  • #33001 test: Do not pass tests on unhandled exceptions

Indexes
  • #33212 index: Don't commit state in BaseIndex::Rewind

Util
  • #32248 Remove support for RNDR/RNDRRS for aarch64

Build
  • #32356 cmake: Respect user-provided configuration-specific flags
  • #32437 crypto: disable ASan for sha256_sse4 with Clang
  • #32469 cmake: Allow WITH_DBUS on all Unix-like systems
  • #32439 guix: accomodate migration to codeberg
  • #32551 cmake: Add missed SSE41_CXXFLAGS
  • #32568 depends: use "mkdir -p" when installing xproto
  • #32678 guix: warn and abort when SOURCE_DATE_EPOCH is set
  • #32690 depends: fix SHA256SUM command on OpenBSD (use GNU mode output)
  • #32716 depends: Override host compilers for FreeBSD and OpenBSD
  • #32760 depends: capnp 1.2.0
  • #32798 build: add root dir to CMAKE_PREFIX_PATH in toolchain
  • #32805 cmake: Use HINTS instead of PATHS in find_* commands
  • #32814 cmake: Explicitly specify Boost_ROOT for Homebrew's package
  • #32837 depends: fix libevent _WIN32_WINNT usage
  • #32943 depends: Force CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE
  • #32954 cmake: Drop no longer necessary "cmakeMinimumRequired" object
  • #33073 guix: warn SOURCE_DATE_EPOCH set in guix-codesign

Gui
  • #864 Crash fix, disconnect numBlocksChanged() signal during shutdown
  • #868 Replace stray tfm::format to cerr with qWarning

Doc
  • #32333 doc: Add missing top-level description to pruneblockchain RPC
  • #32353 doc: Fix fuzz test_runner.py path
  • #32389 doc: Fix test_bitcoin path
  • #32607 rpc: Note in fundrawtransaction doc, fee rate is for package
  • #32679 doc: update tor docs to use bitcoind binary from path
  • #32693 depends: fix cmake compatibility error for freetype
  • #32696 doc: make -DWITH_ZMQ=ON explicit on build-unix.md
  • #32708 rpc, doc: update listdescriptors RCP help
  • #32711 doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md
  • #32719 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
  • #32776 doc: taproot became always active in v24.0
  • #32777 doc: fix Transifex 404s
  • #32846 doc: clarify that the "-j N" goes after the "--build build" part
  • #32858 doc: Add workaround for vcpkg issue with paths with embedded spaces
  • #33070 doc/zmq: fix unix socket path example
  • #33088 doc: move cmake -B build -LH up in Unix build docs
  • #33133 rpc: fix getpeerinfo ping duration unit docs
  • #33119 rpc: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify fix
  • #33236 doc: Remove wrong and redundant doxygen tag

CI
  • #32184 ci: Add workaround for vcpkg's libevent package
  • #33261 ci: return to using dash in CentOS job

Misc
  • #32187 refactor: Remove spurious virtual from final ~CZMQNotificationInterface
  • #32454 tracing: fix invalid argument in mempool_monitor
  • #32771 contrib: tracing: Fix read of pmsg_type in p2p_monitor.py
  • #33086 contrib: [tracing] fix pointer argument handling in mempool_monitor.py

Credits

Thanks to everyone who directly contributed to this release:
  • 0xB10C
  • achow101
  • Antoine Poinsot
  • benthecarman
  • bigspider
  • Brandon Odiwuor
  • brunoerg
  • Bufo
  • Christewart
  • Crypt-iQ
  • davidgumberg
  • deadmanoz
  • dergoegge
  • enirox001
  • fanquake
  • furszy
  • glozow
  • instagibbs
  • Hennadii Stepanov
  • hodlinator
  • ismaelsadeeq
  • jb55
  • jlopp
  • josibake
  • laanwj
  • luisschwab
  • MarcoFalke
  • Martin Zumsande
  • monlovesmango
  • nervana21
  • pablomartin4btc
  • rkrux
  • romanz
  • ryanofsky
  • Sjors
  • theStack
  • willcl-ark
  • zaidmstrr

As well as to everyone that helped with translations on
Transifex.
9  Bitcoin / Bitcoin Discussion / Bitcoin Core 29.0 Released on: April 15, 2025, 07:20:37 PM
Bitcoin Core version 29.0 is now available from:

https://bitcoincore.org/bin/bitcoin-core-29.0/

This release includes new features, various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and tested on operating systems using the
Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

P2P and Network Changes
  • Support for UPnP was dropped. If you want to open a port automatically, consider using the -natpmp
    option instead, which uses PCP or NAT-PMP depending on router support. (#31130)
  • libnatpmp was replaced with a built-in implementation of PCP and NAT-PMP (still enabled using the -natpmp option). This supports automatic IPv4 port forwarding as well as IPv6 pinholing. (#30043)
  • When the -port configuration option is used, the default onion listening port will now
    be derived to be that port + 1 instead of being set to a fixed value (8334 on mainnet).
    This re-allows setups with multiple local nodes using different -port and not using -bind,
    which would lead to a startup failure in v28.0 due to a port collision.
    Note that a HiddenServicePort manually configured in torrc may need adjustment if used in
    connection with the -port option.
    For example, if you are using -port=5555 with a non-standard value and not using -bind=...=onion,
    previously Bitcoin Core would listen for incoming Tor connections on 127.0.0.1:8334.
    Now it would listen on 127.0.0.1:5556 (-port plus one). If you configured the hidden service manually
    in torrc now you have to change it from HiddenServicePort 8333 127.0.0.1:8334 to HiddenServicePort 8333 127.0.0.1:5556, or configure bitcoind with -bind=127.0.0.1:8334=onion to get the previous behavior.
    (#31223)
  • Upon receiving an orphan transaction (an unconfirmed transaction that spends unknown inputs), the node will attempt to download missing parents from all peers who announced the orphan. This change may increase bandwidth usage but make orphan-handling more reliable. (#31397)

Mempool Policy and Mining Changes
  • Ephemeral dust is a new concept that allows a single
    dust output in a transaction, provided the transaction
    is zero fee. In order to spend any unconfirmed outputs
    from this transaction, the spender must also spend
    this dust in addition to any other desired outputs.
    In other words, this type of transaction
    should be created in a transaction package where
    the dust is both created and spent simultaneously. (#30239)
  • Due to a bug, the default block reserved weight (4,000 WU) for fixed-size block header, transactions count, and coinbase transaction was reserved twice and could not be lowered. As a result the total reserved weight was always 8,000 WU, meaning that even when specifying a -blockmaxweight higher than the default (even to the max of 4,000,000 WU), the actual block size will never exceed 3,992,000 WU.
    The fix consolidates the reservation into a single place and introduces a new startup option, -blockreservedweight which specifies the reserved weight directly. The default value of -blockreservedweight is set to 8,000 WU to ensure backward compatibility for users who relied on the previous behavior of -blockmaxweight.
    The minimum value of -blockreservedweight is set to 2,000 WU. Users setting -blockreservedweight below the default should ensure that the total weight of their block header, transaction count, and coinbase transaction does not exceed the reduced value or they may risk mining an invalid block. (#31384)

Updated RPCs
  • The RPC testmempoolaccept response now includes a reject-details field in some cases,
    similar to the complete error messages returned by sendrawtransaction (#28121)
  • Duplicate blocks submitted with submitblock will now persist their block data
    even if it was previously pruned. If pruning is activated, the data will be
    pruned again eventually once the block file it is persisted in is selected for
    pruning. This is consistent with the behaviour of getblockfrompeer where the
    block is persisted as well even when pruning. (#31175)
  • getmininginfo now returns nBits and the current target in the target field. It also returns a next object which specifies the height, nBits, difficulty, and target for the next block. (#31583)
  • getblock and getblockheader now return the current target in the target field (#31583)
  • getblockchaininfo and getchainstates now return nBits and the current target in the target field (#31583)
  • the getblocktemplate RPC curtime (BIP22) and mintime (BIP23) fields now
    account for the timewarp fix proposed in BIP94 on all networks. This ensures
    that, in the event a timewarp fix softfork activates on mainnet, un-upgraded
    miners will not accidentally violate the timewarp rule. (#31376, #31600)
    As a reminder, it's important that any software which uses the getblocktemplate
    RPC takes these values into account (either curtime or mintime is fine).
    Relying only on a clock can lead to invalid blocks under some circumstances,
    especially once a timewarp fix is deployed. (#31600)

New RPCs
  • getdescriptoractivity can be used to find all spend/receive activity relevant to
    a given set of descriptors within a set of specified blocks. This call can be used with
    scanblocks to lessen the need for additional indexing programs. (#30708)

Updated REST APIs
  • GET /rest/block/<BLOCK-HASH>.json and GET /rest/headers/<BLOCK-HASH>.json now return the current target in the target field

Updated Settings
  • The maximum allowed value for the -dbcache configuration option has been
    dropped due to recent UTXO set growth. Note that before this change, large -dbcache
    values were automatically reduced to 16 GiB (1 GiB on 32 bit systems). (#28358)
  • Handling of negated -noseednode, -nobind, -nowhitebind, -norpcbind, -norpcallowip, -norpcwhitelist, -notest, -noasmap, -norpcwallet, -noonlynet, and -noexternalip options has changed. Previously negating these options had various confusing and undocumented side effects. Now negating them just resets the settings and restores default behaviors, as if the options were not specified.
  • Starting with v28.0, the -mempoolfullrbf startup option was set to
    default to 1. With widespread adoption of this policy, users no longer
    benefit from disabling it, so the option has been removed, making full
    replace-by-fee the standard behavior. (#30592)
  • Setting -upnp will now log a warning and be interpreted as -natpmp. Consider using -natpmp directly instead. (#31130, #31916)
  • As a safety check, Bitcoin core will <strong>fail to start</strong> when -blockreservedweight init parameter value is lower than 2000 weight units. Bitcoin Core will also <strong>fail to start</strong> if the -blockmaxweight or -blockreservedweight init parameter exceeds consensus limit of 4,000,000 WU.
  • Passing -debug=0 or -debug=none now behaves like -nodebug: previously set debug categories will be cleared, but subsequent -debug options will still be applied.
  • The default for -rpcthreads has been changed from 4 to 16, and the default for -rpcworkqueue has been changed from 16 to 64. (#31215).

Build System

The build system has been migrated from Autotools to CMake:
  • The minimum required CMake version is 3.22.
  • In-source builds are not allowed. When using a subdirectory within the root source tree as a build directory, it is recommended that its name includes the substring "build".
  • CMake variables may be used to configure the build system. <strong>Some defaults have changed.</strong> For example, you will now need to add -DWITH_ZMQ=ON to build with zmq and -DBUILD_GUI=ON to build bitcoin-qt. See Autotools to CMake Options Mapping for details.
  • For single-configuration generators, the default build configuration (CMAKE_BUILD_TYPE) is "RelWithDebInfo". However, for the "Release" configuration, CMake defaults to the compiler optimization flag -O3, which has not been extensively tested with Bitcoin Core. Therefore, the build system replaces it with -O2.
  • By default, the built executables and libraries are located in the bin/ and lib/ subdirectories of the build directory.
  • The build system supports component‐based installation. The names of the installable components coincide with the build target names. For example:
Code:
cmake -B build
cmake --build build --target bitcoind
cmake --install build --component bitcoind
  • If any of the CPPFLAGS, CFLAGS, CXXFLAGS or LDFLAGS environment variables were used in your Autotools-based build process, you should instead use the corresponding CMake variables (APPEND_CPPFLAGS, APPEND_CFLAGS, APPEND_CXXFLAGS and APPEND_LDFLAGS). Alternatively, if you opt to use the dedicated CMAKE_<...>_FLAGS variables, you must ensure that the resulting compiler or linker invocations are as expected.

For more detailed guidance on configuring and using CMake, please refer to the official CMake documentation and CMake’s User Interaction Guide. Additionally, consult platform-specific doc/build-*.md build guides for instructions tailored to your operating system.

Low-Level Changes

Tools and Utilities
  • A new tool utxo_to_sqlite.py
    converts a compact-serialized UTXO snapshot (as created with the
    dumptxoutset RPC) to a SQLite3 database. Refer to the script's --help
    output for more details. (#27432)

Tests
  • The BIP94 timewarp attack mitigation (designed for testnet4) is no longer active on the regtest network. (#31156)

Dependencies
  • MiniUPnPc and libnatpmp have been removed as dependencies (#31130, #30043).

Credits

Thanks to everyone who directly contributed to this release:
  • 0xb10c
  • Adlai Chandrasekhar
  • Afanti
  • Alfonso Roman Zubeldia
  • am-sq
  • Andre
  • Andre Alves
  • Anthony Towns
  • Antoine Poinsot
  • Ash Manning
  • Ava Chow
  • Boris Nagaev
  • Brandon Odiwuor
  • brunoerg
  • Chris Stewart
  • Cory Fields
  • costcould
  • Daniel Pfeifer
  • Daniela Brozzoni
  • David Gumberg
  • dergoegge
  • epysqyli
  • espi3
  • Eval EXEC
  • Fabian Jahr
  • fanquake
  • furszy
  • Gabriele Bocchi
  • glozow
  • Greg Sanders
  • Gutflo
  • Hennadii Stepanov
  • Hodlinator
  • i-am-yuvi
  • ion-
  • ismaelsadeeq
  • Jadi
  • James O'Beirne
  • Jeremy Rand
  • Jon Atack
  • jurraca
  • Kay
  • kevkevinpal
  • l0rinc
  • laanwj
  • Larry Ruane
  • Lőrinc
  • Maciej S. Szmigiero
  • Mackain
  • MarcoFalke
  • marcofleon
  • Marnix
  • Martin Leitner-Ankerl
  • Martin Saposnic
  • Martin Zumsande
  • Matthew Zipkin
  • Max Edwards
  • Michael Dietz
  • naiyoma
  • Nicola Leonardo Susca
  • omahs
  • pablomartin4btc
  • Pieter Wuille
  • Randall Naar
  • RiceChuan
  • rkrux
  • Roman Zeyde
  • Ryan Ofsky
  • Sebastian Falbesoner
  • secp512k2
  • Sergi Delgado Segura
  • Simon
  • Sjors Provoost
  • stickies-v
  • Suhas Daftuar
  • tdb3
  • TheCharlatan
  • tianzedavid
  • Torkel Rogstad
  • Vasil Dimov
  • wgyt
  • willcl-ark
  • yancy

As well as to everyone that helped with translations on
Transifex.
10  Bitcoin / Bitcoin Discussion / Bitcoin Core 28.0 Released on: October 04, 2024, 11:39:57 PM
Bitcoin Core version 28.0 is now available from:

https://bitcoincore.org/bin/bitcoin-core-28.0/

This release includes new features, various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Running Bitcoin Core binaries on macOS requires self signing.
<pre>cd /path/to/bitcoin-28.0/bin
xattr -d com.apple.quarantine bitcoin-cli bitcoin-qt bitcoin-tx bitcoin-util bitcoin-wallet bitcoind test_bitcoin
codesign -s - bitcoin-cli bitcoin-qt bitcoin-tx bitcoin-util bitcoin-wallet bitcoind test_bitcoin
</pre>

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux Kernel 3.17+, macOS 11.0+, and Windows 7 and newer. Bitcoin
Core should also work on most other UNIX-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

Testnet4/BIP94 support

Support for Testnet4 as specified in BIP94
has been added. The network can be selected with the -testnet4 option and
the section header is also named [testnet4].

While the intention is to phase out support for Testnet3 in an upcoming
version, support for it is still available via the known options in this
release. (#29775)

Windows Data Directory

The default data directory on Windows has been moved from C:\Users\Username\AppData\Roaming\Bitcoin
to C:\Users\Username\AppData\Local\Bitcoin. Bitcoin Core will check the existence
of the old directory first and continue to use that directory for backwards
compatibility if it is present. (#27064)

JSON-RPC 2.0 Support

The JSON-RPC server now recognizes JSON-RPC 2.0 requests and responds with
strict adherence to the specification.
See JSON-RPC-interface.md for details. (#27101)

JSON-RPC clients may need to be updated to be compatible with the JSON-RPC server.
Please open an issue on GitHub if any compatibility issues are found.

libbitcoinconsensus Removal

The libbitcoin-consensus library was deprecated in 27.0 and is now completely removed. (#29648)

P2P and Network Changes
  • Previously if Bitcoin Core was listening for P2P connections, either using
    default settings or via bind=addr:port it would always also bind to
    127.0.0.1:8334 to listen for Tor connections. It was not possible to switch
    this off, even if the node didn't use Tor. This has been changed and now
    bind=addr:port results in binding on addr:port only. The default behavior
    of binding to 0.0.0.0:8333 and 127.0.0.1:8334 has not been changed.

    If you are using a bind=... configuration without bind=...=onion and rely
    on the previous implied behavior to accept incoming Tor connections at
    127.0.0.1:8334, you need to now make this explicit by using
    bind=... bind=127.0.0.1:8334=onion. (#22729)
  • Bitcoin Core will now fail to start up if any of its P2P binds fail, rather
    than the previous behaviour where it would only abort startup if all P2P
    binds had failed. (#22729)
  • UNIX domain sockets can now be used for proxy connections. Set -onion or -proxy
    to the local socket path with the prefix unix: (e.g. -onion=unix:/home/me/torsocket).
    (#27375)
  • UNIX socket paths are now accepted for -zmqpubrawblock and -zmqpubrawtx with
    the format -zmqpubrawtx=unix:/path/to/file (#27679)
  • Additional "in" and "out" flags have been added to -whitelist to control whether
    permissions apply to inbound connections and/or manual ones (default: inbound only). (#27114)
  • Transactions having a feerate that is too low will be opportunistically paired with
    their child transactions and submitted as a package, thus enabling the node to download
    1-parent-1-child packages using the existing transaction relay protocol. Combined with
    other mempool policies, this change allows limited "package relay" when a parent transaction
    is below the mempool minimum feerate. Topologically Restricted Until Confirmation (TRUC)
    parents are additionally allowed to be below the minimum relay feerate (i.e., pay 0 fees).
    Use the submitpackage RPC to submit packages directly to the node. Warning: this P2P
    feature is limited (unlike the submitpackage interface, a child with multiple unconfirmed
    parents is not supported) and not yet reliable under adversarial conditions. (#28970)

Mempool Policy Changes
  • Transactions with version number set to 3 are now treated as standard on all networks (#29496),
    subject to opt-in Topologically Restricted Until Confirmation (TRUC) transaction policy as
    described in BIP 431.  The
    policy includes limits on spending unconfirmed outputs (#28948), eviction of a previous descendant
    if a more incentive-compatible one is submitted (#29306), and a maximum transaction size of 10,000vB
    (#29873). These restrictions simplify the assessment of incentive compatibility of accepting or
    replacing TRUC transactions, thus ensuring any replacements are more profitable for the node and
    making fee-bumping more reliable.
  • Pay To Anchor (P2A) is a new standard witness output type for spending,
    a newly recognised output template. This allows for key-less anchor
    outputs, with compact spending conditions for additional efficiencies on
    top of an equivalent sh(OP_TRUE) output, in addition to the txid stability
    of the spending transaction.
    N.B. propagation of this output spending on the network will be limited
    until a sufficient number of nodes on the network adopt this upgrade. (#30352)
  • Limited package RBF is now enabled, where the proposed conflicting package would result in
    a connected component, aka cluster, of size 2 in the mempool. All clusters being conflicted
    against must be of size 2 or lower. (#28984)
  • The default value of the -mempoolfullrbf configuration option has been changed from 0 to 1,
    i.e. mempoolfullrbf=1. (#30493)

Updated RPCs
  • The dumptxoutset RPC now returns the UTXO set dump in a new and
    improved format. Correspondingly, the loadtxoutset RPC now expects
    this new format in the dumps it tries to load. Dumps with the old
    format are no longer supported and need to be recreated using the
    new format to be usable. (#29612)
  • AssumeUTXO mainnet parameters have been added for height 840,000.
    This means the loadtxoutset RPC can now be used on mainnet with
    the matching UTXO set from that height. (#28553)
  • The warnings field in getblockchaininfo, getmininginfo and
    getnetworkinfo now returns all the active node warnings as an array
    of strings, instead of a single warning. The current behaviour
    can be temporarily restored by running Bitcoin Core with the configuration
    option -deprecatedrpc=warnings. (#29845)
  • Previously when using the sendrawtransaction RPC and specifying outputs
    that are already in the UTXO set, an RPC error code of -27 with the
    message "Transaction already in block chain" was returned in response.
    The error message has been changed to "Transaction outputs already in utxo set"
    to more accurately describe the source of the issue. (#30212)
  • The default mode for the estimatesmartfee RPC has been updated from conservative to economical,
    which is expected to reduce over-estimation for many users, particularly if Replace-by-Fee is an option.
    For users that require high confidence in their fee estimates at the cost of potentially over-estimating,
    the conservative mode remains available. (#30275)
  • RPC scantxoutset now returns 2 new fields in the "unspents" JSON array: blockhash and confirmations.
    See the scantxoutset help for details. (#30515)
  • RPC submitpackage now allows 2 new arguments to be passed: maxfeerate and maxburnamount. See the
    subtmitpackage help for details. (#28950)

Changes to wallet-related RPCs can be found in the Wallet section below.

Updated REST APIs
  • Parameter validation for /rest/getutxos has been improved by rejecting
    truncated or overly large txids and malformed outpoint indices via raising
    an HTTP_BAD_REQUEST "Parse error". These requests were previously handled
    silently. (#30482, #30444)

Build System
  • GCC 11.1 or later, or Clang 16.0 or later,
    are now required to compile Bitcoin Core. (#29091, #30263)
  • The minimum required glibc to run Bitcoin Core is now
    2.31. This means that RHEL 8 and Ubuntu 18.04 (Bionic)
    are no-longer supported. (#29987)
  • --enable-lcov-branch-coverage has been removed, given
    incompatibilities between lcov version 1 &amp; 2. LCOV_OPTS
    should be used to set any options instead. (#30192)

Updated Settings
  • When running with -alertnotify, an alert can now be raised multiple
    times instead of just once. Previously, it was only raised when unknown
    new consensus rules were activated. Its scope has now been increased to
    include all kernel warnings. Specifically, alerts will now also be raised
    when an invalid chain with a large amount of work has been detected.
    Additional warnings may be added in the future. (#30058)

Changes to GUI or wallet related settings can be found in the GUI or Wallet section below.

Wallet
  • The wallet now detects when wallet transactions conflict with the mempool. Mempool-conflicting
    transactions can be seen in the "mempoolconflicts" field of gettransaction. The inputs
    of mempool-conflicted transactions can now be respent without manually abandoning the
    transactions when the parent transaction is dropped from the mempool, which can cause wallet
    balances to appear higher. (#27307)
  • A new max_tx_weight option has been added to the RPCs fundrawtransaction, walletcreatefundedpsbt, and send.
    It specifies the maximum transaction weight. If the limit is exceeded during funding, the transaction will not be built.
    The default value is 4,000,000 WU. (#29523)
  • A new createwalletdescriptor RPC allows users to add new automatically generated
    descriptors to their wallet. This can be used to upgrade wallets created prior to the
    introduction of a new standard descriptor, such as taproot. (#29130)
  • A new RPC gethdkeys lists all of the BIP32 HD keys in use by all of the descriptors in the wallet.
    These keys can be used in conjunction with createwalletdescriptor to create and add single key
    descriptors to the wallet for a particular key that the wallet already knows. (#29130)
  • The sendall RPC can now spend unconfirmed change and will include additional fees as necessary
    for the resulting transaction to bump the unconfirmed transactions' feerates to the specified feerate. (#28979)
  • In RPC bumpfee, if a fee_rate is specified, the feerate is no longer restricted
    to following the wallet's incremental feerate of 5 sat/vb. The feerate must still be
    at least the sum of the original fee and the mempool's incremental feerate. (#27969)

GUI Changes
  • The "Migrate Wallet" menu allows users to migrate any legacy wallet in their wallet
    directory, regardless of the wallets loaded. (gui#824)
  • The "Information" window now displays the maximum mempool size along with the
    mempool usage. (gui#825)

Low-level Changes

Tests
  • The BIP94 timewarp attack mitigation is now active on the regtest network. (#30681)
  • A new -testdatadir option has been added to test_bitcoin to allow specifying the
    location of unit test data directories. (#26564)

Blockstorage
  • Block files are now XOR'd by default with a key stored in the blocksdir.
    Previous releases of Bitcoin Core or previous external software will not be able to read the blocksdir with a non-zero XOR-key.
    Refer to the -blocksxor help for more details. (#28052)

Chainstate
  • The chainstate database flushes that occur when blocks are pruned will no longer
    empty the database cache. The cache will remain populated longer, which significantly
    reduces the time for initial block download to complete. (#28280)

Dependencies
  • The dependency on Boost.Process has been replaced with cpp-subprocess, which is contained in source.
    Builders will no longer need Boost.Process to build with external signer support. (#28981)

Credits

Thanks to everyone who directly contributed to this release:
  • 0xb10c
  • Alfonso Roman Zubeldia
  • Andrew Toth
  • AngusP
  • Anthony Towns
  • Antoine Poinsot
  • Anton A
  • Ava Chow
  • Ayush Singh
  • Ben Westgate
  • Brandon Odiwuor
  • brunoerg
  • bstin
  • Charlie
  • Christopher Bergqvist
  • Cory Fields
  • crazeteam
  • Daniela Brozzoni
  • David Gumberg
  • dergoegge
  • Edil Medeiros
  • Epic Curious
  • Fabian Jahr
  • fanquake
  • furszy
  • glozow
  • Greg Sanders
  • hanmz
  • Hennadii Stepanov
  • Hernan Marino
  • Hodlinator
  • ishaanam
  • ismaelsadeeq
  • Jadi
  • Jon Atack
  • josibake
  • jrakibi
  • kevkevin
  • kevkevinpal
  • Konstantin Akimov
  • laanwj
  • Larry Ruane
  • Lőrinc
  • Luis Schwab
  • Luke Dashjr
  • MarcoFalke
  • marcofleon
  • Marnix
  • Martin Saposnic
  • Martin Zumsande
  • Matt Corallo
  • Matthew Zipkin
  • Matt Whitlock
  • Max Edwards
  • Michael Dietz
  • Murch
  • nanlour
  • pablomartin4btc
  • Peter Todd
  • Pieter Wuille
  • @RandyMcMillan
  • RoboSchmied
  • Roman Zeyde
  • Ryan Ofsky
  • Sebastian Falbesoner
  • Sergi Delgado Segura
  • Sjors Provoost
  • spicyzboss
  • StevenMia
  • stickies-v
  • stratospher
  • Suhas Daftuar
  • sunerok
  • tdb3
  • TheCharlatan
  • umiumi
  • Vasil Dimov
  • virtu
  • willcl-ark

As well as to everyone that helped with translations on
Transifex.
11  Bitcoin / Development & Technical Discussion / Bitcoin Core Security Disclosure Policy and Disclosure of 10 Old Vulnerabilities on: July 03, 2024, 04:29:26 PM
https://bitcoincore.org/en/security-advisories/

https://groups.google.com/g/bitcoindev/c/Q2ZGit2wF7w

The vulnerabilities disclosed today were fixed in 0.21 and earlier. At the end of July, those that were fixed in 22.0 will be published, in August, 23.0, and so on until there are no remaining undisclosed vulnerabilities in end of life Bitcoin Core versions.
12  Bitcoin / Bitcoin Discussion / Bitcoin Core 27.1 Released on: June 17, 2024, 10:28:22 PM
27.1 Release Notes

Bitcoin Core version 27.1 is now available from:

https://bitcoincore.org/bin/bitcoin-core-27.1/

or through bittorrent

This release includes various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux Kernel 3.17+, macOS 11.0+, and Windows 7 and newer. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

Miniscript
  • #29853 sign: don't assume we are parsing a sane TapMiniscript

RPC
  • #29869 rpc, bugfix: Enforce maximum value for setmocktime
  • #29870 rpc: Reword SighashFromStr error message
  • #30094 rpc: move UniValue in blockToJSON

Index

Gui
  • #gui812 Fix create unsigned transaction fee bump
  • #gui813 Don't permit port in proxy IP option

Test
  • #29892 test: Fix failing univalue float test

P2P
  • #30085 p2p: detect addnode cjdns peers in GetAddedNodeInfo()

Build
  • #29747 depends: fix mingw-w64 Qt DEBUG=1 build
  • #29859 build: Fix false positive CHECK_ATOMIC test
  • #29985 depends: Fix build of Qt for 32-bit platforms with recent glibc
  • #30097 crypto: disable asan for sha256_sse4 with clang and -O0
  • #30151 depends: Fetch miniupnpc sources from an alternative website
  • #30216 build: Fix building fuzz binary on on SunOS / illumos
  • #30217 depends: Update Boost download link

Doc
  • #29934 doc: add LLVM instruction for macOS < 13

CI
  • #29856 ci: Bump s390x to ubuntu:24.04

Misc
  • #29691 Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us
  • #30149 contrib: Renew Windows code signing certificate

Credits

Thanks to everyone who directly contributed to this release:
  • Antoine Poinsot
  • Ava Chow
  • Cory Fields
  • dergoegge
  • fanquake
  • furszy
  • Hennadii Stepanov
  • Jon Atack
  • laanwj
  • Luke Dashjr
  • MarcoFalke
  • nanlour
  • Sjors Provoost
  • willcl-ark

As well as to everyone that helped with translations on
Transifex.



SHA256SUMS:

Code:
438bc93fb78b2063036920ca00e85398c31acbf4e7e92f47e8e37facfb62ce8c  bitcoin-27.1-aarch64-linux-gnu-debug.tar.gz
bb878df4f8ff8fb8acfb94207c50f959c462c39e652f507c2a2db20acc6a1eee  bitcoin-27.1-aarch64-linux-gnu.tar.gz
2355ba267820ef0e5114fc50658a04766d6bc51aa51a1a339e74afcefce150ca  bitcoin-27.1-arm-linux-gnueabihf-debug.tar.gz
83bf6da65ebac189c7e14f1e68a758b32b8f83558b36b53a8cc8037c674ab045  bitcoin-27.1-arm-linux-gnueabihf.tar.gz
06bf5d34aef01f21dac88708efa32d5e673c3ce1c8f17b1ca34b0e517ed8e43f  bitcoin-27.1-arm64-apple-darwin.zip
1372fad4fa8b2a5284cf54279cd3bf41399526e59e2e76d88f08423d9587a0f5  bitcoin-27.1-arm64-apple-darwin-unsigned.tar.gz
b91767a820ccc3f5149a921249c95a4f06d2a4832db5fa1c02178282c0335b22  bitcoin-27.1-arm64-apple-darwin-unsigned.zip
ad4a3fd484077224a82dd56d194efb6e614467f413ab1dfb8776da4d08a4c227  bitcoin-27.1-arm64-apple-darwin.tar.gz
bce6f981c198c616dcedd802bfda7693ec5a8a04aa57804edfad94305f7796b0  bitcoin-27.1-codesignatures-27.1.tar.gz
0c1051fd921b8fae912f5c2dfd86b085ab45baa05cd7be4585b10b4d1818f3da  bitcoin-27.1.tar.gz
3a058dbefa68439b0c4f54f4c71f135c6ff2bb46469e09550f1d599a64568d96  bitcoin-27.1-powerpc64-linux-gnu-debug.tar.gz
69dbc7ca9a676f1471c88cf078cd559447ce47ad325a965331edaee846685fdb  bitcoin-27.1-powerpc64-linux-gnu.tar.gz
418f298ab96599986a3c2abc4e5c73f6c3727b1de11d4e26f539c4fdc57e8973  bitcoin-27.1-powerpc64le-linux-gnu-debug.tar.gz
f22157123133da4a91439e7e115191a08087fe71d000aa7c445df588cfcd5113  bitcoin-27.1-powerpc64le-linux-gnu.tar.gz
19ed4f547e7ff67b81feb97a610b56c93c7176674aef661e5e72133f33a7a6ec  bitcoin-27.1-riscv64-linux-gnu-debug.tar.gz
192a16de497d52ec15aab95aea0c049b8c485a796dfdee41cec38b0be6926c24  bitcoin-27.1-riscv64-linux-gnu.tar.gz
25445080e2616d7c621f48f51e7a4294698d92016ef27ab88608cbe824f93364  bitcoin-27.1-x86_64-apple-darwin.zip
79eb9d48d9439f3479d1a678e872a23376b35299c28e19a94298ef552e2c1df8  bitcoin-27.1-x86_64-apple-darwin-unsigned.tar.gz
01d6a0159012df214125a2a5f25bd9fe0035074a13ed8d293a854ddd1d2d7176  bitcoin-27.1-x86_64-apple-darwin-unsigned.zip
6d94bde5541a18964c1c36b0f12334004e45e195f244e381fd459827b1fdc395  bitcoin-27.1-x86_64-apple-darwin.tar.gz
8abc5bd792b729097dcd664b6ef814e0bd3f9ae6bf3e8386dab2fb38504fd7fc  bitcoin-27.1-x86_64-linux-gnu-debug.tar.gz
c9840607d230d65f6938b81deaec0b98fe9cb14c3a41a5b13b2c05d044a48422  bitcoin-27.1-x86_64-linux-gnu.tar.gz
e8ab7a8161c5a0846c81275809c9f90302874cc71b4378dee540f0b380a6d049  bitcoin-27.1-win64-setup.exe
baa0153e8b08526ed1d1008234a00eea0537dba28bff2d6a7ced451e056ffd05  bitcoin-27.1-win64-debug.zip
a598fd0b7740f809fc005aceeccf43f50e04d68f494a1797a38f415975df12da  bitcoin-27.1-win64-setup-unsigned.exe
db285fcaea11b7e705b4acb3307840e27b68ae8c5a9a2c188c486403db20f6b1  bitcoin-27.1-win64-unsigned.tar.gz
9719871a2c9a45c741e33d670d2319dcd3f8f52a6059e9c435a9a2841188b932  bitcoin-27.1-win64.zip

SHA256SUMS.asc

Code:
-----BEGIN PGP SIGNATURE-----

iQJHBAABCAAxFiEEz7FuIclQ9n+pXlWPLuufXMCVJsEFAmZqu9cTHGZhbnF1YWtl
QGdtYWlsLmNvbQAKCRAu659cwJUmwfJwD/9aNGsUAJoOmr2AKQ5dXdMnlHFpp30E
fBsRa94UEHypdcNa5V7SIFgC14zESs7KUnRKOd7oTrteyzekKkeedPIwwj9/1Mk8
UZr0JCXt1/QZCsOycvgIS39GcA7wNaeBASvupRtyBo1qBJJ5WePcBRtLulpx/vFO
wscnK+tcHG94K9KuGbiWxAEuT6nWP06tWJqk+Qif56RqAKYXq6+Gj7YhM3nyOtQB
r2oI4hSFECbG1mOF2bv2IO5cj36c4aqhTbTFYoQI1GSrD5LYQyxoXzsK0JLu/bP4
ysIuNONQwXKCPL7rRkSgRvgCPSGXsybx3J/91Yl+l/fBw0lWQoKXwjL4qsyY35I6
l22rie8wOG7Cie8eYJNx/lmaLjm/3Z4NxlHQCqAhjbXFnQDXlabf/9tCxtT9798B
zPBBgqen0ulWvXj6Ok0Oy1BtDjSDUF/4GffqidbEnvN/9CB9DBCQhTVogo5if0ko
Nz4kCk/v9/a0p8COn8QISdap3I29u98rCQku6JeUD0MdWS3o1P0De1Epst7nsbOE
IzCvexf2MMCaJ0pJW8DPMBgtZvHoh9+FLp7Sq6TeA1pYHPSoOzr+ZOYtjPIU5vwy
SQKEMUx8mULt/qm7oT7sRpzlyPU5Yfya1jcWAqOqIMUaO8NDh6k7ati0l2/nZkjg
qZl5nzZPs7uY0w==
=fj9Z
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJEBAABCAAuFiEEFSgSMAeFyWRE0zNNF1ZXMuCOXkEFAmZrBzIQHG1lQGFjaG93
MTAxLmNvbQAKCRAXVlcy4I5eQVHoD/9HJ1D6j+S/iBt5SiWZwQDhSVA73UREJeXn
nb/p3HONcUW6lV/E06e1JXgJl3Ijm2ItCpkc5jygM9j+/7fRrNMe/wVh9MuPHt/E
gda/dV1OzubsM6V8qB6kWEk37EH3Mcxv1GFl2+TTNPgmONTyHnqcjf083BalxIhj
5bb0D6C54HL+pxfXBYplCVeXy37M83b5+vy58nl3gwgH5aFG4ZGGpWbrQjg3uWsb
vYIo+m9udHoODhyLkyIa8d7dvknsIr9RhJuGfEAlnr+Tob0mpNaAEXDJJhtP2isq
g0F2F0tyiZzknDncUM+p6rrQNvtwrE1DH6C3HSDxz8BeCNKPpo8zjCGi/Uxz9gEC
pvwfz5r0rkSS2XerEsmJONKw3316VgdhOMt6Z2ZlXpqdUWVHQZOQLZTpRzD9fThZ
fCZHin+b/OQxXNpn3rDDJ1AhuuS7iC0AOzJISh6eQBDqhiXdEVtN7tVfQXCCi3KE
T54OHPEsYbXgJzVqVIvANOUdJfwtJt/dvUB9xXFPtmBAIM+Q5+3ZOdJYlGa9+ded
LldZQDwQegnkB9Vx+JnGcwqb8G24LajjINIMrPMsNiDmvSF3W7I553Aj2+1hEWgM
zU6R3AuT+PEjZWZaRm6KSXlVy7x9PZFzdSutqVPc9QIU8qEaBqflDXuUZi1UqQEl
f3USo+XJtw==
=6CZy
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iI4EABMIADYWIQTDiPaWH7lyqVZ44yf2JxHb3KiuVgUCZmxEABgca3ZhY2lyYWxA
cHJvdG9ubWFpbC5jb20ACgkQ9icR29yorlZZ0QEA800r3DfHseNuE223eN5doq68
KyNGxLWMKf0ZReEBoJIBAJJbitJWdy1mi/EbEGmFCt8VbT08Ycp/zdQ7GMdSG5BD
=PRap
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQEzBAABCgAdFiEEnerg3HBjJJ+wVHRoHkrtYphs0l0FAmZsRCYACgkQHkrtYphs
0l0oCQf/feVfX3z8pjTUONfU3veekgvKYMzb12nw8MrNefqA2Hl9lBmupMh/DHAG
J+q3RGEWmvlnslQhylhauya75Y8go7S4MWr4Vv47AEceYKCnUdXgeeVIYddgHwLD
8Kp8NM6t7QHpB6J9zlP9Z37a2Rus5pu9bWdwh3T/BrMX/kWMVcHsc6FHN0r99TI9
j6G72gOsXOzZwQ+QIOZOg5ZPjFmmF1zpneUaVHB1kgXYwiRs5jIt+PJfhaDApPc/
32VCwqhS6lm7eP/BgsxWxOdHZkAg4j9xQIZmhStI2lIpfhUeOiumaWs6ZGNtMpHW
e3ZHMEOR37AaNT7uVvNxRRRKLzHNEg==
=sxAM
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJGBAABCAAwFiEE0dvyxLlvLev0wWZUQQEIES5+qB8FAmZwL4ASHGhlYmFzdG9A
Z21haWwuY29tAAoJEEEBCBEufqgfQPEP/0pOa9M5Jjvb3cEveKsz68e08yEK1Y5r
dFLvOVyJGgfwnA2Xtz2TbNI/Yn/Sr/4fD476sHXnjFPCX4OO4CYHjKTNYPNzU5zn
6DtGkDfeJW0sf5TybLwfEUWMKb+So9al1NV4xDxOgiWVU81faJ8l6mkOzaUbRJlr
2clIEnN3cjuxnfKTe+umM9/Rhq17y7rl7z6MiqhOZIUAP9Rc5YCoCepPhi1k+xPk
bMgRsL2rkn0uqu6lKPQH1zuBTtw14yqlq9NQwEf3BLNSYu8wnftBj3/hZTW1raha
50LMRcCNx7GpbRVVhqHlYDwTY6ITXTErn5dNngQD5OnjkaYFImUTf+f6ArOTRnck
C4hxTVcr7OcRFmIRzlGHT+o8D/F6XJoPM7ABsz9OW97u3j2wCat34ZT86sbckCHC
uTK964y0cOKkWMNu/RNnKOStFKkxWxOt3C3WakfOZnh4ejIOnaLlpaXXvdYjQHaJ
xVlQhVBuwTcAwgGGLgaKyvDfXDrqHRJ72ukiiBPqohsa1W8iWvTKGU6HJXJfj/NZ
oyYTmBmTBeauj7Vz8B+cveadobiBQAvrpLeV6isJJ8cLmw14lCOoYdi531Uuyl9e
cGMD/UurH3/ei8iIXVP/TzhxcZU0pnocABYgkUNzsxYbC1dq62KToN3/ZQX0chCF
SDZBQM/1nmQX
=lYlR
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJHBAABCAAxFiEE8s/Eq9C5nYN+67fQm3m0VpHbQXMFAmZqwHoTHHNlYi5rdW5n
QGdtYWlsLmNvbQAKCRCbebRWkdtBc831D/4vcEvAUpr6BHLl243O86qmI9ZN3ST1
LKW8CXUiM8vfIlJhcoXKtSMX+jpM3QRonXYCGYZG//5/JzzhMFqjHmBXhF9+BVGx
2LGhRngnUXuzMmCGwdtibATfs3Aiy9yQWW3bkHmOFpeX/0ax4RTYHL0QUw4PK5F3
nbiHfEGK9eb3LgsvT+83eLGCY2NHSubsQWgjbb1in/bbIUMndjCvQ85EcA7vhbFR
syv6WnUCoNeJl2Jm0JuhFQpDV49uaIY911yzzh1l+RfdApy0AGf3KUoQMxG+9IIN
tEoblFQsN3eV1t0j5/gdnK5AO+iyynWKL1sK/S+1BjdBjLIrUZnIB/aLANka+la+
rM2I3WKAFYrT7/UrFbVs1Oionf7TZ5lW11tOGh2l9yt8XWlxM9pPs1FvwLhoiy1P
TV99KIY2Ej3KBA9xwjNsXXCp5qS2g6MPlg4z6p0qnZocm5RaI2oDBeC/T7/b3Qzf
1nRD2SoRajbvm6GqwEGGcsSVmDeXfBHPrryNGRdD4sz/EV1IcoFQkikqRaZHiUEk
KZU4pDFPkh7H8B8QK8RCiJ1qD1maCxp3qA43k48z8lfMDdzNMsadIYjpZBfbDs5O
n6K5gptlKN6cCZvSw0WStJxb1kOvkiQCLr9R9Q5jKgTDJF5bjWEl4BPeGRXUNEyy
PN836GFdTUlfLw==
=Z5Tf
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEY32x4jNw+Er/iMzgMVI0fQfaYnwFAmZvTicACgkQMVI0fQfa
YnzC0w/9GyPX1o/AME7FsICD6c9Uty/yQFdANs67B0D2H3DXiBuN30KTSvBkIaFE
FXuKD4fjt2rS/bMJMUiwXPG+mxBpz94isWGGFd3WBtfZZyhJ9Q/+MRlB+oJg4bIB
R5AkYcQD85UcFlJ7SV0qCW3IzAJpPfQnSELxnlKeVVIbM329G5IYNhjQp0kDGfyT
9+1vpeK2CI22+P3fKhWOfpgItm0EQ+JKpRW+SwnxXDIbfAX+7nLkOu/BDJ8II/4/
377Ur1G3lRP111n9/E6WIuEv4Sd6SqxFRzBCkPIhyfTo/MZk1LRdxhc8AKOWvCYe
CyEluPpgMOQbN5Dx+LFcWr0V/9kA3K+L1SZsOIhsw+HeoT5LAUXpRNOCOgJwr7DT
WqxN6LePcxs9PwI3di0DZfECvO+oiyqEFZz5qNMzAhCpRjK5hgaSldQCE6Rew8Dh
cymxHFG2KOf76KFxydmW1i/zBGkuvIiDZ16Xz6qkQ1O7IlzuAEIWbYlLJFx0Gg80
d8MAEz/T3UZZGExUhg0Lk4Boe81ITu2K5No3OmvmUxfo1n5J0f81Y1OYx3VczaPs
DmkaTMBGTXAWvGdqlUxQBPVZ/ScrPIrc7t91Qrnj5fydiZIxOBzXxyt1+S48QuZ6
bNSpLcvTtOZMPRHVZDBclTwiaOnA5Hg9PUpHzsJFQAe1uhLZOrk=
=TKFm
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQJFBAABCAAvFiEE9Pxw8HMQAoQk78IKjkJWWT8XdyAFAmZsIpQRHGd1Z2dlckBn
bWFpbC5jb20ACgkQjkJWWT8XdyC3hg//S80sRCShfMXt5xLHdamOovvdDcA4V2F/
QfcGlapYe8wTb2UgoAhFirqZHCMI8Dqc09cdiOF42Tt2E6e0ZQq38KviYzTyKl/V
bjmNpaPHILFc8BNIwhOJEFZwuLGSCf5vjPJZtM3IggYM7+qJ4IG+3U61nUQyz0YF
tkaqj0yk5bimj7jpiHJIl+j7mlWAry2HAOkRgybWoPwddnREE8t5izRG1rtGI8tA
k0xZJqVe9/C18a4JBbM1f1zhV37MSJjSfwDXTAOh9b/wGBQ/aUFxuF5xWk6Hpj0l
Oe+hKqQSIPRro6ot7Asdxm2aH/wUdbR1Ngjy/g/1Md0Jow8gpTV2QkppX0tYqPag
GMqqkBXfcUdWRJVkLlZqmPkU/wtHqyDI5X8XVNv/gQzkqcOHMSWsT68NYIWUQNLl
eizrmLaIsUi6ilKg9GUXvNNos6L1zed64xsobtOvYwgMw054bidUtjNgByvMdW7C
nWdZNjE7jHOWuIehc4s+qFuBGxNgEfnj4f/fr1nsIv7tpEN+gM0FR2IXzCWIWEo2
JrII4FgAfuaaVG6U8LT2lgJnNS6A+5rlsP2fEgDCVy9aiJuV0zIUPu51U4TxKo2Z
U0M4smpU6MK/7CK+9D5EoTRbZXWJz/vOUr1FmNTJc5i7W+IvGlxSQadNHd2mQJZ5
yuVPesJ/dVA=
=qv29
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iIcEABYIAC8WIQToauc0OWJbvuMGqua2bUJ/hzyxowUCZmrrRxEcbWVAbWF4ZWR3
YXJkcy5tZQAKCRC2bUJ/hzyxowveAP9cz6S6BCvb6jBGJXJyxUlv0JC8BMFkqZDZ
diWvfGhr9QD/W/kBpkyPl1gCBZCekJHQqtsS5lhVrm0gCBHmvK9bow4=
=bC/x
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQGzBAABCAAdFiEEZwvEYNyL9e7xw7x0sUzJ+DMjj4UFAmZwUlgACgkQsUzJ+DMj
j4X4gQv/eA7uA/DopVr7qqkC99LxIUOLf8QFYr5kY+3BoVLNLQPmRJeAUAXB/Spe
fdX4rR1SF5zdgj7ganjJiVHJ5m7sfoLulEvjowrTLxZh+9C3bYjUddriSMO6izaI
+Fp09rQRPkGOQIae3XptqdYeV2gwHRDxgvsh5WnNELtbd1e9eVrC2Rd+l1WKxXil
ikBYQZkjpxw24tbAG0R1o1Lhpjpd3brP4WEz0t86y8NLEApmVd4W79fcR0xEW9Qg
5Eo1J4oqv2HtereLGzigtiTMBPCqRRaIRzL+YTi8hKJr0dpu4IA9YueYhnH9XSE9
5h4uSoY0S4wkgqlUQpbpLp7Do7WXcpNAuP8yRwp/dW/8KANjspbCGZReUY/ZO2YY
n3Z2TLqfPifN8ulVRVo4ruR+Y4OY8vy41BrEAPvXOJYC0jMddeCbk+YE4wea3vef
ZIiIX2nEYqC3e1vGUG6BXbT7FWaCAL7ptuCEk5aWQeV4rkJiW9uESiVgaJsC0Chy
z9/c1KaX
=46KK
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE8Z9f8rBYnsNBIgBFugP02+DGP7QFAmZqwUgACgkQugP02+DG
P7SlRRAAtJJ1B/QLu6v9ciMBTxdO6RsqVrE3YXeUHahpxi1KZ2PI6JY7E8C9s8lH
RRtHvzC8C/WpSGEuH/4PR9v0srLmW0Z1SoL9d04NptF7fkCmirg/8wQ4l6lZe1lI
BAeDOPlZi/WIe/ScYSjepO0e+XwuLa2+vfUYt5+v0mkuMmgSbr/ZcwXViIaKWS4M
47rATcIo99zfYE/L01smt2O2sTWeYXcayviyt6yhFQK3ZvyWABT3zPH+O6Etzzq6
h1iffHXjIDlsfLd1AxR3vpTeksy9jxYEmaH2VGpeU3qBC1FhavF7ufa+yJ/85Idy
nnNQlc6FCdBhuNg+47kiT9BK8idMtsEOOeuJfKhjuGkvtVuOuMF1oxem4HMJLp5d
i4tWFKIt9hEgt4KHL6+caeLsFACBO59X98s1G4fRo0W9YntYX4GmD9ksI8xPvqCS
2CZ863IPQ5hMGqsltPLO2JhhyNaLmuNFl3xBbbEZlpeqVO4/Bbxr+NqdNCA5rm7L
Y1/QMtxPKNF1h79bwIECy6JJThAKbMYVOTQmLEEb3OaVcipLTMeXdf8+62L2Qy74
qUgbCAi/Hw2DXJDPVFJdwJdPQybeD196o3wjeHWgiQjmmzGkBQw4hf8TcOK6/usl
b9oZpe7pYdau9BU9oZCgb6f4HyPL/BPWto5i51BmKW44KRnOC0w=
=x+Wx
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE7ZvfetalXiMuhFJCV/+b28wwEAkFAmZwbDEACgkQV/+b28ww
EAlgjQ/+PUrC/dyjHTQ+TO8K40a9CtR/MvLwBxqMlbW8Qxya72rKbLM+JySIUICJ
QiWO/V0mf3xihxDD7JNH4teS3zEd7eb4gS33RghWQzKMO9ISnLoMGeaZ2LlY2ia2
kU6JX1ipZq8XRjyiRpMHJ5bnx+Sms11U9ByaFM6DZ8ObmtdmsMVCmtxRInXw4TnC
SeRY00Gf1VCCaGV06e+iezACyq08JKMax8DPacSMYW0YMNID/7PL/FxurBhHHgN3
F8gqGVsi9cb7V8bfg4p4Re9/AuNwSQQHsNOd7G63C3LsdLlaIsqnD6/7qNrjsrFw
Dgm4C371+KL25iPspzkz9PcIU0HJM7p1VxPD6E2+iKmeC9pDED/ae/Fiv0DlTeAJ
UovUnWIBsLmz/qVSHL1pGCFB0/1bFGGnVK2dvvUHVAz2LUbCluLrmXRfdSn9iPFe
6bDcM5vHGXBiUCpLdzeWWPD1ysnL0UtXsuMO8NwX40iCBP98ukBX0tvbQQgmTQEh
amvTPWADg+pamYZ75Y65EqKS3W2S7+JvcY+DJe3AUUJ4NcY8T9TBJwRlU2wxPTrH
T0ZYjnruARFFRmrEc/cWuSZHHdWE6li4uEef+KgB4VCxb790YZGJROhL1LeuEAWY
KiTM32Rrlhy7aUW4JKUQS8nPguwK3rkAgZhChjiFl+luJrbmNus=
=dzNN
-----END PGP SIGNATURE-----
13  Bitcoin / Bitcoin Discussion / Bitcoin Core 27.0 Released on: April 20, 2024, 02:12:50 PM
27.0 Release Notes

Bitcoin Core version 27.0 is now available from:

https://bitcoincore.org/bin/bitcoin-core-27.0/

This release includes new features, various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux Kernel 3.17+, macOS 11.0+, and Windows 7 and newer. Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them. It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

libbitcoinconsensus
  • libbitcoinconsensus is deprecated and will be removed for v28. This library has
    existed for nearly 10 years with very little known uptake or impact. It has
    become a maintenance burden.

    The underlying functionality does not change between versions, so any users of
    the library can continue to use the final release indefinitely, with the
    understanding that Taproot is its final consensus update.

    In the future, libbitcoinkernel will provide a much more useful API that is
    aware of the UTXO set, and therefore be able to fully validate transactions and
    blocks. (#29189)

mempool.dat compatibility
  • The mempool.dat file created by -persistmempool or the savemempool RPC will
    be written in a new format. This new format includes the XOR'ing of transaction
    contents to mitigate issues where external programs (such as anti-virus) attempt
    to interpret and potentially modify the file.

    This new format can not be read by previous software releases. To allow for a
    downgrade, a temporary setting -persistmempoolv1 has been added to fall back
    to the legacy format. (#28207)

P2P and network changes
  • BIP324 v2 transport is now enabled by default. It remains possible to disable v2
    by running with -v2transport=0. (#29347)
  • Manual connection options (-connect, -addnode and -seednode) will
    now follow -v2transport to connect with v2 by default. They will retry with
    v1 on failure. (#29058)
  • Network-adjusted time has been removed from consensus code. It is replaced
    with (unadjusted) system time. The warning for a large median time offset
    (70 minutes or more) is kept. This removes the implicit security assumption of
    requiring an honest majority of outbound peers, and increases the importance
    of the node operator ensuring their system time is (and stays) correct to not
    fall out of consensus with the network. (#28956)

Mempool Policy Changes
  • Opt-in Topologically Restricted Until Confirmation (TRUC) Transactions policy
    (aka v3 transaction policy) is available for use on test networks when
    -acceptnonstdtxn=1 is set. By setting the transaction version number to 3, TRUC transactions
    request the application of limits on spending of their unconfirmed outputs. These
    restrictions simplify the assessment of incentive compatibility of accepting or
    replacing TRUC transactions, thus ensuring any replacements are more profitable for
    the node and making fee-bumping more reliable. TRUC transactions are currently
    nonstandard and can only be used on test networks where the standardness rules are
    relaxed or disabled (e.g. with -acceptnonstdtxn=1). (#28948)

External Signing
  • Support for external signing on Windows has been disabled. It will be re-enabled
    once the underlying dependency (Boost Process), has been replaced with a different
    library. (#28967)

Updated RPCs
  • The addnode RPC now follows the -v2transport option (now on by default, see above) for making connections.
    It remains possible to specify the transport type manually with the v2transport argument of addnode. (#29239)

Build System
  • A C++20 capable compiler is now required to build Bitcoin Core. (#28349)
  • MacOS releases are configured to use the hardened runtime libraries (#29127)

Wallet
  • The CoinGrinder coin selection algorithm has been introduced to mitigate unnecessary
    large input sets and lower transaction costs at high feerates. CoinGrinder
    searches for the input set with minimal weight. Solutions found by
    CoinGrinder will produce a change output. CoinGrinder is only active at
    elevated feerates (default: 30+ sat/vB, based on -consolidatefeerate×3). (#27877)
  • The Branch And Bound coin selection algorithm will be disabled when the subtract fee
    from outputs feature is used. (#28994)
  • If the birth time of a descriptor is detected to be later than the first transaction
    involving that descriptor, the birth time will be reset to the earlier time. (#28920)

Low-level changes

Pruning
  • When pruning during initial block download, more blocks will be pruned at each
    flush in order to speed up the syncing of such nodes. (#20827)

Init
  • Various fixes to prevent issues where subsequent instances of Bitcoin Core would
    result in deletion of files in use by an existing instance. (#28784, #28946)
  • Improved handling of empty settings.json files. (#29144)

Credits

Thanks to everyone who directly contributed to this release:
  • 22388o⚡️
  • Aaron Clauson
  • Amiti Uttarwar
  • Andrew Toth
  • Anthony Towns
  • Antoine Poinsot
  • Ava Chow
  • Brandon Odiwuor
  • brunoerg
  • Chris Stewart
  • Cory Fields
  • dergoegge
  • djschnei21
  • Fabian Jahr
  • fanquake
  • furszy
  • Gloria Zhao
  • Greg Sanders
  • Hennadii Stepanov
  • Hernan Marino
  • iamcarlos94
  • ismaelsadeeq
  • Jameson Lopp
  • Jesse Barton
  • John Moffett
  • Jon Atack
  • josibake
  • jrakibi
  • Justin Dhillon
  • Kashif Smith
  • kevkevin
  • Kristaps Kaupe
  • L0la L33tz
  • Luke Dashjr
  • Lőrinc
  • marco
  • MarcoFalke
  • Mark Friedenbach
  • Marnix
  • Martin Leitner-Ankerl
  • Martin Zumsande
  • Max Edwards
  • Murch
  • muxator
  • naiyoma
  • Nikodemas Tuckus
  • ns-xvrn
  • pablomartin4btc
  • Peter Todd
  • Pieter Wuille
  • Richard Myers
  • Roman Zeyde
  • Russell Yanofsky
  • Ryan Ofsky
  • Sebastian Falbesoner
  • Sergi Delgado Segura
  • Sjors Provoost
  • stickies-v
  • stratospher
  • Supachai Kheawjuy
  • TheCharlatan
  • UdjinM6
  • Vasil Dimov
  • w0xlt
  • willcl-ark

As well as to everyone that helped with translations on
Transifex.
14  Bitcoin / Bitcoin Discussion / Bitcoin Core 26.1 Released on: April 20, 2024, 02:12:04 PM
26.1 Release Notes

Bitcoin Core version 26.1 is now available from:

https://bitcoincore.org/bin/bitcoin-core-26.1/

This release includes various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 11.0+, and Windows 7 and newer.  Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them.  It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

Wallet
  • #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
  • #29510 wallet: getrawchangeaddress and getnewaddress failures should not affect keypools for descriptor wallets

RPC
  • #29003 rpc: fix getrawtransaction segfault
  • #28784 rpc: keep .cookie file if it was not generated

Logs
  • #29227 log mempool loading progress

P2P and network changes
  • #29200 net: create I2P sessions using both ECIES-X25519 and ElGamal encryption
  • #29412 p2p: Don't process mutated blocks
  • #29524 p2p: Don't consider blocks mutated if they don't connect to known prev block

Build
  • #29127 Use hardened runtime on macOS release builds.
  • #29195 build: Fix -Xclang -internal-isystem option

CI
  • #28992 ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz
  • #29080 ci: Set HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK to avoid unrelated failures
  • #29610 ci: Fix "macOS native" job

Miscellaneous
  • #28391 refactor: Simplify CTxMempool/BlockAssembler fields, remove some external mapTx access
  • #29179 test: wallet rescan with reorged parent + IsFromMe child in mempool
  • #28791 snapshots: don't core dump when running -checkblockindex after loadtxoutset
  • #29357 test: Drop x modifier in fsbridge::fopen call for MinGW builds
  • #29529 fuzz: restrict fopencookie usage to Linux &amp; FreeBSD

Credits

Thanks to everyone who directly contributed to this release:
  • dergoegge
  • fanquake
  • furszy
  • glozow
  • Greg Sanders
  • Hennadii Stepanov
  • Jon Atack
  • MarcoFalke
  • Mark Friedenbach
  • Martin Zumsande
  • Murch
  • Roman Zeyde
  • stickies-v
  • UdjinM6

As well as to everyone that helped with translations on
Transifex.
15  Bitcoin / Bitcoin Discussion / Bitcoin Core 25.2 Released on: April 20, 2024, 02:11:27 PM

25.2 Release Notes

Bitcoin Core version 25.2 is now available from:

https://bitcoincore.org/bin/bitcoin-core-25.2

This release includes various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.15+, and Windows 7 and newer.  Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them.  It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

Gui
  • gui#774 Fix crash on selecting "Mask values" in transaction view

RPC
  • #29003 rpc: fix getrawtransaction segfault

Wallet
  • #29176 wallet: Fix use-after-free in WalletBatch::EraseRecords
  • #29510 wallet: getrawchangeaddress and getnewaddress failures should not affect keypools for descriptor wallets

P2P and network changes
  • #29412 p2p: Don't process mutated blocks
  • #29524 p2p: Don't consider blocks mutated if they don't connect to known prev block

Credits

Thanks to everyone who directly contributed to this release:
  • Martin Zumsande
  • Sebastian Falbesoner
  • MarcoFalke
  • UdjinM6
  • dergoegge
  • Greg Sanders

As well as to everyone that helped with translations on
Transifex.
16  Bitcoin / Bitcoin Technical Support / MOVED: Can There Be Foul Play When Soimeone Deposits Money Into Your BTC Wallet? on: December 11, 2023, 04:30:26 PM
This topic has been moved to Trashcan.

Duplicate of https://bitcointalk.org/index.php?topic=5477119.0
17  Bitcoin / Bitcoin Discussion / Bitcoin Core 26.0 Released on: December 06, 2023, 03:20:19 PM
26.0 Release Notes

Bitcoin Core version 26.0 is now available from:

https://bitcoincore.org/bin/bitcoin-core-26.0/

This release includes new features, various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 11.0+, and Windows 7 and newer.  Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them.  It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

P2P and network changes
  • Experimental support for the v2 transport protocol defined in
    BIP324 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.
  • 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)

Pruning
  • 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)

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 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-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:
Code:
src/bitcoin-cli -named bumpfee txid fee_rate=100

instead of
Code:
]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 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)

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.
18  Bitcoin / Bitcoin Discussion / Bitcoin Core 25.1 Released on: October 19, 2023, 03:13:50 PM
25.1 Release Notes

Bitcoin Core version 25.1 is now available from:

https://bitcoincore.org/bin/bitcoin-core-25.1/

This release includes various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.15+, and Windows 7 and newer.  Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them.  It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

P2P
  • #27626 Parallel compact block downloads, take 3
  • #27743 p2p: Unconditionally return when compact block status == READ_STATUS_FAILED

Fees
  • #27622 Fee estimation: avoid serving stale fee estimate

RPC
  • #27727 rpc: Fix invalid bech32 address handling

Rest
  • #27853 rest: fix crash error when calling /deploymentinfo
  • #28551 http: bugfix: allow server shutdown in case of remote client disconnection

Wallet
  • #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

Build
  • #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

Gui
  • gui#751 macOS, do not process actions during shutdown

Miscellaneous
  • #28452 Do not use std::vector = {} to release memory

CI
  • #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:
  • Abubakar Sadiq Ismail
  • Andrew Chow
  • Bruno Garcia
  • Gregory Sanders
  • Hennadii Stepanov
  • MacroFake
  • Matias Furszyfer
  • Michael Ford
  • Pieter Wuille
  • stickies-v
  • Will Clark

As well as to everyone that helped with translations on
Transifex.
19  Bitcoin / Bitcoin Discussion / Bitcoin Core 25.0 Released on: May 26, 2023, 03:12:19 PM
25.0 Release Notes

Bitcoin Core version 25.0 is now available from:

https://bitcoincore.org/bin/bitcoin-core-25.0/

This release includes new features, various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.15+, and Windows 7 and newer.  Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them.  It is not recommended to use Bitcoin Core on
unsupported systems.

Notable changes

P2P and network changes
  • Transactions of non-witness size 65 bytes 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)

New RPCs
  • 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)

Updated RPCs
  • All JSON-RPC methods accept a new named
    parameter
    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:
    bitcoin-cli -named createwallet wallet_name=mywallet load_on_startup=1
    Can now be shortened to:
    bitcoin-cli -named createwallet mywallet load_on_startup=1
  • 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)
  • 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.
  • 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).
  • decodescript may now infer a Miniscript descriptor under P2WSH context if it is not lacking
    information. (#27037)
  • finalizepsbt is now able to finalize a transaction with inputs spending Miniscript-compatible
    P2WSH scripts. (#24149)

Changes to wallet related RPCs can be found in the Wallet section below.

Build System
  • 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)

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

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)

Credits

Thanks to everyone who directly contributed to this release:
  • 0xb10c
  • 721217.xyz
  • @RandyMcMillan
  • amadeuszpawlik
  • Amiti Uttarwar
  • 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
  • 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
  • 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

As well as to everyone that helped with translations on
Transifex.
20  Bitcoin / Bitcoin Discussion / Bitcoin Core 24.1 Released on: May 25, 2023, 02:56:00 PM
24.1 Release Notes

Bitcoin Core version 24.1 is now available from:

https://bitcoincore.org/bin/bitcoin-core-24.1/

This release includes various bug fixes and performance
improvements, as well as updated translations.

Please report bugs using the issue tracker at GitHub:

https://github.com/bitcoin/bitcoin/issues

To receive security and update notifications, please subscribe to:

https://bitcoincore.org/en/list/announcements/join/

How to Upgrade

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes in some cases), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on macOS)
or bitcoind/bitcoin-qt (on Linux).

Upgrading directly from a version of Bitcoin Core that has reached its EOL is
possible, but it might take some time if the data directory needs to be migrated. Old
wallet versions of Bitcoin Core are generally supported.

Compatibility

Bitcoin Core is supported and extensively tested on operating systems
using the Linux kernel, macOS 10.15+, and Windows 7 and newer.  Bitcoin
Core should also work on most other Unix-like systems but is not as
frequently tested on them.  It is not recommended to use Bitcoin Core on
unsupported systems.

P2P
  • #26878 I2P network optimizations
  • #26909 net: prevent peers.dat corruptions by only serializing once
  • #27608 p2p: Avoid prematurely clearing download state for other peers
  • #27610 Improve performance of p2p inv to send queues

RPC and other APIs
  • #26515 rpc: Require NodeStateStats object in getpeerinfo
  • #27279 doc: fix/improve warning helps in {create,load,unload,restore}wallet
  • #27468 rest: avoid segfault for invalid URI

Build System
  • #26944 depends: fix systemtap download URL
  • #27462 depends: fix compiling bdb with clang-16 on aarch64

Wallet
  • #26595 wallet: be able to specify a wallet name and passphrase to migratewallet
  • #26675 wallet: For feebump, ignore abandoned descendant spends
  • #26679 wallet: Skip rescanning if wallet is more recent than tip
  • #26761 wallet: fully migrate address book entries for watchonly/solvable wallets
  • #27053 wallet: reuse change dest when re-creating TX with avoidpartialspends
  • #27080 wallet: Zero out wallet master key upon locking so it doesn't persist in memory
  • #27473 wallet: Properly handle "unknown" Address Type

GUI changes
  • gui#687 Load PSBTs using istreambuf_iterator rather than istream_iterator
  • gui#704 Correctly limit overview transaction list

Miscellaneous
  • #26880 ci: replace Intel macOS CI job
  • #26924 refactor: Add missing includes to fix gcc-13 compile error

Credits

Thanks to everyone who directly contributed to this release:
  • Andrew Chow
  • Anthony Towns
  • Hennadii Stepanov
  • John Moffett
  • Jon Atack
  • Marco Falke
  • Martin Zumsande
  • Matthew Zipkin
  • Michael Ford
  • pablomartin4btc
  • Sebastian Falbesoner
  • Suhas Daftuar
  • Thomas Nguyen
  • Vasil Dimov

As well as to everyone that helped with translations on
Transifex.
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!