Kida 0.4.1
patch release fixing partial evaluator type folding and scoped slot let-binding references
Released 2026-04-10.
Kida 0.4.1 is a patch release with two bug fixes for the partial evaluator and scoped slot bindings introduced in v0.4.0.
Fixed
- Partial evaluator folds all static_context types — Dicts, lists, and custom objects from
static_contextare now correctly folded at compile time. Types that Python'scompile()rejects inast.Constantnodes are emitted as precomputed module-level bindings (_pc_N), injected into the exec namespace at template load time. (#68) - Scoped slot
let:bindings with repeated references —let:binding variables that appear more than once in a slot body no longer raiseUndefinedError. The CSE optimisation previously hoisted the variable lookup to function entry, before_slot_kwargswere pushed onto the scope stack. Slot bodies are now excluded from eager caching. (#70)
Upgrade Notes
- No breaking changes. Drop-in upgrade from 0.4.0.
- GitHub Action version tag updated to
@v0.4.1.