🚀 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 sameIdentity
across multiple SpacetimeDB clusters by logging into the website. This includes introducing new CLI login flow, includinglogin show
andlogout
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 withspacetime 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 #1805 - Renamed database instance to replica by @cloutiertyler in #1806
- offset index read integration by @Shubham8287 in #1779
- commitlog: Yield
StoredCommit
in iterators by @kim in #1791 - Make smoketests not log expected teardown errors by @kazimuth in #1804
- Add gzip + none compression algos and let SDK pick compression by @Centril in #1802
- Correct
Schema::check_compatible
to resolve types in a ModuleDef by @kazimuth in #1813 - Add CODEOWNERS for CLI crate by @bfops in #1834
- Make ARM64 and AMD64 docker builds more resilient by @jdetter in #1844
- Adding the system table for row level security by @mamcx in #1746
- refactor: Add TableId to relvar type by @joshua-spacetime in #1803
- Remove email and recovery related identity endpoints by @jsdt in #1833
- Energy metering for persistent memory usage by @coolreader18 in #766
- No
Map
s for you! by @Centril in #1770 - CLI - Add helptext for
--build-options
by @bfops in #1853 - Upgrade wasmtime dependency by @coolreader18 in #1857
- Remove sendgrid by @kim in #1860
- Improve bindings diagnostics and add ui tests by @coolreader18 in #1216
- Fix Build: Use default() to init custom hash based datastructures by @Shubham8287 in #1871
- RLS: Adding a new filter! macro by @mamcx in #1849
- CLI - Fix
spacetime server edit
failing on renames by @bfops in #1877 - CLI - Stabilize
spacetime server
subcommands by @bfops in #1845 - Redefine Address as
U128
+Identity
and Hash asU256
by @Centril in #1616 - Have the scheduled_id/at columns be specified in the schema, not by the column name by @coolreader18 in #1861
- Use new token format when generating new id tokens by @jsdt in #1854
- Rust modules: Revise
BTreeIndexBounds
by @gefjon in #1815 - commitlog: Fix transactions iterator by @kim in #1884
- Remove CODEOWNERS from CLI codegen by @bfops in #1886
- The banishment of Address by @cloutiertyler in #1880
- CLI - Fix helptext after #1845 by @bfops in #1889
- Handle JWT tokens with oidc providers by @jsdt in #1882
- Reorganize macro crate by @coolreader18 in #1406
- Physical query plan + executors by @joshua-spacetime in #1881
- Small naming fixes. Fixes database identity creation. by @cloutiertyler in #1892
- feat: Add non-unique index join iterator by @joshua-spacetime in #1908
- Fix the endpoint for short-lived tokens by @jsdt in #1907
- core: Expose snapshot taking on
Locking
datastore by @kim in #1898 - core: Expose
next_tx_offset
of theReplay
decoder by @kim in #1899 - core: Conversion from
txdata::Inputs
toReducerContext
by @kim in #1901 - commitlog: Improve skipping behavior of traversals by @kim in #1902
- NFC: Remove obsolete BytesWrapper by @RReverser in #1896
- Bump C# bindings to 1.0.0 by @bfops in #1913
- Put
ExecutionContext
inside the Tx context by @mamcx in #1876 - Don't redownload WASI SDK by @RReverser in #1916
- perf: Use default buffer size for brotli compression by @joshua-spacetime in #1920
- CLI - Login flow by @bfops in #1878
- Fix Find() with struct-based rows by @RReverser in #1917
- Hide "internal" datetime representation types by @RReverser in #1921
- Companion to spacetime-web#470 by @PuruVJ in #1912
- C# codegen making state relative to a DbConnection by @lcodes in #1869
- Optimise C# in a ridiculous way by @RReverser in #1924
- CLI - Add
login show
andlogout
by @bfops in #1911 - Cached query execution plan by @joshua-spacetime in #1923
- chore: remove dead code by @joshua-spacetime in #1930
- Use previous reducer context when downgrading a tx by @joshua-spacetime in #1932
- Websocket API: Light transaction updates &
NoSuccessNotify
by @Centril in #1812
New Contributors
Full Changelog: v0.12.0-beta-hotfix3...v1.0.0-rc1-hotfix1