Releases: clockworklabs/SpacetimeDB
v0.8.2-beta
Our release 0.8.2 is available now! It includes tons of performance improvements and some great bugfixes!
As a reminder you can upgrade from the previous release with the spacetime upgrade
command. If you are on macOS and you've installed through brew we recommend using brew install clockworklabs/tap/spacetime
to upgrade.
Highlights
- Memory architecture refactor: we're working on rearchitecting the way we store and retrieve data from the database. This is our first batch of improvements which reduces the amount of overhead when reading values from the database. This affects both subscription query performance and module performance.
- Tons of performance improvements
- Incremental subscription queries are now evaluated in parallel
- Join evaluation performance improvements
- Lookups on an indexed column are faster
- Fixed
spacetime generate --delete-files
works properly without using--force
- Bug fixes
- Fixed correctness issues with subscription queries
- Fixed some issues related to unwrapping on None
What's Changed
- core: Sort constraint definitions before comparing by @kim in #727
- Allows to convert into/from micros_since_epoch:u64 for TimeStamp by @mamcx in #731
- Fix callgrind action again by @kazimuth in #718
- Fix local callgrind runs by @kazimuth in #723
- Expand callgrind benches by @kazimuth in #728
- Version upgrade to 0.8.1 by @jdetter in #729
- Fix _delete_by_rel by @coolreader18 in #733
- Add
ColList
: a compact replacement ofNonEmpty<ColId>
, 8 vs 32 bytes by @Centril in #730 - feat: subscription to use read type tx by @Shubham8287 in #685
- Fix --delete-files command without using --force by @jdetter in #739
- Use
ColList
more and improve it by @Centril in #738 - Fix for reducer queue metric by @jdetter in #737
- Fix row count for the 'sql' command by @mamcx in #745
- Cleanup SpacetimeDB name usages by @jdetter in #744
- SATS: add support needed for BFLATN => BSATN directly by @Centril in #750
- Check benchmarks on CI + disable callgrind benchmarks on non-Linux by @kazimuth in #752
- Fix some bugs in
concat_byte_chunks
,serialize_bsatn
by @Centril in #755 - made subscription broadcast multithreaded by @Shubham8287 in #741
- Split the old
locking_tx_datastore
by @Centril in #757 - Fixed broken quickstart links in readme by @jdetter in #761
- Fix more broken links by @jdetter in #762
- Add the
spacetimedb_table
crate by @Centril in #763 - perf(759): Track the number of active subscription queries by @joshua-spacetime in #760
- spacetimedb_table: nix spacetimedb-core dep + build_unique_error fixes by @Centril in #767
- feat(748): Add compile time feature flag for table metrics by @joshua-spacetime in #749
- Fixed issue with perfcnt not working on certain platforms and architectures by @cloutiertyler in #768
- Split old datastore more by @Centril in #770
- pointers_yielded -> num_pointers_yielded by @Centril in #773
- core: Lock
unwritten_commit
across I/O by @kim in #775 - Use rayon for broadcast_commit_event by @coolreader18 in #779
- Integrate mem arch into
locking_tx_datastore
by @Centril in #769 - reducer to wait until subsciption broadcast finishes by @Shubham8287 in #776
- Handle returned status codes instead of Rust values by @bfops in #783
- fix: Put query metrics behind feature flag by @joshua-spacetime in #784
- feat(query): Make current plan type hashable by @joshua-spacetime in #782
- Fix assorted typos by @bfops in #785
trait ReadColumn
, to read a single column from aRowRef
by @gefjon in #789- feat(query): Add a utility for checking table refs by @joshua-spacetime in #790
- BTreeIndex: Specialize on primitive key types for great performance by @gefjon in #793
- Unify benchmark runs (to some extent) by @kazimuth in #742
- Fix private not building with latest master by @bfops in #798
- BTreeIndex: use
ReadColumn
instead ofProductValue
fields by @gefjon in #796 - Remove separate "callgrind please" script by @kazimuth in #800
- 1_000_000 insert + update benchmarks by @kazimuth in #764
- Add rust-version to Cargo.toml by @coolreader18 in #802
- Simplify broadcast_commit_event by @coolreader18 in #791
- Fix build errors in spacetimedb_table benches by @coolreader18 in #787
- perf(query): Moves Code::Block instead of cloning during eval by @joshua-spacetime in #805
Full Changelog: v0.8.1-beta...v0.8.2-beta-hotfix7
v0.8.1-beta
Our release 0.8.1 is available now! This minor release is the first release of the year for us and we're excited to show you all what we've been working on recently 🎉
As a reminder you can upgrade from the previous release with the spacetime upgrade
command. If you are on macOS and you've installed through brew we recommend using brew install clockworklabs/tap/spacetime
to upgrade.
Highlights
- Remote server URL is printed during
spacetime publish
- Testnet has been added to the default spacetime CLI config
spacetime local clear
allows you to clear your local database without deleting the entire~/.spacetime/
directoryspacetime generate --delete-files ...
will also delete any files generated by SpacetimeDB that are no longer needed- Output directory used by
spacetime generate
creates the directory if it doesn't already exist - Subscription query performance optimizations
spacetime logs ...
now prints to stdout instead of stderr
What's Changed
- Enable CI on merge group by @coolreader18 in #655
- chore: Temporarily disable failing smoke tests by @joshua-spacetime in #656
- Fixes for SpacetimeDB.Runtime package by @RReverser in #654
- core: Remove unwraps from DatabaseInstanceContext by @kim in #663
- Fix master commit benchmarks run by @coolreader18 in #658
- refactor(subscriptions): Support returning either side of a join by @joshua-spacetime in #639
- test: Build modules in release mode by @kim in #672
- refactor(compiler): Swap the index and probe sides of an index join by @joshua-spacetime in #674
- test(compiler): Optimizing index join with virtual probe table is no-op by @joshua-spacetime in #675
- test(compiler): From index to inner join by @joshua-spacetime in #676
- perf(623): Use row counts in query optimization by @joshua-spacetime in #677
- Use associate type for tx by @Shubham8287 in #678
- Move
build_error_unique
tolocking_tx_datastore/mod.rs
by @Centril in #687 - core: Initialize the database context only once by @kim in #664
- core: Remove index update when updating a database by @kim in #686
- Print Remote Server During Publish by @jdetter in #689
- Added Testnet to Default Configs by @jdetter in #690
- Datastore:
Cow<'tx, ProductValue>
rather than&'tx ProductValue
. by @gefjon in #691 - Delete Files Flag for Generate Command by @jdetter in #693
MutTxDatastore::table_name_from_id_mut_tx
: returnCow<str>
by @gefjon in #700- Update to axum 0.7 by @coolreader18 in #697
- spacetime local clear subcommand by @jdetter in #702
- Inline typerefs by @RReverser in #696
- Create output directory in
generate
if it doesn't exist by @RReverser in #705 - Print logs to stdout instead of stderr by @jdetter in #701
- fix(707): Collect table size metrics again by @joshua-spacetime in #708
- fix(684): Reset max value metrics by @joshua-spacetime in #709
- Lower log verbosity by @RReverser in #703
- Try bumping actions/checkout to fix benchmarks please by @coolreader18 in #710
- Callgrind benchmarks by @kazimuth in #619
- fix(683): Label table metrics with table name by @joshua-spacetime in #712
- read tx implemented in datastore by @Shubham8287 in #679
- Fix benchmark actions by @kazimuth in #715
- chore: Remove unused metrics by @joshua-spacetime in #717
- chore: Move table size metrics back into core by @joshua-spacetime in #719
- chore: Disable query compilation metrics by @joshua-spacetime in #720
- refactor(query): Remove query string as metrics label by @joshua-spacetime in #721
- C# SDK tests by @RReverser in #706
- fix: Reset max queue length and reducer wait time metrics by @joshua-spacetime in #725
Full Changelog: v0.8.0-beta...v0.8.1-beta
v0.8.0-beta
We're here with the next big release for SpacetimeDB, v0.8.0! 🚀🚀🚀
We've merged in more than 70 new PRs since v0.7.3 and we're super excited to share all the new stuff!
As a reminder you can upgrade from v0.7.3 with the spacetime upgrade
command. Please note that our ABI has changed with this release and you will therefore need to rebuild your modules.
Highlights
The most impactful changes in this release are:
- New performance metrics tracking for your modules on the Testnet!
- Stability and correctness improvements to the persistent storage.
- Multi-column index support
- Switched to Wasmtime execution engine
- Significant performance improvements
Currently much of our effort is focused around improving performance and stability with the goal of launching the Mainnet in April of next year!
What's Changed
- core: Track the number of bytes read when iterating over the WAL by @kim in #496
- Created a route to check what emails are already connected to an identity by @NateTheDev1 in #477
- Capture logs in integration tests by @RReverser in #534
- Update the pull request template by @kulakowski in #541
- Downgrading some logs to trace instead of info by @jdetter in #542
- core: Add truncation to message log by @kim in #526
- Misc refactoring preparing for multi col indices by @Centril in #497
- Moving object defs to SATS by @mamcx in #460
- Add integration test for the query macro by @mamcx in #538
- Desparse Tar Files When Building by @jdetter in #544
- delete_by_col_eq: optimize with smallvec for 1 row case by @Centril in #547
- Disable latest docker tag by @drogus in #546
- Fixes client API breaks introduced by #460 by @cloutiertyler in #558
- Nix
impl TryFrom<&str> for IndexType
by @Centril in #559 - core: Replay database prefix by @kim in #527
- Refactoring IDs for system objects by @mamcx in #439
- Move 'constraints' markers to primitive and fix incompatibility with deploy by @mamcx in #561
- Fix out of order subscription updates by @coolreader18 in #556
- perf(553): Optimize incremental join evaluation by @joshua-spacetime in #557
- Add the
slim_slice
data-structures by @Centril in #528 system_tables
: fixst_indexes_schema
inconsistency by @Centril in #569- Simplify contributor check by @coolreader18 in #565
- core: Refine panic message when decoding fails during replay by @kim in #568
- Switch from wasmer to wasmtime by @coolreader18 in #457
- core: Make
Segment
pub and serde by @kim in #574 - core: Move replay + error correction logic to commit log by @kim in #554
- refactor(571): Track module queue length with histogram by @joshua-spacetime in #576
- test: Create indexes for restarting tests by @kim in #573
- core: Only write actual large objects to odb by @kim in #575
- perf(572): Track the number of reducer panics by @joshua-spacetime in #578
- Update to my main NuGet author handle by @RReverser in #585
- Error for no abi version by @coolreader18 in #580
- perf: Track maximum values for transaction cpu time and reducer queue length by @joshua-spacetime in #583
- Update to rust 1.74 by @coolreader18 in #589
- Add spacetimedb::sql::query_debug_info::QueryDebugInfo by @kazimuth in #560
- Rename HostType::Wasmtime to just Wasm by @coolreader18 in #592
- chore: Add functions for resetting max value metrics by @joshua-spacetime in #600
- perf(591): Distinguish query metrics as sql, subscription or incremental update by @joshua-spacetime in #605
- Hotfix for log replay bug, fix type for constraints column by @mamcx in #604
- perf(590): Label query metrics with query text by @joshua-spacetime in #606
- core: Load large objects eagerly during log replay by @kim in #594
- perf: Record execution and compilation time metrics per query by @joshua-spacetime in #609
- perf(610): More granular histogram buckets for timing metrics by @joshua-spacetime in #613
- Format binary data as hex in sql/satn by @mamcx in #521
- fix: Remove newlines from QueryDebugInfo by @joshua-spacetime in #616
- fix(CommitLog): Do not truncate the log on out of order errors by @joshua-spacetime in #588
- Update wasmtime (fixes fuel tracking) by @coolreader18 in #598
- Move to .NET 8 WASI support by @RReverser in #587
- core: Make
advertise_addr
ofNode
optional by @kim in #618 - refactor: Remove global disk and memory tracking by @joshua-spacetime in #620
- Allow to see the context of a Unsupported query for a subscription by @mamcx in #621
- refactor(metrics): Remove dependencies of metric builder macros by @joshua-spacetime in #624
- Refactoring bootstrapping and adding full support for constraints & multi-column indexes by @mamcx in #596
- Version upgrade to 0.8.0 by @jdetter in #622
- Support arbitrary RHS in C# Query by @RReverser in #586
- fix: Temporarily disable flaky smoketests by @joshua-spacetime in #629
- C#: don't show "Extracting..." message if already unpacked by @RReverser in #628
- Spacetime Upgrade Force Flag by @jdetter in #631
- refactor(metrics): Move metric builder macros into their own crate by @joshua-spacetime in #625
- Try to fsync message log on drop by @kim in #627
- Added RWLock on committed state by @Shubham8287 in #599
- Various fixes for C# column attrs by @RReverser in #635
- ci: Tame the doge by @kim in #632
- chore: Update tracy to 0.10.4 by @joshua-spacetime in #644
- core: Log db open progress at INFO by @kim in #646
- refactor(metrics): Move table size metric into lib by @joshua-spacetime in #636
- chore(vm): Pass database address to the compiler by @joshua-spacetime in #637
- Cache the 'row_type' on TableSchema so is not re-build in each access by @mamcx in #638
- Fixes for performance drop related to missing index selection by @mamcx in #647
- Add timestamp to module logs by @coolreader18 in #641
- [CI] Merge docker images from multiple platforms by @drogus in #640
- Improve TypeScript generated code (fixes and improvements) by @drogus in #603
New Contributors
- @NateTheDev1 made their first contribution in #477
- @Shubham8287 made their first contribution in #599
Full Changelog: v0.7.3-beta-hotfix1...v0.8.0-beta
v0.7.3-beta
v0.7.3 Patch Release
Hello everyone! Today we're happy to announce another patch release. This release focuses on some quality of life fixes and performance improvements. This is another stepping stone on our way to our much larger patch coming later this month.
If you have version v0.7.2, this upgrade is as simple as:
spacetime upgrade
Or if you've installed through brew on macOS we recommend upgrading via:
brew install clockworklabs/tap/spacetime
Thanks for checking it out!
What's Changed
- Expose delete_by_rel in #515
- Add OptIn serialization attribute for C# generated types in #516
- Fix benchmarks run on master in #487
- fix(518): Label connected clients metric by database in #523
- refactor(520): Change histogram units from nanos to fractional secs in #520
- Refactor commit encoding / decoding in #495
- lib: Provide Arbitrary impls for Hash and DataKey
- perf(505): Track the number of rows in each table in #525
- refactor(531): Label transaction count metric with boolean flag in #532
- perf(507): Add disk and memory usage metrics in #529
- Added multi column index usage to the rust-wasm-test module in #500
- Cherry Pick for Publish Primitives Fixes in #514
- Track instance_queue_length by reducer in #530
- Version upgrade to v0.7.3
- Builds CLIs on release/* branches
- Downgrade a log line from info to debug in #540
- InstanceEnv::delete_by_col_eq: return u32 instead of NonZeroU32 in #539
Full Changelog: v0.7.2-beta...v0.7.3-beta-hotfix1
v0.7.2-beta
v0.7.2 - SpacetimeDB Spooky Release! 🎃👻👻🪦👻🪦👻👻🎃
We wanted to do a spooky Halloween release for you all with some tasty 🍬 treats 🍫 including the new spacetime upgrade
command!
Check out out the other cool updates as well below! Hope you all have a happy Halloween and eat lots of candy!
What's Changed
- Remove commented out code by @kulakowski in #444
- Switch rows to IndexMap by @RReverser in #448
- lib: Don't panic in RelValueRef::get by @kim in #450
- Follow-up incremental joins by @kim in #437
- Use newtypes
ColId
,TableId
,IndexId
,SequenceId
everywhere (*) by @Centril in #408 DataRef
: borrow for great perf by @Centril in #434- Switch allocator to mimalloc for the DB CLI by @RReverser in #447
- Replace hex Strings with Identity/Address where applicable by @coolreader18 in #300
- Fix "identity not yet recieved" intermittent failure in tests by @gefjon in #445
- Update/upgrade dependencies by @coolreader18 in #266
- [Resubmit] vm: Make UPDATE actually update by @kim in #454
- core: Fix commit log concurrency by @kim in #465
- perf(461): Record metrics for rows [inserted|deleted] on commit by @joshua-spacetime in #462
- perf(463): Add metric for the number of committed rows scanned by @joshua-spacetime in #467
- chore: Add _cumulative suffix to counter metrics by @joshua-spacetime in #474
- Use gh actions for benchmarks please by @coolreader18 in #464
- Fix C# generics support by @RReverser in #475
- Fix benchmarks please contributor check by @coolreader18 in #479
- Ok NOW fix benchmarks please by @coolreader18 in #480
- Fix benchmarks please 100% by @coolreader18 in #481
- Improved Clairity of CI Names by @jdetter in #455
- Simplify/deabstract module_host_actor and wasmer_module by @coolreader18 in #417
- refactor(485): Label metrics with database address and reducer name by @joshua-spacetime in #486
- perf(473): Add db address label to reducer queue length by @joshua-spacetime in #489
- perf(468): Add metric counters for committed transactions and rollbacks by @joshua-spacetime in #478
- Fix wasm-opt for C# modules by @RReverser in #482
- perf(470): Add metrics for transaction cpu and elapsed time by @joshua-spacetime in #483
- Move optimizations from sql to vm by @mamcx in #484
- spacetimedb-data-structures: new crate + nstr! by @Centril in #491
- perf(469): Add metric for delayed transaction execution by @joshua-spacetime in #488
- Version Upgrade to v0.7.2-beta by @jdetter in #498
- Create multi-column indexes defined in modules by @kim in #494
- perf(471): Add duration metrics for wasm abi calls by @joshua-spacetime in #499
- perf(472): Add metric for index seeks and keys scanned by @joshua-spacetime in #501
Full Changelog: v0.7.1-beta-hotfix1...v0.7.2-beta
v0.7.1-beta
We've got another update for you all! This is a quick follow up to our past release we substantially improves performance by moving closer towards our planned memory architecture overhaul.
The main highlights are below!
Highlights
- 5x performance improvements in certain cases while iterating from inside your module
- Improved performance tracking
- General bug fixes and performance improvements
What's Changed
- Add some comments to
FutureQueue
and thesubscribe
route by @gefjon in #378 - SATS: misc refactoring by @Centril in #382
build_csharp
: ensure project path exists by @Centril in #380- Reduce cloning of
Header
& co by @Centril in #384 - Extract
ArrayValue
,ArrayType
,MapValue
,MapType
to own files by @Centril in #387 - Simplify the
encoding_roundtrip
tests by @Centril in #385 - Move the two
Box
es inMapType
to one inBuiltinType
by @Centril in #388 - Flatten
BuiltinValue
intoAlgebraicValue
by @Centril in #389 - Get benchmarks type checking again by @Centril in #392
- Refactor
locking_tx_datastore
tests by @Centril in #393 - More
AlgebraicType
conversions + usederive_more::From
more by @Centril in #395 - Dedup some
locking_tx_datastore
tests by @Centril in #394 - Bump log up to trace in the hopes of catching the "identity not yet received" thing by @gefjon in #314
- feat(397): Add min and max value helpers for builtin types by @joshua-spacetime in #398
- Benchmark modules in release mode by @RReverser in #396
- Add a section to the PR template requiring an estimate of complexity and risk by @gefjon in #407
- Less
BuiltinType
by @Centril in #405 - Run Clippy first and share profile by @RReverser in #413
- Compile benchmarks in separate folder by @RReverser in #411
- Switch to using imported module idents for marking version requirements by @coolreader18 in #335
- Bump C# version for release by @RReverser in #416
- Put out benchmark fires by @kazimuth in #404
- Switch cursive to cross-platform backend by @RReverser in #412
- Simplify and document WasmInstanceEnv's interface by @kulakowski in #422
- test(414): multi-column index scan by @joshua-spacetime in #415
- 🐮 Optimize
decode_column
and friends usingCow
🐮 by @Centril in #424 - fix(428): Return only one message per table in subscription by @joshua-spacetime in #429
- Reuse Wasm-side buffer while reading iterators by @RReverser in #435
- Collect iterator into chunks early by @RReverser in #433
- Fix authorization check for CrudCode by @kim in #431
- Incremental Evaluation of JOIN queries by @kim in #425
- Improve benchmark result reporting by @kazimuth in #357
- [ABI] Remove the special first element of iterator by @RReverser in #420
- Run docker build on tags too by @drogus in #421
- Optimise binaries with wasm-opt by @RReverser in #423
- Debugging info for odb / mlog inconsistencies by @kim in #438
- Track time spent in each wasm instance env call by @kulakowski in #427
- Prometheus stuff by @coolreader18 in #301
- Version upgrade: v0.7.1-beta by @jdetter in #441
Full Changelog: v0.7.0-beta...v0.7.1-beta-hotfix1
v0.7.0-beta
We've been hard at work stabilizing and improving SpacetimeDB since our announcement of the product two months ago! And we sure have a mondo update for you all! In just two months we've done hundreds of bug fixes and performance improvements. We've even gotten some contributions from the community!
We've got some highlighted features below, but the complete PR listing in the "What's Changed" section was too long so I've cut it down some!
Highlights
- Multi-column indexes!
- Much better CLI version tracking so we can identify the exact binary someone is using if they run into an issue
- Implemented a more intelligent and performant system for disk
fsync
s for 2x faster transactions - Greatly improved error and database event reporting in module logs
INFO: spacetimedb: Creating table `ResourcesLog`
INFO: spacetimedb: Creating table `Tool`
INFO: spacetimedb: Creating table `Food`
INFO: spacetimedb: Invoking `init` reducer
INFO: src/lib.rs:69: Initialized bitcraft spacetimedb.
INFO: spacetimedb: Database initialized
- Implemented
on_connect
andon_disconnect
callbacks in the Rust SDK - Multiple
spacetime server
configs for connecting to different servers 👍
DEFAULT HOSTNAME PROTOCOL NICKNAME
testnet.spacetimedb.com https testnet
*** localhost:3000 http local
- Completely reworked the multithreading model to reduce memory usage with a large amount of modules on a single node
- Subscribe to all tables functionality!
SELECT * FROM *
- Initializing and updating a database is now done in a single transaction, eliminating a whole class of issues
- Added non-subscription based type safe querying support!
- Implemented index scans for the SQL execution engine for greatly improved query performance
- Bootstrapped the Control DB into a SpacetimeDB database in SpacetimeDB Cloud!
- Positional arguments on the CLI! No more messing around with JSON for simple reducer calls!
$ spacetime call my_database my_reducer "Foo" "Bar" 27
- Added the concept of SpacetimeDB
Address
es which are now passed in with every reducer call. These allow you to disambiguate between clients with the sameIdentity
but running on different devices.
What's Changed
- Separate the global location of files per OS & create a configuration trait to read them by @mamcx in #171
- Add SPACETIMEDB_TRACY var to dev environment by @joshua-spacetime in #200
- Fix ABI check for module with split data by @RReverser in #197
- Better Version Logging by @jdetter in #206
- Add
identity/:id/verify
route to verify identity/token pairs by @gefjon in #155 - Fix
SpacetimeType
forAddress
by @kim in #209 - Remove the bitrotted trace replay functionality by @kulakowski in #219
- Provide serialization for
Result
by @kim in #210 - Fix Windows Build by @jdetter in #227
- Cloud related fixes by @drogus in #218
- Ensure legacy
DomainName
can be deserialized from JSON by @kim in #208 - [rust-sdk]: gracefully close websocket by @coolreader18 in #228
- Remove unused RelationalDB::table_exist by @kulakowski in #236
- Fix logspam by @coolreader18 in #229
- Make ColumnIndexAttribute bitflags in the ABI by @RReverser in #212
- Update wasmer by @kulakowski in #220
- chore: add more tracing to vm by @joshua-spacetime in #246
- Fix reopening of db in test, keep the binary data on files stable by @mamcx in #190
- Create st_constraints system table by @mamcx in #225
- Add
/identity/public-key
route to get ECDSA public key by @gefjon in #165 - Fix recovery of sequences after restart by @mamcx in #158
- test: Only update active toolchain by @kim in #223
- perf: compute DataKey only when necessary by @joshua-spacetime in #268
- Add debug logs with load progress by @aasoni in #143
- Fixed json serializer getting progressively slower by @SteveBoytsun in #226
- SDK test suites by @gefjon in #258
- perf: read DataKey instead of recomputing it in subscriptions by @joshua-spacetime in #276
- Update indexes when updating a database by @kim in #257
- perf: remove table headers from rows in query engine by @joshua-spacetime in #271
- Refactor with
#[derive(derive_more::From)]
by @Centril in #281 - Add C# integration test by @RReverser in #291
- Refactor Option<Vec<_>> in Config by @RReverser in #292
- Avoid relying on global CLI in tests by @RReverser in #294
- feat(296): index range iterator by @joshua-spacetime in #303
- feat(311): Make right hand side of join generic by @joshua-spacetime in #312
- [SDK] Separate client cache from connection to avoid a deadlock in cloud-next by @gefjon in #248
- feat(297): generate index scans for range predicates by @joshua-spacetime in #306
- perf(308): Push index scans below join by @joshua-spacetime in #313
- fix(320): Incremental evaluation of index scan plans by @joshua-spacetime in #321
- feat(318): Push selections below joins in the general case by @joshua-spacetime in #319
- feat(298): Index nested loop semijoin by @joshua-spacetime in #316
- Add SDK test that verifies connect/disconnect callbacks happen by @gefjon in #326
- Add smoke test for private tables by @kim in #331
- Fix Describe Reducer + Table by @jdetter in #323
- Store the current module hash in a system table by @kim in #290
- feat(332): Support incremental evaluation for index joins by @joshua-spacetime in #336
- Return the formatted error from
log_and_500
, so the CLI can report it by @gefjon in #338 - [SDK] generate
struct Module
to hold dispatch functions by @gefjon in #239 - connect/disconnect reducers called when executing reducer from from CLI by @jdetter in #334
- Fix bootstrapping of ST_MODULE by @kim in #342
- Wrangle benchmarks by @kazimuth in #289
- Benchmarks: report tx/s as elements/s by @gefjon in #345
- Fix the printing of ascii codes on tracy and improve some tracing by @mamcx in #341
- Added Git Commit Hash to Version Command by @jdetter in #340
- Fix derive(Deserialize) on void enum by @coolreader18 in #330
- Add simple READMEs for SDK test clients by @gefjon in #350
- Preliminary module-side interface for timing execution by @gefjon in #351
- Commit test clients' module_bindings by @gefjon in #346
- Print the elapsed time & # of returned rows in the interactive repl by @mamcx in #344
- Fix typo in README.md by @eltociear in #193
- Bindings: improve docs precision by @Centril in #146
- New Upgrade Version Util by @jdetter in #354
- core: Provide read access to commit/message log and odb by @kim in #265
- Version Upgrade to 0.7.0 by @jdetter in #355
- Move connection events to reducers by @RReverser in #309
- Fix arm64 builds on Linux by @kurtismullins in https://github.com/clockworklabs/Spacetim...
v0.6.1-beta
This is the first patch release post-announcement! We're already at work fixing all the issues that you all have been reporting. There'll be much more to come over the next few weeks and months!
Highlights
- Fancy banner for
spacetime start
- Logging fixes and improvements
- Bug fixes and performance improvements
What's Changed
- Print banner during spacetime start by @jdetter in #138
- In identity recovery routes, use
IdentityForUrl
by @gefjon in #139 - Fix openssl bindings to always use the feature 'vendored' by @mamcx in #141
- Allow spacetimedb to run in an in-memory mode by @kulakowski in #137
- Remove sendgrid from standalone by @kulakowski in #142
- Build docker image in CI by @drogus in #124
- Tag docker images with git tag by @drogus in #145
- Fix up the standalone and CLI command line flags by @kulakowski in #148
- Improve the help docs for the --in-memory cli flag by @kulakowski in #150
- Auto-upgrade C# deps on installation by @RReverser in #147
- Fix URL for the docker badge by @mamcx in #144
- Move energy budget reporting to log::info! by @kulakowski in #140
- Default docker command by @jdetter in #149
- Fix serde impls for Address + add some tests by @kim in #159
- Implement
Display
forNameOrAddress
by @kim in #160 - Point C# to API reference for now by @RReverser in #164
- Remove unused datastore traits by @kulakowski in #157
- Terminate background smoke tests on exit by @kim in #153
- Allow smoke tests to opt out of docker by @kim in #154
- Return parsed
DomainName
alongsideAddress
when resolvingNameOrAddress
by @kim in #161 - More compact representation of
DomainName
by @kim in #163 - [SDK] Add cursive-chat example by @gefjon in #152
- Install from source instructions by @jdetter in #170
- sdk: Lower client cache log severities by @kim in #162
- Fix some insertion and deletion state transitions by @kulakowski in #167
- Move cargo deps to the workspace by @mamcx in #172
- Fix nit by @mamcx in #178
- Version upgrade to 0.6.1 by @jdetter in #180
- Fix python generation for C# server modules by @dbrinkmanncw in #166
- Fix Docker Build by @jdetter in #181
Full Changelog: v0.6.0-beta...v0.6.1-beta
v0.6.0-beta
The first publicly released version of SpacetimeDB. 0.6.0
v0.6.0-beta Release Notes