v1.12.0

clockworklabs/SpacetimeDBv1.12.0Feb 4, 2026by jdetter

AI Summary

Final pre-2.0 release with typed query builders for TypeScript, Rust, and C#, new front-end framework SDKs, and organizations support.

Key Highlights

  • Typed Query Builder for TypeScript, Rust, and C# clients
  • Vue framework SDK
  • Svelte framework integration
  • Organizations support for teams
  • New Auth0 and Clerk authentication tutorials

New Features

  • Typed Query Builder for TypeScript
  • Typed Query Builder for Rust
  • Typed Query Builder for C#
  • Vue SDK
  • Svelte SDK
  • Organizations support

Full Release Notes

The end of 1.0 is nigh! 🤩 

 v1.12 will be the last minor version before we drop SpacetimeDB 2.0! SpacetimeDB 2.0 will come with code breaking changes (you may need to change your modules and clients), but it will not require a migration of the existing data directory, and include backwards compatibility with existing clients and modules, so all existing databases and modules will continue working on both Standalone deploys and Maincloud.

If you're not subscribed to our YouTube channel, [you should be](https://www.youtube.com/@SpacetimeDB). Trust me on that one.

We've got some great updates today in v1.12!

### Typed Query Builder
  - Added a **typed query builder for the TypeScript client**. (#4021)
  - Added a **Rust client query builder**. (#4003)
  - Added a **typed query builder for the C# client**, plus additional regression coverage. (#3982, #4123)
  
You can now subscribe to your server's data with type safe queries from clients:

TypeScript
```ts
import { queries } from "./module_bindings";
conn.subscriptionBuilder().subscribe([queries.user.build()]);
```

C#
```cs
conn.SubscriptionBuilder().AddQuery(ctx => ctx.From.User().Build()).Subscribe();
```

Rust
```rs
conn.subscription_builder().add_query(|ctx| ctx.from.user().build()).subscribe();
```

NOTE: We would like to remove the `.build()` for 2.0, but you can try it out with the existing API.

### Other highlights
- **New front-end framework SDKs**
  - Added a **Vue framework SDK**. (#4037)
  - Added a **Svelte framework integration**. (#4063)

- **Organizations support**
  - Introduced **Organizations** support. (#4087)

- **Operational tooling improvements**
  - Added `spacetime login --no-browser` for headless/CI environments. (#4142)
  - Core: added a method to query the **replica IDs managed by the host controller**. (#4160)

### Developer experience & docs
- Added new authentication tutorials:
  - **Auth0 tutorial**. (#4048)
  - **Clerk tutorial**. (#4062)
- Documentation updates and clarifications, including explaining “maincloud” context. (#4029, #4071, #4168)

### Performance & internal improvements
- Multiple datastore and update-path optimizations (construction, view evaluation fast paths, layout usage, and small data-structure refinements). (#4133, #4134, #4138, #4136)
- Reduced JS worker request/reply sizes and improved data-structure choices for better cache efficiency. (#4150, #4151)

### Reliability & correctness
- Fixed `Hash` indices not working. (#4060)
- Durability: notify waiters after lockfile drop. (#4051)
- Fixed occasional panic when a client disconnects. (#4162)
- Improved blob handling flexibility (`copy_filter` and related). (#4096)
- Marked `MutTxId` as `!Send` to avoid incorrect cross-thread usage. (#4039)
- Added support and filtering improvements around `Uuid` (including React Hook `where` support and making the new `Uuid` type filterable). (#4030, #3991)

### New contributors
- @Boegie19 (#4043)
- @douglance (#4056)
- @DKormann (#4104)

## What's Changed
* Expose a couple things to enable some work in another repo by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/3986
* `eval_updates_sequential`: no queries? => quit early by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4049
* Fix LLM benchmark Rust wrong struct name by @Boegie19 in https://github.com/clockworklabs/SpacetimeDB/pull/4043
* durability: Notify waiters after lockfile is dropped by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/4051
* In-memory DatabaseLogger by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/3961
* `impl MemoryUsage for TxState` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4054
* Marks MutTxId as !Send by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/4039
* CI - Fix hint for fixing llm benchmarks by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4040
* Further misc docs changes by @cloutiertyler in https://github.com/clockworklabs/SpacetimeDB/pull/4029
* Move unity testsuite onto unity runner by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/4061
* Add ~/.local/bin to GITHUB_PATH for llm benchmark workflow by @drogus in https://github.com/clockworklabs/SpacetimeDB/pull/4064
* Add Auth0 tutorial  by @JulienLavocat in https://github.com/clockworklabs/SpacetimeDB/pull/4048
* Fix `Hash` indices not working by @kistz in https://github.com/clockworklabs/SpacetimeDB/pull/4060
* fix: docs llm test. make tables that we sql query public by @Boegie19 in https://github.com/clockworklabs/SpacetimeDB/pull/4058
* Add a typed query builder for the typescript client by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/4021
* Add Clerk tutorial by @JulienLavocat in https://github.com/clockworklabs/SpacetimeDB/pull/4062
* Support `Uuid` in React Hook `where` clause by @kistz in https://github.com/clockworklabs/SpacetimeDB/pull/4030
* Fixes C# benchmark test failures caused by table naming convention mismatches by @cloutiertyler in https://github.com/clockworklabs/SpacetimeDB/pull/4059
* Empty commit basically by @cloutiertyler in https://github.com/clockworklabs/SpacetimeDB/pull/4088
* Do not block CI on llm benchmarks by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/4095
* Rust: client query builder by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/4003
* Fix test failure in fresh checkout of repository by @douglance in https://github.com/clockworklabs/SpacetimeDB/pull/4056
* Pass --yes flag from dev command to generate command by @cloutiertyler in https://github.com/clockworklabs/SpacetimeDB/pull/4069
* Add `cargo ci dlls` command for building C# DLLs and NuGet packages by @rekhoff in https://github.com/clockworklabs/SpacetimeDB/pull/4033
* `copy_filter` & co: make blob handling more flexible by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4096
* Add `PointerMap::{iter, merge_from}` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4092
* Make new `Uuid` type Filterable by @kistz in https://github.com/clockworklabs/SpacetimeDB/pull/3991
* Reduce `Test Suite` test concurrency to reduce test flakes by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/3979
* Bump to v8 145  by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/4073
* Add `HashMapBlobStore::merge_from` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4091
* Templates naming standarization by @drogus in https://github.com/clockworklabs/SpacetimeDB/pull/4042
* fix cross reducer call TS reference by @DKormann in https://github.com/clockworklabs/SpacetimeDB/pull/4104
* Removing1.5.0 DLLs by @rekhoff in https://github.com/clockworklabs/SpacetimeDB/pull/4100
* Re-run the LLM benchmarks update by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4110
* Make all `VmMetrics` for the reducers and views of a module in `InstanceCommon::new` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4106
* feat: create Vue framework sdk by @clockwork-tien in https://github.com/clockworklabs/SpacetimeDB/pull/4037
* Allow setting custom v8 flags by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/4126
* Hide LLM benchmark files in git diffs by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4111
* Fix the upgrade version tool by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/4085
* CI: Fix of C# tests failures by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/4121
* optimize datastore by using `ty.layout.fixed` more by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4133
* `eval_updates_sequential`: comment out tracing by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4132
* optimize `view_for_update` to do nothing when there are no views by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4134
* define `SmallHashMap` in `spacetimedb_data_structures` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4136
* Upgrade version to 1.12.0 by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/4084
* [TS] Implement ctx.random() by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/3907
* Optimize `TxData` + `DatabaseUpdate` for fast construction by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4138
* Small docs improvement by @cloutiertyler in https://github.com/clockworklabs/SpacetimeDB/pull/4071
* Define `TableName` and `ReducerName`  backed by `EcoString` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4137
* C# client typed query builder by @rekhoff in https://github.com/clockworklabs/SpacetimeDB/pull/3982
* [1/3] `RawModuleDefV10` definition and validation. by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/4098
* [2/3] [Rust] Host changes for `RawModuleDefV10` by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/4105
* Shrink `JsWorkerReply` to 48, making replies fit in a cache line by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4151
* Revert "Upgrade version to 1.12.0 (#4084)" by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4147
* Skip LLM check for now by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4152
* Add `spacetime login --no-browser` by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4142
* RLS section in `RawModuleDefV10`. by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/4149
* Shrink `JsWorkerRequest` & use the right HashMap/Set by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4150
* core: Add a method to query the replica ids managed by the host controller by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/4160
* add missing category specifier [Unreal] by @KirstenWF in https://github.com/clockworklabs/SpacetimeDB/pull/4156
* feat: create Svelte framework integration by @clockwork-tien in https://github.com/clockworklabs/SpacetimeDB/pull/4063
* Added query-with-index C# regression tests by @rekhoff in https://github.com/clockworklabs/SpacetimeDB/pull/4123
* Organizations by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/4087
* Fix occasional panic when client disconnects by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/4162
* Make `global.json` global again by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4166
* Adding Abort to C# Websocket by @rekhoff in https://github.com/clockworklabs/SpacetimeDB/pull/3352
* add connection log category [Unreal] by @KirstenWF in https://github.com/clockworklabs/SpacetimeDB/pull/4157
* Explain maincloud in context by @aasoni in https://github.com/clockworklabs/SpacetimeDB/pull/4168
* templates/basic-rs properly uses workspace versions by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4170
* [C#] Update module bindings to use new View ABI by @rekhoff in https://github.com/clockworklabs/SpacetimeDB/pull/4146
* CI - more hacky v8 fixes by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4171
* Use VM-based github runners by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/4045
* Bump version to v1.12.0 attempt #2 by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4164

## New Contributors
* @Boegie19 made their first contribution in https://github.com/clockworklabs/SpacetimeDB/pull/4043
* @douglance made their first contribution in https://github.com/clockworklabs/SpacetimeDB/pull/4056
* @DKormann made their first contribution in https://github.com/clockworklabs/SpacetimeDB/pull/4104

**Full Changelog**: https://github.com/clockworklabs/SpacetimeDB/compare/v1.11.3...v1.12.0