Skip to content

bengal-chirp 0.1.2

Choose a tag to compare

@lbliii lbliii released this 18 Feb 23:54
· 283 commits to main since this release
9605d3e

v0.1.2

Released: February 18, 2026

Islands (V1) for framework-agnostic high-state UI widgets, chirp-ui integration, auth hardening for production, and Alpine.js support.

Highlights

  • Islands (V1) — Framework-agnostic contract for isolated high-state widgets
  • chirp-ui integrationuse_chirp_ui(app) and template auto-detection
  • Auth hardening — AuthRateLimitMiddleware, LoginLockout, SecurityAudit
  • Alpine.js support — Macros and server integration

Added

Islands (V1)

  • Mount metadata: data-island, data-island-props, data-island-src, data-island-version, data-island-primitive
  • app.check() validates island mounts and primitive contracts
  • No-build primitive style: plain ES modules from /static/islands/*.js without a bundler
  • Runtime diagnostics and safety checks

chirp-ui Integration

  • chirp.ext.chirp_ui.use_chirp_ui(app) — Registers chirp-ui static files (CSS, themes)
  • Template loader auto-detects chirp-ui when installed
  • Optional ui extra: pip install bengal-chirp[ui]
  • chirp_ui.register_filters(app) — Registers bem, field_errors for components

Auth Hardening

  • AuthRateLimitMiddleware — Rate limit login/reset endpoints
  • LoginLockout — Lockout and backoff for repeated failures
  • SecurityAudit — Audit events for failures, lockouts, and blocked attempts

Alpine.js Support

  • chirp/alpine.html macros for x-data, x-init, reactive bindings
  • Server-side Alpine integration and app.check() validation for Alpine islands

Other Additions

  • LLM playground example — Streaming LLM chat with htmx
  • Documentation — Guides for islands, auth hardening, Alpine + htmx, no-build high-state, and chirp-ui

Changed

  • Dependencieskida-templates>=0.2.2 (was 0.2.1)
  • CI — Ruff linting, prek pre-commit, GitHub Actions workflow
  • RAG demo — Updated with chirp-ui integration

Installation

pip install bengal-chirp==0.1.2
# or
uv add bengal-chirp==0.1.2

With chirp-ui:

pip install bengal-chirp[ui]

Links