v1.1.0
clockworklabs/SpacetimeDBv1.1.0Apr 16, 2025by bfops
AI Summary
The first major version bump since 1.0, introducing public Row-level Security (RLS), improved timestamp arithmetic, and streaming support for the commitlog.
Key Highlights
- Public access for Row-level Security (RLS)
- Improved timestamp and duration arithmetic operators
- Support for enums as index keys
- Streaming commitlog support
New Features
- Row-level Security (RLS)
- Time arithmetic operators
- Streaming commitlog
- Enum index keys
Full Release Notes
We're releasing our first version bump since 1.0! :tada: ## Row-level security This release includes public access for row-level security. See https://spacetimedb.com/docs/rls for more info on how to use it! ## Improved usability for timestamps and durations From the PR https://github.com/clockworklabs/SpacetimeDB/pull/2502: > Specifically, we add methods and trait impls for `T x U -> V`, where `x` is a binary operator, either + or -: > > - `Timestamp x TimeDuration -> Timestamp` > - `Timestamp x Duration -> Timestamp`. > - This one is kind of weird, since we convert the `Duration` into a `TimeDuration` before doing math with it, which may be a lossy conversion depending on platform. > - `TimeDuration x TimeDuration -> TimeDuration`. ## Other notable improvements - Features to save disk space and reduce memory usage - Support for enums as index keys - Restore CLI functionality for printing the number of rows affected by an operation ## What's Changed * Use jemalloc in standalone and add stats. by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2470 * Add sql support for `:sender` parameter by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2483 * commitlog: Streaming by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/2492 * smoketests: Adjust clear_database test by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/2501 * Remove trailing slashes from isser when looking up oidc configs. by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2499 * Add .cargo/config.toml to spacetime init Rust project with default target to wasm by @mamcx in https://github.com/clockworklabs/SpacetimeDB/pull/2328 * Bump versions to 1.1.0 by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/2518 * Install tls dependencies in standalone dockerfile by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2484 * CI - Containerize linux x86_64 GNU builds by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/2466 * Print back the # of rows affected (ins, upd, del) with timings by @mamcx in https://github.com/clockworklabs/SpacetimeDB/pull/2462 * Add [ClientVisibilityFilter] to csharp module library by @kazimuth in https://github.com/clockworklabs/SpacetimeDB/pull/2481 * CI - Make Test Suite check for dirty `git diff` by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/2531 * commitlog: Open stream writer with metadata by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/2530 * Add endpoints for heap profiling by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2517 * Update data size metrics periodically, not on every transaction. by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2532 * Fix C# SDK Tests by @kazimuth in https://github.com/clockworklabs/SpacetimeDB/pull/2533 * Commitlog compression by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2504 * Add utility for rls resolution by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2519 * Feature gate #[client_visibility_filter] by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2528 * Followup to #2504 by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2534 * Repair transactionality of `st_client` removals after disconnect by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/2446 * Update PR template by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2395 * commitlog: Derive serde for `Commit` by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/2535 * core: Export the snapshot watcher / commitlog compressor by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/2536 * Update formatting of timestamps and identities in PsqlFormatter by @mamcx in https://github.com/clockworklabs/SpacetimeDB/pull/2486 * Add rls to the sql api by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2526 * Update tungstenite to 0.26 by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2539 * Static feature flag for generating perfmaps by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/746 * Add some tokio runtime metrics. by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2537 * Add CI job to run `cargo doc` on the bindings crate by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/2548 * Various methods and trait impls for time arithmetic by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/2502 * Remove standalone energy monitor. by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2550 * Remove some testing logs statements. by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2553 * Add rls to the subscription api by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2546 * Add more subscription stats by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2560 * Do not send empty subscription updates to clients by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2562 * snapshot: Remote synchronization by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/2559 * Add stats for incremental query evaluation hitrate by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2564 * Add integration test for commitlog compression by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2538 * Feature gate [ClientVisibilityFilter] in C# by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2556 * Compute variable positions for explicit projections by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2573 * Add tests asserting add_multi_subscription return errors to clients by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2571 * Return error for unqualified columns instead of panic by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2572 * Add some more tokio metrics. by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/2555 * Plain enums as index keys with specialized indices by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/2506 * Use Offset Index on Meta extract by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/2549 * Remove spacetimedb-core as a dep of cli by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2244 * fix expression canonicalization by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/2584 * Remove unused file by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/2582 * Compress the snapshot by @mamcx in https://github.com/clockworklabs/SpacetimeDB/pull/2034 * Impose limits on the heap usage of `ChunkPool` by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/2585 * Update rand by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2568 * Make clockworklabs/spacetime docker image build from source by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/2521 * Check validity of modules before control DB modifications during initial publish by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/2580 * Bump a missed version by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/2607 * Add docs for `FilterableValue` to rust bindings crate by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/2547 **Full Changelog**: https://github.com/clockworklabs/SpacetimeDB/compare/v1.0.1...v1.1.0