7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 1 | # Changelog |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 2 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 3 | All notable changes to this project will be documented in this file. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 4 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 5 | <!-- changelog start --> |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 6 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 7 | ## [0.18.0](https://github.com/matrix-org/matrix-rust-sdk/tree/0.18.0) - 2026-06-02 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 8 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 9 | No significant changes. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 10 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 11 | ## [0.17.0] - 2026-05-08 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 12 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 13 | ### Features |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 14 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 15 | - Add support in the implementation of `EventCacheStore` for |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 16 | having duplicate events in a room, where each duplicate is in a different |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 17 | `LinkedChunk`. This is useful, e.g., when an event is in a room and a |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 18 | thread in that room. The change involves a database migration where |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 19 | the `EVENTS` object store is cleared and then modified so that the |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 20 | `ROOM` index no longer requires keys to be unique. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 21 | ([#6200](https://github.com/matrix-org/matrix-rust-sdk/pull/6200)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 22 | - Implement `CryptoStore::get_pending_key_bundle_details_for_room` and |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 23 | `CryptoStore::get_all_rooms_pending_key_bundle`, and process |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 24 | `rooms_pending_key_bundle` field in `Changes`. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 25 | ([#6199](https://github.com/matrix-org/matrix-rust-sdk/pull/6199)), |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 26 | ([#6233](https://github.com/matrix-org/matrix-rust-sdk/pull/6233)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 27 | - Expose implementations of `EventCacheStore` and `MediaStore` and add a |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 28 | composite type for initializing all stores with a single function - i.e., |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 29 | `IndexeddbStores::open`. Additionally, allow feature flags for each of the |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 30 | stores to be used independent of and in combination with the others. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 31 | ([#5946](https://github.com/matrix-org/matrix-rust-sdk/pull/5946)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 32 | - Implement new method `CyptoStore::has_downloaded_all_room_keys`, and process |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 33 | `room_key_backups_fully_downloaded` field in `Changes`. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 34 | ([#6017](https://github.com/matrix-org/matrix-rust-sdk/pull/6017)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 35 | ([#6044](https://github.com/matrix-org/matrix-rust-sdk/pull/6044)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 36 | - [**breaking**] In `EventCacheStore::handle_linked_chunk_updates`, new chunks |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 37 | may no longer reference chunk identifiers which do not yet exist in the store |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 38 | ([#6061](https://github.com/matrix-org/matrix-rust-sdk/pull/6061)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 39 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 40 | ### Bug fixes |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 41 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 42 | - Ensure that encrypted tests are run with a `StoreCipher`. This happened to |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 43 | reveal tests which fail in an encrypted `EventCacheStore`, which required |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 44 | fixing queries for all events in a room. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 45 | ([#5933](https://github.com/matrix-org/matrix-rust-sdk/pull/5933)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 46 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 47 | ### Refactor |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 48 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 49 | - Add migration to `IndexeddbCryptoStore` that removes cross-process lock |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 50 | generation key from `CORE` object store, as this is tracked in `LEASE_LOCKS` |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 51 | object store. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 52 | ([#6326](https://github.com/matrix-org/matrix-rust-sdk/pull/6326)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 53 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 54 | ## [0.16.1] - 2026-05-08 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 55 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 56 | No notable changes in this release. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 57 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 58 | ## [0.16.0] - 2025-12-04 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 59 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 60 | ### Features |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 61 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 62 | - Implement new method `CryptoStore::get_withheld_sessions_by_room_id`. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 63 | ([#5819](https://github.com/matrix-org/matrix-rust-sdk/pull/5819)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 64 | - [**breaking**] `IndexeddbCryptoStore::get_withheld_info` now returns |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 65 | `Result<Option<RoomKeyWithheldEntry>, ...>`. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 66 | ([#5737](https://github.com/matrix-org/matrix-rust-sdk/pull/5737)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 67 | - Implement `StateStore::upsert_thread_subscriptions()` method for bulk upserts. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 68 | ([#5848](https://github.com/matrix-org/matrix-rust-sdk/pull/5848)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 69 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 70 | ### Performance |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 71 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 72 | - Improve performance of certain media queries in `MediaStore` implementation by |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 73 | storing media content and media metadata in separate object stores in |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 74 | IndexedDB (see |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 75 | [#5795](https://github.com/matrix-org/matrix-rust-sdk/pull/5795)). |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 76 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 77 | ## [0.14.0] - 2025-09-04 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 78 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 79 | No notable changes in this release. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 80 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 81 | ## [0.13.0] - 2025-07-10 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 82 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 83 | ### Features |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 84 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 85 | - Add support for received room key bundle data, as required by encrypted |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 86 | history sharing |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 87 | ((MSC4268)[[https://github.com/matrix-org/matrix-spec-proposals/pull/4268][https-github-com-matrix-org-matrix-spec-proposals-pull-4268])). |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 88 | ([#5276](https://github.com/matrix-org/matrix-rust-sdk/pull/5276)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 89 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 90 | ## [0.12.0] - 2025-06-10 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 91 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 92 | No notable changes in this release. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 93 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 94 | ## [0.11.0] - 2025-04-11 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 95 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 96 | No notable changes in this release. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 97 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 98 | ## [0.10.0] - 2025-02-04 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 99 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 100 | No notable changes in this release. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 101 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 102 | ## [0.9.0] - 2024-12-18 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 103 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 104 | No notable changes in this release. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 105 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 106 | ## [0.8.0] - 2024-11-19 |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 107 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 108 | ### Features |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 109 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 110 | - Improve the efficiency of objects stored in the crypto store. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 111 | ([#3645](https://github.com/matrix-org/matrix-rust-sdk/pull/3645), |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 112 | [#3651](https://github.com/matrix-org/matrix-rust-sdk/pull/3651)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 113 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 114 | - Add new method `IndexeddbCryptoStore::open_with_key`. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 115 | ([#3423](https://github.com/matrix-org/matrix-rust-sdk/pull/3423)) |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 116 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 117 | - `save_change` performance improvement, all encryption and serialization |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 118 | is done now outside of the db transaction. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 119 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 120 | ### Bug fixes |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 121 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 122 | - Use the `DisplayName` struct to protect against homoglyph attacks. |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 123 | |
7ff8adafe9e4 | atagen | 2026-10-22 12:30 UTC | 124 | [https-github-com-matrix-org-matrix-spec-proposals-pull-4268]: https://github.com/matrix-org/matrix-spec-proposals/pull/4268 |