0.8.40AUGUST 2026

SELECT · COMPARE · REACT

Subscribe to the object.
React to the property.

Effects can now follow primitive property paths over ordinary object state without splitting application data into artificial signals or adding a browser component runtime.

0 BRuntime JavaScript added
21Alternating build pairs
205/205Tests passing
P1

PROPERTY DEPENDENCIES

Keep object-shaped state.
Rerun only for selected values.

AUTHORING

Keep ordinary object state

Direct property paths and top-level immutable primitive locals remain familiar React-shaped effect dependencies.

DERIVED IR

Reuse one expression language

Property reads lower to the existing tagged DerivedIR instead of introducing field signals, proxies, or another evaluator.

COMPARE

Skip unchanged selections

Object commits schedule comparison, then Object.is prevents cleanup and rerun when the selected primitive stays equal.

FAIL CLOSED

Reject ambiguous identity

Whole objects, dynamic properties, object-valued results, and mixed whole-object/property dependencies remain unsupported.

OUTPUT

Ship no new runtime

Route JavaScript, effect runtime, RouteIR, and capability selection stay unchanged; only the authored route owns its effect.

NEXT

Cross more component boundaries

The next migration-backed investigation follows props, callbacks, refs, and context through deeper ordinary composition.

UPGRADE

Keep the object. Select the value.

$npm install @kudzujs/core@^0.8.40