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