Skip to content

release: v0.21.0 - #196

Merged
octalide merged 11 commits into
mainfrom
release/0.21.0
Sep 27, 2026
Merged

octalide merged 11 commits into
mainfrom
release/0.21.0

Conversation

@octalide

Copy link
Copy Markdown
Contributor

Integration merge of dev for 0.21.0. Release commit: #195.

The server runner in 0.24 hands an upgraded connection to Handler.tunnel and
bounds a streamed response by its progress. The hedge-hosted demo and bench
server keep overriding hedge 0.12.0's =0.21.0 pin by ref.
A streamed response whose source returned pending is pulled again only when
the host is told to. context.Waker is a value any thread may keep: slot and
generation name the target in the host's terms, so a waker kept past its
request wakes nothing.
A handler initializes a realtime.Session and asks for the upgrade with
realtime.upgrade, then responds without committing, since laurel's execution
treats a committed response as a cancelled request. The host negotiates and
commits the 101 with accept_upgrade and pumps the connection through
session_input and session_output. Pings, a peer's close and protocol errors
are answered without the application, and a drain closes with 1001.
laurel.serve installs a tunnel owner that pumps an upgraded connection
through the session its handler attached, with buffers from the request arena
the tunnel keeps, and attaches each request's waker. Tests cover a websocket
echo with a ping and a clean close, a second websocket closed with 1001 at the
drain, and an event stream fed from another thread that lives more than three
times its response timeout.
feat(#191): websockets and streams through mach-http 0.24's tunnel and progress deadline
…s demo/

graft's example/ carries the hedge-hosted demo now. The standalone demo,
which runs through laurel.serve, moves up to demo/ with the same pins,
and the README, doc/serve.md and CI follow it.
The bench server is hosted by laurel.serve on one thread instead of
hedge, so it drops hedge, its tls, quic and acme pins and the mach-http
override. run.sh passes the port through BENCH_PORT, and the report no
longer records a hedge version. COMPARISON.md and the one committed run
measured Laurel on hedge, which laurel no longer builds, so they go.
chore(#193): remove the hedge-hosted demo and hedge dependency
@octalide
octalide merged commit 94e192c into main Sep 27, 2026
7 checks passed
@octalide
octalide deleted the release/0.21.0 branch September 27, 2026 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant