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

# Rust Version 4.5.4

**Fixed**

Incompatibilities with certain Rust toolchains on some platforms. (#11691)

# Rust Version 4.5.3

Synchronized version bump release — no changes

# Rust Version 4.5.2

Synchronized version bump release — no changes

# Rust 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.`

# Rust 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**

- `StringPrimitiveFormat` to the prelude so it can be used in calls to `DocumentId::to_query_compatible()`. (#10388)
- `Store::execute` to run DQL queries. (#10410)
- `ReplicationSubscribe` struct.. (#10435)
- `add_replication_subscription` to the struct `Store`. (#10435)
- `Store::register_change_observer` to create a `ChangeObserver`. (#10568)
- `ChangeObserver` to monitor changes on selected Documents. (#10568)
- the ability to set app-specific signed peer information that is shared in the presence collection among all peers in the mesh.. (#9793)
- `Ditto::small_peer_info` allowing access to, and configuration of, Small Peer Info. (#10811)
- enum `PresenceOs` to the public API. (#9876)
- new example `carsapp_tui`. (#9876)
- `Ditto::set_on_connecting_callback` function that allows you to reject peer connections based on a function of your choosing using known information about connecting peers. (#9898)

**Deprecated**

- `LanConfig.multicast_enabled` property. (#10126)

**Changed**

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

- debug-mode crash when using \`register\_replication\_subscription\`. (#10679)
- 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.
:::

