Skip to content

Bump Suave from 2.6.2 to 3.4.6 - #1272

Merged
nojaf merged 1 commit into
fsprojects:mainfrom
nojaf:bump-suave
Aug 31, 2026
Merged

Bump Suave from 2.6.2 to 3.4.6#1272
nojaf merged 1 commit into
fsprojects:mainfrom
nojaf:bump-suave

Conversation

@nojaf

@nojaf nojaf commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Bumped Suave, remove a redundant web socket log, use the root url for the logo during watch mode.


Migrate the fsdocs watch server to Suave 3's Task-based socket API: the websocket handler and reload broadcast now use ValueTask/Result, the removed Suave.Logging module is dropped, and the server task from startWebServerAsync is already hot so it no longer needs Async.Start.

While migrating, fix a crash in watch mode: clients that disconnect without a close handshake stayed registered, and broadcasting to such a dead socket throws ObjectDisposedException in Suave 3, killing the whole watch process. Clients are now deregistered whenever their connection ends, and the broadcast tolerates stale sockets.

Also in watch mode, the logo now links to the locally hosted site root instead of the production URL (even when is set), and the console no longer logs websocket connection chatter on every page reload. Release builds are unaffected.

Bump Fun.Build from 1.0.4 to 1.1.18 and make build.fsx directly executable via a dotnet fsi shebang.

Migrate the fsdocs watch server to Suave 3's Task-based socket API:
the websocket handler and reload broadcast now use ValueTask/Result,
the removed Suave.Logging module is dropped, and the server task from
startWebServerAsync is already hot so it no longer needs Async.Start.

While migrating, fix a crash in watch mode: clients that disconnect
without a close handshake stayed registered, and broadcasting to such
a dead socket throws ObjectDisposedException in Suave 3, killing the
whole watch process. Clients are now deregistered whenever their
connection ends, and the broadcast tolerates stale sockets.

Also in watch mode, the logo now links to the locally hosted site
root instead of the production URL (even when <FsDocsLogoLink> is
set), and the console no longer logs websocket connection chatter on
every page reload. Release builds are unaffected.

Bump Fun.Build from 1.0.4 to 1.1.18 and make build.fsx directly
executable via a dotnet fsi shebang.

Release notes: 22.2.0.
@nojaf
nojaf merged commit ee4a0f8 into fsprojects:main Aug 31, 2026
11 checks passed
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