github clockworklabs/SpacetimeDB v1.12.0
Release v1.12.0 - Client-side Typed Query Builder

19 hours ago

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. 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

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

C#

conn.SubscriptionBuilder().AddQuery(ctx => ctx.From.User().Build()).Subscribe();

Rust

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:
  • 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

What's Changed

New Contributors

Full Changelog: v1.11.3...v1.12.0

Don't miss a new SpacetimeDB release

NewReleases is sending notifications on new releases.