Skip to content

Release v2.8.0

Latest

Choose a tag to compare

@rekhoff rekhoff released this 05 Aug 19:43
v2.8.0
07aab11

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)

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)

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)

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)

What’s Changed

  • Add TypeScript submodule support for SpacetimeDB modules in #5486
  • Fix TS composite btree range scans in #5479
  • Track scheduled function delay in #5592
  • Reduce noisy server logs in #5320

Full Changelog: v2.7.1-hotfix1...v2.8.0