5.7.0
Release notes for 5.7.0.
Released: 2026-08-20
Features
NAV_OVERFLOW_SCRIPTis now shipped as a committed, drift-gated literal generated at package build time — its bytes no longer depend on the consumer's bundler, so one published CSP inline-script hash covers every rendering. The frozen output is byte-identical to the previous render-time assembly, so no hash changes with this release (93865aac)A
check:nav-overflow-driftguard now runs in b4push (step 14 of the 29-step suite), CI, the b4push/CI parity manifest, andprepack, so any future change to the script's sources fails loudly instead of silently shifting consumer CSP hashes (a9440c2e)
Bug Fixes
The mobile drawer no longer keeps a stale section tree and active marker after a same-locale cross-section soft navigation: nested-island
data-propsinside persisted elements are refreshed at thezfb:before-swapseam, generalizing zfb's top-level persisted-island refresh. Locale-toggle behavior and header persistence are unchanged (9dd1b77c)Islands whose dynamic import is still in flight across a swap now remount from the refreshed props (
data-zfb-island-remountis set on change), closing a race where the drawer could mount from the pre-navigation snapshot (797e9a8c)prepacknow also gates oncheck:search-widget-drift, so packing from a drifted tree can no longer publish CSP-breakingSEARCH_WIDGET_SCRIPTbytes (5103feb3)
Other Changes
New mobile cross-section soft-navigation e2e regression spec for the drawer (smoke fixture), with shared drawer helpers (5ac8f536)
Route-injection parity snapshots re-baselined with full attribution; the file now documents that a further unexplained hash move must be treated as live non-determinism and diagnosed rather than re-pinned (7a607cd5)
Testing docs aligned with the test-hardening retiering: fast/slow lanes clarified and post-retiering counts corrected (07fff398)