# Release: Zakura 1.0.5

Announcement dated 2026-07-28 for Zakura 1.0.5, a stability and performance
release.

What the announcement says:

- All node operators should update.
- The release significantly improves restoration of P2P connectivity after
  long blocks, fixes two fresh-sync failures, improves peer discovery, and
  reduces CPU overhead in address-book and metrics processing.
- The release mitigates an issue discovered the day before the announcement on
  Testnet that affects both Zakura and Zebra: it prevented nodes from
  reconnecting to honest peers after a large chain reorganization. After
  discussion with the Zcash Foundation, both teams agreed to fix the issue in
  parallel releases ahead of the NU6.3 network upgrade.
- Zakura 1.0.4's historical block-routing optimization could make a legacy
  genesis sync livelock. Version 1.0.5 removes the optimization; the team plans
  to reintroduce it with additional fixes in a subsequent release.
- Verified-commitment-tree fast sync can now complete at its handoff height.
  The commit path uses the reviewed embedded Sapling, Orchard, and Ironwood
  roots at exactly that height. Lower heights still require authenticated
  database roots, and higher heights cannot use the embedded data.
- Near the chain tip, the legacy syncer allows about 20 minutes rather than
  roughly six minutes before activating peer-stall handling. This reduces
  unnecessary disconnections during normal block-time variance and propagation
  delay.
- Periodic crawls replenish legacy outbound peers when fewer than 27% of the
  configured outbound connection slots are active. The replenishment still
  respects the hard outbound connection limit.
- Refreshed `GetAddr` responses return approximately half rather than one
  quarter of eligible address-book entries, with the existing ten-minute cache
  and 1,000-address limit retained.
- Banning an IP removes every address-book entry for that canonical IP,
  including entries using different ports.
- The address book now uses direct address, priority, and per-IP indexes.
  Get, update, and ban operations are now O(log(N)) or O(1). Batched changes
  publish one metrics summary rather than rebuilding it after every accepted
  entry. Live profiles indicated that nodes with metrics disabled still spent
  30% of their CPU time in metrics code before these changes.
- The `zakura.net.connection.state` Prometheus gauge is aggregated by command
  and no longer has an `addr` label. This prevents zero-valued historical
  per-peer series from growing throughout long syncs. Dashboards that query
  this metric by `addr` need to be updated.
- Mined-block completion and submission events take priority over the
  committed-tip fallback, avoiding duplicate advertisements when events race.
- Production validation gains a public-network mempool gossip harness. It
  submits timed round-robin self-sends, observes them through Zakura and Zebra
  nodes, and can require every transaction to be mined.
- End of support: Zakura 1.0.5 retains the 1.0.4 support window, spans Ironwood
  (NU6.3) activation, and reaches end of support roughly eleven days afterward,
  by which point the first post-Ironwood release will be available.
- The first post-Ironwood release will have a substantially longer
  end-of-support window.
- Update using signed release binaries or the `zakura` crate 1.0.5.
  Installation and verification instructions are at
  https://zakura.com/download/.

---

Canonical HTML version: https://zakura.com/announcements/zakura-1-0-5/
