delvingbitcoin

Bitcoin Core 27.0 released

Bitcoin Core 27.0 released

Original Postby fanquake

Posted on: April 17, 2024 16:33 UTC

The latest release of Bitcoin Core, version 27.0, is now accessible for download at https://bitcoincore.org/bin/bitcoin-core-27.0/ and through BitTorrent.

This update introduces new features, addresses various bug fixes and performance enhancements, and updates translations. Users are encouraged to report any bugs via the GitHub issue tracker.

For those upgrading from an older version, it's advised to shut down the existing version completely before proceeding with the installation process on Windows or replacing the relevant files on macOS and Linux. Even upgrades from versions that have reached their end of life (EOL) are supported, although they may require additional time if a data directory migration is necessary. Compatibility across operating systems has been thoroughly tested, especially on those running Linux Kernel 3.17+, macOS 11.0+, and Windows 7 or newer. However, using Bitcoin Core on unsupported systems is not recommended due to less frequent testing.

Significant changes in this release include the deprecation of libbitcoinconsensus, which will be removed in version 28. This library, despite nearly a decade of availability, has seen minimal adoption and has become a maintenance challenge. Instead, future releases will focus on libbitcoinkernel for transaction and block validation functionalities. The format for mempool.dat files has also been updated to enhance security against external modifications, with a fallback option available for those needing to downgrade.

In terms of network and P2P changes, BIP324 v2 transport protocol is enabled by default, promoting more secure connections. The reliance on network-adjusted time for consensus has been eliminated in favor of unadjusted system time, underscoring the importance of accurate system clocks for node operators. Mempool policy adjustments introduce the concept of Topologically Restricted Until Confirmation (TRUC) Transactions, aimed at improving the reliability of fee-bumping for transactions by applying certain restrictions on unconfirmed outputs, though this feature is currently limited to test networks.

External signing support on Windows has been temporarily disabled pending alternative library support. Updates to the RPCs reflect the adoption of the -v2transport option by default, influencing how connections are established. Building Bitcoin Core now requires a C++20 capable compiler, and macOS releases leverage hardened runtime libraries for enhanced security.

The introduction of the CoinGrinder coin selection algorithm aims to optimize transaction costs by minimizing input sets, particularly at higher feerates, while ensuring change output generation. Adjustments to the Branch And Bound algorithm's behavior when subtracting fees from outputs and improvements to descriptor birth time accuracy further refine wallet functionalities.

Low-level changes include optimizations to pruning processes during initial block download and fixes addressing potential file deletion issues in multi-instance environments. Contributions to this release span a wide array of developers and community members, highlighting the collaborative effort behind Bitcoin Core's continuous development.