This guide explains Bitcoin Core 0.17.0 release in plain English. It summarises the important changes, who they affect and what should be checked before an upgrade.
TL;DR
- What it is: Bitcoin Core 0.17.0 was released on 2 October 2018 as a major release and was not vulnerable to CVE-2018-17144. It introduced BIP 174 PSBT workflows, dynamic wallet loading and creation, the label API, full-path external wallets and partial-spend avoidance.
- Why it matters: Bitcoin Core 0.17.0 modernised wallet lifecycle and collaborative signing while changing important data and API boundaries. The upgrade succeeds only when migrations, custody roles and client changes are tested together.
- Current position: Require a second reviewer and explicit rollback or expiry, and pause payments, signing or network-dependent services until post-change evidence is complete.
Bitcoin Core 0.17.0 release in simple English
Bitcoin Core 0.17.0 release: The release added creator, updater, signer, combiner, finalizer, extractor and decoder RPC roles around BIP 174. Map each role to separate authority, decode intent before signing and protect derivation and script metadata.
Simple example
A node operator is checking Bitcoin Core 0.17.0 release. Nodes with txindex migrated that database on first 0.17.0 startup and could remain non-functional for hours.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- RPC:
- A command that software sends to a node to request information or a local action.
- PSBT:
- A portable format for passing an unsigned or partly signed Bitcoin transaction between tools and signers.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Migration outage
Nodes with txindex migrated that database on first 0.17.0 startup and could remain non-functional for hours. Chainstate format was incompatible with previous releases. Measure representative migration time, provide disk headroom and keep dependent services closed until indexes and chain state are ready.
Downgrade boundary
Returning to an older release required reindex-chainstate; on pruned nodes that meant downloading and processing the entire chain again. Define rollback before upgrade and distinguish binary rollback from a long data rebuild. Never discover this boundary during a live outage.
Dynamic and external wallets
loadwallet, createwallet and unloadwallet enabled runtime wallet lifecycle, while wallet paths could be absolute and new wallets became directories. Update allow-lists, backups, monitoring and wallet identity controls so an unexpected path or unloaded wallet cannot bypass custody checks.
Labels replace accounts
The label API replaced deprecated account bookkeeping, which could be enabled temporarily through deprecatedrpc=accounts and was scheduled for removal. Labels do not hold balances or provide send-from semantics. Migrate reports to transactions, scripts and outpoints rather than recreating account illusions.
PSBT workflow
The release added creator, updater, signer, combiner, finalizer, extractor and decoder RPC roles around BIP 174. Map each role to separate authority, decode intent before signing and protect derivation and script metadata. A PSBT is coordination data, not proof of approval or readiness to broadcast.
Privacy and configuration
avoidpartialspends could group outputs paid to the same address, improving one privacy dimension at possible fee cost. Network-specific configuration sections and includeconf changed configuration structure. Test effective settings for mainnet, testnet and regtest rather than reviewing one file visually.
How specialists test it
Node operators test the release on a representative non-production system. They check startup, normal operation, failure handling and restart before changing a live node. Connected wallets, monitoring and mining services should also be checked.
Frequently asked questions
What is the main point of Bitcoin Core 0.17.0 release?
Bitcoin Core 0.17.0 release: The release added creator, updater, signer, combiner, finalizer, extractor and decoder RPC roles around BIP 174.
For Bitcoin Core 0.17.0 release, what should a beginner know about migration outage?
Nodes with txindex migrated that database on first 0.17.0 startup and could remain non-functional for hours.
For Bitcoin Core 0.17.0 release, what should a beginner know about downgrade boundary?
Returning to an older release required reindex-chainstate. On pruned nodes that meant downloading and processing the entire chain again.
For Bitcoin Core 0.17.0 release, what should a beginner know about dynamic and external wallets?
loadwallet, createwallet and unloadwallet enabled runtime wallet lifecycle, while wallet paths could be absolute and new wallets became directories.
Conclusion
Bitcoin Core 0.17.0 modernised wallet lifecycle and collaborative signing while changing important data and API boundaries. The upgrade succeeds only when migrations, custody roles and client changes are tested together.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.