v2.9.0
cloudflare/pingorav2.9.0Sep 1, 2026by rekhoff
Upgrading?
AI Summary
Improves deployment controls and .NET compatibility while fixing commitlog durability issues.
Key Highlights
- Configuration to disable module-originated HTTP requests
- Improved .NET version and host OS handling
- Durability fixes for commitlog rotation and compression
New Features
- Module HTTP disable configuration
- .NET 10 on Windows/Linux, .NET 8 on macOS
- Improved WebSocket liveness and idle timeout handling
- TypeScript SDK identity preservation during reconnect
Full Release Notes
## Features ### Disable outbound HTTP requests from modules Standalone operators can now disable module-originated HTTP requests with the `[module-http] enabled = false` configuration setting. This provides an explicit deployment-level control for environments where modules should not be allowed to access external HTTP services. ([#5774](<https://github.com/clockworklabs/SpacetimeDB/pull/5774>)) ### Improved .NET version and host OS handling `spacetime init` and `spacetime dev` now choose a compatible .NET target based on the host OS: .NET 10 on Windows and Linux, and .NET 8 on macOS. C# build, generation, development, and publish commands now report incompatible host and .NET combinations clearly. This also fixes duplicate package references in .NET 8 NativeAOT module projects. ([#5571](<https://github.com/clockworklabs/SpacetimeDB/pull/5571>)) ## Bug Fixes ### Preserve acknowledged transactions across commitlog maintenance Commitlog segment rotation and compression now durably sync newly installed segment files and their containing directory. Previously, a power loss in a narrow window after a segment was renamed could lose transactions that had already been acknowledged as durable; compression could similarly replace a durable segment without fully persisting the replacement. The updated persistence path preserves the confirmed-read durability guarantee across crashes. ([#5785](<https://github.com/clockworklabs/SpacetimeDB/pull/5785>)) ### TypeScript SDK preserves identity during automatic reconnect The TypeScript SDK now reuses the identity token issued during a first-time anonymous connection when automatically reconnecting. Previously, if the initial connection was created without a stored token, a later reconnect could request a new anonymous identity and silently lose access to data associated with the original identity. Explicit connection rebuilds can still change identity as intended. ([#5761](<https://github.com/clockworklabs/SpacetimeDB/pull/5761>)) ### Improve WebSocket liveness and idle timeout handling Any client data now counts as WebSocket activity and extends the idle deadline, rather than requiring a pong specifically. Idle connections are closed with a proper close handshake and an `idle timeout` reason, with a grace period before forced teardown. This improves liveness detection and gives clients a clear reason for disconnection. ([#5517](<https://github.com/clockworklabs/SpacetimeDB/pull/5517>)) ### Fix C++ index queries with three or more columns C++ multi-column index scans now correctly support exact prefixes followed by an optional terminal range across indexes with three or more columns. Invalid queries with a non-terminal range are rejected at compile time, and index iterator buffering now handles large result payloads correctly. ([#5565](<https://github.com/clockworklabs/SpacetimeDB/pull/5565>)) ### Fix Unity static state reset and WebGL builds The C# SDK now resets generated generic table-handle static state through a non-generic Unity initialization path, fixing Play Mode behavior when domain reload is disabled. The missing `IEnumerator` import used by Unity WebGL message parsing has also been restored. ([#5738](<https://github.com/clockworklabs/SpacetimeDB/pull/5738>), [#5792](<https://github.com/clockworklabs/SpacetimeDB/pull/5792>)) ### Clean up SDK state after errors and disconnections The C# SDK now clears outstanding request tracking and pending operations when connections fail, removes failed subscriptions, and rejects one-off queries immediately when disconnected. This prevents stale state and memory from accumulating across error and reconnect paths. ([#5794](<https://github.com/clockworklabs/SpacetimeDB/pull/5794>)) ## What's Changed - Add configuration for disabling module outbound HTTP requests in [#5774](<https://github.com/clockworklabs/SpacetimeDB/pull/5774>) - Improve WebSocket liveness checks and idle timeout handling in [#5517](<https://github.com/clockworklabs/SpacetimeDB/pull/5517>) - Preserve acknowledged transactions across commitlog rotation and compression in [#5785](<https://github.com/clockworklabs/SpacetimeDB/pull/5785>) - Improve .NET version and host OS handling in [#5571](<https://github.com/clockworklabs/SpacetimeDB/pull/5571>) - Preserve TypeScript client identity tokens during automatic reconnect in [#5761](<https://github.com/clockworklabs/SpacetimeDB/pull/5761>) - Fix Unity static state resetting for generic types in [#5738](<https://github.com/clockworklabs/SpacetimeDB/pull/5738>) - Fix Unity WebGL `IEnumerator` import in [#5792](<https://github.com/clockworklabs/SpacetimeDB/pull/5792>) - Clean up C# SDK state after errors and disconnections in [#5794](<https://github.com/clockworklabs/SpacetimeDB/pull/5794>) - Fix C++ multi-column queries with three or more columns in [#5565](<https://github.com/clockworklabs/SpacetimeDB/pull/5565>) **Full Changelog**: [v2.8.3...v2.9.0](<https://github.com/clockworklabs/SpacetimeDB/compare/v2.8.3...release/candidate/v2.9.0>)
Related Repositories
farion1231/cc-switch★ 147,222
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
rustdesk/rustdesk★ 126,546
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
tauri-apps/tauri★ 112,094
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
ruvnet/RuView★ 99,051
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
oven-sh/bun★ 96,338
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one