SDK Guides
JavaScript
Release Notes: JavaScript & React Native
Fixed
Intermittent crash when syncing over Bluetooth LE GATT with "DataTooLarge" error (#9789)
Fixed
- A crash in Android Bluetooth subsystem (#11467)
Fixed
Windows P2P LAN only used IPv4 while advertising the service on IPv6 too (#11308)
Fixed
Store observers set up through registerObserver no longer stall when errors are thrown in the observation handler callback. (#11293)
Fixed
Changed Ditto.disableSyncWithV3() to be async to allow awaiting the completion of the upgrade. (#11385)
- Removed the boost library from our SDK to resolve namespace conflicts on the user side (#11351)
- Updated the SDK to automatically fetch the .aar Android binary from Maven for improved dependency management (#11351)
Synchronized version bump release — no changes
Added
- Support for light JWTs (separating identity data)
Fixed
- A potential panic if an f64::Nan is compared to a u64 or i64 during collation.
- Closing a Ditto instance after having set an invalid transport config no longer throws an error.
- Configuring unsupported HTTP and TCP transport options in the browser now throws an error.
Added
- added support for React Native. (#10708)
- class QueryResultItem representing a single match in a DQL query result. (#10375)
- class QueryResult representing the result of executing a DQL query. (#10375)
- method execute() on Store that executes a DQL query and returns a QueryResult containing QueryResultItems. (#10375)
- class SyncSubscription that configures Ditto to receive updates from remote peers about documents matching the subscription's query. It's a DQL counterpart and successor to the existing Subscription class. (#10437)
- method registerSubscription() on Sync that installs and returns a SyncSubscription. (#10437)
- class StoreObserver that configures Ditto to invoke a callback whenever results for its query change. (#10550)
- method registerObserver() on Store that registers and returns a StoreObserver. (#10550)
- property observers on Store providing access to all currently active store observers. (#10637)
- property subscriptions on Sync providing access to all currently active sync subscriptions. (#10637)
- property sync on Ditto of type Sync to serve as an entry point for sync functionality. (#10637)
- class DittoError used for all errors thrown from DQL APIs.. (#10651)
- Ditto.smallPeerInfo now allows setting user-supplied metadata to be stored along with the collected info. (#10735)
- static property VERSION to Ditto class. (#10789)
Deprecated
- TransportConfigLan.isMulticastEnabled property. (#10126)
Changed
- .store.experimental.execute() to fail early rather than when requesting the .results. (#10172)
- Ditto JavaScript SDK for macOS is built and tested with Xcode 14.3.1.. (#10177)
Improved
- Performance by implementing bipartite distance-aware mesh topology. (#10632)
- Memory usage and performance of Documents. (#10736)
- Reduced metadata accumulation after eviction by clearing remote summaries. (#7065)
- Serialization performance. (#9112)
Fixed
- Updated some logging fallbacks to always use the configurable Ditto logger instead of console.error(). (#10322)
- Removed misleading error logs when presence information changes after a presence observer has been stopped. (#10322)
- Bluetooth and LAN transports fail to stop on Windows and Linux. (#8809)
- Made logging more robust to failed writes in a specific set of circumstances. (#10077)
- Addressed a warning from SQLite that sometimes occurs on startup about a schema change. (#10501)
- Presence graph may not show all active connections. (#10507)
- When observing peers, isConnectedToDittoCloud property may be incorrect. (#10534)
- initial logging events now use the same format as all other logs. (#10611)
- mesh could choose random connections. (#10711)
- A bug with Ditto's internal crash handler. (#10022)
Updated 12 Mar 2024
Did this page help you?