Update Rust crate matrix-sdk to 0.16.0 #124

Merged
renovate merged 1 commits from renovate/matrix-sdk-0.x into master 2025-12-08 00:31:03 +00:00
Collaborator

This PR contains the following updates:

Package Type Update Change
matrix-sdk dependencies minor 0.14.0 -> 0.16.0

Release Notes

matrix-org/matrix-rust-sdk (matrix-sdk)

v0.16.0: matrix-sdk 0.16.0

Compare Source

You may be wondering what happened to the 0.15.0 release, and you’re right to ask. Unfortunately, it had to be yanked after a problematic Git dependency slipped through during publishing.

This created a situation where some SDK crates were successfully released as 0.15.0, while others failed to publish. To avoid confusion and maintain consistency, the entire 0.15.0 release was yanked.

What's Changed

Features
  • Add Client::get_store_sizes() so to query the size of the existing stores, if available. (#​5911)
  • Add QRCodeLoginError::NotFound for non-existing / expired rendezvous sessions
    (#​5898)
  • Add QRCodeGrantLoginError::NotFound for non-existing / expired rendezvous sessions
    (#​5898)
  • Improve logging around key history bundles when joining a room.
    (#​5866)
  • Expose the power level required to modify m.space.child on
    room::power_levels::RoomPowerLevelChanges.
    (#​5857)
  • Add the Client::server_versions_cached() method.
    (#​5853)
  • Extend authentication::oauth::OAuth::grant_login_with_qr_code to support granting
    login by scanning a QR code on the existing device.
    (#​5818)
  • Add a new RequestConfig::skip_auth() option. This is useful to ensure that
    certain request won't ever include an authorization header.
    (#​5822)
  • Add support for extended profile fields with Account::fetch_profile_field_of(),
    Account::fetch_profile_field_of_static(), Account::set_profile_field() and
    Account::delete_profile_field().
    (#​5771)
  • [breaking] Remove the matrix-sdk-crypto re-export.
    (#​5769)
  • Allow Client::get_dm_room() to be called without the e2e-encryption crate feature.
    (#​5787)
  • [breaking] Add encryption::secret_storage::SecretStorageError::ImportError to indicate
    an error that occurred when importing a secret from secret storage.
    (#​5647)
  • [breaking] Add authentication::oauth::qrcode::login::LoginProgress::SyncingSecrets to
    indicate that secrets are being synced between the two devices.
    (#​5760)
  • Add authentication::oauth::OAuth::grant_login_with_qr_code to reciprocate a login by
    generating a QR code on the existing device.
    (#​5801)
  • [breaking] OAuth::login_with_qr_code now returns a builder that allows performing the flow with either the
    current device scanning or generating the QR code. Additionally, new errors SecureChannelError::CannotReceiveCheckCode
    and QRCodeLoginError::ServerReset were added.
    (#​5711)
  • [breaking] ThreadedEventsLoader::new now takes optional tokens parameter to customise where the pagination
    begins (#​5678.
  • Make PaginationTokens pub, as well as its previous and next tokens so they can be assigned from other files
    (#​5678.
  • Add new API to decline calls (MSC4310): Room::make_decline_call_event and Room::subscribe_to_call_decline_events
    (#​5614)
Refactor
  • [breaking]: Client::server_vendor_info() requires to enable the
    federation-api feature.
    (#​5912)

  • [breaking]: Client::reset_server_info() has been split into
    reset_supported_versions() and reset_well_known().
    (#​5910)

  • [breaking]: Client::send() has extra bounds where
    Request::Authentication: AuthScheme<Input<'a> = SendAccessToken<'a>> and
    Request::PathBuilder: SupportedPathBuilder. This method should still work for any request to the
    Client-Server API. This allows to drop the HttpError::NotClientRequest error in favor of a
    compile-time error.
    (#​5781,
    #​5789,
    #​5815)

  • [breaking]: The waveform field was moved from AttachmentInfo::Voice to BaseAudioInfo,
    allowing to set it for any audio message. Its format also changed, and it is now a list of f32
    between 0 and 1.
    (#​5732)

  • [breaking] The caption and formatted_caption fields and methods of AttachmentConfig,
    GalleryConfig and GalleryItemInfo have been merged into a single field that uses
    TextMessageEventContent.
    (#​5733)

  • The Matrix SDK crate now uses the 2024 edition of Rust.
    (#​5677)

  • [breaking] Make LoginProgress::EstablishingSecureChannel generic in order to reuse it
    for the currently missing QR login flow.
    (#​5750)

  • [breaking] The new_virtual_element_call_widget now uses a props and a config parameter instead of only props.
    This splits the configuration of the widget into required properties ("widget_id", "parent_url"...) so the widget can work
    and optional config parameters ("skip_lobby", "header", "...").
    The config option should in most cases only provide the "intent" property.
    All other config options will then be chosen by EC based on platform + intent.

    Before:

    new_virtual_element_call_widget(
      VirtualElementCallWidgetProperties {
        widget_id: "my_widget_id", // required property
        skip_lobby: Some(true), // optional configuration
        preload: Some(true), // optional configuration
        // ...
      }
    )
    

    Now:

    new_virtual_element_call_widget(
      VirtualElementCallWidgetProperties {
        widget_id: "my_widget_id", // required property
        // ... only required properties
      },
      VirtualElementCallWidgetConfig {
        intend: Intend.StartCallDM, // defines the default values for all other configuration
        skip_lobby: Some(false), // overwrite a specific default value
        ..VirtualElementCallWidgetConfig::default() // set all other config options to `None`. Use defaults from intent.
      }
    )
    

    (#​5560)

Bugfix
  • A new local LatestEventValue was always created as LocalIsSending. It
    must be created as LocalCannotBeSent if a previous local LatestEventValue
    exists and is LocalCannotBeSent.
    (#​5908)
  • Switch QR login implementation from std::time::Instant to ruma::time::Instant which
    is compatible with Wasm.
    (#​5889)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [matrix-sdk](https://github.com/matrix-org/matrix-rust-sdk) | dependencies | minor | `0.14.0` -> `0.16.0` | --- ### Release Notes <details> <summary>matrix-org/matrix-rust-sdk (matrix-sdk)</summary> ### [`v0.16.0`](https://github.com/matrix-org/matrix-rust-sdk/releases/tag/matrix-sdk-0.16.0): matrix-sdk 0.16.0 [Compare Source](https://github.com/matrix-org/matrix-rust-sdk/compare/matrix-sdk-0.14.0...matrix-sdk-0.16.0) You may be wondering what happened to the 0.15.0 release, and you’re right to ask. Unfortunately, it had to be yanked after a problematic Git dependency slipped through during publishing. This created a situation where some SDK crates were successfully released as 0.15.0, while others failed to publish. To avoid confusion and maintain consistency, the entire 0.15.0 release was yanked. ### What's Changed ##### Features - Add `Client::get_store_sizes()` so to query the size of the existing stores, if available. ([#&#8203;5911](https://github.com/matrix-org/matrix-rust-sdk/pull/5911)) - Add `QRCodeLoginError::NotFound` for non-existing / expired rendezvous sessions ([#&#8203;5898](https://github.com/matrix-org/matrix-rust-sdk/pull/5898)) - Add `QRCodeGrantLoginError::NotFound` for non-existing / expired rendezvous sessions ([#&#8203;5898](https://github.com/matrix-org/matrix-rust-sdk/pull/5898)) - Improve logging around key history bundles when joining a room. ([#&#8203;5866](https://github.com/matrix-org/matrix-rust-sdk/pull/5866)) - Expose the power level required to modify `m.space.child` on `room::power_levels::RoomPowerLevelChanges`. ([#&#8203;5857](https://github.com/matrix-org/matrix-rust-sdk/pull/5857)) - Add the `Client::server_versions_cached()` method. ([#&#8203;5853](https://github.com/matrix-org/matrix-rust-sdk/pull/5853)) - Extend `authentication::oauth::OAuth::grant_login_with_qr_code` to support granting login by scanning a QR code on the existing device. ([#&#8203;5818](https://github.com/matrix-org/matrix-rust-sdk/pull/5818)) - Add a new `RequestConfig::skip_auth()` option. This is useful to ensure that certain request won't ever include an authorization header. ([#&#8203;5822](https://github.com/matrix-org/matrix-rust-sdk/pull/5822)) - Add support for extended profile fields with `Account::fetch_profile_field_of()`, `Account::fetch_profile_field_of_static()`, `Account::set_profile_field()` and `Account::delete_profile_field()`. ([#&#8203;5771](https://github.com/matrix-org/matrix-rust-sdk/pull/5771)) - \[**breaking**] Remove the `matrix-sdk-crypto` re-export. ([#&#8203;5769](https://github.com/matrix-org/matrix-rust-sdk/pull/5769)) - Allow `Client::get_dm_room()` to be called without the `e2e-encryption` crate feature. ([#&#8203;5787](https://github.com/matrix-org/matrix-rust-sdk/pull/5787)) - \[**breaking**] Add `encryption::secret_storage::SecretStorageError::ImportError` to indicate an error that occurred when importing a secret from secret storage. ([#&#8203;5647](https://github.com/matrix-org/matrix-rust-sdk/pull/5647)) - \[**breaking**] Add `authentication::oauth::qrcode::login::LoginProgress::SyncingSecrets` to indicate that secrets are being synced between the two devices. ([#&#8203;5760](https://github.com/matrix-org/matrix-rust-sdk/pull/5760)) - Add `authentication::oauth::OAuth::grant_login_with_qr_code` to reciprocate a login by generating a QR code on the existing device. ([#&#8203;5801](https://github.com/matrix-org/matrix-rust-sdk/pull/5801)) - \[**breaking**] `OAuth::login_with_qr_code` now returns a builder that allows performing the flow with either the current device scanning or generating the QR code. Additionally, new errors `SecureChannelError::CannotReceiveCheckCode` and `QRCodeLoginError::ServerReset` were added. ([#&#8203;5711](https://github.com/matrix-org/matrix-rust-sdk/pull/5711)) - \[**breaking**] `ThreadedEventsLoader::new` now takes optional `tokens` parameter to customise where the pagination begins ([#&#8203;5678](https://github.com/matrix-org/matrix-rust-sdk/pull/5678). - Make `PaginationTokens` `pub`, as well as its `previous` and `next` tokens so they can be assigned from other files ([#&#8203;5678](https://github.com/matrix-org/matrix-rust-sdk/pull/5678). - Add new API to decline calls ([MSC4310](https://github.com/matrix-org/matrix-spec-proposals/pull/4310)): `Room::make_decline_call_event` and `Room::subscribe_to_call_decline_events` ([#&#8203;5614](https://github.com/matrix-org/matrix-rust-sdk/pull/5614)) ##### Refactor - \[**breaking**]: `Client::server_vendor_info()` requires to enable the `federation-api` feature. ([#&#8203;5912](https://github.com/matrix-org/matrix-rust-sdk/pull/5912)) - \[**breaking**]: `Client::reset_server_info()` has been split into `reset_supported_versions()` and `reset_well_known()`. ([#&#8203;5910](https://github.com/matrix-org/matrix-rust-sdk/pull/5910)) - \[**breaking**]: `Client::send()` has extra bounds where `Request::Authentication: AuthScheme<Input<'a> = SendAccessToken<'a>>` and `Request::PathBuilder: SupportedPathBuilder`. This method should still work for any request to the Client-Server API. This allows to drop the `HttpError::NotClientRequest` error in favor of a compile-time error. ([#&#8203;5781](https://github.com/matrix-org/matrix-rust-sdk/pull/5781), [#&#8203;5789](https://github.com/matrix-org/matrix-rust-sdk/pull/5789), [#&#8203;5815](https://github.com/matrix-org/matrix-rust-sdk/pull/5815)) - \[**breaking**]: The `waveform` field was moved from `AttachmentInfo::Voice` to `BaseAudioInfo`, allowing to set it for any audio message. Its format also changed, and it is now a list of `f32` between 0 and 1. ([#&#8203;5732](https://github.com/matrix-org/matrix-rust-sdk/pull/5732)) - \[**breaking**] The `caption` and `formatted_caption` fields and methods of `AttachmentConfig`, `GalleryConfig` and `GalleryItemInfo` have been merged into a single field that uses `TextMessageEventContent`. ([#&#8203;5733](https://github.com/matrix-org/matrix-rust-sdk/pull/5733)) - The Matrix SDK crate now uses the 2024 edition of Rust. ([#&#8203;5677](https://github.com/matrix-org/matrix-rust-sdk/pull/5677)) - \[**breaking**] Make `LoginProgress::EstablishingSecureChannel` generic in order to reuse it for the currently missing QR login flow. ([#&#8203;5750](https://github.com/matrix-org/matrix-rust-sdk/pull/5750)) - \[**breaking**] The `new_virtual_element_call_widget` now uses a `props` and a `config` parameter instead of only `props`. This splits the configuration of the widget into required properties ("widget\_id", "parent\_url"...) so the widget can work and optional config parameters ("skip\_lobby", "header", "..."). The config option should in most cases only provide the `"intent"` property. All other config options will then be chosen by EC based on platform + `intent`. Before: ```rust new_virtual_element_call_widget( VirtualElementCallWidgetProperties { widget_id: "my_widget_id", // required property skip_lobby: Some(true), // optional configuration preload: Some(true), // optional configuration // ... } ) ``` Now: ```rust new_virtual_element_call_widget( VirtualElementCallWidgetProperties { widget_id: "my_widget_id", // required property // ... only required properties }, VirtualElementCallWidgetConfig { intend: Intend.StartCallDM, // defines the default values for all other configuration skip_lobby: Some(false), // overwrite a specific default value ..VirtualElementCallWidgetConfig::default() // set all other config options to `None`. Use defaults from intent. } ) ``` ([#&#8203;5560](https://github.com/matrix-org/matrix-rust-sdk/pull/5560)) ##### Bugfix - A new local `LatestEventValue` was always created as `LocalIsSending`. It must be created as `LocalCannotBeSent` if a previous local `LatestEventValue` exists and is `LocalCannotBeSent`. ([#&#8203;5908](https://github.com/matrix-org/matrix-rust-sdk/pull/5908)) - Switch QR login implementation from `std::time::Instant` to `ruma::time::Instant` which is compatible with Wasm. ([#&#8203;5889](https://github.com/matrix-org/matrix-rust-sdk/pull/5889)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
renovate added 1 commit 2025-12-08 00:30:59 +00:00
Update Rust crate matrix-sdk to 0.16.0
Some checks failed
renovate/artifacts Artifact file update failure
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
ba5f5f2557
renovate scheduled this pull request to auto merge when all checks succeed 2025-12-08 00:31:00 +00:00
Author
Collaborator

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: matrixgw_backend/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path matrixgw_backend/Cargo.toml --package matrix-sdk@0.14.0 --precise 0.16.0
    Updating crates.io index
error: failed to select a version for the requirement `matrix-sdk = "^0.14.0"`
candidate versions found which didn't match: 0.16.0
location searched: crates.io index
required by package `matrix-sdk-ui v0.14.0`
    ... which satisfies dependency `matrix-sdk-ui = "^0.14.0"` of package `matrixgw_backend v0.1.0 (/tmp/renovate/repos/gitea/pierre/MatrixGW/matrixgw_backend)`

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: matrixgw_backend/Cargo.lock ``` Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path matrixgw_backend/Cargo.toml --package matrix-sdk@0.14.0 --precise 0.16.0 Updating crates.io index error: failed to select a version for the requirement `matrix-sdk = "^0.14.0"` candidate versions found which didn't match: 0.16.0 location searched: crates.io index required by package `matrix-sdk-ui v0.14.0` ... which satisfies dependency `matrix-sdk-ui = "^0.14.0"` of package `matrixgw_backend v0.1.0 (/tmp/renovate/repos/gitea/pierre/MatrixGW/matrixgw_backend)` ```
renovate merged commit d3e25eed9e into master 2025-12-08 00:31:03 +00:00
renovate deleted branch renovate/matrix-sdk-0.x 2025-12-08 00:31:03 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: pierre/MatrixGW#124