Another week, another reason to celebrate 🎉 2.1.0 is here, and it's bringing some long-awaited features alongside a handful of satisfying bug squashes!
Features
🦀 Rust client Wasm support
This one's been a long time coming. The Rust client SDK can now compile and run in the browser thanks to resolved Wasm compilation issues. If you've been waiting to build browser-based apps with the Rust SDK, your wait is over #4183
🎮 C++ Modules + Unreal SDK
Unreal developers, rejoice — both the C++ module bindings and the Unreal SDK have been brought up to speed with SpacetimeDB 2.0's APIs and codegen. Full compatibility, no more workarounds.
- Update C++ bindings for 2.0 compatibility #4461
- Update Unreal SDK to match latest APIs and codegen #4497
Bug Fixes
There are several bug fixes in this release:
- Fix useTable isReady reverting to false after first row event by #4580
- Fix v2 client disconnects dropping subscriptions for other v2 clients #4648
If you experience any new issues with this release either file an issue on GitHub or drop into our Discord — we're always around.
We'll see you again soon for the next release 😉
What's Changed
- Tidy up old code from the benchmark by @coolreader18 in #4616
- Update docs for primary key views by @joshua-spacetime in #4620
- Fix useTable isReady reverting to false after first row event by @clockwork-labs-bot in #4580
spacetime.jsonupdates by @cloutiertyler in #4504- [Rust] Extend view table accessors with
countby @joshua-spacetime in #4638 - Refresh views during one-shot schedule cleanup by @joshua-spacetime in #4639
- commitlog: Resumption of sealed commitlog by @kim in #4650
impl Deserialize for Packed + SumTagby @Centril in #4653- Fix v2 client disconnects dropping subscriptions for other v2 clients by @joshua-spacetime in #4648
- Fix anonymous view subscription cleanup by @joshua-spacetime in #4646
- Correct stale C++ quickstart links in README by @leosat in #4633
- Update Unreal SDK to websocket 2.0 by @JasonAtClockwork in #4497
- Include full error chain in procedure HTTP request errors by @Shiven0504 in #4610
- fix: Replace unwrap with proper error handling in set_domains handler by @Shiven0504 in #4643
- fix(docs): Fix back to top button display by @clockwork-tien in #4670
- Use column names instead of accessors for ts queries by @jsdt in #4627
- feat: update pgwire to 0.37 by @sunng87 in #3910
- Remove legacy SQL code by @joshua-spacetime in #4628
- Allow obtaining a
AnonymousViewContextfrom aViewContextby @kistz in #4671 - add
Deserialize::validatefor non-allocating validation by @Centril in #4493 - cleanup
TypedIndexPointIter& ditchDirectvariant by @Centril in #4654 - fix(csharp-codegen): escape C# reserved keywords in generated identifiers by @stablegenius49 in #4535
- Template README + template.json generation tool by @bradleyshep in #4570
- Add a metric for the number of module instances by @jsdt in #4674
- Add
ConsumeEntityEventto Blackholio C++ and C# modules by @rekhoff in #4675 - Add more info to segment file errors by @jsdt in #4680
- CI - Disable PR approval check by @bfops in #4683
- Updated Query with Indexes to be code-accurate by @rekhoff in #4165
- Bump versions to 2.1.0 by @bfops in #4681
- core: Keep a reordering window in durability worker by @kim in #4677
- Make confirmed reads the default for the ts connector by @joshua-spacetime in #4682
- docs: Fix incorrect Math.random() note in reducer context by @clockwork-labs-bot in #4667
- Fix
spacetime devignoring top-level module-path for generate entries by @clockwork-labs-bot in #4656 {Multi,Unique}Map->{/Unique}BTreeIndex+Btree->BTreeby @Centril in #4655- Keynote-2 sqlite fixes by @bradleyshep in #4678
- wasm support for Rust SDK by @bfops in #4183
New Contributors
- @leosat made their first contribution in #4633
- @stablegenius49 made their first contribution in #4535
Full Changelog: v2.0.5...v2.1.0