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>)