SDK Guides
JavaScript

Release Notes: JavaScript & React Native

Version 4.5.4

Fixed

Intermittent crash when syncing over Bluetooth LE GATT with "DataTooLarge" error (#9789)

Version 4.5.3

Fixed

  • A crash in Android Bluetooth subsystem (#11467)

Version 4.5.2

JavaScript

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)

React Native

  • 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)

Version 4.5.2

Synchronized version bump release — no changes

Version 4.5.1

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.

Version 4.5.0



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)