---
title: Release Notes: JavaScript & React Native
slug: v4-5/js/release-notes
docTags: 
createdAt: 2023-11-15T00:54:41.303Z
---

# 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

:::hint{type="success"}
If you are upgrading from v4.x to v4.5 without adopting any new functionality there will be no changes required and all other v4.x devices will sync with v4.5 devices.

v4.5 follows semver and is backwards compatible with all previous v4 versions. All changes in v4.5 are additive and don’t require any additional work when upgrading.
:::

:::hint{type="warning"}
If you plan on adopting DQL as part of the migration to v4.5 review [Legacy-to-DQL Adoption Guide](docId\:e2ZbKPkQwYMyXW5pN4rjM)

***Note:*** All existing APIs and queries (eg. `find` , `findById` , `observe` , ect.) will remain supported for the foreseeable future. We will notify customers with advanced warning when we plan to end of life these APIs.
:::

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

:::hint{type="info"}
To access release notes for earlier Ditto versions, go to [v4.4](https://docs.ditto.live/v4-4) of the documentation by clicking the version picker located in the upper left corner and selecting **4.4** from the menu.
:::

###

