v2.4.0
v2.4.0
Released: 2026-08-13
Features
feat(zfb-content): capture the default export's first-parameter shape (#2352) (6faa5735)
feat(zfb): wire the SSR request-param detector into dev, build, check (#2354) (0ebcfae3)
feat(zfb-build): render plugin log envelopes and host stderr on the terminal (eb1fa815)
feat(zfb-build): sweep stale plugin bundle temp files (#2371) (b3f619ea)
feat(zfb-build): redirect plugin console.* into log envelopes, reject directory watchFiles (64d73a66)
Bug Fixes
fix(zfb-content): skip TypeScript's erased
thispseudo-parameter (#2352) (bfa76b63)fix(zfb): don't treat a shadowed
Requestas global, and tier-gatezfb check(40e55d22)fix(zfb): ignore rebound names in body evidence, and don't claim an absent annotation (a27f2034)
fix(docs): use labelled links in password-gate, not MDX-invalid autolinks (37f8f4e4)
fix(docs): use one JA title prefix across the nine example pages (ec0c99bd)
fix(templates): ignore plugin TS bundle temp files in scaffold gitignores (328ed6e6)
fix(dev): surface failed plugin virtual-module re-invokes on the terminal (327b90ee)
fix(plugins): unbreak Windows plugin bundling, join stderr reader, harden watchFiles stat (de529548)
fix(zfb-build): claim the staged plugin bundle's lock before esbuild on unix (dfb7b5e7)
fix(zfb-build): retry the plugin esbuild spawn on ETXTBSY (e981bd6f)
fix(zfb-build): extend the ETXTBSY spawn retry to the main bundler (9e4569bb)
fix(preview): gate wrangler on a minimum supported version instead of exact equality (#2379) (32c21626)
fix(binfetch): raise the default download retry budget to 5 attempts (8f16ae83)
fix(ci): cache the staged esbuild + tailwindcss binaries across runs (5751f7e0)
fix(ci): cache only the gitignored binary slots, not the whole binaries dir (542abae9)
Other Changes
docs: state the SSR route contract, add 405 troubleshooting entry, reach zfb dev limitation (84c29bee)
docs(ja): state the SSR route contract, add 405 troubleshooting entry, reach zfb dev limitation (ad621334)
test(zfb): confirm the SSR route-contract dev warning on a real zfb dev boot (#2357) (bf444af1)
test(zfb): confirm SSR route-contract guard against the real check/build binary (#2356) (ca0e20f4)
docs: correct the createPageRouter JSDoc and record the CJK anchor trap (9a1820e2)
docs(recipes): add Blog example-site page (EN + JA) (d8eca37e)
docs: add password-gate example recipe (EN + JA) (de3c0848)
docs(examples): add Corporate Website example recipe (EN + JA) (ac9c1c88)
docs(zfb): add the AI Summarizer example page (EN + JA) (ada1f434)
docs(recipes): add KV Guestbook example page (EN + JA) (818f581a)
docs(zfb): add JSON API example recipe page (EN + JA) (a16a5f8b)
docs: correct two overclaims on the password-gate recipe (918bb153)
docs(examples): qualify the "no utility classes" claim in the Corporate Website recipe (98f43332)
docs(recipes): drop the inaccurate offline claim from kv-guestbook (c0214223)
docs(zfb): correct the /api/items parameter-clamping claim (9d161c76)
docs(recipes): add reverse-proxy example page (EN + JA) (1f5a0099)
docs: add the Webshop example recipe page (EN + JA) (c9dcc33e)
docs(recipes): add the Workers Cache example page (EN + JA) (3217c67e)
docs(recipes): state that reverse-proxy strips a fixed hop-by-hop list (22360b49)
docs(recipes): qualify the "every request reaches the Worker" claim (abdc37ed)
docs: correct the session-sweep claim on the Webshop recipe page (4423e334)
docs: correct two framework claims on the Webshop recipe page (11e4488f)
docs: index the nine example sites and correct the stale examples guide (5d0d8f14)
docs(recipes): flag the KV list-window ordering trap in kv-guestbook (2dab87e8)
docs(plugins): document terminal log rendering, bundle staging, and watcher arming window (12c89053)
test(zfb): confirm zfb build plugin diagnostics e2e (#2375) (ec830e4d)
test(e2e): confirm plugin log rendering + failed-reinvoke surfacing in dev (1960bdbd)
test(zfb-build): pin errno 26 to the ErrorKind the ETXTBSY retry matches (5e537a27)
chore(deps): bump @takazudo/* packages in docs to latest (cffde398)