v2.0.2

clockworklabs/SpacetimeDBv2.0.2Feb 26, 2026by bfops

AI Summary

A bug fix and quality-of-life release following the 2.0 launch, focusing on CLI improvements, durability tuning, and documentation fixes.

Key Highlights

  • TypeScript: fix table schema wire name lookup crash
  • spacetime dev: fix file watcher ignoring --module-path
  • Reduce local durability fsync interval to 10ms (down from 500ms)
  • C# SDK: ArrayPool for row iteration buffers to reduce GC pressure
  • Don't save source_config to spacetime.json

Full Release Notes

# SpacetimeDB v2.0.2

A bug fix and quality-of-life release following the 2.0 launch. This release focuses on CLI improvements, durability tuning, and documentation fixes.

## Bug fixes

- **TypeScript: fix table schema wire name lookup crash.** The TypeScript SDK was using PascalCase accessor names for wire protocol lookups, causing crashes when case conversion was enabled. (#4449)
- **`spacetime dev`: fix file watcher ignoring `--module-path`.** When `--module-path` was set via CLI flag or `spacetime.json`, the file watcher still watched the default directory instead. (#4464)
- **`spacetime dev`: better error when module directory does not exist.** Previously showed a confusing "could not detect language" error. Now shows the actual missing path. (#4467)
- **Fix "Press any key to exit" in templates.** The prompt said "any key" but actually required Enter. Updated text and logic to match. (#4468)
- **Don't save `source_config` to `spacetime.json`.** Internal build configuration was being persisted to the user-facing config file. (#4422, #4423)

## Performance

- **Reduce local durability fsync interval to 10ms** (down from misconfigured 500ms default), improving confirmed reads latency for local (non-replicated) databases. (#4466, #4420)
- **C# SDK: `ArrayPool` for row iteration buffers.** `RawTableIterBase.Enumerator` now rents from `ArrayPool<byte>.Shared` instead of allocating a fresh `byte[]` per step, significantly reducing GC pressure. (#4385)

## Documentation

- Correct unique indexes in cheat sheet to use `filter`, not `find`. (#4452)
- Correct "table" to "view" in Zen of SpacetimeDB. (#4434)
- Update C# docs with `List<T>` returns and `IEnumerable<T>` examples. (#4392)
- Fix AI assistant rules links in `llms.txt`. (#4430)
- Add ARM M-series CPU note in benchmark readme. (#4426)
- Add schedule name correction for LLM rules. (#4370)
- Fix Spacerace button and rename nav item to Referrals. (#4458, #4477)

## What's Changed
* durability: Default local durability sync interval to 50ms by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/4420
* keynote-2: use rust client by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/4421
* Don't save source_config to spacetime.json by @drogus in https://github.com/clockworklabs/SpacetimeDB/pull/4422
* Remove source-config field from spacetime.json by @drogus in https://github.com/clockworklabs/SpacetimeDB/pull/4423
* CI - Fix smoketests running twice by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4281
* Update `bump-versions` to support prereleases by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4384
* Add ARM M-series CPU note in benchmark readme by @aasoni in https://github.com/clockworklabs/SpacetimeDB/pull/4426
* Fix AI assistant rules links in llms.txt by @JulienLavocat in https://github.com/clockworklabs/SpacetimeDB/pull/4430
* Correct "table" to "view" in 00250-zen-of-spacetimedb.md by @knut-egil in https://github.com/clockworklabs/SpacetimeDB/pull/4434
* [C#] Update RawTableIterBase.Enumerator to use `ArrayPool` for buffer by @rekhoff in https://github.com/clockworklabs/SpacetimeDB/pull/4385
* TS: fix `sourceName` in table schema by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/4449
* Smoketest subscribe properly respects new confirmed behavior by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4454
* Fix spacerace button in docs by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/4458
* [Docs] [C#] Update docs with `List<T>` returns and `IEnumerable<T>` tests by @rekhoff in https://github.com/clockworklabs/SpacetimeDB/pull/4392
* Correct unique indexes in cheat sheet to use `filter`, not `find` by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/4452
* Add schedule name correction for LLMs by @Boegie19 in https://github.com/clockworklabs/SpacetimeDB/pull/4370
* Bump versions to 2.0.2 by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4455
* `spacetime dev` - Improve error when module directory does not exist by @clockwork-labs-bot in https://github.com/clockworklabs/SpacetimeDB/pull/4467
* Remove 'Press any key to exit' in basic-rs and basic-cpp templates by @clockwork-labs-bot in https://github.com/clockworklabs/SpacetimeDB/pull/4468
* `cargo bump-versions` properly updates the smoketests lockfile by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/4462
* `spacetime dev` - Fix file watcher ignoring `--module-path` / `spacetime.json` `module_path` by @clockwork-labs-bot in https://github.com/clockworklabs/SpacetimeDB/pull/4464
* Reduce fsync interval to 10ms by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/4466
* fix(docs): Rename spacerace to referrals for nav item by @clockwork-tien in https://github.com/clockworklabs/SpacetimeDB/pull/4477

**Full Changelog**: https://github.com/clockworklabs/SpacetimeDB/compare/v2.0.1...v2.0.2