0.8.8AUGUST 2026

CONDITIONAL KEYED MAP ROOTS

Write the condition.
Keep the ownership.

Ordinary conditional keyed maps now lower to Kudzu's existing filter path, preserving familiar TSX and direct DOM lifecycle semantics.

2React forms
0New runtime bytes
134/134Tests passing
01

WHAT LANDED

Conditional source retained.
Existing filters reused.

AND

Logical row roots

condition && <Row /> compiles without source restructuring.

TERNARY

Nullable row roots

condition ? <Row /> : null follows the same selector path.

OWNERSHIP

Complete cleanup

Removal releases row state, effects, and refs; re-entry starts fresh.

IDENTITY

Siblings stay mounted

Rows that remain selected retain their exact keyed DOM nodes.

STATIC

Zero-cost folding

Build-known imported conditions still emit complete HTML without JavaScript.

BOUNDARY

No ambiguous indexes

Map indexes and alternate JSX fallbacks remain source-diagnosed.

UPGRADE

Keep conditional rows React-shaped.

$npm install @kudzujs/core@^0.8.8