SpacetimeDB version history
10 releases tracked, newest first.
v2.6.1
Jul 1, 2026- TypeScript optional fields now use optional key syntax (breaking change for some users).
- Fixed regression in `Identity` and `ConnectionId` propagation in procedures.
- `spacetime init --template` now lists available templates when no argument is provided.
6 downloads
v2.6.0
Jun 16, 20262.6.0 adds Primary Key support for Views in Rust, TypeScript, and C#, improves event table automigrations, includes CLI binary distribution improvements, and brings various performance enhancements and bug fixes.
## Features
### Primary Key support for Views (Rust, TypeScript, and C#)
Procedural views now support primary keys in Rust, TypeScript, and C#
> **Note:** C++ support for primary keys in views will be added in a future release.
- **Rust**: Declare primary keys in the `#[view]` macro:
```rust
#[spacetimedb::view(accessor = my_players, public, primary_key = id)]
pub fn my_players(ctx: &spacetimedb::ViewContext) -> Vec<Player> {
ctx.db.players().owner().filter(ctx.sender()).collect()
}
```
([#5111](https://github.com/clockworklabs/SpacetimeDB/pull/5111))
- **TypeScript**: Declare primary keys at the column/row level:
```typescript
const Player = t.row('Player', {
id: t.u64().primaryKey(),
owner: t.identity().index('btree'),
name: t.string(),
});
export const my_players = spacetimedb.view(
{ public: true },
t.array(players.rowType),
ctx => Array.from(ctx.db.players.owner.filter(ctx.sender))
6 downloads
v2.5.0
Jun 11, 20262.5.0 graduates procedures to stable availability, improves billing metric accuracy, and includes CLI usability fixes.
---
### Features
#### **Procedures are now stable** (Ungated from `unstable`)
Procedures-scheduled, transaction-capable server-side functions-and the outgoing HTTP client (`ctx.http`) are now available without opting into unstable features ([#5164](https://github.com/clockworklabs/SpacetimeDB/pull/5164)).
- **Rust**: The `#[spacetimedb::procedure]` macro, `ProcedureContext`, `with_tx`/`try_with_tx`, and scheduled procedures now work without `features = ["unstable"]`.
- **C#**: `[Experimental("STDB_UNSTABLE")]` removed from `ProcedureContext.WithTx/TryWithTx`.
- **C++**: Procedure ABI, transaction execution, and outgoing HTTP client are now available without `SPACETIMEDB_UNSTABLE_FEATURES`.
HTTP handlers/webhooks, views, and RLS (`client_visibility_filter`) remain gated behind unstable.
#### **Primary key support for procedural views (C#)**
Following Rust and TypeScript support in v2.4.1, C# modules can now declare primary keys on procedural views, enabling clients to receive `OnUpdate` events when subscribed to them ([#5246](https://github.com
6 downloads
v2.4.1
Jun 5, 2026We are releasing two small patches on top of 2.4.0:
[(#5111) Add primary key support for procedural views to rust and ts modules](https://github.com/clockworklabs/SpacetimeDB/pull/5111)
> Adds support for primary keys to procedural views in rust and typescript modules. Now clients can receive update events when subscribed to such views.
[(#5145) Fix index schema from st tables.](<https://github.com/clockworklabs/SpacetimeDB/pull/5145>)
This fixes https://github.com/clockworklabs/SpacetimeDB/issues/4701.
More to come soon!
**Full Changelog**: https://github.com/clockworklabs/SpacetimeDB/compare/v2.4.0...v2.4.1
6 downloads
v2.4.0
Jun 3, 20262.4.0 brings a headline new capability for Rust modules HTTP handlers alongside meaningful improvements to runtime performance, durability correctness, and server-side observability. The changelog is focused but every entry is production-relevant.
## Features
### HTTP handlers in modules
This is currently an `unstable` feature and will need to be enabled to have be available.
* Rust users can enable `unstable` features in their `Cargo.toml`:
```rust
[dependencies]
spacetimedb = { version = "1.*", features = ["unstable"] }
```
* C# users can enable `unstable` features by adding `#pragma warning disable STDB_UNSTABLE` at the top of your file.
* C++ users can enable `unstable` features by adding `#define SPACETIMEDB_UNSTABLE_FEATURES` before including the SpacetimeDB header.
Modules can now define custom HTTP routes and serve arbitrary HTTP requests directly from module code (Rust: [#4636](https://github.com/clockworklabs/SpacetimeDB/pull/4636), Typescript: [#4980](https://github.com/clockworklabs/SpacetimeDB/pull/4980), C#: [#5024](https://github.com/clockworklabs/SpacetimeDB/pull/5024),C++: [#5023](https://github.com/clockworklabs/SpacetimeDB/pull/5023)).
Usin
6 downloads
v2.3.0
May 27, 2026This release brings first-party Godot support and major WebSocket performance improvements. We've also landed significant pipeline optimizations, commitlog enhancements, and expanded our framework coverage.
## Features
### First-party Godot SDK and Blackholio Tutorial
SpacetimeDB now officially supports Godot with a complete C# SDK integration. The new Blackholio tutorial walks through building a multiplayer asteroids-style game, demonstrating best practices for entity replication, player input handling, and game state management in Godot (#4920).
### Faster WebSocket Transport with Batched Responses
The WebSocket layer now pipelines and batches responses using the v3 protocol, significantly reducing per-message overhead under high load. Combined with pipelined JavaScript module operations (#4962), WASM module operations (#4973), and a fully pipelined WebSocket send path (#5051), this delivers substantially improved throughput for real-time applications.
### HTTP/2 Backend Support
The SpacetimeDB server now supports HTTP/2, enabling more efficient client connections with multiplexed streams and header compression (#5027).
### Vue `useProcedure` Hook
Following the
6 downloads
v2.2.0
May 2, 20262.2.0 is here, and this one is a meaningful step forward for SpacetimeDB's realtime performance, operational safety, and day-to-day developer workflow. There are plenty of smaller fixes in this release too, but these are the major changes worth calling out.
## Features
### Faster realtime transport and client throughput
We’ve introduced a new v3 WebSocket transport that batches multiple logical client messages into a single frame, cutting per-message overhead while keeping the existing message model intact (#4761). The TypeScript SDK now uses the new transport by default (#4784). Under the hood, this release also includes a substantial round of hot-path performance work across the TS client, JS module runtime, and durability pipeline to improve throughput and reduce scheduler overhead under load.
### Safer production database operations
We added `spacetime lock` and `spacetime unlock` to protect databases from accidental deletion (#4502). On top of that, `spacetime delete` now asks for confirmation by default (#4770), `spacetime list` shows database names alongside identities (#4769), and `spacetime publish --yes` can now skip only the prompts you intend to skip instead of ski
6 downloads
v2.1.0
Mar 24, 2026Another week, another reason to celebrate 🎉 2.1.0 is here, and it's bringing some long-awaited features alongside a handful of satisfying bug squashes!
## Features
### 🦀 Rust client Wasm support
This one's been a long time coming. The Rust client SDK can now compile and run in the browser thanks to resolved Wasm compilation issues. If you've been waiting to build browser-based apps with the Rust SDK, your wait is over https://github.com/clockworklabs/SpacetimeDB/pull/4183
### 🎮 C++ Modules + Unreal SDK
Unreal developers, rejoice — both the C++ module bindings and the Unreal SDK have been brought up to speed with SpacetimeDB 2.0's APIs and codegen. Full compatibility, no more workarounds.
- Update C++ bindings for 2.0 compatibility <https://github.com/clockworklabs/SpacetimeDB/pull/4461>
- Update Unreal SDK to match latest APIs and codegen <https://github.com/clockworklabs/SpacetimeDB/pull/4497>
## Bug Fixes
There are several bug fixes in this release:
* Fix useTable isReady reverting to false after first row event by https://github.com/clockworklabs/SpacetimeDB/pull/4580
* Fix v2 client disconnects dropping subscriptions for other v2 clients https://gith
6 downloads
v2.0.5
Mar 13, 2026Hello again everyone! This is another small bug fix release. There was a small bug introduced during the `v2.0.4` that we're fixing here, plus another fix for users who are trying to use LLMs in procedures. We recommend upgrading to this version at your earliest convenience.
## Fixes
- [Bump HTTP procedure timeouts (500ms/10s → 30s/180s) and fix docs (#4630)](https://github.com/clockworklabs/SpacetimeDB/pull/4630)
- [core: Attempt to repair databases with wrong host type (#4619)](https://github.com/clockworklabs/SpacetimeDB/pull/4619)
Thank you to everyone who has reported issues in the discord! It has made it much easier to track these bugs down and fix them quickly 🛠️
## What's Changed
* Fix disconnects breaking view updates for other connections by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/4607
* CI - PR approval check skips for external PRs (properly this time) by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4611
* CI: Use pull_request_target for PR approval check by @clockwork-labs-bot in https://github.com/clockworklabs/SpacetimeDB/pull/4615
* Add a mode to the Rust SDK with additional logging to a file by @gefjon i
6 downloads
v2.0.4
Mar 11, 2026Hello everyone! This week's release is a small bug-fix patch with a few UX improvements 🎉
## New Features
- The `spacetime` CLI now checks daily for updates. When an update is available a notice is posted telling the user to upgrade.
- The `spacetime dev` project initialization logic now includes a fuzzy search which makes it much easier to find and select a template.
## Bug Fixes
* Fix spacetime login --token falling through to web login
* Several correctness fixes which could prevent a database from loading
## What's Changed
* Migrate to Rust 2024 by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/3802
* Append commit instead of individual transactions to commitlog by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/4404
* feat(tanstack): add SSR prefetching for Tanstack Start by @clockwork-tien in https://github.com/clockworklabs/SpacetimeDB/pull/4519
* Make `accessor` required for table-level index defs in typescript by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/4525
* Fix 'unsafe attr without unsafe' error by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/4534
* Add AgentSkills
6 downloads