Chirp 0.4.0
Refined public API, shell tabs, free-threading safety, performance optimizations, and dependency upgrades
Focus: refine the public API surface, add shell tabs, harden free-threading safety, and improve performance.
Highlights
Refined public API
New first-class types on the public surface (#56):
RenderPlan— captures template + context intent before rendering, enabling inspection and middleware hooks.MutationResult— structured return type for mutation routes, pairing redirect targets with OOB fragment updates.tools— expanded utility surface exposed from the top-level package.
Shell tabs contract
Shell tabs (#54) introduce a layout contract for tabbed navigation shells, enabling multi-section apps with consistent chrome and tab state management.
Scaffold command
chirp scaffold(#50) generates project boilerplate — routes, templates, and config — for new apps and mounted page directories.
Performance
- Eliminated redundant sorting, allocations, and O(n) scans across hot paths (#52).
Hardened
- Free-threading safety improvements and tighter linting rules (#51).
Fixed
- Alpine.js injection now uses explicit
/dist/cdn.min.jsCDN paths, preventing silent CJS breakage in browsers (#49). - Added
unsafe-evalto default CSP for Alpine.js compatibility (#49). - Test guards against bare jsDelivr CDN URLs in Alpine injection (#53).
Dependencies
bengal-pounce>=0.5.1(bumped from>=0.4.0)kida-templates>=0.3.2(bumped from>=0.3.1)chirp-ui>=0.2.5(bumped from>=0.2.3)