v2.10.2

clockworklabs/SpacetimeDBv2.10.2Sep 29, 2026by rekhoff

Upgrading?

AI Summary

This release focuses on performance, reliability, and schema consistency. It introduces transparent HTTP compression, faster TypeScript serialization, and stricter sequence handling to improve predictability. It also hardens replication durability and fixes documentation.

Key Highlights

  • Transparent gzip/Brotli decompression for module procedure HTTP requests
  • Faster TypeScript string serialization with an allocation-free fast path
  • Canonical namespace names across languages (Rust, TypeScript, C#, etc.)
  • Stricter sequence handling by removing non-transactional sequence state
  • Hardened replication durability and startup synchronization

New Features

  • Transparent HTTP compression support for outbound requests
  • Faster TypeScript string serialization
  • Canonical namespace handling across generated clients
  • Safer TypeScript WebSocket decompression sequencing
  • Fixed scheduled-function overrun log noise

Full Release Notes

## 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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/5928>), [#5968](<https://github.com/clockworklabs/SpacetimeDB/pull/5968>), [#5917](<https://github.com/clockworklabs/SpacetimeDB/pull/5917>), [#5916](<https://github.com/clockworklabs/SpacetimeDB/pull/5916>), [#5948](<https://github.com/clockworklabs/SpacetimeDB/pull/5948>), [#5959](<https://github.com/clockworklabs/SpacetimeDB/pull/5959>))

## What's Changed

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

**Full public changelog**: [v2.10.1...release/candidate/v2.10.2](<https://github.com/clockworklabs/SpacetimeDB/compare/v2.10.1...release/candidate/v2.10.2>)

Related Repositories