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_context are now correctly folded at compile time. Types that Python's compile()rejects inast.Constant nodes are emitted as precomputed module-level bindings (_pc_N), injected into the exec namespace at template load time. (#68)
  • Scoped slotlet: bindings with repeated referenceslet: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

  1. No breaking changes. Drop-in upgrade from 0.4.0.
  2. GitHub Action version tag updated to@v0.4.1.