diff --git a/crates/matrix-sdk-common/CHANGELOG.md b/crates/matrix-sdk-common/CHANGELOG.md index 2c7b1b711..d4de50fce 100644 --- a/crates/matrix-sdk-common/CHANGELOG.md +++ b/crates/matrix-sdk-common/CHANGELOG.md @@ -7,12 +7,13 @@ All notable changes to this project will be documented in this file. ## [Unreleased] - ReleaseDate ### Features +- Add `AcquireCrossProcessLockResult` and `AcquireCrossProcessLockFn` + for convenience in generalizing cross-process lock acquisition. + ([#6326](https://github.com/matrix-org/matrix-rust-sdk/pull/6326)) - Add support in the `MemoryStore`'s implementation of `EventCacheStore` for having duplicate events in a room, where each duplicate is in a different `LinkedChunk`. This is useful, e.g., when an event is in a room and a thread in that room. - - - [**breaking**] In order to support having duplicate events in the same room (in different `LinkedChunk`'s) a few functions were changed in `RelationalLinkedChunk`. The items in the `Iterator` returned by `RelationalLinkedChunk::items` now also include the `LinkedChunkId` in which the `Item` was found. Additionally, `RelationalLinkedChunk::save_item` diff --git a/crates/matrix-sdk-crypto/CHANGELOG.md b/crates/matrix-sdk-crypto/CHANGELOG.md index c3f729f23..1ea0daf7a 100644 --- a/crates/matrix-sdk-crypto/CHANGELOG.md +++ b/crates/matrix-sdk-crypto/CHANGELOG.md @@ -36,6 +36,9 @@ All notable changes to this project will be documented in this file. ### Refactor +- [**breaking**] Remove cross-process lock generation logic from `OlmMachine`, which is now + implemented more generally in `matrix_sdk_common::cross_process_lock::CrossProcessLock`. + ([#6326](https://github.com/matrix-org/matrix-rust-sdk/pull/6326)) - [**breaking**] The `MediaEncryptionInfo` fields changed to match the new fields of `EncryptedFile` from Ruma. The serialized JSON format did not change and still matches the format of `EncryptedFile` defined in the spec, without the `url` field. The `DecryptorError::KeyNonceLength` diff --git a/crates/matrix-sdk-indexeddb/CHANGELOG.md b/crates/matrix-sdk-indexeddb/CHANGELOG.md index be71c34ee..8ff199766 100644 --- a/crates/matrix-sdk-indexeddb/CHANGELOG.md +++ b/crates/matrix-sdk-indexeddb/CHANGELOG.md @@ -37,6 +37,12 @@ All notable changes to this project will be documented in this file. - Ensure that encrypted tests are run with a `StoreCipher`. This happened to reveal tests which fail in an encrypted `EventCacheStore`, which required fixing queries for all events in a room. ([#5933](https://github.com/matrix-org/matrix-rust-sdk/pull/5933)) +### Refactor + +- Add migration to `IndexeddbCryptoStore` that removes cross-process lock generation key from + `CORE` object store, as this is tracked in `LEASE_LOCKS` object store. + ([#6326](https://github.com/matrix-org/matrix-rust-sdk/pull/6326)) + ## [0.16.0] - 2025-12-04 ### Features diff --git a/crates/matrix-sdk-sqlite/CHANGELOG.md b/crates/matrix-sdk-sqlite/CHANGELOG.md index 20272478d..69f548aac 100644 --- a/crates/matrix-sdk-sqlite/CHANGELOG.md +++ b/crates/matrix-sdk-sqlite/CHANGELOG.md @@ -25,6 +25,12 @@ All notable changes to this project will be documented in this file. - Fix a panic when the SQLite connection is aborted. ([#6091](https://github.com/matrix-org/matrix-rust-sdk/pull/6091)) +### Refactor + +- Add migration to `SqliteCryptoStore` that removes cross-process lock generation key from + `kv` table, as this is tracked in `lease_locks` table. + ([#6326](https://github.com/matrix-org/matrix-rust-sdk/pull/6326)) + ## [0.16.0] - 2025-12-04 ### Features diff --git a/crates/matrix-sdk/CHANGELOG.md b/crates/matrix-sdk/CHANGELOG.md index 2c4ca5eaa..cda987c6c 100644 --- a/crates/matrix-sdk/CHANGELOG.md +++ b/crates/matrix-sdk/CHANGELOG.md @@ -128,6 +128,10 @@ All notable changes to this project will be documented in this file. ### Refactor +- [**breaking**] Update `Encryption::{spin_lock_store, try_lock_once_store}` so that lock dirtiness + is determined entirely by `CrossProcessLock`, rather than logic defined by `OlmMachine`. Also enforce + that lock generation is opaque by removing `CrossProcessLockStoreGuardWithGeneration`. + ([#6326](https://github.com/matrix-org/matrix-rust-sdk/pull/6326)) - [**breaking**] The `EventCache` now owns pagination tasks, and will run them to completion, even if a manual caller stopped polling the called future. ([#6304](https://github.com/matrix-org/matrix-rust-sdk/pull/6304))