v0.1.0-next.99
v0.1.0-next.99
Released: 2026-07-30
Features
feat(zfb): plumb watchPollFallback/watchPollIntervalMs config to all watch sites (a13cc697)
feat(zfb-watcher): add opt-in PollWatcher backend behind WatchBackend option (42201769)
feat(dev): pre-tick plugin refresh hook in the orchestrator receive loop (#2169) (927592ce)
feat(dev): add plugin virtual-module refresh state (issue #2168) (696642b8)
feat(plugin-host): add watchFiles registration option + forced virtualLoad reload (c1d3df8d)
feat(docs): flip docs build to --strict-broken (801820cc)
Bug Fixes
fix(release): suppress empty slot-recovery header, emit runnable cp lines (d45c0b1e)
fix(release): retain slot backup dir when restore fails (d379fadd)
fix(release): clean up the binary slot backup dir after restore (b511ea5c)
fix(test-utils): reject unrunnable staged esbuild instead of returning it (fab04119)
fix(build): widen fan_out_safe gate to exclude collection-root plugin watch files (2cf5e04a)
fix(release): save/restore binary slots around the macOS x64 cross-build (95863f68)
fix(ci): un-gate dev_timing_enabled for no-v8 builds, appease while_let_loop lint (510137af)
fix(watcher): bypass native collateral-repair loops on the poll backend (770a4db8)
fix(zfb): assert poll backend selection in the poll-backend e2e leg (5b3617ad)
fix(zfb): scale liveness deadline for poll backend, fix stale remedy text (55f6e74a)
fix(zfb-watcher): apply codex-review findings on the poll backend (4f52ac3e)
fix(dev): apply plugin watch invalidation before external narrowing (69e69a89)
fix(dev): invalidate pages for plugin watch-file changes (#2181) (a097df64)
fix(dev): plugin watch-file changes conservatively rerun all virtual-module consumers (#2169) (ad44491c)
fix(dev): carry forward discarded batch successes across refresh calls (df8a55ef)
fix(plugin-host): serialize virtualLoad per loaderId, copy watchFiles array (f6dbd712)
fix(build): make copy-mode a sibling-closure disjunct, not a node_modules conjunct (01cc7411)
fix(bundler): apply nested prune rules before granting the staging exemption (a18aa13d)
fix(zfb-islands): normalize package_dir before first_party_root comparison (0d5ebe01)
fix(zfb-islands): filter workspace-package edges outside first_party_root (3500f26a)
fix(zfb-build): fix symlink resolution and zudo-doc allowlist gaps in prune guard (a16c3bef)
fix(zfb-build): make SSR virtual-module project-tier remap prune-aware (211c24e4)
fix(deps): bump plist to 1.10.0 to lift 2 RUSTSEC advisory ignores (7501ed98)
Other Changes
docs(test-utils): tighten HarnessBug doc to say slots execute, not merely exist (e0997a76)
test(watcher): extract classify_final_verdict, delete FSEvents-racy chmod test (#2185) (df5fe161)
= start triage-fixes-260730 dev = [skip ci] (7fd479f4)
test(zfb): add poll-backend dev-server e2e leg (d221ae43)
docs: qualify the watcher-liveness warning as a partial signal (#2176) (f58e90be)
docs: document watchPollFallback / watchPollIntervalMs (#2176) (cdc71713)
= start sweep-260729-2-watch-poll-fallback dev = [skip ci] (2c85dd34)
test(dev): confirm e2e for plugin watch-file content refresh (#2170) (683c14e5)
docs(plugins): state the all-or-nothing refresh publish (EN/JA) (1785589a)
docs(plugins): document addVirtualModule watchFiles + loader-memo refresh (EN/JA) (71978fe0)
= start sweep-260729-2-plugin-watch-hook dev = [skip ci] (405ade96)
docs(architecture): document the command-layer staging copy-mode trigger (2244aaa4)
test(e2e): remove copy-mode workaround from sibling-watch Scenario D (02a2c17e)
= start sweep-260729-2-copy-mode-trigger dev = [skip ci] (32880f66)
= start sweep-260729-2-cleanups dev = [skip ci] (5d3e425e)
= start sweep-260729-2 super-epic = [skip ci] (086873d1)