Skip to content

kida-templates 0.11.0

Choose a tag to compare

@lbliii lbliii released this 07 Jul 18:08
· 83 commits to main since this release
2479177

v0.11.0

Released 2026-07-07.

Kida 0.11.0 is a checkpoint release for the server-side component system. It
makes the existing-framework path runnable and tested, hardens release and CI
gates, and splits the largest partial-evaluation phases into focused modules
without changing Kida's public API or runtime dependency contract.

Added

  • Framework-first quickstarts — Current Flask, Django, and FastAPI/Starlette
    guides now show typed components, full-page rendering, named fragment routes,
    form handling, and the Jinja2 scoping migration path.
  • Runnable integration examples — Flask, Django, and FastAPI component apps
    exercise real framework clients, fragment rendering, and output escaping in
    the standard test suite.
  • Pyodide playground direction — The planning record now recommends a
    worker-isolated, JSON-context browser playground, with compatibility and
    safety gates required before implementation.

Changed

  • Component-first product documentation — The README, package metadata,
    landing page, and documentation navigation now lead with typed props, named
    slots, and static call validation rather than generic template-engine copy.
  • Python components ecosystem framing — Public pages no longer present
    Bengal as the identity of the stack. Bengal remains the current documentation
    build tool and a supported legacy integration while the broader stack evolves.
  • Phase-owned partial evaluation — Constant folding, dead-code elimination,
    expression transforms, loop unrolling, component inlining, and temporary-node
    flattening now live in focused modules. The main evaluator fell from 2,307 to
    1,247 lines, with free-threaded stability and benchmark gates unchanged.
  • One authoritative CI contract — Local and CI Ruff scopes now agree, public
    examples run in the standard suite, and duplicate type-check lanes were
    consolidated into the report-producing Type Check (ty) job.
  • Release automation fails earlymake gh-release verifies a clean tree,
    the exact remote main commit, curated release notes, and tag consistency
    before creating a release that triggers trusted PyPI publishing.

Fixed

  • Published install commands use the real distribution name — Site snippets
    install kida-templates; Python code continues to import kida.
  • Design-system example imports components correctly — The example uses
    explicit {% from ... import ... %} declarations instead of relying on
    isolated {% include %} scope.
  • Fallback failures are diagnosable — Cache cleanup, loader discovery,
    README detection, terminal width, and related best-effort paths retain their
    graceful behavior while exposing useful debug context.

Upgrade Notes

  1. No runtime API, template syntax, or CLI migration is required from 0.10.x.
  2. Install with uv add kida-templates or pip install kida-templates; import
    the package as kida.
  3. Python 3.14 remains the minimum supported version, with Python 3.14t used for
    the project's free-threaded verification and release gates.
  4. Framework integrations remain optional development/test dependencies. The
    installed Kida runtime still has zero dependencies.

Why this checkpoint

The work since 0.10.0 strengthens adoption and maintainability rather than
expanding public surface area. Publishing now gives framework users a stable,
tested checkpoint before the surrounding stack shifts into its next phase.