Zebra 6.0.0 - 2026-07-10
This release activates NU6.3 (Ironwood) on Zcash Mainnet at block height 3,428,143 (~2026-07-28).
It also fixes a mempool denial-of-service issue where non-standard transparent inputs
were rejected only after the more expensive script verification step
(GHSA-84j3-rw4c-gqmj).
Update Priority
| User Type | Priority |
|---|---|
| All operators | Critical |
Network Upgrade Details
| Activation Height | 3,428,143 |
| Expected Date | ~2026-07-28 |
| Consensus Branch ID | 0x37a5165b |
| Testnet Activation | Block 4,134,000 (active since v6.0.0-rc.0) |
Implemented ZIPs
- ZIP 258: Deployment of the NU6.3 Network Upgrade
- ZIP 229: Version 6 Transaction Format
- ZIP 2005: Ironwood Quantum Recoverability
- ZIP 2006: Restricting Transfers into the Orchard Pool
- ZIP 318: Orchard to Ironwood Migration
Added
- NU6.3 (Ironwood) now activates on Mainnet at block height 3,428,143, matching
zcash_protocol. Node operators must upgrade to this release before activation
(#10938).
Changed
- Updated the
zcash_*andorchardcrates to their released NU6.3 versions
(#10938). - Updated
rocksdbto 0.24. The bundledlibrocksdb-sysnow always runs
bindgento generate its FFI bindings, solibclangis required at build
time (in addition toprotocand a C++ compiler) even when linking a system
RocksDB viaROCKSDB_LIB_DIR. Installlibclang-dev(Debian/Ubuntu),
clang(Arch), or the equivalent for your platform
(#10922). - Bumped the workspace (libraries) MSRV from 1.85.1 to 1.88. The
zebradbinary
MSRV is unchanged at 1.91.homeis no longer pinned to 0.5.11, since 0.5.12
builds on the new MSRV
(#10927).
Fixed
- Keep the mempool active through transient sync-status noise. Once started, the
mempool is no longer cleared and its queued transaction verification is no longer
cancelled when a temporary signal (which lower-work forks or stale peers can
trigger) reports Zebra is far from the tip; initial activation still waits until
Zebra is near the chain tip
(#10929). - Don't disconnect from peers that return empty
FindBlocksorFindHeaders
responses when the local node is at or near the chain tip
(#10732) - Fix syncer restarts due to incorrect error downcasting
(#10916). - Fix a read-state syncer startup hang: a co-located consumer whose finalized state
had caught up past the node's non-finalized root would re-subscribe endlessly
instead of syncing, advancing only one block per newly mined block
(#10841) - Mempool transactions with non-standard transparent inputs are now rejected
before script verification, to avoid the more expensive script verification
and reduce DoS surface
(GHSA-84j3-rw4c-gqmj).
Thanks to @ouicate for reporting the issue. - Related to the previous item, script verification now runs on the shared Rayon
thread pool to avoid blocking the runtime.
How to Upgrade
Upgrading from 5.x or 6.0.0-rc.0 keeps your synced state: the first start migrates
the state database in place to format 28, with no resync.
Docker
docker pull zfnd/zebra:6.0.0
# or update your compose file and:
docker compose pull && docker compose up -dBinary
- Stop zebrad (
systemctl stop zebradorCtrl+C) and wait for a clean shutdown - Replace the binary with
zebrad-6.0.0-<arch>-unknown-linux-gnu.tar.gzfrom this
release's assets (signed; Linuxx86_64andaarch64, glibc 2.34+), or run
cargo binstall zebrad - Start zebrad again
Source
git fetch && git checkout v6.0.0
cargo build --releaseSource builds need Rust 1.91+, protoc, a C++ compiler, and libclang (new in
this release).
Compatibility
| Component | Supported |
|---|---|
| Operating Systems | Linux (prebuilt binaries: x86_64/aarch64, glibc 2.34+); macOS and Windows via source build |
| Zcash Protocol | All network upgrades through NU6.3 (Ironwood) |
| State database | Format 28.0.0; in-place upgrade from 5.x, no resync |
| Minimum Rust (source builds) | 1.91 |
| End of support | Block 3,528,960 (~105 days after release) |
Contributors
Thank you to everyone who contributed to this release, we couldn't make Zebra without you:
@arya2, @conradoplg, @Cosmos-Harry, @dannywillems, @gustavovalverde, @jvff, @oxarbitrage, @upbqdn and @ValarDragon.