v2.7.1
alibaba/zvecv2.7.1Jul 30, 2026by rekhoff
AI Summary
This release focuses on stability improvements, reliability enhancements, and networking optimizations. Key fixes include safer sequence migrations, corrected scheduled reducer timing, and restored JWT dependencies. It also introduces HTTP/2 support and a new migration guide for Convex applications.
Key Highlights
- Safer sequence migrations that check the full sequence range during prechecks
- Enable HTTP/2 for improved connection multiplexing and reduced latency
- TypeScript SDK now automatically reconnects when browser tabs return to focus or network connections are restored
- Restore JWT/JWKS dependencies to fix authentication behavior
- New documentation guide for migrating Convex applications to SpacetimeDB
New Features
- HTTP/2 support on ingress paths
- CORS preflight response caching to reduce round-trips
- Enhanced logging for reducer errors including database identity and reducer name
- New metric counter for module initialization attempts
- Convex migration guide in documentation
Full Release Notes
## 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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/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](<https://github.com/clockworklabs/SpacetimeDB/pull/5536>)) ## What's Changed - Fix sequence migration prechecks in [#5561](<https://github.com/clockworklabs/SpacetimeDB/pull/5561>) - Preserve column defaults in V10 schemas in [#5508](<https://github.com/clockworklabs/SpacetimeDB/pull/5508>) - Fix scheduled-reducer interval drift in [#5574](<https://github.com/clockworklabs/SpacetimeDB/pull/5574>) - Restore `spacetimedb-jsonwebtoken` and `spacetimedb-jwks` dependencies in [#5578](<https://github.com/clockworklabs/SpacetimeDB/pull/5578>) - TypeScript SDK reconnects on refocus and network return in [#5525](<https://github.com/clockworklabs/SpacetimeDB/pull/5525>) - Fix task leak on module init in [#5601](<https://github.com/clockworklabs/SpacetimeDB/pull/5601>) - Fix npm release artifact handling in [#5593](<https://github.com/clockworklabs/SpacetimeDB/pull/5593>) - Enable HTTP/2 - Cache CORS preflight responses - Log database identity and reducer name on reducer errors in [#5473](<https://github.com/clockworklabs/SpacetimeDB/pull/5473>) - Add the Convex migration guide in [#5536](<https://github.com/clockworklabs/SpacetimeDB/pull/5536>) **Full Changelog**: [v2.7.0-hotfix3...v2.7.1](<https://github.com/clockworklabs/SpacetimeDB/compare/v2.7.0-hotfix3...v2.7.1>)