Skip to content

Kudzu 0.8.18 - Explicit component ownership

Choose a tag to compare

@bunzzeok bunzzeok released this 08 Aug 07:16
· 1 commit to main since this release

Kudzu 0.8.18 gives state, setters, props, refs, IDs, and supported component specializations one ordered JSON-safe source result while preserving final route allocation and deploy behavior.

Highlights

  • Retains explicit component ownership beside each compiled non-Worker build module.
  • Records lexical state/setter slots, destructured props, refs, IDs, specializations, and source provenance.
  • Resolves command signal ownership per state, including mixed parent/child and nested keyed handlers.
  • Links specialized props to parent, reducer, custom-hook, and Context Provider signals.
  • Keeps final state, ref, ID, conditional, and keyed allocation in core.mjs.
  • Adds no public API, accepted syntax, VDOM, hydration, or browser component runtime.

Validation

  • npm run check passes with 133 generated pages and 2 interactive pages.
  • npm test passes 167/167.
  • Focused compiler tests and production build pass on Node 22.
  • Ten representative ownership and capability fixtures retain matching file lists and output hashes.
  • Worker graph remains 907 B raw / 475 B gzip.
  • Window graph remains 12,148 B raw / 5,427 B gzip.
  • The 21-run clean-build median remains within the 5% architecture gate.
  • A packed 0.8.18 tarball installs, typechecks, and builds a clean generated starter.

Upgrade

npm install @kudzujs/core@^0.8.18

create-kudzu remains 0.1.101 because its unchanged template already accepts @kudzujs/core@^0.8.15.