v2.8.0

knadh/listmonkv2.8.0Aug 5, 2026by rekhoff

AI Summary

This release introduces TypeScript submodule support for SpacetimeDB modules, enabling namespace imports and mounting. It also includes bug fixes for composite range scans and improves observability by tracking scheduled function delays.

Key Highlights

  • TypeScript submodule support with namespace imports and auto-migration
  • Fix for TypeScript composite btree range scans
  • Track scheduled function delays via Prometheus metrics
  • Reduced noisy server logs

Breaking Changes

  • ModuleDef now includes a submodule field; modules using submodules require a v2.8.0+ server

New Features

  • TypeScript submodule support for modules
  • Auto-migration for submodule tables and views
  • Prometheus metric for scheduled function delay
  • Reduced verbosity of routine server logs

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