15 changes:
- Wrote 1 path(s), and every word of it was true
- The JSON renderer decided every response was fine
- A failed list query killed the request
- The controller a model needs costs 1.5 microseconds
- The one place a shared layout could not be
- A comparison table is a claim too
- The redirect the guide promised
- The cache category was accepted and discarded
- A marker nothing flipped
- The HTML document could not say what page it was
- getData() and the columns it never returned
- An alarm that stays rare
- A column that described data nobody wrote
- Fourteen tabs do not fit
- Two things that did not complain
2 changes:
- One quote in a station name
- Two flags that never met
6 changes:
- Five rolled-up views were frozen on every database without TimescaleDB
- A model may give
load() whatever parameters it needs
- Five developer panels had been empty for years, and nothing said why
- The rate limiter counted the proxy, and counted it badly
- A human check that prices spam instead of pretending to detect it
getInstance() is a factory, and two call sites forgot
3 changes:
pramnos init works in a freshly created project again
- Scaffolded Docker images ship the database CLI client
- A failed schema import is no longer silent
3 changes:
- Worker liveness: WorkerLock + WorkerReloader
- SPA scaffolding: a build-less app-shell with asset cache-busting
- An app-specific Application subclass is now optional