0.8.41AUGUST 2026

FORWARD · SPECIALIZE · RELEASE

Cross one more boundary.
Keep ownership direct.

Ordinary presentation components can forward setters, simple state callbacks, and object refs through a second component boundary while Kudzu still ships direct DOM capabilities, not component instances.

2Callback component boundaries
0 BRuntime JavaScript added
206/206Tests passing
P1

CALLBACK OWNERSHIP

Compose familiar components.
Erase the forwarding layer.

SIGNALS

Preserve parent signals

Direct setters and simple state callbacks retain the original parent SignalIR through nested specialization.

COMPOSITION

Forward one layer deeper

One presentation component may destructure and directly forward the callback once to an intrinsic event prop.

OWNERSHIP

Keep child hooks local

Child state, effects, IDs, and object refs retain independent ownership through removal and fresh remount.

REFS

Resolve the intrinsic root

A parent-owned object ref follows the same proven tree and resolves to null when conditional DOM releases it.

EXCLUSION

Ship no component runtime

Static siblings remain zero-JavaScript and emitted routes contain no callback registry or retained component function.

FAIL CLOSED

Reject a third boundary

Aliases, spreads, adapters in the forwarding layer, repeated callback uses, and deeper callback chains stay unsupported.

UPGRADE

Keep the components. Erase the indirection.

$npm install @kudzujs/core@^0.8.41