Skip to content

Kudzu 0.8.20 - Explicit keyed ownership

Choose a tag to compare

@bunzzeok bunzzeok released this 09 Aug 02:50
· 2 commits to main since this release

Kudzu 0.8.20 gives keyed collection sites one deterministic JSON-safe ownership result while preserving final DOM allocation and browser behavior.

Highlights

  • Records explicit KeyedBlockIR parent and child ownership.
  • Links collection signals, calculated bindings, selectors, handlers, effects, expressions, and conditions to keyed blocks.
  • Retains complete recursive component-specialization membership.
  • Retains row state and ref ownership with source provenance.
  • Removes transformer-wide keyed AST side tables.
  • Adds no public API, accepted syntax, VDOM, hydration, or browser component runtime.

Validation

  • npm run check passes with 135 generated pages and 2 interactive pages.
  • npm test passes 168/168.
  • Focused compiler tests and production build pass on Node 22.
  • The complete pre-release-content site and seven representative keyed fixture trees retain output parity with 0.8.19.
  • The keyed list runtime remains 21,831 B raw / 6,930 B gzip.
  • The interleaved 21-run clean-build median changed by -0.52%.
  • A packed 0.8.20 tarball installs, typechecks, and builds a clean generated starter.

Upgrade

npm install @kudzujs/core@^0.8.20

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