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-jsonwebtokenandspacetimedb-jwksdependencies 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