Bitcoin Core version 0.17.1 is now available from:
This is a new minor version release, with various bugfixes and performance improvements, as well as updated translations.
Please report bugs using the issue tracker at GitHub:
To receive security and update notifications, please subscribe to:
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over
/Applications/Bitcoin-Qt (on Mac)
bitcoin-qt (on Linux).
If 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.
The first time you run version 0.15.0 or newer, your chainstate database will be converted to a new format, which will take anywhere from a few minutes to half an hour, depending on the speed of your machine.
Note that the block database format also changed in version 0.8.0 and there is no automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading directly from 0.7.x and earlier without redownloading the blockchain is not supported. However, as usual, old wallet versions are still supported.
The chainstate database for this release is not compatible with previous
releases, so if you run 0.15 and then decide to switch back to any
older version, you will need to run the old release with the
option to rebuild the chainstate data structures in the old format.
If your node has pruning enabled, this will entail re-downloading and processing the entire blockchain.
Bitcoin Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is not supported).
Bitcoin Core should also work on most other Unix-like systems but is not frequently tested on them.
From 0.17.0 onwards macOS <10.10 is no longer supported. 0.17.0 is built using Qt 5.9.x, which doesn’t support versions of macOS older than 10.10.
listtransactions label support
account parameter which was deprecated in 0.17.0
and renamed to
dummy has been un-deprecated and renamed again to
When bitcoin is configured with the
-deprecatedrpc=accounts setting, specifying
a label/account/dummy argument will return both outgoing and incoming
transactions. Without the
-deprecatedrpc=accounts setting, it will only return
incoming transactions (because it used to be possible to create transactions
spending from specific accounts, but this is no longer possible with labels).
-deprecatedrpc=accounts is set, it’s possible to pass the empty string “”
to list transactions that don’t have any label. Without
-deprecatedrpc=accounts, passing the empty string is an error because returning
only non-labeled transactions is not generally useful behavior and can cause
0.17.1 change log
P2P protocol and network code
9406502Fix a deserialization overflow edge case (kazcw)
b901578Fix uninitialized read when stringifying an addrLocal (kazcw)
5150accRestore ability to list incoming transactions by label (jnewbery)
91fa15aFix use of uninitialized value
bnb_usedin CWallet::CreateTransaction(…) (practicalswift)
bb90695Ensure wallet is unlocked before signing (gustavonalle)
5782fdcThrow error if CPubKey is invalid during PSBT keypath serialization (instagibbs)
2528443backport: [tests] Add
3362a95psbt: always drop the unnecessary utxo and convert non-witness utxo to witness when necessary (achow101)
70ee1f8Refactor PSBT signing logic to enforce invariant and fix signing bug (gwillen)
89a9a9dStop requiring imported pubkey to sign non-PKH schemes (sipa, MeshCollider)
RPC and other APIs
fb9ad04Fix listreceivedbyaddress not taking address as a string (etscrivner)
de5e48aBugfix: RPC: Add
address_typenamed param for createmultisig (luke-jr)
9666dbaMake HTTP RPC debug logging more informative (practicalswift)
7bee414[psbt] Convert non-witness UTXOs to witness if witness sig created (achow101)
a3fe125Check that a separator is found for psbt inputs, outputs, and global map (achow101)
7a590d8Fix converttopsbt permitsigdata arg, add basic test (instagibbs)
75b5d8cFix wallet unload during walletpassphrase timeout (promag)
0242b5aRevert “Force TLS1.0+ for SSL connections” (real-or-random)
df5131bExplicitly disable “Dark Mode” appearance on macOS (fanquake)
7edebedRemove illegal spacing in darwin.mk (ch4ot1c)
ec71f06Add bitcoin-tx.exe into Windows installer (ken2812221)
Tests and QA
29899ecFix extended functional tests fail (ken2812221)
9461f98Disable wallet and address book Qt tests on macOS minimal platform (ryanofsky)
86fadeeRun all tests even if wallet is not compiled (MarcoFalke)
rpc_help.pyfailed: Check whether ZMQ is enabled or not (Kvaciral)
96dc936Use named args in validation acceptance tests (MarcoFalke)
24d796aAdd tests for RPC help (promag)
7ff32a6Add some actual witness in
b72fbabUse correct python index slices in example test (sdaftuar)
60f7a97Add test to ensure node can generate all rpc help texts at runtime (MarcoFalke)
96f15e8Fix a comment (fridokus)
f9db08eAvoid race in
p2p_invalid_blockby waiting for the block request (MarcoFalke)
5f51fd6doc/descriptors.md tweaks (ryanofsky)
85aacc4Add autogen.sh in ARM Cross-compilation (walterwhite81)
Thanks to everyone who directly contributed to this release:
- Andrew Chow
- Chun Kuan Lee
- David A. Harding
- Eric Scrivner
- Glenn Willen
- Gregory Sanders
- John Newbery
- Jon Layton
- Jonas Schnelli
- João Barbosa
- Kaz Wesley
- Luke Dashjr
- Pieter Wuille
- Russell Yanofsky
- Sjors Provoost
- Suhas Daftuar
- Tim Ruffing
- Wladimir J. van der Laan
As well as everyone that helped translating on Transifex.