0.7.17AUGUST 2026

LAZY REDUCER INITIALIZATION

Pass the argument.
Keep the reducer pure.

The familiar third-argument reducer initializer now becomes serialized compiler-owned state, while keyed-list fallback paths retain their authored DOM behavior.

0Initializer execution
3Initializer locations
105/105Tests passing
01

WHAT LANDED

Static input.
Existing reducer path.

SYNTAX

Three-argument reducer

Keep conventional useReducer reducer, initial argument, and initializer authoring.

SCOPE

Inline or imported

One-parameter initializers may be inline, same-file, or relative-imported functions.

LOWERING

Literal substitution

The compiler substitutes serializable input and emits fresh primitive, object, or array literals.

OWNERSHIP

Existing state semantics

The lowered value reuses synchronous reducer state, dispatch, and DOM ownership.

LISTS

Fallbacks restored

Capability-specialized keyed lists preserve template cloning and zero-index filling.

OUTPUT

No reducer runtime

Initializer functions and React remain absent from browser deploy assets.

UPGRADE

Initialize once at build time.

$npm install @kudzujs/core@^0.7.17