joetjen.net
EN DE
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.

In development · v0.4

The libraries today

Every library in the workspace is implemented and tested; there are no stubs. They are versioned together.

LibrarySinceDoes
webglue_spec0.1The request/response contract and the words for reading it
webglue_router0.1Route tables as data, groups, HEAD and OPTIONS, prx routes
webglue_test0.1Requests, responses and stand-in handlers for tests, no server needed
webglue_server0.1The adapter contract, the parity suite, prx webglue bench
webglue_bandit0.1Adapter over Bandit: HTTP/1.1, HTTP/2, WebSockets
webglue_wrangler0.2Webglue’s own HTTP/1.1 server; no HTTP/2 or TLS yet
webglue_session0.2Session middleware over a pluggable store; an in-memory store
webglue_static0.2Files from a directory, traversal-safe
webglue_pubsub0.3Topic broadcast on pg, with an adapter seam
webglue_socket0.3Persistent connections as responses; RFC 6455 both ways
webglue_presence0.3Who is connected on a topic, across nodes
webglue_cluster0.3Node discovery: static lists, DNS
webglue_redis0.3A shared Redis client and a Redis pub/sub adapter
webglue_fragment0.4Server push of data and markup fragments
webglue_db0.4A repository on the request, explicit rollback
webglue_validation0.4Checks and coerces parameters, headers and bodies
webglue_demo0.1The 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.