We have a new release with a variety of goodies for you 🎁
As of this release, users can add new values at the end of an enum
without clearing the database data.
This release also includes lots of performance improvements to CPU usage, memory usage, and network behavior.
We've also addressed several bugs that were reported, especially:
- Fixed a bug where clients making similar queries could prevent each other from getting query updates
- Fixed #2894
- Fixed #2891
- Fix
spacetime version list
not showing the current version
What's Changed
- Fix an outdated docstring on
identity
andtry_identity
in the Rust SDK by @gefjon in #2871 - Remove incorrect
const
qualifiers on two imports inbindings.c
by @gefjon in #2862 - Use database identity not owner identity for metrics by @joshua-spacetime in #2868
messages::serialize
: take/put buffers from/into aSerializeBufferPool
by @Centril in #2823- Relax conditions for query pruning by @joshua-spacetime in #2873
- Track metadata updates for unsubscribes by @joshua-spacetime in #2876
- Record the size of a client's outgoing message queue on drop by @joshua-spacetime in #2877
- Fix two places we grab blocking locks on tokio runtime worker threads by @jsdt in #2881
- Speed up metadata update on unsubscribe by @joshua-spacetime in #2880
- Log when a websocket connection has ended by @joshua-spacetime in #2883
- Improve serialization speed of enums without data in C# by @kazimuth in #2762
TypedIndex
: add special cases forF{32,64}
by @Centril in #2885- Bump C# versions to 1.2.1 by @bfops in #2890
- Remove unnecessary
.clone()
inpipelined.rs
by @Centril in #2897 - Track disconnects initiated by the client by @joshua-spacetime in #2893
- Fix query overwrites in the subscription manager by @joshua-spacetime in #2905
- core: Allow adjusting CPU reservation pools by @kim in #2907
- durability: Fix task leak by @kim in #2875
- Auto-migrate: Allow adding new variants at the tail by @Centril in #2874
- (perf)
send_one_computed_queries
: reuse aggregationHashMap
s by @Centril in #2909 - Filter out dropped clients in the send worker by @joshua-spacetime in #2899
tools/upgrade-version
updates the Change Date inLICENSE.txt
by @bfops in #2895- Wrap websocket flush in timeout by @joshua-spacetime in #2908
- Record transaction metrics off the main thread by @joshua-spacetime in #2910
- core: Allow caller to decide whether or not IRQ cores should be reserved by @kim in #2913
- Remove unused
get_column_by_field
by @Centril in #2917 update_database
:is_unique
should only use the table's constraints by @Centril in #2915- Extract
spacetimedb-memory-usage
& Nixbindings
dep onspacetimedb-data-structures
by @Centril in #2919 - Extract
object_pool
module fromPagePool
by @Centril in #2920 - SATS: Move some method bodies to be provided in 'Serializer' instead by @Centril in #2921
- Move
sats::de::serde::NoneAccess
tosats::de::NoneAccess
by @Centril in #2922 - Fix equality comparison between Row::Ptr and Row::Ref by @jsdt in #2914
- SATS: make
field_names
/variant_names
return iterator + addFieldNameVisitor::visit_seq
by @Centril in #2927 - Add
V8Runtime
skeleton +HostType::Js
by @Centril in #2923 - core: Tone down
MessageExecutionError
by @kim in #2926 - SATS: add
Impossible
helper type by @Centril in #2929 - client-api: Rewrite websocket loop by @kim in #2906
- Fix
AlgebraicTypeLayout::is_compatible_with
by @Centril in #2932 - Split datastore into its own crate by @cloutiertyler in #2933
- Enable the
datastore
crate'stest
feature where necessary by @gefjon in #2937 - Move locking operations onto the module's thread by @jsdt in #2866
- Bump rust-toolchain to rust 1.88 by @coolreader18 in #2749
- Add
v8
crate + initializev8
by @Centril in #2939 - Extract
ModuleCommon
+ use in wasm & v8 runtimes by @Centril in #2940 - Import TypeScript SDK repo by @bfops in #2941
- Make websocket configurable via config.toml by @kim in #2944
- Fix up GitHub files related to TypeScript SDK by @bfops in #2943
- [V8] Define
trait ToValue
for primitive types by @Centril in #2946 - commitlog: Set up options for toml configuration by @kim in #2942
- Import docs repo by @bfops in #2948
- Docs import - Update GitHub-related files by @bfops in #2949
- Import Blackholio by @bfops in #2945
- Blackholio import - README updates by @bfops in #2947
- Import C#/Unity SDK by @bfops in #2951
- smoketest: Retry if there is no current leader by @kim in #2950
- Update GitHub files for C#/Unity SDK by @bfops in #2952
- ci: Temporarily disable zz_docker tests by @kim in #2974
- V8: add
FromValue
, error traits, roundtrip tests by @Centril in #2971 - smoketests: Adjust for node table rename by @kim in #2970
- smoketests: Fix server restarts and make more robust by @kim in #2977
- Fix
spacetime version list
not showing current version by @bfops in #2680 - Upgrade
jemalloc_pprof
andtempfile
crates by @kim in #2982 - Update tungstenite to get client read performance improvement by @ResuBaka in #2966
- Moved Remove operation to start of Table.Apply by @rekhoff in #2967
- Update quickstart-chat client module bindings from server by @alex47 in #2976
- ci: Skip the Unity tests if the PR is an external contribution by @kim in #2978
- Docs CI - Check that
nav.js
matches the.md
files list by @bfops in #2984 - CI - Check C# quickstart-chat bindings are up to date by @bfops in #2979
- Adding reject-client-connections doc. by @rekhoff in #2973
- cli: Close the websocket connection gracefully by @kim in #2925
- smoketests: Make gathering container ports None-safe by @kim in #2991
- Generate Websocket token from auth in Unity WebGL build by @FME849 in #2988
Snapshotdir
tx_offset method by @Shubham8287 in #2992- Add a recursion limit to the evaluation of type_expr & parse_expr by @mamcx in #2935
- Update docs to point to SpacetimeDB monorepo by @bfops in #2989
- Add React Native support to the Typescript SDK by @JulienLavocat in #2955
- Bump C#/Unity Client SDK versions to 1.2.2 by @bfops in #2994
- TypeScript - Bump package version to 1.2.3 by @bfops in #2997
- CI - Monorepo tweaks by @bfops in #3000
- Add additional logging to subscribe route and simplify calling
client_connected
by @gefjon in #2998 - CI - C#/Unity test suite concurrency improvements by @bfops in #3001
- Bump versions to 1.3.0 by @bfops in #3005
New Contributors
- @ResuBaka made their first contribution in #2966
- @alex47 made their first contribution in #2976
- @FME849 made their first contribution in #2988
- @JulienLavocat made their first contribution in #2955
Full Changelog: v1.2.0...cli/v1.3.0