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, wherexis a binary operator, either + or -:
Timestamp x TimeDuration -> TimestampTimestamp x Duration -> Timestamp.
- This one is kind of weird, since we convert the
Durationinto aTimeDurationbefore 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
:senderparameter 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 diffby @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_clientremovals 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
Commitby @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 docon 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
ChunkPoolby @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
FilterableValueto 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
