|
| 1 | +--- |
| 2 | +title: Bitcoin Core 27.0 |
| 3 | +id: en-release-27.0 |
| 4 | +name: release-27.0 |
| 5 | +permalink: /en/releases/27.0/ |
| 6 | +excerpt: Bitcoin Core version 27.0 is now available |
| 7 | +date: 2024-04-02 |
| 8 | + |
| 9 | +## Use a YAML array for the version number to allow other parts of the |
| 10 | +## site to correctly sort in "natural sort of version numbers". |
| 11 | +## Use the same number of elements as decimal places, e.g. "0.1.2 => [0, |
| 12 | +## 1, 2]" versus "1.2 => [1, 2]" |
| 13 | +release: [27, 0] |
| 14 | + |
| 15 | +## Optional magnet link. To get it, open the torrent in a good BitTorrent client |
| 16 | +## and View Details, or install the transmission-cli Debian/Ubuntu package |
| 17 | +## and run: transmission-show -m <torrent file> |
| 18 | +# |
| 19 | +## Link should be enclosed in quotes and start with: "magnet:? |
| 20 | +optional_magnetlink: "magnet:?xt=urn:btih:2b2d123e5e831b245fb1dc5b8b71f89de4a90d00&dn=bitcoin-core-27.0&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969&ws=http://bitcoincore.org/bin/" |
| 21 | + |
| 22 | +# Note: it is recommended to check all links to ensure they use |
| 23 | +# absolute urls (https://github.com/bitcoin/bitcoin/doc/foo) |
| 24 | +# rather than relative urls (/bitcoin/bitcoin/doc/foo). |
| 25 | +--- |
| 26 | +{% include download.html %} |
| 27 | +{% githubify https://github.com/bitcoin/bitcoin %} |
| 28 | +27.0 Release Notes |
| 29 | +================== |
| 30 | + |
| 31 | +Bitcoin Core version 27.0 is now available from: |
| 32 | + |
| 33 | + <https://bitcoincore.org/bin/bitcoin-core-27.0/> |
| 34 | + |
| 35 | +This release includes new features, various bug fixes and performance |
| 36 | +improvements, as well as updated translations. |
| 37 | + |
| 38 | +Please report bugs using the issue tracker at GitHub: |
| 39 | + |
| 40 | + <https://github.com/bitcoin/bitcoin/issues> |
| 41 | + |
| 42 | +To receive security and update notifications, please subscribe to: |
| 43 | + |
| 44 | + <https://bitcoincore.org/en/list/announcements/join/> |
| 45 | + |
| 46 | +How to Upgrade |
| 47 | +============== |
| 48 | + |
| 49 | +If you are running an older version, shut it down. Wait until it has completely |
| 50 | +shut down (which might take a few minutes in some cases), then run the |
| 51 | +installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS) |
| 52 | +or `bitcoind`/`bitcoin-qt` (on Linux). |
| 53 | + |
| 54 | +Upgrading directly from a version of Bitcoin Core that has reached its EOL is |
| 55 | +possible, but it might take some time if the data directory needs to be migrated. Old |
| 56 | +wallet versions of Bitcoin Core are generally supported. |
| 57 | + |
| 58 | +Compatibility |
| 59 | +============== |
| 60 | + |
| 61 | +Bitcoin Core is supported and extensively tested on operating systems |
| 62 | +using the Linux Kernel 3.17+, macOS 11.0+, and Windows 7 and newer. Bitcoin |
| 63 | +Core should also work on most other Unix-like systems but is not as |
| 64 | +frequently tested on them. It is not recommended to use Bitcoin Core on |
| 65 | +unsupported systems. |
| 66 | + |
| 67 | +Notable changes |
| 68 | +=============== |
| 69 | + |
| 70 | +libbitcoinconsensus |
| 71 | +------------------- |
| 72 | + |
| 73 | +- libbitcoinconsensus is deprecated and will be removed for v28. This library has |
| 74 | + existed for nearly 10 years with very little known uptake or impact. It has |
| 75 | + become a maintenance burden. |
| 76 | + |
| 77 | + The underlying functionality does not change between versions, so any users of |
| 78 | + the library can continue to use the final release indefinitely, with the |
| 79 | + understanding that Taproot is its final consensus update. |
| 80 | + |
| 81 | + In the future, libbitcoinkernel will provide a much more useful API that is |
| 82 | + aware of the UTXO set, and therefore be able to fully validate transactions and |
| 83 | + blocks. (#29189) |
| 84 | + |
| 85 | +mempool.dat compatibility |
| 86 | +------------------------- |
| 87 | + |
| 88 | +- The `mempool.dat` file created by -persistmempool or the savemempool RPC will |
| 89 | + be written in a new format. This new format includes the XOR'ing of transaction |
| 90 | + contents to mitigate issues where external programs (such as anti-virus) attempt |
| 91 | + to interpret and potentially modify the file. |
| 92 | + |
| 93 | + This new format can not be read by previous software releases. To allow for a |
| 94 | + downgrade, a temporary setting `-persistmempoolv1` has been added to fall back |
| 95 | + to the legacy format. (#28207) |
| 96 | + |
| 97 | +P2P and network changes |
| 98 | +----------------------- |
| 99 | + |
| 100 | +- BIP324 v2 transport is now enabled by default. It remains possible to disable v2 |
| 101 | + by running with `-v2transport=0`. (#29347) |
| 102 | +- Manual connection options (`-connect`, `-addnode` and `-seednode`) will |
| 103 | + now follow `-v2transport` to connect with v2 by default. They will retry with |
| 104 | + v1 on failure. (#29058) |
| 105 | + |
| 106 | +- Network-adjusted time has been removed from consensus code. It is replaced |
| 107 | + with (unadjusted) system time. The warning for a large median time offset |
| 108 | + (70 minutes or more) is kept. This removes the implicit security assumption of |
| 109 | + requiring an honest majority of outbound peers, and increases the importance |
| 110 | + of the node operator ensuring their system time is (and stays) correct to not |
| 111 | + fall out of consensus with the network. (#28956) |
| 112 | + |
| 113 | +Mempool Policy Changes |
| 114 | +---------------------- |
| 115 | + |
| 116 | +- Opt-in Topologically Restricted Until Confirmation (TRUC) Transactions policy |
| 117 | + (aka v3 transaction policy) is available for use on test networks when |
| 118 | + `-acceptnonstdtxn=1` is set. By setting the transaction version number to 3, TRUC transactions |
| 119 | + request the application of limits on spending of their unconfirmed outputs. These |
| 120 | + restrictions simplify the assessment of incentive compatibility of accepting or |
| 121 | + replacing TRUC transactions, thus ensuring any replacements are more profitable for |
| 122 | + the node and making fee-bumping more reliable. TRUC transactions are currently |
| 123 | + nonstandard and can only be used on test networks where the standardness rules are |
| 124 | + relaxed or disabled (e.g. with `-acceptnonstdtxn=1`). (#28948) |
| 125 | + |
| 126 | +External Signing |
| 127 | +---------------- |
| 128 | + |
| 129 | +- Support for external signing on Windows has been disabled. It will be re-enabled |
| 130 | + once the underlying dependency (Boost Process), has been replaced with a different |
| 131 | + library. (#28967) |
| 132 | + |
| 133 | +Updated RPCs |
| 134 | +------------ |
| 135 | + |
| 136 | +- The addnode RPC now follows the `-v2transport` option (now on by default, see above) for making connections. |
| 137 | + It remains possible to specify the transport type manually with the v2transport argument of addnode. (#29239) |
| 138 | + |
| 139 | +Build System |
| 140 | +------------ |
| 141 | + |
| 142 | +- A C++20 capable compiler is now required to build Bitcoin Core. (#28349) |
| 143 | +- MacOS releases are configured to use the hardened runtime libraries (#29127) |
| 144 | + |
| 145 | +Wallet |
| 146 | +------ |
| 147 | + |
| 148 | +- The CoinGrinder coin selection algorithm has been introduced to mitigate unnecessary |
| 149 | + large input sets and lower transaction costs at high feerates. CoinGrinder |
| 150 | + searches for the input set with minimal weight. Solutions found by |
| 151 | + CoinGrinder will produce a change output. CoinGrinder is only active at |
| 152 | + elevated feerates (default: 30+ sat/vB, based on `-consolidatefeerate`×3). (#27877) |
| 153 | +- The Branch And Bound coin selection algorithm will be disabled when the subtract fee |
| 154 | + from outputs feature is used. (#28994) |
| 155 | +- If the birth time of a descriptor is detected to be later than the first transaction |
| 156 | + involving that descriptor, the birth time will be reset to the earlier time. (#28920) |
| 157 | + |
| 158 | +Low-level changes |
| 159 | +================= |
| 160 | + |
| 161 | +Pruning |
| 162 | +------- |
| 163 | + |
| 164 | +- When pruning during initial block download, more blocks will be pruned at each |
| 165 | + flush in order to speed up the syncing of such nodes. (#20827) |
| 166 | + |
| 167 | +Init |
| 168 | +---- |
| 169 | + |
| 170 | +- Various fixes to prevent issues where subsequent instances of Bitcoin Core would |
| 171 | + result in deletion of files in use by an existing instance. (#28784, #28946) |
| 172 | +- Improved handling of empty `settings.json` files. (#29144) |
| 173 | + |
| 174 | +Credits |
| 175 | +======= |
| 176 | + |
| 177 | +Thanks to everyone who directly contributed to this release: |
| 178 | + |
| 179 | +- 22388o⚡️ |
| 180 | +- Aaron Clauson |
| 181 | +- Amiti Uttarwar |
| 182 | +- Andrew Toth |
| 183 | +- Anthony Towns |
| 184 | +- Antoine Poinsot |
| 185 | +- Ava Chow |
| 186 | +- Brandon Odiwuor |
| 187 | +- brunoerg |
| 188 | +- Chris Stewart |
| 189 | +- Cory Fields |
| 190 | +- dergoegge |
| 191 | +- djschnei21 |
| 192 | +- Fabian Jahr |
| 193 | +- fanquake |
| 194 | +- furszy |
| 195 | +- Gloria Zhao |
| 196 | +- Greg Sanders |
| 197 | +- Hennadii Stepanov |
| 198 | +- Hernan Marino |
| 199 | +- iamcarlos94 |
| 200 | +- ismaelsadeeq |
| 201 | +- Jameson Lopp |
| 202 | +- Jesse Barton |
| 203 | +- John Moffett |
| 204 | +- Jon Atack |
| 205 | +- josibake |
| 206 | +- jrakibi |
| 207 | +- Justin Dhillon |
| 208 | +- Kashif Smith |
| 209 | +- kevkevin |
| 210 | +- Kristaps Kaupe |
| 211 | +- L0la L33tz |
| 212 | +- Luke Dashjr |
| 213 | +- Lőrinc |
| 214 | +- marco |
| 215 | +- MarcoFalke |
| 216 | +- Mark Friedenbach |
| 217 | +- Marnix |
| 218 | +- Martin Leitner-Ankerl |
| 219 | +- Martin Zumsande |
| 220 | +- Max Edwards |
| 221 | +- Murch |
| 222 | +- muxator |
| 223 | +- naiyoma |
| 224 | +- Nikodemas Tuckus |
| 225 | +- ns-xvrn |
| 226 | +- pablomartin4btc |
| 227 | +- Peter Todd |
| 228 | +- Pieter Wuille |
| 229 | +- Richard Myers |
| 230 | +- Roman Zeyde |
| 231 | +- Russell Yanofsky |
| 232 | +- Ryan Ofsky |
| 233 | +- Sebastian Falbesoner |
| 234 | +- Sergi Delgado Segura |
| 235 | +- Sjors Provoost |
| 236 | +- stickies-v |
| 237 | +- stratospher |
| 238 | +- Supachai Kheawjuy |
| 239 | +- TheCharlatan |
| 240 | +- UdjinM6 |
| 241 | +- Vasil Dimov |
| 242 | +- w0xlt |
| 243 | +- willcl-ark |
| 244 | + |
| 245 | + |
| 246 | +As well as to everyone that helped with translations on |
| 247 | +[Transifex](https://www.transifex.com/bitcoin/bitcoin/). |
| 248 | +{% endgithubify %} |
0 commit comments