github clockworklabs/SpacetimeDB v2.10.2
Release v2.10.2

3 hours ago

Improvements

Transparent compression for procedure HTTP requests

Outbound HTTP requests made by module procedures now advertise gzip and Brotli support and transparently decode compressed responses. This reduces transfer size and latency without module changes.

Modules that manually set Accept-Encoding and decompress responses themselves should remove their manual decompression. Response Content-Encoding and compressed Content-Length headers are removed after decoding, and HTTP response-size metrics now report decompressed bytes.

(#5698)

Faster TypeScript string serialization

TypeScript module bindings now avoid per-string codec allocation and use an allocation-free fast path for ASCII strings. Serialized bytes and public APIs are unchanged.

(#5783)

Canonical namespace names across languages

Module, table, reducer, and type namespaces are now canonicalized consistently during schema validation and code generation. This fixes mismatches where Rust, TypeScript, C#, C++, and the generated client APIs handled namespace casing or punctuation differently, and makes multi-language module projects more predictable.

(#5967)

Simpler, stricter sequence handling

Non-transactional sequence state has been removed and non-default sequence parameters are no longer allowed. Sequences now behave more predictably during transactions, recovery, and replication, and modules that relied on unsupported sequence options will fail validation with a clear error instead of silently misbehaving.

(#5880)

Reliability

Stronger replicated commit durability

Maincloud replication now confirms that commit-log data is durable before advancing the Omnipaxos decided index. This prevents a crash-recovery state where consensus metadata can be ahead of the durable commit log.

Safer TypeScript WebSocket decompression

TypeScript SDK WebSocket message decompression is now sequenced correctly, preventing out-of-memory errors that could occur when multiple compressed messages arrived in rapid succession.

(#5845)

Replication startup and follower synchronization fixes

Replication startup has been hardened against races during cluster initialization, and follower peer synchronization has been corrected to avoid stale replica state after topology changes.

Additional Changes

  • Scheduled functions that overrun their interval no longer produce repetitive warning-level log messages. (#5963)
  • Documentation now includes an official agent setup guide with the Zen of Spacetime, updated scheduled-function and C# client guidance, repaired redirects, and an updated Railway deployment link. (#5928, #5968, #5917, #5916, #5948, #5959)

What's Changed

  • Server groundwork for automatic client reconnection in #5877
  • Transparent gzip/Brotli decompression for procedure HTTP responses in #5698
  • Faster TypeScript string serialization with an ASCII fast path in #5783
  • Canonical namespace names across module languages and generated clients in #5967
  • Stricter sequence handling by removing non-transactional sequence state in #5880
  • Safer TypeScript WebSocket decompression sequencing in #5845
  • Updated scheduled-function and C# client documentation in #5917
  • Redirected dead documentation URLs and fixed in-repo links in #5916
  • Updated Railway deploy button in #5948
  • Fixed README SQL reference link in #5959
  • Added official SpacetimeDB agent setup guide in #5928
  • Introduced the Zen of Spacetime in the agent setup guide in #5968
  • Reduced scheduled-function overrun log noise from warning to trace in #5963

Full public changelog: v2.10.1...release/candidate/v2.10.2

Don't miss a new SpacetimeDB release

NewReleases is sending notifications on new releases.