github clockworklabs/SpacetimeDB v2.7.1
Release v2.7.1

10 hours ago

Bug Fixes

Safer sequence migrations

Adding a sequence to an existing integer column now correctly checks the full sequence range, including the maximum representable value. Migrations with existing conflicting values fail during the precheck rather than proceeding to a later unique-constraint violation.

(#5561)

Preserve column defaults in V10 schemas

V10 schema serialization now retains declared column default values. This fixes the V10 database schema endpoint and extract-schema, so schema diff, compatibility, code generation, and migration tooling can observe defaults.

(#5508)

Fix scheduled-reducer interval drift

Scheduled reducers and procedures now use the reducer's own timestamp parameter to compute the next interval, instead of Timestamp::now(). This prevents long-running scheduled reducers from drifting over repeated runs.

(#5574)

Restore JWT/JWKS dependencies

The removal of the spacetimedb-jsonwebtoken and spacetimedb-jwks dependencies has been reverted due to Keats/jsonwebtoken#510. This restores the previous authentication behavior.

(#5578)

TypeScript SDK reconnects on refocus and network return

The TypeScript SDK now listens for visibilitychange, focus, online, and pageshow events in the browser. When a tab returns to the foreground or the network comes back, stalled reconnect backoffs are reset and dead sockets are torn down and rebuilt automatically.

(#5525)

Fix task leak on module init

A leaked metric-tracking task is now dropped when module initialization fails, particularly during replay errors. A new module_host_init_attempts counter is also recorded on every init attempt for per-database alerting.

(#5601)

Reliability & Observability

Reducer errors log database identity and reducer name

When a reducer returns an error, the log line now includes the database identity and the reducer name, making it easier to correlate errors with upstream connection or proxy issues.

(#5473)

Release & Packaging

Fix npm release artifact handling

The release workflow now handles the npm package more robustly, fixing two potential issues during release artifact upload.

(#5593)

Networking & Infrastructure

Enable HTTP/2

SpacetimeDB now enables HTTP/2 on its ingress paths, improving connection multiplexing and reducing latency for clients and internal services.

Cache CORS preflight responses

CORS preflight responses are now cached, reducing redundant preflight round-trips for browser-based clients.

Documentation

Convex migration guide

The documentation now includes a guide for migrating Convex applications to SpacetimeDB, covering schema design, reducers, views, procedures, HTTP handlers, scheduling, authentication, and client subscriptions.

(#5536)

What's Changed

  • Fix sequence migration prechecks in #5561
  • Preserve column defaults in V10 schemas in #5508
  • Fix scheduled-reducer interval drift in #5574
  • Restore spacetimedb-jsonwebtoken and spacetimedb-jwks dependencies in #5578
  • TypeScript SDK reconnects on refocus and network return in #5525
  • Fix task leak on module init in #5601
  • Fix npm release artifact handling in #5593
  • Enable HTTP/2
  • Cache CORS preflight responses
  • Log database identity and reducer name on reducer errors in #5473
  • Add the Convex migration guide in #5536

Full Changelog: v2.7.0-hotfix3...v2.7.1

Don't miss a new SpacetimeDB release

NewReleases is sending notifications on new releases.