atagen

matrix-rust-sdk

public
Star0
Watch0
ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk.git

Blame: crates/matrix-sdk-common/CHANGELOG.md

7ff8adafe9e4atagen2026-10-22 12:30 UTC1
# Changelog
7ff8adafe9e4atagen2026-10-22 12:30 UTC2
7ff8adafe9e4atagen2026-10-22 12:30 UTC3
All notable changes to this project will be documented in this file.
7ff8adafe9e4atagen2026-10-22 12:30 UTC4
7ff8adafe9e4atagen2026-10-22 12:30 UTC5
<!-- changelog start -->
7ff8adafe9e4atagen2026-10-22 12:30 UTC6
7ff8adafe9e4atagen2026-10-22 12:30 UTC7
## [0.18.0](https://github.com/matrix-org/matrix-rust-sdk/tree/0.18.0) - 2026-06-02
7ff8adafe9e4atagen2026-10-22 12:30 UTC8
7ff8adafe9e4atagen2026-10-22 12:30 UTC9
No significant changes.
7ff8adafe9e4atagen2026-10-22 12:30 UTC10
7ff8adafe9e4atagen2026-10-22 12:30 UTC11
## [0.17.0] - 2026-05-08
7ff8adafe9e4atagen2026-10-22 12:30 UTC12
7ff8adafe9e4atagen2026-10-22 12:30 UTC13
### Features
7ff8adafe9e4atagen2026-10-22 12:30 UTC14
7ff8adafe9e4atagen2026-10-22 12:30 UTC15
- [**breaking**] Change to the stable identifiers for `m.history_not_shared`.
7ff8adafe9e4atagen2026-10-22 12:30 UTC16
  We still support reading the unstable identifier.
7ff8adafe9e4atagen2026-10-22 12:30 UTC17
  ([#6467](https://github.com/matrix-org/matrix-rust-sdk/pull/6467))
7ff8adafe9e4atagen2026-10-22 12:30 UTC18
- Add a method to check the validity of edits.
7ff8adafe9e4atagen2026-10-22 12:30 UTC19
  ([#6454](https://github.com/matrix-org/matrix-rust-sdk/pull/6454))
7ff8adafe9e4atagen2026-10-22 12:30 UTC20
- A background task monitor has been added, that can spawn background tasks and
7ff8adafe9e4atagen2026-10-22 12:30 UTC21
  monitor their execution on a separate channel. Such tasks can run forever, or
7ff8adafe9e4atagen2026-10-22 12:30 UTC22
  they can run for one-shot jobs.
7ff8adafe9e4atagen2026-10-22 12:30 UTC23
  ([#6075](https://github.com/matrix-org/matrix-rust-sdk/pull/6075) &&
7ff8adafe9e4atagen2026-10-22 12:30 UTC24
  [#6421](https://github.com/matrix-org/matrix-rust-sdk/pull/6421))
7ff8adafe9e4atagen2026-10-22 12:30 UTC25
- Add `AcquireCrossProcessLockResult` and `AcquireCrossProcessLockFn`
7ff8adafe9e4atagen2026-10-22 12:30 UTC26
  for convenience in generalizing cross-process lock acquisition.
7ff8adafe9e4atagen2026-10-22 12:30 UTC27
  ([#6326](https://github.com/matrix-org/matrix-rust-sdk/pull/6326))
7ff8adafe9e4atagen2026-10-22 12:30 UTC28
- Add support in the `MemoryStore`'s implementation of `EventCacheStore` for
7ff8adafe9e4atagen2026-10-22 12:30 UTC29
  having duplicate events in a room, where each duplicate is in a different
7ff8adafe9e4atagen2026-10-22 12:30 UTC30
  `LinkedChunk`. This is useful, e.g., when an event is in a room and a
7ff8adafe9e4atagen2026-10-22 12:30 UTC31
  thread in that room.
7ff8adafe9e4atagen2026-10-22 12:30 UTC32
- [**breaking**] In order to support having duplicate events in the same room
7ff8adafe9e4atagen2026-10-22 12:30 UTC33
  (in different `LinkedChunk`'s) a few functions were changed in
7ff8adafe9e4atagen2026-10-22 12:30 UTC34
  `RelationalLinkedChunk`. The items in the `Iterator` returned by
7ff8adafe9e4atagen2026-10-22 12:30 UTC35
  `RelationalLinkedChunk::items` now also include the `LinkedChunkId` in which
7ff8adafe9e4atagen2026-10-22 12:30 UTC36
  the `Item` was found. Additionally, `RelationalLinkedChunk::save_item` now
7ff8adafe9e4atagen2026-10-22 12:30 UTC37
  requires the `Item` to be `Clone` as it may be stored in multiple
7ff8adafe9e4atagen2026-10-22 12:30 UTC38
  `LinkedChunk`s.
7ff8adafe9e4atagen2026-10-22 12:30 UTC39
  (#[6200](https://github.com/matrix-org/matrix-rust-sdk/pull/6200))
7ff8adafe9e4atagen2026-10-22 12:30 UTC40
- [**breaking**] Added `CrossProcessLockConfig`, which can be used to configure
7ff8adafe9e4atagen2026-10-22 12:30 UTC41
  the behavior of the cross-process lock. `CrossProcessLock` now takes a
7ff8adafe9e4atagen2026-10-22 12:30 UTC42
  `CrossProcessLockConfig` as an argument to its constructor instead of a
7ff8adafe9e4atagen2026-10-22 12:30 UTC43
  `lock_holder` value.
7ff8adafe9e4atagen2026-10-22 12:30 UTC44
  ([#6160](https://github.com/matrix-org/matrix-rust-sdk/pull/6160))
7ff8adafe9e4atagen2026-10-22 12:30 UTC45
- [**breaking**] `ShieldStateCode` no longer includes
7ff8adafe9e4atagen2026-10-22 12:30 UTC46
  `SentInClear`. `VerificationState::to_shield_state_{lax,strict}` never
7ff8adafe9e4atagen2026-10-22 12:30 UTC47
  returned that code, and so having it in the enum was somewhat misleading.
7ff8adafe9e4atagen2026-10-22 12:30 UTC48
  ([#5959](https://github.com/matrix-org/matrix-rust-sdk/pull/5959))
7ff8adafe9e4atagen2026-10-22 12:30 UTC49
- Add field `forwarder` of type `ForwarderInfo` to `EncryptionInfo`, which
7ff8adafe9e4atagen2026-10-22 12:30 UTC50
  exposes information about the forwarder of the keys with which an event was
7ff8adafe9e4atagen2026-10-22 12:30 UTC51
  encrypted if they were shared as part of an
7ff8adafe9e4atagen2026-10-22 12:30 UTC52
  [MSC4268](https://github.com/matrix-org/matrix-spec-proposals/pull/4268) room
7ff8adafe9e4atagen2026-10-22 12:30 UTC53
  key bundle.
7ff8adafe9e4atagen2026-10-22 12:30 UTC54
  ([#5945](https://github.com/matrix-org/matrix-rust-sdk/pull/5945)).
7ff8adafe9e4atagen2026-10-22 12:30 UTC55
7ff8adafe9e4atagen2026-10-22 12:30 UTC56
### Bug fixes
7ff8adafe9e4atagen2026-10-22 12:30 UTC57
7ff8adafe9e4atagen2026-10-22 12:30 UTC58
- Fix an off-by-one check for `Error:InvalidItemIndex` in
7ff8adafe9e4atagen2026-10-22 12:30 UTC59
  `LinkedChunk::remove_item_at`.
7ff8adafe9e4atagen2026-10-22 12:30 UTC60
  ([#6057](https://github.com/matrix-org/matrix-rust-sdk/pull/6057))
7ff8adafe9e4atagen2026-10-22 12:30 UTC61
- Fix `TimelineEvent::from_bundled_latest_event` sometimes removing the
7ff8adafe9e4atagen2026-10-22 12:30 UTC62
  `session_id` of UTDs. This broken event could later be saved to the event
7ff8adafe9e4atagen2026-10-22 12:30 UTC63
  cache and become an unresolvable UTD.
7ff8adafe9e4atagen2026-10-22 12:30 UTC64
  ([#5970](https://github.com/matrix-org/matrix-rust-sdk/pull/5970)).
7ff8adafe9e4atagen2026-10-22 12:30 UTC65
7ff8adafe9e4atagen2026-10-22 12:30 UTC66
### Refactor
7ff8adafe9e4atagen2026-10-22 12:30 UTC67
7ff8adafe9e4atagen2026-10-22 12:30 UTC68
- [**breaking**] Remove `ttl_cache::TtlCache` because it is now unused.
7ff8adafe9e4atagen2026-10-22 12:30 UTC69
  ([#6484](https://github.com/matrix-org/matrix-rust-sdk/pull/6484))
7ff8adafe9e4atagen2026-10-22 12:30 UTC70
7ff8adafe9e4atagen2026-10-22 12:30 UTC71
## [0.16.1] - 2026-05-08
7ff8adafe9e4atagen2026-10-22 12:30 UTC72
7ff8adafe9e4atagen2026-10-22 12:30 UTC73
### Features
7ff8adafe9e4atagen2026-10-22 12:30 UTC74
7ff8adafe9e4atagen2026-10-22 12:30 UTC75
- Add a method to check the validity of edits.
7ff8adafe9e4atagen2026-10-22 12:30 UTC76
  ([#6454](https://github.com/matrix-org/matrix-rust-sdk/pull/6454))
7ff8adafe9e4atagen2026-10-22 12:30 UTC77
7ff8adafe9e4atagen2026-10-22 12:30 UTC78
## [0.16.0] - 2025-12-04
7ff8adafe9e4atagen2026-10-22 12:30 UTC79
7ff8adafe9e4atagen2026-10-22 12:30 UTC80
### Features
7ff8adafe9e4atagen2026-10-22 12:30 UTC81
7ff8adafe9e4atagen2026-10-22 12:30 UTC82
- [**breaking**] Cross-process lock can be dirty. The
7ff8adafe9e4atagen2026-10-22 12:30 UTC83
  `CrossProcess::try_lock_once` now returns a new type `CrossProcessResult`,
7ff8adafe9e4atagen2026-10-22 12:30 UTC84
  which is an enum with `Clean`, `Dirty` or `Unobtained` variants. When the lock
7ff8adafe9e4atagen2026-10-22 12:30 UTC85
  is dirty it means it's been acquired once, then acquired another time from
7ff8adafe9e4atagen2026-10-22 12:30 UTC86
  another holder, so the current holder may want to refresh its internal state.
7ff8adafe9e4atagen2026-10-22 12:30 UTC87
  ([#5672](https://github.com/matrix-org/matrix-rust-sdk/pull/5672)).
7ff8adafe9e4atagen2026-10-22 12:30 UTC88
7ff8adafe9e4atagen2026-10-22 12:30 UTC89
## [0.14.0] - 2025-09-04
7ff8adafe9e4atagen2026-10-22 12:30 UTC90
7ff8adafe9e4atagen2026-10-22 12:30 UTC91
### Features
7ff8adafe9e4atagen2026-10-22 12:30 UTC92
7ff8adafe9e4atagen2026-10-22 12:30 UTC93
- Tracing subscribers created via
7ff8adafe9e4atagen2026-10-22 12:30 UTC94
  [`matrix_sdk_common::js_tracing::MakeJsLogWriter`] or
7ff8adafe9e4atagen2026-10-22 12:30 UTC95
  [`make_tracing_subscriber`] will now drop log events at the `TRACE` level.
7ff8adafe9e4atagen2026-10-22 12:30 UTC96
  Previously `TRACE` logs were treated the same as `DEBUG` logs.
7ff8adafe9e4atagen2026-10-22 12:30 UTC97
  ([#5590](https://github.com/matrix-org/matrix-rust-sdk/pull/5590)).
7ff8adafe9e4atagen2026-10-22 12:30 UTC98
7ff8adafe9e4atagen2026-10-22 12:30 UTC99
- [**breaking**] Use `Raw<AnyTimelineEvent>` in place of
7ff8adafe9e4atagen2026-10-22 12:30 UTC100
  `Raw<AnyMessageLikeEvent>` in `DecryptedRoomEvent::event`.
7ff8adafe9e4atagen2026-10-22 12:30 UTC101
  ([#5512](https://github.com/matrix-org/matrix-rust-sdk/pull/5512)). Affects
7ff8adafe9e4atagen2026-10-22 12:30 UTC102
  the following functions:
7ff8adafe9e4atagen2026-10-22 12:30 UTC103
  - `OlmMachine::decrypt_room_event` - existing matches on the result's event
7ff8adafe9e4atagen2026-10-22 12:30 UTC104
    field should be updated to
7ff8adafe9e4atagen2026-10-22 12:30 UTC105
    `AnyTimelineEvent::MessageLike(AnyMessageLikeEvent::...)`
7ff8adafe9e4atagen2026-10-22 12:30 UTC106
7ff8adafe9e4atagen2026-10-22 12:30 UTC107
## [0.13.0] - 2025-07-10
7ff8adafe9e4atagen2026-10-22 12:30 UTC108
7ff8adafe9e4atagen2026-10-22 12:30 UTC109
### Features
7ff8adafe9e4atagen2026-10-22 12:30 UTC110
7ff8adafe9e4atagen2026-10-22 12:30 UTC111
- Expose the `ROOM_VERSION_RULES_FALLBACK` that should be used when the rules of
7ff8adafe9e4atagen2026-10-22 12:30 UTC112
  a room are unknown.
7ff8adafe9e4atagen2026-10-22 12:30 UTC113
  ([#5337](https://github.com/matrix-org/matrix-rust-sdk/pull/5337))
7ff8adafe9e4atagen2026-10-22 12:30 UTC114
- Expose the `ROOM_VERSION_FALLBACK` that should be used when the version of a
7ff8adafe9e4atagen2026-10-22 12:30 UTC115
  room is unknown.
7ff8adafe9e4atagen2026-10-22 12:30 UTC116
  ([#5306](https://github.com/matrix-org/matrix-rust-sdk/pull/5306))
7ff8adafe9e4atagen2026-10-22 12:30 UTC117
7ff8adafe9e4atagen2026-10-22 12:30 UTC118
### Refactor
7ff8adafe9e4atagen2026-10-22 12:30 UTC119
7ff8adafe9e4atagen2026-10-22 12:30 UTC120
- [**breaking**] `extract_bundled_thread_summary()` returns a
7ff8adafe9e4atagen2026-10-22 12:30 UTC121
  `Raw<AnySyncMessageLikeEvent>` for the latest event instead of a
7ff8adafe9e4atagen2026-10-22 12:30 UTC122
  `Raw<AnyMessageLikeEvent>`.
7ff8adafe9e4atagen2026-10-22 12:30 UTC123
  ([#5337](https://github.com/matrix-org/matrix-rust-sdk/pull/5337))
7ff8adafe9e4atagen2026-10-22 12:30 UTC124
7ff8adafe9e4atagen2026-10-22 12:30 UTC125
## [0.12.0] - 2025-06-10
7ff8adafe9e4atagen2026-10-22 12:30 UTC126
7ff8adafe9e4atagen2026-10-22 12:30 UTC127
No notable changes in this release.
7ff8adafe9e4atagen2026-10-22 12:30 UTC128
7ff8adafe9e4atagen2026-10-22 12:30 UTC129
## [0.11.0] - 2025-04-11
7ff8adafe9e4atagen2026-10-22 12:30 UTC130
7ff8adafe9e4atagen2026-10-22 12:30 UTC131
### Features
7ff8adafe9e4atagen2026-10-22 12:30 UTC132
7ff8adafe9e4atagen2026-10-22 12:30 UTC133
- Add a simple TTL cache implementation. The `TtlCache` struct can be used as a
7ff8adafe9e4atagen2026-10-22 12:30 UTC134
  key/value map that expires items after 15 minutes.
7ff8adafe9e4atagen2026-10-22 12:30 UTC135
  ([#4663](https://github.com/matrix-org/matrix-rust-sdk/pull/4663))
7ff8adafe9e4atagen2026-10-22 12:30 UTC136
7ff8adafe9e4atagen2026-10-22 12:30 UTC137
## [0.10.0] - 2025-02-04
7ff8adafe9e4atagen2026-10-22 12:30 UTC138
7ff8adafe9e4atagen2026-10-22 12:30 UTC139
- [**breaking**]: `SyncTimelineEvent` and `TimelineEvent` have been
7ff8adafe9e4atagen2026-10-22 12:30 UTC140
  fused into a single type `TimelineEvent`, and its field `push_actions`
7ff8adafe9e4atagen2026-10-22 12:30 UTC141
  has been made `Option`al (it is set to `None` when we couldn't
7ff8adafe9e4atagen2026-10-22 12:30 UTC142
  compute the push actions, because we lacked some information).
7ff8adafe9e4atagen2026-10-22 12:30 UTC143
  ([#4568](https://github.com/matrix-org/matrix-rust-sdk/pull/4568))
7ff8adafe9e4atagen2026-10-22 12:30 UTC144
7ff8adafe9e4atagen2026-10-22 12:30 UTC145
## [0.9.0] - 2024-12-18
7ff8adafe9e4atagen2026-10-22 12:30 UTC146
7ff8adafe9e4atagen2026-10-22 12:30 UTC147
### Bug fixes
7ff8adafe9e4atagen2026-10-22 12:30 UTC148
7ff8adafe9e4atagen2026-10-22 12:30 UTC149
- Change the behavior of `LinkedChunk::new_with_update_history()` to emit an
7ff8adafe9e4atagen2026-10-22 12:30 UTC150
  `Update::NewItemsChunk` when a new, initial empty, chunk is created.
7ff8adafe9e4atagen2026-10-22 12:30 UTC151
  ([#4327](https://github.com/matrix-org/matrix-rust-sdk/pull/4321))
7ff8adafe9e4atagen2026-10-22 12:30 UTC152
7ff8adafe9e4atagen2026-10-22 12:30 UTC153
- [**breaking**] Make `Room::history_visibility()` return an Option, and
7ff8adafe9e4atagen2026-10-22 12:30 UTC154
  introduce `Room::history_visibility_or_default()` to return a better
7ff8adafe9e4atagen2026-10-22 12:30 UTC155
  sensible default, according to the spec.
7ff8adafe9e4atagen2026-10-22 12:30 UTC156
  ([#4325](https://github.com/matrix-org/matrix-rust-sdk/pull/4325))
7ff8adafe9e4atagen2026-10-22 12:30 UTC157
7ff8adafe9e4atagen2026-10-22 12:30 UTC158
- Clear the internal state of the `AsVector` struct if an `Update::Clear`
7ff8adafe9e4atagen2026-10-22 12:30 UTC159
  state has been received.
7ff8adafe9e4atagen2026-10-22 12:30 UTC160
  ([#4321](https://github.com/matrix-org/matrix-rust-sdk/pull/4321))
7ff8adafe9e4atagen2026-10-22 12:30 UTC161
7ff8adafe9e4atagen2026-10-22 12:30 UTC162
### Documentation
7ff8adafe9e4atagen2026-10-22 12:30 UTC163
7ff8adafe9e4atagen2026-10-22 12:30 UTC164
- Document that a decrypted raw event always has a room id.
7ff8adafe9e4atagen2026-10-22 12:30 UTC165
  ([#728e1fd](https://github.com/matrix-org/matrix-rust-sdk/commit/728e1fda2ae9f1bfa87df162aa553040be705223))
7ff8adafe9e4atagen2026-10-22 12:30 UTC166
7ff8adafe9e4atagen2026-10-22 12:30 UTC167
## [0.8.0] - 2024-11-19
7ff8adafe9e4atagen2026-10-22 12:30 UTC168
7ff8adafe9e4atagen2026-10-22 12:30 UTC169
### Refactor
7ff8adafe9e4atagen2026-10-22 12:30 UTC170
7ff8adafe9e4atagen2026-10-22 12:30 UTC171
- Move `linked_chunk` from `matrix-sdk` to `matrix-sdk-common`.