Skip to content

v1.8.2

Pre-release
Pre-release

Choose a tag to compare

@zakura-release-bot zakura-release-bot released this 04 Nov 01:48
4763d52

A mempool denial-of-service fix and faster verification of mixed shielded and transparent blocks. We recommend upgrading.

Supported on Mainnet until block 3,643,309, around December 5, 2026. Upgrade warnings start about three days earlier.

No config changes are needed.

Highlights

  • Security: the mempool now rejects transactions with unknown shielded anchors or already-spent nullifiers before sending their proofs to the verifiers that block validation shares (#1962).
  • Shielded checks start before transparent ones, and partial Sapling and Orchard proof batches are flushed as soon as they're queued, so mixed blocks verify proofs alongside transparent checks (#1922, #1968).
  • Committing a mined block reuses the chain state built when its template was validated as a proposal (#1963).
  • submitblock and other single-string JSON-RPC 2.0 calls no longer copy and re-encode their parameters (#1957).
  • Common 5.1.0 brings Orchard and Sapling signature verification improvements (#1964).
Full changelog

Changed

  • Block verification starts shielded transaction checks before transparent ones, shortening verification of mixed blocks
    (#1922).
  • JSON-RPC 2.0 calls with one unescaped string argument, such as submitblock,
    no longer copy and re-encode parameters before the server reads them
    (#1957).
  • Committing a mined block now reuses the chain state the node already built when it validated
    that block's template as a proposal, instead of building it a second time. Cached proposal
    chains are released when their parent leaves the live state, even if proposals stop arriving
    (#1963).
  • Updated Common dependencies to 5.1.0, bringing Orchard and Sapling signature
    verification improvements
    (#1964).
  • Block verification flushes partial Sapling and Orchard proof batches as soon as the block's shielded transactions have
    queued them, instead of after every transaction has started, so mixed blocks verify their proofs alongside the
    transparent checks (#1968).
  • Classify the accumulated compatible performance and dependency improvements as
    a patch release for the node; published libraries retain their independent
    API version requirements (#1971).

Security

  • Reject mempool transactions with unknown shielded anchors or already-spent
    nullifiers before submitting proof verification to the shared block verifiers
    (#1962).

Also in CHANGELOG.md.