---
title: Release Notes: Swift v4.5
slug: v4-5/swift/release-notes
docTags: 
createdAt: 2023-11-15T00:54:41.303Z
---

# Swift Version 4.5.4

**Fixed**

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

# Swift Version 4.5.3

Synchronized version bump release — no changes

# Swift Version 4.5.2

Synchronized version bump release — no changes

# Swift 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`
- Swift SDK would report as being Objective-C via Small Peer Info in the portal

# Swift 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.
:::

:::hint{type="warning"}
This version drops support for iOS 13 and earlier. All devices that support iOS 13 also support iOS 14 and iOS 15. (#9842)
:::



**Added**

- `Ditto.version` class property providing access to the semantic version of the SDK. (#10223)
- class `DittoQueryResultItem` representing a single match of a DQL query. (#10319, #10394)
- class `DittoQueryResult` representing the result of executing a DQL query. (#10319, #10394)
- method `execute()` on `DittoStore` that executes a DQL query and returns a `DittoQueryResult` containig `DittoQueryResultItem`s for each match. (#10319, #10394)
- class `DittoSyncSubscription` 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 old `Subscription` class. (#10395, #10394)
- method `registerSubscription()` on `DittoSync` that installs and returns a `SyncSubscription`. (#10395, #10394)
- property `subscriptions` on `DittoSync` providing access to all currently active sync subscriptions. (#10395, #10394)
- property `sync` on `Ditto` of type `DittoSync` to serve as an entry point for sync functionality. (#10395, #10394)
- class `DittoStoreObserver` on `DittoStore` that configures Ditto to invoke an observation handler whenever results for its query change. (#10396, #10394)
- method `registerObserver()` on `DittoStore` that installs and returns a `DittoStoreObserver`. (#10396, #10394)
- property `observers` on `DittoStore` providing access to all currently active store observers. (#10396, #10394)

**Deprecated**

- `DittoLANConfig.isMulticastEnabled` property.. (#10126)

**Changed**

- Ditto SDK 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**

- 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.
:::

