Web framework
Status and roadmap
What exists, what is being built, and the path to a complete framework. As of v0.4.0, 29 September 2026.
The libraries today
Every library in the workspace is implemented and tested; there are no stubs. They are versioned together.
| Library | Since | Does |
|---|---|---|
webglue_spec | 0.1 | The request/response contract and the words for reading it |
webglue_router | 0.1 | Route tables as data, groups, HEAD and OPTIONS, prx routes |
webglue_test | 0.1 | Requests, responses and stand-in handlers for tests, no server needed |
webglue_server | 0.1 | The adapter contract, the parity suite, prx webglue bench |
webglue_bandit | 0.1 | Adapter over Bandit: HTTP/1.1, HTTP/2, WebSockets |
webglue_wrangler | 0.2 | Webglue’s own HTTP/1.1 server; no HTTP/2 or TLS yet |
webglue_session | 0.2 | Session middleware over a pluggable store; an in-memory store |
webglue_static | 0.2 | Files from a directory, traversal-safe |
webglue_pubsub | 0.3 | Topic broadcast on pg, with an adapter seam |
webglue_socket | 0.3 | Persistent connections as responses; RFC 6455 both ways |
webglue_presence | 0.3 | Who is connected on a topic, across nodes |
webglue_cluster | 0.3 | Node discovery: static lists, DNS |
webglue_redis | 0.3 | A shared Redis client and a Redis pub/sub adapter |
webglue_fragment | 0.4 | Server push of data and markup fragments |
webglue_db | 0.4 | A repository on the request, explicit rollback |
webglue_validation | 0.4 | Checks and coerces parameters, headers and bodies |
webglue_demo | 0.1 | The companion ticket system |
Milestones
- Donev0.1.0 (27 August) — the core pattern and minimal HTTP: contract, router, test helpers, server contract, Bandit adapter, demo.
- Donev0.2.0 (24 September) — static files, sessions, Wrangler and the parity suite, benchmarking.
- Donev0.3.0 (25 September) — the realtime foundation: pub/sub, sockets, presence, clustering, Redis.
- Donev0.4.0 (29 September) — server push; the data layer and validation libraries arrived in the same release.
- In progressv0.5.0, data layer — the libraries are built and the demo uses them; what remains is deciding how far the demo moves to a real database for this milestone.
- Plannedv0.6–v0.13 — REST, OpenAPI and content negotiation; GraphQL; CSRF, CORS, security headers and compression; OAuth2 and OpenID Connect; HTTP caching; telemetry; jobs and queues; mail and storage.
- Plannedv1.0 — backend complete.
- Planned2.x — the frontend: components compiled by Praxis for the browser, and a morphing layer that applies pushed fragments to the DOM. v2.0 — frontend complete.
- Planned3.x — generators such as
prx webglue new, browser OAuth2, and stretch goals like HTTP/3. v3.0 — framework complete.
Proposed: templates
Webglue has no way yet to write a page. A proposal — nothing of it built — describes HTML files with {{ … }} holes and :for / :if attribute directives, compiled at build time into functions that return markup trees, with components written as tags. A LiveView-like live view is proposed on top. Where it lands in the plan is still open.
Known gaps
- Nothing on the browser side yet, and no templates.
- Wrangler has no HTTP/2, no TLS, and refuses chunked request bodies.
- Static files have no caching headers or ranges yet (planned with HTTP caching).
- Sessions have only the in-memory store, without server-side expiry.
- No content negotiation and no authentication or authorization yet.
Trying it
Not yet. Webglue is not published, and it needs the Praxis toolchain, which is not published either. When both are, the demo session is the place to start.