|
| 1 | +--- |
| 2 | +title: Bitcoin Core 29.1 |
| 3 | +id: en-release-29.1 |
| 4 | +name: release-29.1 |
| 5 | +permalink: /en/releases/29.1/ |
| 6 | +excerpt: Bitcoin Core version 29.1 is now available |
| 7 | +date: 2025-09-04 |
| 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: [29, 1] |
| 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:1ca988bcac73e4b47c9929ff5cf20a9f0d4a77e0&dn=bitcoin-core-29.1&xl=3644537532&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%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 | +29.1 Release Notes |
| 29 | +===================== |
| 30 | +Bitcoin Core version 29.1 is now available from: |
| 31 | + |
| 32 | + <https://bitcoincore.org/bin/bitcoin-core-29.1/> |
| 33 | + |
| 34 | +This release includes various bug fixes and performance |
| 35 | +improvements, as well as updated translations. |
| 36 | + |
| 37 | +Please report bugs using the issue tracker at GitHub: |
| 38 | + |
| 39 | + <https://github.com/bitcoin/bitcoin/issues> |
| 40 | + |
| 41 | +To receive security and update notifications, please subscribe to: |
| 42 | + |
| 43 | + <https://bitcoincore.org/en/list/announcements/join/> |
| 44 | + |
| 45 | +How to Upgrade |
| 46 | +============== |
| 47 | + |
| 48 | +If you are running an older version, shut it down. Wait until it has completely |
| 49 | +shut down (which might take a few minutes in some cases), then run the |
| 50 | +installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS) |
| 51 | +or `bitcoind`/`bitcoin-qt` (on Linux). |
| 52 | + |
| 53 | +Upgrading directly from a version of Bitcoin Core that has reached its EOL is |
| 54 | +possible, but it might take some time if the data directory needs to be migrated. Old |
| 55 | +wallet versions of Bitcoin Core are generally supported. |
| 56 | + |
| 57 | +Compatibility |
| 58 | +============== |
| 59 | + |
| 60 | +Bitcoin Core is supported and tested on operating systems using the |
| 61 | +Linux Kernel 3.17+, macOS 13+, and Windows 10+. Bitcoin |
| 62 | +Core should also work on most other Unix-like systems but is not as |
| 63 | +frequently tested on them. It is not recommended to use Bitcoin Core on |
| 64 | +unsupported systems. |
| 65 | + |
| 66 | +Notable changes |
| 67 | +=============== |
| 68 | + |
| 69 | +### Mempool Policy |
| 70 | + |
| 71 | +- The maximum number of potentially executed legacy signature operations in a |
| 72 | + single standard transaction is now limited to 2500. Signature operations in all |
| 73 | + previous output scripts, in all input scripts, as well as all P2SH redeem |
| 74 | + scripts (if there are any) are counted toward the limit. The new limit is |
| 75 | + assumed to not affect any known typically formed standard transactions. The |
| 76 | + change was done to prepare for a possible BIP54 deployment in the future. |
| 77 | + |
| 78 | +- #32521 policy: make pathological transactions packed with legacy sigops non-standard |
| 79 | + |
| 80 | +- The minimum block feerate (`-blockmintxfee`) has been changed to 1 satoshi per kvB. It can still be changed using the |
| 81 | +configuration option. |
| 82 | + |
| 83 | +- The default minimum relay feerate (`-minrelaytxfee`) and incremental relay feerate (`-incrementalrelayfee`) have been |
| 84 | +changed to 100 satoshis per kvB. They can still be changed using their respective configuration options, but it is |
| 85 | +recommended to change both together if you decide to do so. |
| 86 | + - Other minimum feerates (e.g. the dust feerate, the minimum returned by the fee estimator, and all feerates used by |
| 87 | + the wallet) remain unchanged. The mempool minimum feerate still changes in response to high volume. |
| 88 | + - Note that unless these lower defaults are widely adopted across the network, transactions created with lower fee |
| 89 | + rates are not guaranteed to propagate or confirm. The wallet feerates remain unchanged; `-mintxfee` must be changed |
| 90 | + before attempting to create transactions with lower feerates using the wallet. |
| 91 | + |
| 92 | +- #33106 policy: lower the default blockmintxfee, incrementalrelayfee, minrelaytxfee |
| 93 | + |
| 94 | +### Logging |
| 95 | + |
| 96 | +Unconditional logging to disk is now rate limited by giving each source location |
| 97 | +a quota of 1MiB per hour. Unconditional logging is any logging with a log level |
| 98 | +higher than debug, that is `info`, `warning`, and `error`. All logs will be |
| 99 | +prefixed with `[*]` if there is at least one source location that is currently |
| 100 | +being suppressed. (#32604) |
| 101 | + |
| 102 | +When `-logsourcelocations` is enabled, the log output now contains the entire |
| 103 | +function signature instead of just the function name. (#32604) |
| 104 | + |
| 105 | +### RPC |
| 106 | + |
| 107 | +- The `dumptxoutset` RPC now requires a `type` parameter to be specified. To maintain pre |
| 108 | + v29.0 behavior, use the `latest` parameter. Documenting this change was missed in the v29.0 |
| 109 | + release notes. (#30808) |
| 110 | + |
| 111 | +### Updated Settings |
| 112 | + |
| 113 | +- The `-maxmempool` and `-dbcache` startup parameters are now capped on |
| 114 | + 32-bit systems to 500MB and 1GiB respectively. |
| 115 | + |
| 116 | +- #32530 node: cap -maxmempool and -dbcache values for 32-bit |
| 117 | + |
| 118 | +### Wallet |
| 119 | + |
| 120 | +- #31757 wallet: fix crash on double block disconnection |
| 121 | +- #32553 wallet: Fix logging of wallet version |
| 122 | + |
| 123 | +### P2P |
| 124 | + |
| 125 | +- #32826 p2p: add more bad ports |
| 126 | + |
| 127 | +### Test |
| 128 | + |
| 129 | +- #32069 test: fix intermittent failure in wallet_reorgsrestore.py |
| 130 | +- #32286 test: Handle empty string returned by CLI as None in RPC tests |
| 131 | +- #32312 test: Fix feature_pruning test after nTime typo fix |
| 132 | +- #32336 test: Suppress upstream -Wduplicate-decl-specifier in bpfcc |
| 133 | +- #32463 test: fix an incorrect feature_fee_estimation.py subtest |
| 134 | +- #32483 test: fix two intermittent failures in wallet_basic.py |
| 135 | +- #32630 test: fix sync function in rpc_psbt.py |
| 136 | +- #32765 test: Fix list index out of range error in feature_bip68_sequence.py |
| 137 | +- #32742 test: fix catchup loop in outbound eviction functional test |
| 138 | +- #32823 test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only() |
| 139 | +- #32833 test: Add msgtype to msg_generic slots |
| 140 | +- #32841 feature_taproot: sample tx version border values more |
| 141 | +- #32850 test: check P2SH sigop count for coinbase tx |
| 142 | +- #32859 test: correctly detect nonstd TRUC tx vsize in feature_taproot |
| 143 | +- #33001 test: Do not pass tests on unhandled exceptions |
| 144 | + |
| 145 | +### Indexes |
| 146 | + |
| 147 | +- #33212 index: Don't commit state in BaseIndex::Rewind |
| 148 | + |
| 149 | +### Util |
| 150 | + |
| 151 | +- #32248 Remove support for RNDR/RNDRRS for aarch64 |
| 152 | + |
| 153 | +### Build |
| 154 | + |
| 155 | +- #32356 cmake: Respect user-provided configuration-specific flags |
| 156 | +- #32437 crypto: disable ASan for sha256_sse4 with Clang |
| 157 | +- #32469 cmake: Allow WITH_DBUS on all Unix-like systems |
| 158 | +- #32439 guix: accomodate migration to codeberg |
| 159 | +- #32551 cmake: Add missed SSE41_CXXFLAGS |
| 160 | +- #32568 depends: use "mkdir -p" when installing xproto |
| 161 | +- #32678 guix: warn and abort when SOURCE_DATE_EPOCH is set |
| 162 | +- #32690 depends: fix SHA256SUM command on OpenBSD (use GNU mode output) |
| 163 | +- #32716 depends: Override host compilers for FreeBSD and OpenBSD |
| 164 | +- #32760 depends: capnp 1.2.0 |
| 165 | +- #32798 build: add root dir to CMAKE_PREFIX_PATH in toolchain |
| 166 | +- #32805 cmake: Use HINTS instead of PATHS in find_* commands |
| 167 | +- #32814 cmake: Explicitly specify Boost_ROOT for Homebrew's package |
| 168 | +- #32837 depends: fix libevent _WIN32_WINNT usage |
| 169 | +- #32943 depends: Force CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE |
| 170 | +- #32954 cmake: Drop no longer necessary "cmakeMinimumRequired" object |
| 171 | +- #33073 guix: warn SOURCE_DATE_EPOCH set in guix-codesign |
| 172 | + |
| 173 | +### Gui |
| 174 | + |
| 175 | +- #864 Crash fix, disconnect numBlocksChanged() signal during shutdown |
| 176 | +- #868 Replace stray tfm::format to cerr with qWarning |
| 177 | + |
| 178 | +### Doc |
| 179 | + |
| 180 | +- #32333 doc: Add missing top-level description to pruneblockchain RPC |
| 181 | +- #32353 doc: Fix fuzz test_runner.py path |
| 182 | +- #32389 doc: Fix test_bitcoin path |
| 183 | +- #32607 rpc: Note in fundrawtransaction doc, fee rate is for package |
| 184 | +- #32679 doc: update tor docs to use bitcoind binary from path |
| 185 | +- #32693 depends: fix cmake compatibility error for freetype |
| 186 | +- #32696 doc: make -DWITH_ZMQ=ON explicit on build-unix.md |
| 187 | +- #32708 rpc, doc: update listdescriptors RCP help |
| 188 | +- #32711 doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md |
| 189 | +- #32719 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" |
| 190 | +- #32776 doc: taproot became always active in v24.0 |
| 191 | +- #32777 doc: fix Transifex 404s |
| 192 | +- #32846 doc: clarify that the "-j N" goes after the "--build build" part |
| 193 | +- #32858 doc: Add workaround for vcpkg issue with paths with embedded spaces |
| 194 | +- #33070 doc/zmq: fix unix socket path example |
| 195 | +- #33088 doc: move cmake -B build -LH up in Unix build docs |
| 196 | +- #33133 rpc: fix getpeerinfo ping duration unit docs |
| 197 | +- #33119 rpc: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify fix |
| 198 | +- #33236 doc: Remove wrong and redundant doxygen tag |
| 199 | + |
| 200 | +### CI |
| 201 | + |
| 202 | +- #32184 ci: Add workaround for vcpkg's libevent package |
| 203 | +- #33261 ci: return to using dash in CentOS job |
| 204 | + |
| 205 | +### Misc |
| 206 | + |
| 207 | +- #32187 refactor: Remove spurious virtual from final ~CZMQNotificationInterface |
| 208 | +- #32454 tracing: fix invalid argument in mempool_monitor |
| 209 | +- #32771 contrib: tracing: Fix read of pmsg_type in p2p_monitor.py |
| 210 | +- #33086 contrib: [tracing] fix pointer argument handling in mempool_monitor.py |
| 211 | + |
| 212 | +Credits |
| 213 | +======= |
| 214 | + |
| 215 | +Thanks to everyone who directly contributed to this release: |
| 216 | + |
| 217 | +- 0xB10C |
| 218 | +- achow101 |
| 219 | +- Antoine Poinsot |
| 220 | +- benthecarman |
| 221 | +- bigspider |
| 222 | +- Brandon Odiwuor |
| 223 | +- brunoerg |
| 224 | +- Bufo |
| 225 | +- Christewart |
| 226 | +- Crypt-iQ |
| 227 | +- davidgumberg |
| 228 | +- deadmanoz |
| 229 | +- dergoegge |
| 230 | +- enirox001 |
| 231 | +- fanquake |
| 232 | +- furszy |
| 233 | +- glozow |
| 234 | +- instagibbs |
| 235 | +- Hennadii Stepanov |
| 236 | +- hodlinator |
| 237 | +- ismaelsadeeq |
| 238 | +- jb55 |
| 239 | +- jlopp |
| 240 | +- josibake |
| 241 | +- laanwj |
| 242 | +- luisschwab |
| 243 | +- MarcoFalke |
| 244 | +- Martin Zumsande |
| 245 | +- monlovesmango |
| 246 | +- nervana21 |
| 247 | +- pablomartin4btc |
| 248 | +- rkrux |
| 249 | +- romanz |
| 250 | +- ryanofsky |
| 251 | +- Sjors |
| 252 | +- theStack |
| 253 | +- willcl-ark |
| 254 | +- zaidmstrr |
| 255 | + |
| 256 | +As well as to everyone that helped with translations on |
| 257 | +[Transifex](https://explore.transifex.com/bitcoin/bitcoin/). |
| 258 | +{% endgithubify %} |
0 commit comments