v0.9.1
Today's a good day - we have a new release for you! It's not the fanciest, shiniest release - but it includes some nice cleanups and important fixes.
As a reminder you can upgrade from the previous release with the
spacetime upgradecommand. If you are on macOS and you've installed through brew we recommend usingbrew install clockworklabs/tap/spacetimeto upgrade.
Highlights
:wastebasket: Removed repeating reducers
:warning: We have removed repeating reducers (#[spacetimedb(reducer, repeat = _)]) in favor of just using schedule!.
There are a lot of nuances to what exactly "repeating" means. It's easier for everyone to understand code that schedules what it wants, when it wants.
:computer: CLI updates
:warning: The default server is now testnet instead of local!
The meaning of -s and -S are more consistent between CLI commands (-s is for --server, -S is for --skip_clippy). spacetime build, spacetime identity, and spacetime server have been tweaked.
:hammer_and_wrench: Bugfixes
- Fix
select * from * - Atomically downgrade lock when committing tx to prevent deadlock
- fix(1170): Use scope guard to decrement reducer queue length
- fix(1173): Record wait time for all reducers
Changelog
- Table: skip alignment checks in eq_row_in_page and hash_row_in_page by @kazimuth in https://github.com/clockworklabs/SpacetimeDB/pull/1085
- core: Don't persist empty transactions by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1086
- Shrink AV by 8 bytes and AT by 16 by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1047
- Fix iai-callgrind rustc version mismatch by @kazimuth in https://github.com/clockworklabs/SpacetimeDB/pull/1025
- Nuke
DataKey🚀 by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1093 - Simplify
ExecutionContextconstructors by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1098 - perf: optimize
Table::clone_structureby avoiding clones by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1090 - Slow query log by @mamcx in https://github.com/clockworklabs/SpacetimeDB/pull/1052
- core: Store inputs (reducer info + args) in commitlog by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1091
- slow query log: only use
Instant::nowwhen needed + refactor by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1110 - fix(1115): Identify subscribers by Identity AND Address by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1121
- Re-instantiate replay progress reporting by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1096
- cli: Suggest to make new identity the default for server by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1109
- commitlog: Support traversal without opening the log by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1103
- Default commitlog output to info instead of debug by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/1123
- Nuke
#[spacetimedb(reducer, repeat = _)]by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1095 MultiMap: don't sort values; use.push(..)and.swap_remove(..)instead by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1029- core: AnyBytes from boxed slice by @kim in https://github.com/clockworklabs/SpacetimeDB/pull/1133
- Document RelValue variants by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1134
- Build uses -S for skip clippy by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/1129
- Use -s to specify server for spacetime identity list -s
by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/1130 - Fix an inconsistency with spacetime server fingerprint by @jdetter in https://github.com/clockworklabs/SpacetimeDB/pull/1131
- Remove
Column.col_idfield by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1136 - Ignore discriminants in
Hash for AV + ArrayValue+ nix len-prefix for PV by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1057 - Reduce unwrap noise in CLI generate code by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1142
- Fix codegen tests by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1146
- Define
Hash + Eqfor BSATN by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1112 - NFC: format C# module SDK code by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1149
impl Eq for RowRefby @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1135- Tests use explicit
--server localby @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1150 - CLI - Small refactor to default server configs by @bfops in https://github.com/clockworklabs/SpacetimeDB/pull/1151
- CLI - Set default server to
testnetby @dylanh724 in https://github.com/clockworklabs/SpacetimeDB/pull/1078 - Fail CI on smoketest failures by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/1155
- NFC: inline format args in
generatecode by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1153 - Dylan/doc: Link directly to cargo install on missing by @dylanh724 in https://github.com/clockworklabs/SpacetimeDB/pull/1102
- Simplify C# source generator csproj by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1143
- Ignore const members in C# types by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1175
- Disallow calling random lifecycle reducers by @coolreader18 in https://github.com/clockworklabs/SpacetimeDB/pull/1114
- chore: Remove unused server metrics by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1171
- fix(1170): Use scope guard to decrement reducer queue length by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1172
- fix(1173): Record wait time for all reducers by @joshua-spacetime in https://github.com/clockworklabs/SpacetimeDB/pull/1174
- NFC: few more C# shorthand syntax conversions by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1176
- Add
Hash for RowRef+ make it consistent withHash for PVby @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1163 - NFC: reuse common parts of C# generation by @RReverser in https://github.com/clockworklabs/SpacetimeDB/pull/1187
- Redefine FieldName as
(TableId, ColId)by @Centril in https://github.com/clockworklabs/SpacetimeDB/pull/1165
New Contributors
- @dylanh724 made their first contribution in https://github.com/clockworklabs/SpacetimeDB/pull/1078
Full Changelog: https://github.com/clockworklabs/SpacetimeDB/compare/v0.9.0-beta...v0.9.1-beta
