0.2.0-next.8
Release notes for 0.2.0-next.8.
Released: 2026-06-08
The Consumer Parity Fixes prerelease (epic #1974): the published @takazudo/zudo-doc package and create-zudo-doc scaffolds now match the showcase site. The headline change is the claude-resources generator switching from _category_.json sidecars to index.mdx frontmatter, which clears the unsupported data-file extension build warnings that downstream consumers saw against earlier prereleases (#1985). Also includes a package-generated CSS safelist, doc-history postBuild made opt-in, OGP meta tags, and several scaffold-template parity fixes.
Features
Category metadata via
index.mdxfrontmatter. The claude-resources generator now emitsindex.mdxwithcategory_no_page/sidebar_positionfrontmatter instead of_category_.json, and the read side resolves category metadata from that frontmatter — eliminating theunsupported data-file extensionwarning for consumers of the published package (#1980, #1978, #1985). Hand-authored_category_.jsonfiles in the showcase were migrated toindex.mdxto match.Package-generated CSS safelist.
@takazudo/zudo-docnow generatesdist/at build and exposes it via asafelist. css .export; the scaffold template/ safelist. css @imports it and a repurposed drift guard keeps it honest, so Tailwind v4 builds in downstream projects keep dynamic classes (#1993, #1994).OGP meta tags.
HeadWithDefaultsnow emitsog:type,og:url, andog:site_name(#1975).b4push / CI parity meta-check. Added a guard that detects silent drift between local
b4pushand CI gates, and wired fixture-drift, tags-audit, and design-token-lint intopr-checks.yml(#1967, #1982).
Bug Fixes
CategoryNav no longer emits dead links for no-page categories. In
categories=mode, acategory_no_pagecategory has no route of its own, but the wrapper fabricated adocsUrl(slug)href — producing broken links (the Claude overview's/,docs/ claude- md/ /,docs/ claude- skills/ /). Each such card now links to the category's first routed descendant page (and is skipped when the category has no reachable page). CI'sdocs/ claude- agents/ check:linksstep is now strict (--strict-broken) to matchb4push, so this class of regression fails CI instead of false-greening (#1985).doc-history postBuild made opt-in. Local builds now skip the per-page history-dropdown JSON generation by default (gated behind
GEN_DOC_HISTORY=1), so a plainpnpm buildno longer risks exceeding zfb's postBuild lifecycle budget on large corpora; CI and dev are unaffected (#1986).category_no_pageenumeration leaks. Excludedcategory_no_pagedocs from tag aggregation, frontmatter preview, and (after locale merge) the tag/footer/sitemap enumerators; mirrored the same filter into the footer template twin (#1978).claude-resources generator robustness. Guarded against a reserved
indexslug collision, and restoredconceptsas a real landing page rather than acategory_no_pageheader.i18n doc-history fallback. EN-fallback locale pages now use
defaultLocalefor their history data paths so history resolves correctly.Scaffold-template parity. Re-synced the sidebar-toggle / theme-toggle templates and re-armed the drift check; added
@sourcefor thezudo-docdist plus an inlined safelist in the scaffold'sglobal.css; collapsed multi-line@source inline()to a single line in the consumer template; shipped a real client-router bootstrap instead of the no-op stub; and added thevsp-3xsspacing +shadow-lgtheme tokens (registered in the design-tokens manifest) (#1991, #1990).
Changes
doc-history parallelization. Made
getDocHistoryasync so the CLI semaphore can parallelize git-history walks, with matching test mocks (sync child_processspawnexport, E2E smoke fixture built withGEN_DOC_HISTORY=1).Docs. Documented the
GEN_DOC_HISTORYlocal opt-in (EN + JA), the Tauri Mode 1 offline-reader build withGEN_DOC_HISTORY=1, and reconciled stale doc-history CI notes.