v3.0.0
v3.0.0
Released: 2026-09-30
Breaking Changes
Documented after release:
Islandnow validates its child against the build identity and registered island names that zfb's server bundle sets, and rejects a function name that conflicts withdisplayName. RenderingIslandwith another bundler or plain Node fails withZR_ISLAND_IDENTITY. See Islands rendered outside a zfb build.Replace the Tailwind CSS executable and
tailwindconfiguration with the built-in zudo-wind compiler (fc6d9ed9). Remove Tailwind imports and directives, declare the tokens your utilities use, and choose awindreset explicitly where browser defaults matter. The old Tailwind environment overrides are gone.Remove React and Preact runtime selection in favor of the owned zudo-react engine (9ec87c0a). Delete the
frameworkkey, use@takazudo/as the JSX import source, and migrate components, events, signals, and islands. The v3 migration guide covers the required changes.zfb/ zudo- react Remove Preact from
@takazudo/zfbpackaging and the old JSX aliases (039b2e24). Consumers must use the owned runtime entry points.
Features
Add the owned zudo-react core, JSX, server, and client entry points to
@takazudo/zfb(dfbfa1c6). They provide signals, scopes, forms, server rendering, and island hydration.Add
zfb wind explainandzfb wind auditfor inspecting zudo-wind candidates and diagnostics (9f0045d7).Add
--scratch-dirisolation for dev, build, check, and preview, with path validation and ownership locking (3416bdbd).Add per-invocation
--define KEY=EXPRvalues to build identity (c98ec6cf).Expose
scratchDirin plugin hook contexts (1f171a0f).
Bug Fixes
Exclude prior owned output directories from build identity so later builds do not read their own generated files (c30d5bdf).
Normalize not-yet-created extra watch paths and cover symlink cases for scratch directories (2378be7f).