v2.10.0
clockworklabs/SpacetimeDBv2.10.0Sep 4, 2026by rekhoff
AI Summary
SpacetimeDB v2.10.0 introduces performance optimizations for C# NativeAOT builds and adds Model Context Protocol (MCP) support for Maincloud. It also resolves critical bugs in the TypeScript SDK and C++ macro generation to improve stability and reliability.
Key Highlights
- C# NativeAOT monomorphized dispatch for improved performance
- MCP support on Maincloud for AI agent integration
- Fixed TypeScript SDK websocket error routing
- Fixed C++ auto-increment macro symbol collisions
New Features
- C# NativeAOT monomorphized dispatch
- MCP support on Maincloud
Full Release Notes
## Features ### C# NativeAOT monomorphized dispatch Generated C# module exports now dispatch directly to statically-known generic entrypoints for reducers, procedures, HTTP handlers, views, and anonymous views when building with NativeAOT-LLVM. This eliminates virtual dispatch overhead at the module boundary and improves NativeAOT module performance. ([#5610](<https://github.com/clockworklabs/SpacetimeDB/pull/5610>)) ### MCP support on Maincloud The SpacetimeDB MCP endpoint (`/v1/mcp`) is now available on Maincloud. You can connect AI agents and MCP-compatible tools directly to your Maincloud databases. This release also adds cluster-aware routing so that MCP requests sent to any node are automatically proxied to the leader replica, along with egress tracking for MCP tool calls. ([#5849](<https://github.com/clockworklabs/SpacetimeDB/pull/5849>), [#5793](<https://github.com/clockworklabs/SpacetimeDB/pull/5793>)) ## Bug Fixes ### TypeScript SDK: route mid-session websocket errors to onDisconnect The TypeScript SDK's `ws.onerror` handler previously treated every websocket error as a connection failure, even on established connections. This fired `onConnectError` instead of `onDisconnect`, silently disabled the outbound send path, and left the client in a stalled state with no reconnect. Mid-session errors now close the socket and fire `onDisconnect` with the error, allowing existing reconnect handling to take over. ([#5707](<https://github.com/clockworklabs/SpacetimeDB/pull/5707>)) ### Fix C++ auto-increment macro symbol collisions C++ auto-increment field macros previously used `__LINE__` to generate symbols, causing collisions when two table definitions in separate files had an auto-increment field on the same line number. Macros now use table and field names to guarantee unique symbols. ([#5836](<https://github.com/clockworklabs/SpacetimeDB/pull/5836>)) ### Fix `spacetime dev` C# complaint on macOS The `spacetime dev` command no longer incorrectly warns about C# on macOS when C# is not in use. ([#5867](<https://github.com/clockworklabs/SpacetimeDB/pull/5867>)) ## What's Changed - Allow monomorphization for C# NativeAOT reducers, procedures, HTTP handlers, and views in [#5610](<https://github.com/clockworklabs/SpacetimeDB/pull/5610>) - Add MCP request routing to leader replica in [#5849](<https://github.com/clockworklabs/SpacetimeDB/pull/5849>) - Add egress tracking for MCP requests in [#5793](<https://github.com/clockworklabs/SpacetimeDB/pull/5793>) - Route TypeScript SDK mid-session websocket errors to onDisconnect in [#5707](<https://github.com/clockworklabs/SpacetimeDB/pull/5707>) - Fix C++ auto-increment macro symbol collisions in [#5836](<https://github.com/clockworklabs/SpacetimeDB/pull/5836>) - Fix `spacetime dev` C# warning on macOS in [#5867](<https://github.com/clockworklabs/SpacetimeDB/pull/5867>) **Full Changelog**: [v2.9.0...v2.10.0](<https://github.com/clockworklabs/SpacetimeDB/compare/v2.9.0...release/candidate/v2.10.0>)