1.0.0
Release notes for 1.0.0.
Released: 2026-06-26
1.0.0 — the package-first milestone. zudo-doc graduates to a package-first
architecture: the framework's routes, rendering layer, structural islands, eject
CLI, and content styles all ship from @takazudo/zudo-doc, and a scaffolded
project's pages/ is now nearly empty. This completes the Package-First Finale
(#2356) and the Stub-Deletion Fast-Follow (#2369).
Breaking Changes
Package-owned routes are now ON by default (
packageOwnedRoutes):@takazudo/zudo-docinjects the site's routes at build time, and 26 redundant route stubs (13 showcase + 13 generator-template — 404, sitemap, robots, tags, versions, and their locale variants) were deleted. A scaffolded project no longer carries thosepages/files. The fourdocs/[[...slug]]catch-all routes remain host-owned for now. (#2370, #2372, #2374)The copy-public plugin is gone — projects rely on zfb's native
publicDirinstead of.. Generated/ plugins/ copy- public- plugin. mjs zfb.config.tsno longer references it, so a fresh scaffold'spnpm buildno longer fails on a missing plugin file. (#2358)The 1.0 public API surface of
@takazudo/zudo-docis frozen and snapshot-guarded — the export set is now a stability contract. (#2356)
Features
zudo-doc eject <component>per-component swizzle CLI, shipped from@takazudo/zudo-docso it is reachable in generated projects post-scaffold; a.zudo-doc.jsonprovenance marker is seeded at scaffold time. (#2362, #2367, #2373)Package-owned route layer: route
.tsxsources ship asroutes-src/, with a typed route-context seam and a routes plugin behind thepackageOwnedRoutesgate (now default-on). (#2357, #2363, #2370)New
/skill to migrate existing projects onto the preset-basedl- migrate- to- preset- style zfb.config.ts. (#2364)Generated templates now re-export content components from the package, forward
settings-typesto the package, adopt thecreateMdxComponents()factory, and use reconciledglobal.csssemantic tokens — reducing per-project copy drift. (#2360)
Bug Fixes
Fixed generated-project
pnpm buildfailure caused by the published preset still emitting the removed copy-public plugin; resolved by the nativepublicDirmigration in this release. (#2358, #2342)Keep the
docs/[[...slug]]catch-all routes host-owned where the injected route cannot yet render host-only MDX components (Details,HtmlPreview,Island). Completing this is tracked separately. (#2377)Cleared island marker-name collisions by removing local island duplicates and repointing the
SiteTreeNavisland in the index templates.Made the
zudo-docbin tsx-free so it runs in generated projects without atsxdependency.Taught the pin-parity check to resolve the
ZUDO_DOC_PINscaffold constant; e2e fixtures now copy rootpublic/instead of symlinking it (nativepublicDir).
Other Changes
Bumped the
@takazudo/zfbstack to0.1.0-next.65.Pinned the route-injection seam and eject-contract ADRs; added a build-time proof for no-stub package-owned routes and expanded eject /
packageOwnedRoutestest coverage. (#2357, #2359, #2363)