spacetimedb 1.2.0
spacetimedb: ^1.2.0 copied to clipboard
Dart SDK for SpacetimeDB. Real-time sync, BSATN codec, code generation, and offline-first support.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.2.0 - 2026-02-26 #
Changed #
- Stable release for SpacetimeDB v2 — version bump from 0.1.x to 1.2.0 to signal production-ready v2 compatibility
- README comprehensively rewritten: compatibility matrix, architecture diagram, full API reference, security considerations, logging guide
- Updated
uuiddependency to ^4.5.3
Fixed #
- All 8
StreamController.broadcast()inTableCachenow usesync: trueto prevent event delivery race condition where async microtask scheduling allowed reducer Future completions to cancel subscriptions before listeners received events
0.1.2 - 2026-02-19 #
Fixed #
- Sync broadcast controllers in TableCache (backported to 0.1.x)
- Debug logging for update stream delivery
Changed #
- README updated to document SpacetimeDB v2 compatibility
Added #
- Offline-first mutation queue with
PendingMutationmodel and replay support SyncStatefor tracking pending mutation count and sync statusOfflineStorageabstract interface for pluggable storage backendsJsonFileStoragewith web-safe conditional imports (stub on web,dart:ioon native)InMemoryOfflineStoragefor web platform and testing- View code generation support (server-side filtered queries via
ViewContext) - Example project with
README.mdand BSATN demo - Full pub.dev metadata: topics, homepage, repository, issue tracker, documentation
Changed #
- Migrated from legacy
Subscribeto modernSubscribeMultiprotocol SubscriptionManagernow uses multi-query subscription batchingReducerCallerextended with offline queue support (enqueue when disconnected)SdkLoggerrefactored:enableDeveloperLog(), customonLogcallback, level-based filteringClientGeneratorimproved: better typed table accessors, view getter generationSchemaExtractorimproved: robust column type mapping, nullable/optional handlingSpacetimeDbConnectionimproved: cleaner reconnect lifecycle, status stream reliabilityReducerInfoupdated for SubscribeMulti message format compatibility
Fixed #
- Web platform crash when importing
dart:ioviaJsonFileStorage - Subscription deduplication on rapid subscribe/unsubscribe cycles
0.1.0 - 2025-02-13 #
Added #
- WebSocket connection with auto-reconnect and SSL/TLS support
- Connection status monitoring and quality metrics
- BSATN binary encoding/decoding (all SpacetimeDB types)
- Client-side table cache with real-time change streams
- Subscription management with SQL queries
- Type-safe reducer calling with transaction results
- Code generation from SpacetimeDB modules (tables, reducers, sum types, views)
- Authentication with Identity, token persistence, and OIDC support
- Offline-first support with optimistic updates and mutation queue
- Brotli compression for WebSocket messages