Skip to content

v2.0.0

Choose a tag to compare

@Takazudo Takazudo released this 02 Aug 20:42

Released: 2026-08-03

The githubAutolinks markdown feature has been removed, and the config loader rejects unknown
keys — so any site config still carrying githubAutolinks will fail at config load after upgrading.
That is the whole of the breaking surface; everything else in this release is additive or a fix.

Alongside it, this release lands the JSX-nested content passes (links, images, anchors, footnotes
inside MDX JSX and container directives now behave like their plain-markdown counterparts), spread
attribute validation, shadow-session lifecycle management for the build's staging directory, and a
real SWC parse behind the MDX content-bridge gate.

Breaking Changes

  • Remove the GithubAutolinks markdown feature entirely (a0b1103) — the githubAutolinks config key
    is gone and is now an unknown-key error. Delete it from your config (and from any preset that
    emits it) before upgrading. Host-specific issue/PR/SHA autolinking into github.com/{repo} does
    not belong in a general SSG.

Features

  • feat(zfb-build,zfb): shadow session lock/teardown/reap/keep-flag (#2257) (a10012e)
  • feat(zfb-md-extras): implement JsxNestedImageDimensions (#2248) (86ccfb5)
  • feat(zfb-content): treat JSX-nested external links with target/rel (#2249) (facba95)
  • feat(zfb-md-ast,zfb-md-extras,zfb-content): shared mdast-phase wiring for JSX-nested mutation passes (#2247) (a61ba77)
  • feat(zfb-content): register JSX-nested anchors and footnote occurrence ids (#2246) (e51e6df)
  • feat(build): add opt-in strictContentBridge flag for MDX fallback (#2220) (80465a1)

Bug Fixes

  • fix(zfb-content): preserve nested-image alt text in heading extraction (codex review, #2248) (83375b9)
  • fix(zfb-content): keep heading text/anchor when a nested external link is treated (#2249 review) (2bcc591)
  • fix(zfb-content): exclude footnote-definition bodies from JSX anchor collection (58cf99c)
  • fix(zfb-content): make the spread trailing-token check comment/whitespace-aware (#2242) (1798edb)
  • fix(zfb-content): reject a trailing comma / extra tokens after a spread operand (64565f9)
  • fix(zfb-content): validate + drop-and-warn invalid spread attributes (#2241) (a1bf1ac)
  • fix(md-extras): reset in_jsx at FootnoteDefinition boundaries in the JSX-nested link collector (#2222 review) (89b2240)
  • fix(md-extras): skip FootnoteDefinition subtrees in the JSX-nested link collector (#2225 review) (5b38ac4)
  • fix(md-extras): validate links nested in MDX JSX and container directives (#2184) (d09ba58)
  • fix(bundler): replace the content-bridge byte-scanner gate with a real SWC parse (#2219) (1d43d43)
  • fix(zfb-server): emit non-empty {} sentinel on page/css SSE frames (bebf80a)
  • fix(zfb-test-utils): preserve verbatim SSE field values in next_sse_frame (92dd85b)
  • fix(docs): remove unused tailwindcss + @tailwindcss/vite from docs/package.json (f290537)

Other Changes

  • refactor(zfb-build): extract run_drain_loop and inject synthetic Change events in pre-tick-hook live-loop tests (f3d815a)
  • diag(bundler): instrument the content-bridge gate scanner (#2217) (6b305c7)
  • diag(bundler): keep the gate's production path allocation-free (#2217) (956fa44)
  • test(zfb-content): live repro of the four JSX-nested anchor classes (#2244) (983d9e5)
  • test(md-extras): characterize the link-validation MDX-JSX/directive blind spot (#2223) (4d518da)
  • test(md-extras): flip the 4 pending-feature descent tests green (#2184, #2225) (f4871df)
  • test(md-extras,zfb): Wave 4 confirm pass for JSX-nested link validation (#2226) (449a88e)
  • test(bundler): strengthen the #2186 reproducer confirm pass with positive content + real-call-site assertions (#2221) (8e6dd50)
  • test(zfb): confirm SSE frames carry data: after a content edit (#2239) (81371f3)
  • test(zfb-md-wasm): re-pin frozen parity corpus to 13 after autolinks fixture removal (dd7b668)
  • docs(zfb-build): document the Windows lock-liveness risk as untested, not unsupported (#2258) (24fbba2)
  • docs(zfb-build): record #2257 codex-review accepted-risk rationale in code (e33c45d)
  • docs(zfb-content): explain why run()/run_with_context() skip the JSX-nested stubs (codex-review) (638371f)
  • docs(styling): state the embedded-Tailwind contract (EN + JA) (01bebc1)
  • docs(styling): scope the virtual-import claim to the exact tailwindcss specifier (e67ad13)
  • docs(content): name the current gate fn in the LaTeX-escape test comment (d930c9e)
  • docs(changelog): de-link removed github-autolinks page in historical entry (14f6e07)
  • docs: re-derive the Node floor from html-validate after the vite removal (fffbfec)