What I’m building, and why.
Release notes, design decisions, experiments, and the longer story behind software that stays readable.
October 2026
Stario 5 — a compiled engine, HTTP/2, and all of your cores
Stario 5 replaces the Python HTTP protocol with a compiled one, adds HTTP/2 and direct TLS, runs one event loop per thread on free-threaded Python, and makes the handler shorter. With benchmarks against 4.3 and Granian.
September 2026
Stario 4.2 — the route is the address
Route is method, host, and path. That is the address you assign to a handler. The rest of 4.2 follows from treating that as the thing we keep.
August 2026
Stario 4.1 — Ox and Orbit
Stario 4.1 adds Route. Ox is a small hypermedia client I built to learn Datastar. Orbit is a deploy step runner: rsync, a slot, and your script.
June 2026
Stario 4 is here
Routes and URLs are module config now—full paths on App, UrlPath instead of mounts and url_for, AssetManifest at import time, and STARIO_* env for the server. Migration guide and changelog carry the rest.
May 2026
Stario 3.4 — SQLite tracer
Configure SqliteTracer and JsonTracer with STARIO_TRACERS_* env vars; query finished spans in a local SQLite file.
May 2026
Stario 3.3 — Single worker
Stario 3.3 tightens HTTP hot paths and adds a no-op tracer for benchmark and high-throughput runs.
April 2026
Stario 3.2 — Single writer
3.2.0 lifecycle hooks and a minimal Relay work queue in bootstrap.
April 2026
Stario 3.1 — Datastar 1.0
Datastar 1.0 upstream, Stario aligned—and a small Relay quality-of-life win.
April 2026
Stario 3 is here
The same bet as 2.3, pushed further—new surface area, a few intentional breaks, and sharper docs. Changelog and reference carry the specifics.