v2.8.0
deepseek-ai/DeepSeek-OCRv2.8.0Aug 5, 2026by rekhoff
AI Summary
A feature release adding TypeScript submodule support and improving reliability and observability. It introduces namespaced module dispatch and fixes composite btree range scan bugs.
Key Highlights
- TypeScript submodule support with namespaced reducer/procedure dispatch
- Fixed composite btree range scans in TypeScript indexes
- Added Prometheus metrics to track scheduled function delays
- Reduced noisy server logs for routine client lifecycle events
Breaking Changes
- Modules using submodules require a v2.8.0+ server (ModuleDef now includes a submodule field)
New Features
- Namespaced HTTP handler delegation
- Auto-migration for submodule tables, views, and indexes
- Prometheus metrics for scheduled function delays
- Quieter logging levels for routine operations
Full Release Notes
## Features ### TypeScript submodule support for SpacetimeDB modules TypeScript modules can now import and mount other modules under a namespace. The runtime supports namespaced reducer/procedure dispatch and HTTP handler delegation; the client codegen exports namespace-aware table, reducer, and procedure handles and a query builder for submodule tables and views. The CLI now supports namespaced `spacetime call` and `spacetime sql`. Auto-migration is supported for submodule tables, views, and indexes. The C++ and C# bindings have been updated with autogenerated `RawSubmoduleV10` types. > **Compatibility note:** `ModuleDef` now includes a `submodule` field. Modules that do not use submodules can still be published to older servers, but modules that use submodules require a v2.8.0+ server. ([#5486](<https://github.com/clockworklabs/SpacetimeDB/pull/5486>)) ## Bug Fixes ### Fix TypeScript composite btree range scans TypeScript module indexes now correctly handle `filter()` and `delete()` methods when the final argument is a `Range` on a composite key. Previously, range bounds were sliced from the start of the key instead of after the prefix, producing incorrect results for composite range scans. ([#5479](<https://github.com/clockworklabs/SpacetimeDB/pull/5479>)) ## Reliability & Observability ### Track scheduled function delay The server now emits a warning and records a Prometheus metric when a scheduled function starts more than 50 ms after its expected start time. ([#5592](<https://github.com/clockworklabs/SpacetimeDB/pull/5592>)) ### Reduce noisy server logs Routine client connection lifecycle, SQL query, JWT payload lookup, PostgreSQL socket processing, migration planning, and reducer-returned error logs are now logged at quieter levels or written only to the module log. Actionable logs remain visible. ([#5320](<https://github.com/clockworklabs/SpacetimeDB/pull/5320>)) ## What’s Changed - Add TypeScript submodule support for SpacetimeDB modules in [#5486](<https://github.com/clockworklabs/SpacetimeDB/pull/5486>) - Fix TS composite btree range scans in [#5479](<https://github.com/clockworklabs/SpacetimeDB/pull/5479>) - Track scheduled function delay in [#5592](<https://github.com/clockworklabs/SpacetimeDB/pull/5592>) - Reduce noisy server logs in [#5320](<https://github.com/clockworklabs/SpacetimeDB/pull/5320>) **Full Changelog**: [v2.7.1-hotfix1...v2.8.0](<https://github.com/clockworklabs/SpacetimeDB/compare/v2.7.1-hotfix1...v2.8.0>)