🥇 We're getting close! 🥇
We're full steam ahead toward our 1.0 release soon! This release candidate brings a sneak peek at lots of upcoming changes.
This release will require a data wipe, because we restructured the SpacetimeDB directory structure.
Some highlights:
- Lots of performance improvements!
- Removed the
println!
andeprintln
macros in favor oflog::info!
andlog::error!
- Fix defining multiple tables on the same
struct
in Rust modules - CLI
- Fixed
spacetime energy balance
not working at all - The
spacetime dns
subcommand is nowspacetime rename
- When updating the
cli.toml
config file, comments and formatting are preserved
- Fixed
- C#
- New C# index syntax
- Reduce noisy C# compilation errors
- Fixed a bug where C# modules would not build if .NET 9 was installed on the system
What's Changed
- commitlog: Introduce epoch by @kim in #1851
- Remove jdetter as codeowner for now by @jdetter in #1939
- Fix benches for ia_loop, circles by @mamcx in #1922
- Logical to physical plan lowering by @mamcx in #1910
- Be more careful about endianness with Identity and Address by @kazimuth in #1926
- Simplify benchmarking wrappers by @RReverser in #1951
- Decode identity correctly by @jsdt in #1952
- Removing dead code: Relational ops and cursor by @mamcx in #1956
- Get
jsonwebtoken
andjwks
forks from crates.io by @bfops in #1958 - Add LICENSE file to
sql-parser
crate by @bfops in #1959 - Add missing LICENSE by @mamcx in #1960
- Bump version to 1.0.0-rc2 by @bfops in #1962
- Add typing context for lowering by @joshua-spacetime in #1963
- Add test for light update by @Centril in #1953
- Clean up benchmark .spacetime in CI by @kazimuth in #1968
- refactor: encode type info implicitly in the physical plan by @joshua-spacetime in #1938
- CLI - Remove unused
default_identity
stuff by @bfops in #1969 - CLI - Tell users if they're already logged in by @bfops in #1955
- CLI - Fix stale helptext instructing users to use
spacetime identity
by @bfops in #1954 - commitlog: Small tweaks by @kim in #1978
- NFC: Remove unused fsync param in benchmarks by @RReverser in #1981
- Directory structure impl by @coolreader18 in #1879
- Bump C# versions to
-hotfix1
by @bfops in #1984 - Light updates test: Ensure subcriptions have been applied before calling reducers by @Centril in #1979
- Optimize integrate_generated_columns by @coolreader18 in #1895
- Update run_standalone_temp.sh to the new folder specification by @mamcx in #1990
- Clean up auth related code with traits, and reuse existing key generation code. by @jsdt in #1988
- core: Make NDV non-zero by @kim in #1985
- test: No divide by zero for row estimation of empty index by @joshua-spacetime in #1986
- Run and test benchmarks against C# as well by @RReverser in #1965
- Preserve reducer order in schema conversion by @RReverser in #1987
- Durability Provider by @Shubham8287 in #1864
- Fix flaky oidc tests by @jsdt in #2000
- C# endianness fixes by @kazimuth in #1964
- Rip useless names out of RawDef by @kazimuth in #1918
- commitlog: Fix set_epoch by @kim in #2005
- create commitlog dir in fs::New by @Shubham8287 in #2006
- Don't autogen schedule fields by @coolreader18 in #1894
- Remove problematic debug assertions by @gefjon in #2010
- CLI should not depend on rustup by @mamcx in #1996
- Speed up
state_view::Iter
by special casing committed-with-no-deletes by @Centril in #2003 - Rust SDK: Actual client-side indices for unique constraints by @gefjon in #1909
- Decide that BSATN
byte
that ain't 0 or 1 is not a validAV::Bool
by @Centril in #2026 - Add
Layout.fixed: bool
for a fast path ineq_row_in_page
&row_type_visitor
by @Centril in #2025 - Add
static_bsatn_validator
&validate_bsatn
by @Centril in #2029 - Add
Static(Bsatn)Layout::deserialize_row_into
by @Centril in #2032 - Remove IO macros by @bfops in #1929
- Migrate C# client-side reducer enum to the new syntax by @RReverser in #2033
- Rust SDK: no more reducer args structs by @gefjon in #2036
- Fix subscription benchmarks by fixing
create_table_for_test_with_the_works
by @Centril in #2027 - move unique constraint checking until after optimistic insertion by @Centril in #2037
- Allocation pool the chunked iters in
InstanceEnv
by @Centril in #2038 - Avoid a multimap when the index is unique by @Centril in #2044
- Fix declaration order of ScheduleAt in C# by @kazimuth in #2007
- commitlog: Provide
segment_len
method for segments by @kim in #2042 - Fix some places where trying to parse an empty string could panic. by @jsdt in #2051
- Fix spacetime server clear by @coolreader18 in #2055
- query rewriter by @joshua-spacetime in #2031
- Migrate C# ModuleDef to V9 by @RReverser in #1670
- fix: filter pushdown over table scan by @joshua-spacetime in #2063
- commitlog: Fix offset index truncation by @kim in #2073
- fix: qualified projection columns by @joshua-spacetime in #2070
- commitlog: Make memory segment behave like
O_APPEND
by @kim in #2072 - CLI - Remove deprecated use of the
--project-path
flag by @bfops in #915 - Reduce noisy C# compilation errors by @RReverser in #2067
- Split Iter & IterByColRange types into Tx and MutTxId versions by @mamcx in #2043
- Tweak scheduled_at macro syntax by @coolreader18 in #2054
- Server-side implementation of incremental subscription changes by @jsdt in #2030
- Implement the
identity
host call andctx.identity()
in Rust by @gefjon in #2085 - Preserve the comments of the "cli.toml" on changes by @mamcx in #2002
- CLI - Confirm before publishing to non-local servers by @bfops in #2086
- C#: fix class names for unique column indices by @RReverser in #2088
- CLI - Fix
spacetime energy balance
not working by @bfops in #2087 - Use a spinner to show that wasm is compiling in spacetime generate by @coolreader18 in #2057
- Enforce .NET 8 SDK for new C# modules by @RReverser in #2046
- Implement
ctx.Identity
for C# by @RReverser in #2091 - Implement new C# index syntax by @RReverser in #2078
- CLI -
dns
subcommand becomesrename
by @bfops in #1694 - datastore: insert via BSATN instead of via PV by @Centril in #2069
- Extract
MutTxId::tx_state_removed_index(&self, index_id) -> bool
by @Centril in #2095 - Extract
InstanceEnv::project_cols_bsatn
by @Centril in #2096 - Updated version to 1.0.0-rc3 by @cloutiertyler in #2059
- Use
println
/eprintln
in the quickstart-chat client, notlog
by @gefjon in #2099 - perf(2019): skip
PointerMap
given a unique index by @Centril in #2092 - Make automatic migrations deterministic by @kazimuth in #2104
- Fix defining multiple tables on the same
struct
in Rust modules by @gefjon in #2103
Full Changelog: v1.0.0-rc2-hotfix2...v1.0.0-rc3-hotfix1