Bitcoin Core 32.1 Released on October 27, 2026: Why 32.0 Was Pulled, the Three Disclosed Bugs and the New Fee Estimator

Dates, security fixes, fee estimation and what changes for node operators and wallets, by ChainGate. ·

Bitcoin Core 32.1 is the new major release of the software most Bitcoin nodes run. Binaries went up on bitcoincore.org on October 27, 2026 and it is the first public 32.x version: 32.0 was tagged on October 21 but withdrawn on October 26 over what the maintainers called last-minute issues, and 32.1 adds three fixes on top of it. On October 28 the project also published 31.2, 30.4 and 29.5 and disclosed three vulnerabilities, two rated medium and one low, that let a malicious peer or miner push a node into running out of memory or into a storage overflow. All of them were found by an automated LLM scan. Nothing changes in Bitcoin's rules, so wallet users have nothing to do; node operators should upgrade, and anyone still on 29.x is now on an end-of-life branch.

On November 1, 2026 the half-hour fee estimate on mempool.space is 1 sat/vB, $0.11 for a typical transfer at $77,891 per BTC. Bitcoin Core's own estimator now reads the mempool too, so the fee a Core-based wallet proposes should fall faster after a busy period.

The short version

  • 32.1 is out, 32.0 never shipped. The 32.0 tag of October 21 was withdrawn on October 26; 32.1 was tagged the same evening, binaries followed on October 27 and the GitHub release on October 28. Its three extra commits are the fixes for the three vulnerabilities disclosed on October 28.
  • Three bugs, all found by an LLM scan. CVE-2026-117349 (medium: slow memory growth from paused peers that claim not to support pings), CVE-2026-117350 (medium: memory growth through TCP urgent data on Windows, macOS and BSD) and CVE-2026-117346 (low: an undo file overflow a miner could trigger over about a month). Fixed in 29.5, 30.4, 31.2 and 32.1.
  • Fees: the estimator now looks at the mempool. estimatesmartfee returns the lower of the old block-history estimate and a new mempool-based one, so Core-based wallets stop overpaying for as long after a spike. It never raises the estimate.
  • Who acts. Node operators upgrade; 29.x is end of life since October 27 (29.5 is its last release) and the default connection count rises to 200. Services that build PSBTs through Core's RPCs get version 2 by default. Wallet users and exchanges do nothing: no consensus rule changes.

1. What is Bitcoin Core 32.1, and why is there no 32.0?

Bitcoin Core is the reference implementation of Bitcoin, the software that validates blocks, relays transactions and runs the wallet behind many services. It ships one major version roughly every six months and maintains the three newest. Version 32.1, published on October 27, 2026, is the first public release of the 32.x line, with a new fee estimator, higher connection defaults, a smaller transaction index, PSBT version 2 as the default in the wallet RPCs and a batch of security fixes. It changes no consensus rule: blocks and transactions valid before are valid after.

32.0 exists only as a tag. Maintainer fanquake tagged it on October 21 and wrote in the release schedule issue on October 26 that, due to last-minute issues, 32.0 would not be announced or released and no binaries would be uploaded; 32.1 would follow with the same content plus additional fixes. The pull request that finalised 32.1, merged that afternoon, backports exactly three changes by Antoine Poinsot: socket exception monitoring aligned between the poll and select backends, a 20-minute timeout for peers whose send buffer never drains, and 64-bit positions in the block and undo files. Those are the fixes for the three vulnerabilities disclosed two days later, described in section 3. The project has not said more about the reasons than that.

2. When was it released? Key dates

Dates come from the Bitcoin Core release schedule issue, the bitcoincore.org download server and the disclosure posts. Status as of November 1, 2026.

MilestoneDate (UTC)Status
32.0rc1 taggedSeptember 14, 2026Done. Testing cycle began; rc3 on October 6, rc4 on October 14.
32.0 taggedOctober 21, 2026, 13:27Withdrawn. Never announced, no binaries built.
32.0 pulled, 32.1 taggedOctober 26, 2026 (14:24 and 19:38)Done. Three fixes backported in pull request #36658.
32.1 binaries and announcementOctober 27, 2026, 19:35Done. Downloads at bitcoincore.org/bin/bitcoin-core-32.1/; GitHub release page on October 28.
31.2, 30.4, 29.5 and three CVE disclosuresOctober 28, 2026Done. Same three fixes on every maintained branch; 29.5 is the last 29.x release.
Disclosure of 3 vulnerabilities fixed in 30.0About two weeks after release (around November 10, 2026)Announced in the release notes; medium and high severity, details not yet public.

The gap between tag and binaries is normal: after a tag, independent builders reproduce the binaries with Guix, compare hashes and sign them, which takes days. What is unusual is a tag that never gets binaries. The download directory for 32.0 still holds only the release-candidate folders, and the releases list goes from 31.2 straight to 32.1.

The maintenance releases arrived in the same window. 31.2, 30.4 and 29.5 carry the three fixes (pull requests #36665, #36667 and #36669 in their notes) and little else, and all three posts went up on October 28, the day of the disclosures. The lifecycle page now lists 29.x as end of life since October 27, 2026, the day 32.x shipped: 29.5 is its final release.

3. Which vulnerabilities were fixed and disclosed?

Three, all published on October 28, 2026 and all found by the same route: an automated scan of the code by a large language model, run as Project Loupe by Elias Rohrer at Spiral, with Gregory Sanders validating each finding and reporting it to the Bitcoin Core security team. Two were independently rediscovered by other researchers before the fixes shipped. Bitcoin Core's policy is to disclose bugs it rates as easily discoverable as soon as fixed releases exist for every maintained branch, which is why the write-ups came one day after 32.1.

CVE-2026-117349, rated medium: a peer that claims not to support BIP 31 pings is never disconnected for ignoring them, and if it also reads messages very slowly the node keeps queuing transaction announcements for it without limit. The post puts the growth at up to about 2 MB per hour for an inbound peer and 5 MB per hour for an outbound one; nodes running with blocksonly are far less exposed. Reported on September 15, fixed by pull request #36667, which disconnects a paused peer that has not drained its send buffer within 20 minutes.

CVE-2026-117350, rated medium, affects Windows, macOS and BSD only: the select-based socket code checked for exceptional conditions even while reads were paused for backpressure, so a peer sending TCP urgent data could force reads that bypass the per-peer memory limit until the node runs out of memory. Linux uses poll and is not affected. Reported on October 23, three days before the fixes were merged, and fixed by pull request #36665.

CVE-2026-117346, rated low: block and undo file positions were 32-bit, so once an undo file passed 4 GiB newer data overwrote older data, and a later reorg that needed that data would shut the node down until a reindex on a fixed version. On Windows and 32-bit systems writes fail past 2 GiB. The post calls exploitation on 64-bit systems impractical: a miner would need several thousand blocks of nonstandard transactions, about a month of blocks, placed precisely, plus a specific two-block reorg. First reported on July 8, fixed by pull request #36669, which stores positions as 64-bit integers without changing the on-disk format; 32-bit systems remain affected.

32.1's own release notes list further fixes that are not CVEs: a private-broadcast retry that could leak the sender's IP by bypassing the Tor proxy, a command execution path through crafted wallet names with walletnotify on non-Windows systems, and caps of 10,000 queued private-broadcast transactions and 1,000 send attempts each. The notes also say that in two weeks the project will disclose three medium and high severity vulnerabilities fixed in 30.0 (and none of low severity in 32.1), so another disclosure post is due around November 10.

4. How does the new fee estimator change the fees you pay?

If you use a wallet or service that asks a Bitcoin Core node for a fee through estimatesmartfee, 32.1 changes what it hears. Until now Core only used its block policy estimator, which looks back at the fee rates of transactions that got confirmed within a target number of blocks. It is conservative and slow to come down: after a congestion spike it keeps proposing high rates for a while because the history still says high. 32.1 adds a mempool policy estimator that looks at what is waiting right now, and estimatesmartfee returns the lower of the two. The mempool estimator can only lower the result, never raise it, so a Core-based wallet stops overpaying sooner once blocks clear, and behaves as before when the mempool is full.

The same idea drives the rates most explorers show. On November 1, 2026 mempool.space, which estimates from the mempool alone, puts the half-hour target at 1 sat/vB, $0.11 for a typical transfer at a BTC price of $77,891:

Bitcoin fee rates right now (mempool.space)

Confirmation targetFee rateTypical transferIn dollars
Next block2 sat/vB282 sat$0.22
About 30 minutes1 sat/vB141 sat$0.11
About 1 hour1 sat/vB141 sat$0.11
Economy (hours)1 sat/vB141 sat$0.11

For developers the RPC grows an options object: fee_rate_estimator accepts auto (the default, combined), block_policy (the old behaviour) or mempool_policy, unknown values are rejected, verbosity 2 adds mempool_health_statistics, and in auto mode the response names the estimator it used. The block policy data moves to fees/block_policy_estimates.dat and is migrated on first start. The wallet's own coin selection uses the combined estimate. What this does not change: the fee is still your choice, replace-by-fee and child-pays-for-parent still rescue a transaction that paid too little, and the sat/vB tiers on our fees guide refresh every minute from the mempool.

5. What changes for node operators?

Upgrade, and check which branch you are on. 29.x reached end of life on October 27, 2026 and 29.5 of October 28 is its final release, so a node on 29.x will get no further fixes; 30.x stays maintained until 33.0 ships, 31.x until 34.0 and 32.x until 35.0. Upgrading from an end-of-life version directly to 32.1 is supported, though a data directory migration can take time. Supported platforms are Linux kernel 3.17 or newer, macOS 14 or newer and Windows 10 version 1903 or newer.

Two defaults change your footprint. The default maxconnections rises from 125 to 200, and a new inboundrelaypercent option (default 50) caps the share of inbound slots given to peers that relay transactions; to keep the old behaviour run with maxconnections=125 and inboundrelaypercent=100. Outgoing transaction relay is now rate-limited with a global backlog (txsendrate, default 14 transactions per second, 2.5 times that for outbound peers, plus a 12 MB per 10 minutes bandwidth cap). Automatically created Tor hidden services get proof-of-work defenses when the Tor daemon supports them. The RPC server no longer uses libevent, and a new rpcmaxconnections option (default 16) limits simultaneous HTTP clients.

Two options save disk and time. The transaction index stores less data: a rebuilt txindex takes less than half the space, but you only get the saving by deleting indexes/txindex in the data directory and restarting, which can take hours; the txospenderindex shrinks the same way. Block validation prefetches previous outputs in parallel with prevoutfetchthreads, default 8, maximum 16, 0 to disable. Legacy I2P ElGamal sessions will be removed by v34 and CJDNS support is under review, so operators relying on either should follow the next release notes.

6. What changes for developers and wallets?

The breaking change is PSBT version 2. createpsbt, walletcreatefundedpsbt, converttopsbt and psbtbumpfee now produce version 2 PSBTs by default; a new psbt_version argument selects version 0 for tooling that cannot parse v2 yet. If a signing device, coordinator or script in your flow has not been tested with PSBTv2, pass the argument before upgrading the node it talks to.

Several fields and options are deprecated: vsize in the mempool RPCs and getrawtransaction (use vsize_adjusted, or vsize_bip141 for the raw BIP 141 size), the walletrbf startup option and the bip125-replaceable key (nodes have relayed replacements of any transaction since Core 28), and the removeprunedfunds RPC, which now needs deprecatedrpc=removeprunedfunds. Wallet names with dot path elements, or a wallet named with a bare slash, are rejected.

New in the RPC surface: exportwatchonlywallet, addhdkey and derivehdkey; send and sendall are no longer marked experimental; getblockchaininfo reports assumeutxo background validation progress; getbalances adds a nonmempool balance; getnetworkinfo reports the asmap version; exportasmap and getopenrpcinfo; a bitcoin-util getchainparams command. The custom HTTP server is stricter about headers, so check any client that sends unusual ones. None of this touches how a transaction is built or broadcast, so SDKs that talk to a node over standard RPC, including ChainGate, keep working.

7. Do Bitcoin users need to do anything?

No. 32.1 changes no consensus rule, so there is no fork, no new coin and nothing to migrate; your keys, addresses and balances are the same. If you run a light wallet or keep coins on an exchange, the upgrade happens on other people's machines.

What you may notice is a wallet connected to a Core node proposing lower fees in the hours after a busy period, since the estimator now reads the mempool. If you run your own node, upgrade; if you are on 29.x, you are on an unmaintained branch as of October 27. Anyone telling you to move or "update" your bitcoin because of a Core release is running a scam.

8. What is confirmed and what is still open?

Confirmed

  • 32.1 binaries and the release announcement went up on October 27, 2026; the GitHub release followed on October 28. 32.0 was tagged on October 21 and withdrawn on October 26 with no binaries.
  • The three changes 32.1 adds over 32.0 are the fixes for CVE-2026-117349, CVE-2026-117350 and CVE-2026-117346, disclosed on October 28 and also shipped in 31.2, 30.4 and 29.5.
  • estimatesmartfee combines the block policy and a new mempool policy estimator and returns the lower value; the old behaviour is available with fee_rate_estimator=block_policy.
  • 29.x is end of life since October 27, 2026; 30.x, 31.x and 32.x are maintained. No consensus rule changes.

Still open

  • What exactly the maintainers meant by last-minute issues. The finalisation pull request contains the three fixes and nothing else, but the project has not published a statement beyond that sentence.
  • Which three medium and high severity vulnerabilities fixed in 30.0 will be disclosed around November 10, 2026.
  • The 32-bit and Windows side of CVE-2026-117346: the fix covers 64-bit systems, and the disclosure says 32-bit systems remain affected.
  • When 33.0 arrives. The lifecycle page lists it as to be announced; 32.x stays maintained until 35.0.

9. What comes next?

The next dated item is the disclosure of the three vulnerabilities fixed in 30.0, which the release notes promise two weeks after the release, so around November 10, 2026. We will add it here, together with any 32.x maintenance release. The update log below records what changed and when.

In the meantime, the Bitcoin fees guide shows the live sat/vB tiers the new estimator is catching up with, the transaction hash guide explains how to follow a transaction that is waiting, and the Binance Pool shutdown piece covers what happens to stuck transactions once that accelerator closes on November 10.

Updates to this article

  • October 31, 2026: first published. Dates from the Bitcoin Core release schedule issue, the bitcoincore.org download server and release pages; vulnerability details from the three disclosure posts of October 28; release contents from the 32.1 release notes and the lifecycle page.

Frequently asked questions

When was Bitcoin Core 32.1 released?

Binaries and the announcement went up on bitcoincore.org on October 27, 2026 (binaries at 19:35 UTC); the tag was made on October 26 and the GitHub release page followed on October 28. It is the first public release of the 32.x line.

Why was Bitcoin Core 32.0 never released?

32.0 was tagged on October 21, 2026, but on October 26 maintainer fanquake wrote that, due to last-minute issues, it would not be announced or released and no binaries would be built. 32.1, tagged the same day, has the same content plus three fixes, which are the patches for the three vulnerabilities disclosed on October 28. No further explanation has been published.

What vulnerabilities were disclosed on October 28, 2026?

CVE-2026-117349 (medium: unbounded memory growth from paused peers that claim not to support BIP 31 pings), CVE-2026-117350 (medium: memory growth through TCP urgent data on Windows, macOS and BSD) and CVE-2026-117346 (low: block and undo file positions overflowing at 4 GiB, exploitable in theory by a miner over about a month). All three were found by an automated LLM scan (Project Loupe at Spiral) and fixed in 29.5, 30.4, 31.2 and 32.1.

Does Bitcoin Core 32.1 change Bitcoin's rules or cause a fork?

No. It changes no consensus rule. Nodes on older versions stay on the same chain; the reasons to upgrade are the security fixes, the maintenance window and the new features.

How does the new fee estimation work?

estimatesmartfee now runs two estimators, the old block policy one based on confirmed history and a new one based on the current mempool, and returns the lower result. The mempool estimator can only lower the estimate, so Core-based wallets propose lower fees sooner after congestion ends. fee_rate_estimator=block_policy restores the old behaviour.

Is Bitcoin Core 29.x still supported?

No. The lifecycle page lists 29.x as end of life since October 27, 2026, the day 32.x shipped. 29.5 of October 28 is its final release and carries the three security fixes; after it, 29.x gets nothing. 30.x, 31.x and 32.x remain maintained.

What breaks for services that use Bitcoin Core's RPC?

The PSBT RPCs createpsbt, walletcreatefundedpsbt, converttopsbt and psbtbumpfee default to PSBT version 2; pass psbt_version if your signers need version 0. vsize is deprecated in favour of vsize_adjusted and vsize_bip141, walletrbf and bip125-replaceable are deprecated, removeprunedfunds needs a deprecatedrpc flag, and the HTTP server is stricter about headers.

Do I need to do anything with my bitcoin?

No. Wallet users, exchange customers and light-wallet users have nothing to do. Only people running a node should upgrade, and only those on 29.x are now on an unmaintained branch. Any message asking you to move or update your bitcoin because of this release is a scam.

Build with ChainGate

Put these ideas to work — ChainGate gives you wallets, transactions and managed RPC for Ethereum and 20+ other blockchains with one install.