Repository navigation
shadlet 0.4.0
shadlet 0.4.0 is a major runtime and release-readiness update. it expands the Python-first APIs, improves server-driven tables and accessibility, and adds extension tooling, deployment examples, and broader verification.
added
ui.DataTablenow supports controlled row selection, loading and error states, retry callbacks, per-column filters, column visibility, responsive scrolling, accessible sort announcements, and cancellation of superseded asynchronous server queries.shadlet extension createscaffolds a separately packaged Python and React extension.shadlet extension checkvalidates its manifest and bundled assets.- deployment examples include a multi-stage, non-root Docker image, a Render Blueprint, and a health check endpoint at
GET /healthz. - opt-in runtime benchmarks cover 10k-row table workloads, 1k-node rendering and protocol serialization, and concurrent updates across 50 sessions.
- representative axe-core accessibility checks and Chromium Playwright flows cover forms, feedback, tables, packaged extensions, URL state, and server-side table search.
app.run()recognizes the platformPORTenvironment variable, with documented precedence and validation.
changed
- React protocol validation now uses Zod 4; the renderer development server is updated to Vite 7.3.7.
- extension discovery now registers transactionally and remains idempotent after success.
- pydantic form validation preserves multiple messages associated with the same field.
- built-in project templates now target Shadlet 0.4.0.
fixed
- server-side table search reliably dispatches changed queries to Python.
- closed sessions reject newly started background tasks without leaving them marked as running.
- form labels and controls now have improved accessible-name and id associations, including slider inputs and date-picker triggers.
verification
- Python: Ruff lint and formatting, mypy, and Pyright passed; all 145 pytest tests passed.
- renderer: ESLint, Prettier, and TypeScript checks passed; all 27 Vitest tests and all 3 Playwright tests passed; the production build succeeded.
- documentation: strict MkDocs build passed.
- packaging: wheel and source distribution built; renderer assets and built-in templates were verified in the wheel; an isolated wheel installation smoke test passed.
- dependencies: production
npm audit --omit=devreported zero vulnerabilities. - GitHub CI, including the Docker deployment-example build, passed for the release commit. the tag-triggered release workflow successfully published both distributions to this GitHub release and PyPI.
see the changelog, documentation, and PyPI package.