[0.10.0] - 2026-07-13
The completion cut — a semantic-truth pass over the 25-package system,
moving several seams from structural completion (a field is read, a fallback exported) to
semantic completion (the correct state / bytes / DOM / cache variant / timeline behaviour
survives end to end). Every change is red-first, root-caused, propagated to examples & docs, and
independently QA'd; the full node vitest suite is green (7786/7809). Resolves #126, #130, #140,
#141, #146; tidies #145; parks #129 with a reopen condition; fixes #142's breadcrumb depth.
Added
- Graph-native stream recovery, end to end (#133) — a typed, value-bearing
DiscreteStateTransition@1
receipt (minted through the one existing hash law), attestation-checked SSE ingestion (hash + subject +
chain), a generation-rollback guard, and a production astro host wiring + reference emit route + integration
test that drives a real crossing through a reconnect. Retires the latent substrate. - Continuous motion runtime floor (#126) —
client:motionscrubs a scroll/time signal through the JS
floor when nativeanimation-timelineis unavailable; the floor and CSSlinear()provably sample one
Easing.springkernel. Adds thecolorinterpolation kind. - Multi-transition algebra (#141) — an explicit
TransitionProgram(seq/par/choice) with real duration
composition and branch selection (ADR-0039), replacing the collapsed routing label. - Cross-target motion parity (#130) — one authored program renders identically across browser CSS,
browser runtime, scene, stage, remotion, and worker, proven by a differential oracle (ADR-0040). - Responsive-media effective-candidate law (#140) —
selectCandidatesso Save-Data is honoured across
src/srcset/<source>/preload/image-set()/cache-key; wired into Astro and Cloudflare hosts. - Answer-first npm
description/keywordsfor all 25 packages from one canonical catalog, with a
release-gated prepublish metadata check (#146).
Changed / Fixed
- CSS: bare declarations inside
@supports/@mediaconditional groups are now wrapped in the boundary
selector (were silently dropped by the browser). - Astro:
Varytokens are merged, not clobbered (protectsCookie/Accept-Encodingcache axes). - MCP: the docs route returns JSON-RPC failures as a top-level
errormember (was laundered into a 200result). - CLI/doctor: deployed-header checks validate actual COOP/COEP/Client-Hint values (not mere presence);
value-taking flags no longer swallow the next flag; the Workers module-scopeDatescan is AST-based. #145MCP dispatch-matrix timeouts refactored to a documented lookup table;#142sharded-docs breadcrumb
depth fixed (sharded builder stays experimental).
Removed (breaking — pre-1.0 aggressive break policy)
discreteSignalPayloadsFromPatch(@czap/core) — replaced by the typedDiscreteStateTransitionreplay path.keyframesForRouting(@czap/core) — replaced by theTransitionProgramlowering.