Lower block relay latency on every hop, and faster rejection of invalid blocks.
Supported on Mainnet until block 3,643,309, around December 5, 2026. Upgrade warnings start about three days earlier.
No config changes are needed. JSON-RPC methods and stored data formats are unchanged.
Highlights
- Relayed blocks are gossiped as soon as they're committed. Each tip change used to wait about 1 ms first, on every hop (#2087).
- Locally submitted blocks, including side-chain blocks, are announced straight from committed state. A peer's committed copy of a block we're still verifying is relayed promptly too (#2090, #2093).
- Block adverts now use one size-dependent delay instead of rolling windows, and peers no longer wait on other peers' uploads. The initial-group defaults are back to 32/64 peers, and new
advert_delay_minandadvert_delay_maxsettings default to zero, so every peer gets announcements immediately. Explicitly configured values are kept (#2082). - Blocks that spend the same transparent output twice are rejected before parent-output reads and expensive verification (#2117).
- Common 5.3.0 brings Orchard and Halo 2 verification optimizations (#2133).
- Less block-processing work for indexed transparent addresses with long payment histories (#2112).
Library users
The state, consensus and RPC crates have major version bumps for Rust interface changes. ParentInputs::Unspent now holds a bounded subset of outputs, so callers must look up omitted ones (#2116).
Full changelog
Changed
waited about 1 ms for a possible locally submitted block, which added to each relay hop
(#2087).
the state, consensus, and RPC crate major versions for the Rust interface changes, and the
utilities crate dependency version. JSON-RPC methods and stored data formats are unchanged.
side-chain blocks, without waiting for the submitting RPC task to resume
(#2093).
InitializedState result
so Rust library callers can select the fields they need.
ParentInputs::Unspent response to retain a bounded subset of
outputs. Library callers must look up omitted outputs rather than assume the
map is complete; the state and consensus crates receive major version bumps
(#2116).
transparent inputs, reusing the existing coinbase-validation pass
(#2117).
(#2133).
patch node release; library crates retain their independent version
requirements (#2148).
Fixed
request's service call and returns the request's output reservation at once,
instead of at the first response write
(#2064).
as those on an IP at the per-IP cap or with more addresses than the free
connection slots, no longer take a round's dial slots from other candidates,
and so that finished dials no longer start rounds faster than the one-second
dial interval
(#2065).
peer's own Hello confirms the record addresses on its connection's remote
IP, and a dial confirms only the exact address it reached. A record that
replaces an expired one without a higher sequence starts with no confirmed
address. A record becomes eligible for peer samples once one of its
addresses is confirmed. On each IP, the discovery dialer tries the address
a successful dial reached first, then the record's other confirmed
addresses (#2066).
Peers outside the initial group no longer wait for other peers to request or
finish uploading a block. Restored the initial-group defaults to 32/64 peers
and preserved explicitly configured bounds. New advert_delay_min and
advert_delay_max settings default to zero, so all peers receive announcements
immediately by default, including for blocks larger than 100 KiB
(#2082).
Retry failed announcement snapshots when replacement peers arrive, without
restarting the announcement delay. Retain bounded recent-success history so
timeout fallbacks can skip peers whose earlier announcement succeeded.
streams as soon as the item or missing-item record arrives, without waiting
for the peer to finish the response stream
(#2086).
promptly even while the same local submission is still verifying. Admitted local submissions
suppress ordinary committed-tip gossip for at most 90 seconds from their first deferral,
including across tip changes, while retaining verification capacity. This bound covers
submission coordination, not network delivery
(#2090).
while preserving committed-broadcast retries.
as soon as its readmission cooldown ends. Previously the node could keep
refusing its sessions for up to about another cooldown. On an inbound
connection the peer still has to re-offer the session, which a Zakura peer
does within a few seconds
(#2104).
retained payment histories by sharing unchanged groups of output heights
(#2112).
retention budget, keeping the existing limit on retained script bytes
(#2116).
performing parent-output reads and expensive transaction verification
(#2117).
Also in CHANGELOG.md.