v1.0.0-rc1-hotfix1
clockworklabs/SpacetimeDBv1.0.0-rc1-hotfix1Nov 6, 2024by bfops
AI Summary
This release introduces the first RC candidate with OIDC compliance, improved CLI login flow, and database enhancements like RLS.
Key Highlights
- OIDC compliant identities for better integration.
- Improved CLI login flow with `login show` and `logout` commands.
- Renamed 'database instance' to 'replica'.
- Row-Level Security (RLS) system table and filter macro.
Breaking Changes
- Renamed 'database instance' to 'replica'.
New Features
- OIDC integration
- CLI login improvements
- Replica terminology
- RLS support
Full Release Notes
## 🚀 It's an extremely exciting day! 🚀 We are releasing the first release candidate of 1.0 SpacetimeDB! In this version of SpacetimeDB, we do not expect to introduce any breaking changes to the user facing API. You can rest assured that if you build on this version it will be fully compatible or very nearly fully compatible with the final 1.0 release API. While we reserve the right to add new APIs and make small changes before 1.0, this is more or less what 1.0 will look like! > NOTE! This is still a pre-release version. It is not the final 1.0 version of SpacetimeDB. As such we still suggest that developer exersize caution about using SpacetimeDB in production and be aware of the risks of pre-release software. Including the potential need to wipe their database instances or to manually migrate their data to the final 1.0 version. SpacetimeDB identities are now OIDC compliant! This means that you'll have access to a huge host of existing tooling to create identities for your users and allow them to log in to your module through your own login flows and infrastructure. ### CLI Improvements - **Login Flow Updates**: We've dramatically improved how `Identity`s work in SpacetimeDB, including allowing you to use the same `Identity` across multiple SpacetimeDB clusters by logging into the website. This includes introducing new CLI login flow, including `login show` and `logout` commands. - **`spacetime upgrade` Update**: Now uses `--yes` instead of the deprecated `--force` flag. - **Help Text Enhancements**: Added help text for `--build-options`. - **Server Command Stabilization**: Stabilized `spacetime server` subcommands and resolved issues with `spacetime server edit`. ### Database Enhancements - **Renaming**: "Database instance" renamed to "replica" for clearer terminology. - **Row-Level Security (RLS)**: Added a system table for RLS along with a new filter macro. - **Optimized Querying**: Added non-unique index join iterator and a physical query plan with executors for performance improvements. - **Persistent Memory Metering**: Enhanced energy metering for persistent memory and improved handling for large datasets. ### Compression - **New Compression Options**: Introduced gzip and none compression options; SDK now selects optimal compression. ### Code and Dependency Updates - **C# Bindings**: Bumped C# bindings to version 1.0.0, with improved codegen for managing `DbConnection` states. - **Code Cleanup**: Removed obsolete elements like `BytesWrapper` and improved commit log traversal efficiency. - **Dependency Upgrades**: Updated Wasmtime dependency; improved resilience of ARM64/AMD64 Docker builds. ### Security and Identity Management - **JWT Handling**: Enhanced JWT token handling with OIDC providers. - **Endpoint and Token Updates**: Removed email recovery endpoints, deprecated SendGrid, and updated token formats for ID tokens. - **Short-Lived Token Fixes**: Corrected the endpoint used for short-lived tokens. ## What's Changed * CLI - `spacetime upgrade` takes `--yes` instead of deprecated `--force` by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1805 * Renamed database instance to replica by @cloutiertyler in https://github.com/clockworklabs/SpacetimeDB/pull/1806 * offset index read integration by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/1779 * commitlog: Yield `StoredCommit` in iterators by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1791 * Make smoketests not log expected teardown errors by @kazimuth in https://github.com/clockworklabs/SpacetimeDB/pull/1804 * Add gzip + none compression algos and let SDK pick compression by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1802 * Correct `Schema::check_compatible` to resolve types in a ModuleDef by @kazimuth in https://github.com/clockworklabs/SpacetimeDB/pull/1813 * Add CODEOWNERS for CLI crate by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1834 * Make ARM64 and AMD64 docker builds more resilient by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/1844 * Adding the system table for row level security by @mamcx in https://github.com/clockworklabs/SpacetimeDB/pull/1746 * refactor: Add TableId to relvar type by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1803 * Remove email and recovery related identity endpoints by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/1833 * Energy metering for persistent memory usage by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/766 * No `Map`s for you! by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1770 * CLI - Add helptext for `--build-options` by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1853 * Upgrade wasmtime dependency by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/1857 * Remove sendgrid by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1860 * Improve bindings diagnostics and add ui tests by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/1216 * Fix Build: Use default() to init custom hash based datastructures by @Shubham8287 in https://github.com/clockworklabs/SpacetimeDB/pull/1871 * RLS: Adding a new filter! macro by @mamcx in https://github.com/clockworklabs/SpacetimeDB/pull/1849 * CLI - Fix `spacetime server edit` failing on renames by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1877 * CLI - Stabilize `spacetime server` subcommands by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1845 * Redefine Address as `U128` + `Identity` and Hash as `U256` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1616 * Have the scheduled_id/at columns be specified in the schema, not by the column name by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/1861 * Use new token format when generating new id tokens by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/1854 * Rust modules: Revise `BTreeIndexBounds` by @gefjon in https://github.com/clockworklabs/SpacetimeDB/pull/1815 * commitlog: Fix transactions iterator by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1884 * Remove CODEOWNERS from CLI codegen by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1886 * The banishment of Address by @cloutiertyler in https://github.com/clockworklabs/SpacetimeDB/pull/1880 * CLI - Fix helptext after #1845 by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1889 * Handle JWT tokens with oidc providers by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/1882 * Reorganize macro crate by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/1406 * Physical query plan + executors by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1881 * Small naming fixes. Fixes database identity creation. by @cloutiertyler in https://github.com/clockworklabs/SpacetimeDB/pull/1892 * feat: Add non-unique index join iterator by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1908 * Fix the endpoint for short-lived tokens by @jsdt in https://github.com/clockworklabs/SpacetimeDB/pull/1907 * core: Expose snapshot taking on `Locking` datastore by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1898 * core: Expose `next_tx_offset` of the `Replay` decoder by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1899 * core: Conversion from `txdata::Inputs` to `ReducerContext` by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1901 * commitlog: Improve skipping behavior of traversals by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1902 * NFC: Remove obsolete BytesWrapper by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1896 * Bump C# bindings to 1.0.0 by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1913 * Put `ExecutionContext` inside the Tx context by @mamcx in https://github.com/clockworklabs/SpacetimeDB/pull/1876 * Don't redownload WASI SDK by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1916 * perf: Use default buffer size for brotli compression by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1920 * CLI - Login flow by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1878 * Fix Find() with struct-based rows by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1917 * Hide "internal" datetime representation types by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1921 * Companion to spacetime-web#470 by @PuruVJ in https://github.com/clockworklabs/SpacetimeDB/pull/1912 * C# codegen making state relative to a DbConnection by @lcodes in https://github.com/clockworklabs/SpacetimeDB/pull/1869 * Optimise C# in a ridiculous way by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1924 * CLI - Add `login show` and `logout` by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1911 * Cached query execution plan by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1923 * chore: remove dead code by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1930 * Use previous reducer context when downgrading a tx by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1932 * Websocket API: Light transaction updates & `NoSuccessNotify` by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1812 ## New Contributors * @PuruVJ made their first contribution in https://github.com/clockworklabs/SpacetimeDB/pull/1912 **Full Changelog**: https://github.com/clockworklabs/SpacetimeDB/compare/v0.12.0-beta-hotfix3...v1.0.0-rc1-hotfix1