Inside Bitcoin
Opening the selected file…
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1Bitcoin Core version 0.17.1 is now available from:3<https://bitcoincore.org/bin/bitcoin-core-0.17.1/>5or through BitTorrent:7magnet:?xt=urn:btih:c56c87ccfaa8e6fbccc90d549121e61efd97cb6f&dn=bitcoin-core-0.17.1&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Fzer0day.ch%3A1337&tr=udp%3A%2F%2Fexplodie.org%3A69699This is a new minor version release, with various bugfixes10and performance improvements, as well as updated translations.12Please report bugs using the issue tracker at GitHub:14<https://github.com/bitcoin/bitcoin/issues>16To receive security and update notifications, please subscribe to:18<https://bitcoincore.org/en/list/announcements/join/>20How to Upgrade21==============23If you are running an older version, shut it down. Wait until it has completely24shut down (which might take a few minutes for older versions), then run the25installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)26or `bitcoind`/`bitcoin-qt` (on Linux).28If your node has a txindex, the txindex db will be migrated the first time you run 0.17.0 or newer, which may take up to a few hours. Your node will not be functional until this migration completes.30The first time you run version 0.15.0 or newer, your chainstate database will be converted to a31new format, which will take anywhere from a few minutes to half an hour,32depending on the speed of your machine.34Note that the block database format also changed in version 0.8.0 and there is no35automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading36directly from 0.7.x and earlier without redownloading the blockchain is not supported.37However, as usual, old wallet versions are still supported.39Downgrading warning40-------------------42The chainstate database for this release is not compatible with previous43releases, so if you run 0.15 and then decide to switch back to any44older version, you will need to run the old release with the `-reindex-chainstate`45option to rebuild the chainstate data structures in the old format.47If your node has pruning enabled, this will entail re-downloading and48processing the entire blockchain.50Compatibility51==============53Bitcoin Core is extensively tested on multiple operating systems using54the Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is not supported).56Bitcoin Core should also work on most other Unix-like systems but is not57frequently tested on them.59From 0.17.0 onwards macOS <10.10 is no longer supported. 0.17.0 is built using Qt 5.9.x, which doesn't60support versions of macOS older than 10.10.62Notable changes63===============65`listtransactions` label support66--------------------------------68The `listtransactions` RPC `account` parameter which was deprecated in 0.17.069and renamed to `dummy` has been un-deprecated and renamed again to `label`.71When bitcoin is configured with the `-deprecatedrpc=accounts` setting, specifying72a label/account/dummy argument will return both outgoing and incoming73transactions. Without the `-deprecatedrpc=accounts` setting, it will only return74incoming transactions (because it used to be possible to create transactions75spending from specific accounts, but this is no longer possible with labels).77When `-deprecatedrpc=accounts` is set, it's possible to pass the empty string ""78to list transactions that don't have any label. Without79`-deprecatedrpc=accounts`, passing the empty string is an error because returning80only non-labeled transactions is not generally useful behavior and can cause81confusion.830.17.1 change log84=================86### P2P protocol and network code87- #14685 `9406502` Fix a deserialization overflow edge case (kazcw)88- #14728 `b901578` Fix uninitialized read when stringifying an addrLocal (kazcw)90### Wallet91- #14441 `5150acc` Restore ability to list incoming transactions by label (jnewbery)92- #13546 `91fa15a` Fix use of uninitialized value `bnb_used` in CWallet::CreateTransaction(…) (practicalswift)93- #14310 `bb90695` Ensure wallet is unlocked before signing (gustavonalle)94- #14690 `5782fdc` Throw error if CPubKey is invalid during PSBT keypath serialization (instagibbs)95- #14852 `2528443` backport: [tests] Add `wallet_balance.py` (MarcoFalke)96- #14196 `3362a95` psbt: always drop the unnecessary utxo and convert non-witness utxo to witness when necessary (achow101)97- #14588 `70ee1f8` Refactor PSBT signing logic to enforce invariant and fix signing bug (gwillen)98- #14424 `89a9a9d` Stop requiring imported pubkey to sign non-PKH schemes (sipa, MeshCollider)100### RPC and other APIs101- #14417 `fb9ad04` Fix listreceivedbyaddress not taking address as a string (etscrivner)102- #14596 `de5e48a` Bugfix: RPC: Add `address_type` named param for createmultisig (luke-jr)103- #14618 `9666dba` Make HTTP RPC debug logging more informative (practicalswift)104- #14197 `7bee414` [psbt] Convert non-witness UTXOs to witness if witness sig created (achow101)105- #14377 `a3fe125` Check that a separator is found for psbt inputs, outputs, and global map (achow101)106- #14356 `7a590d8` Fix converttopsbt permitsigdata arg, add basic test (instagibbs)107- #14453 `75b5d8c` Fix wallet unload during walletpassphrase timeout (promag)109### GUI110- #14403 `0242b5a` Revert "Force TLS1.0+ for SSL connections" (real-or-random)111- #14593 `df5131b` Explicitly disable "Dark Mode" appearance on macOS (fanquake)113### Build system114- #14647 `7edebed` Remove illegal spacing in darwin.mk (ch4ot1c)115- #14698 `ec71f06` Add bitcoin-tx.exe into Windows installer (ken2812221)117### Tests and QA118- #13965 `29899ec` Fix extended functional tests fail (ken2812221)119- #14011 `9461f98` Disable wallet and address book Qt tests on macOS minimal platform (ryanofsky)120- #14180 `86fadee` Run all tests even if wallet is not compiled (MarcoFalke)121- #14122 `8bc1bad` Test `rpc_help.py` failed: Check whether ZMQ is enabled or not (Kvaciral)122- #14101 `96dc936` Use named args in validation acceptance tests (MarcoFalke)123- #14020 `24d796a` Add tests for RPC help (promag)124- #14052 `7ff32a6` Add some actual witness in `rpc_rawtransaction` (MarcoFalke)125- #14215 `b72fbab` Use correct python index slices in example test (sdaftuar)126- #14024 `06544fa` Add `TestNode::assert_debug_log` (MarcoFalke)127- #14658 `60f7a97` Add test to ensure node can generate all rpc help texts at runtime (MarcoFalke)128- #14632 `96f15e8` Fix a comment (fridokus)129- #14700 `f9db08e` Avoid race in `p2p_invalid_block` by waiting for the block request (MarcoFalke)130- #14845 `67225e2` Add `wallet_balance.py` (jnewbery)132### Documentation133- #14161 `5f51fd6` doc/descriptors.md tweaks (ryanofsky)134- #14276 `85aacc4` Add autogen.sh in ARM Cross-compilation (walterwhite81)136Credits137=======139Thanks to everyone who directly contributed to this release:141- Andrew Chow142- Chun Kuan Lee143- David A. Harding144- Eric Scrivner145- fanquake146- fridokus147- Glenn Willen148- Gregory Sanders149- gustavonalle150- John Newbery151- Jon Layton152- Jonas Schnelli153- João Barbosa154- Kaz Wesley155- Kvaciral156- Luke Dashjr157- MarcoFalke158- MeshCollider159- Pieter Wuille160- practicalswift161- Russell Yanofsky162- Sjors Provoost163- Suhas Daftuar164- Tim Ruffing165- Walter166- Wladimir J. van der Laan168As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.