Skip to content

chore(deps): bump openmls_rust_crypto from 0.4.4 to 0.5.1 - #246

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/openmls_rust_crypto-0.5.1
Open

chore(deps): bump openmls_rust_crypto from 0.4.4 to 0.5.1#246
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/openmls_rust_crypto-0.5.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 30, 2026

Copy link
Copy Markdown

Bumps openmls_rust_crypto from 0.4.4 to 0.5.1.

Release notes

Sourced from openmls_rust_crypto's releases.

v0.5

This release has been a while in the making and covers substantial changes since the last release. See our blog post for a brief overview.

Generally, this release has a number of breaking API changes, a few of them are listed below:

  • #902: Implement External Add proposal (NewMember sender only) and replace Sender::NewMember by Sender::NewMemberProposal and Sender::NewMemberCommit for external proposals and external commits repectively
  • #903: Rename MlsGroup's resumptionn_secret to resumption_secret
  • #1058: Rename resumption_secret to resumption_psk
  • #900: Expose SerializedMlsGroup until issue #245 is done
  • #1117: Remove signature key indirection
  • #1123: Rename ResumptionPsk to ResumptionPskSecret and resumption_psk to resumption_psk_secret
  • #1155: MlsGroup.members() now returns an iterator over group members, MlsGroup.merge_staged_commit() no longer returns a Result
  • #1193: MlsGroup.propose_self_update takes the new LeafNode now instead of a KeyPackage. LeafNode.generate can be used to generate a new LeafNode for an update proposal.
Changelog

Sourced from openmls_rust_crypto's changelog.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.9.0 (2026-08-03)

Added

  • Added PublicGroup::validate_key_package_for_add, which checks whether a single KeyPackage is eligible to be added to the group without building a commit. Applications adding several members at once can use it to filter out candidates that a commit would reject, and to report which candidate was rejected and why. Uniqueness of the signature, init and encryption keys is not covered, since it can only be decided for a full set of proposals.
  • #1972: Add APIs for time-based deletion of past epoch secrets, and for setting the past epoch deletion policy for an MlsGroup.
  • #2010: Added MlsGroup::propose_self_update_with_new_signer, a variant of propose_self_update that stages an Update proposal carrying a new signature key.
  • #2084: Added the ProcessedMessageContent::OwnPendingCommit variant, returned when processing a Commit authored by this client that matches the group's pending commit. Callers should merge the pending commit via MlsGroup::merge_pending_commit().
  • #2109: Added Capabilities::for_provider, a constructor that advertises exactly the ciphersuites supported by the given crypto provider (as reported by OpenMlsCrypto::supported_ciphersuites), instead of the hardcoded default list.
  • Added UnsupportedCiphersuite(Ciphersuite) variants to NewGroupError, KeyPackageNewError, WelcomeError, and CreationFromExternalError, returned when the crypto provider does not support the requested ciphersuite.
  • #2148: Added fuzz targets that exercise the DeserializeBytes byte-slice decode path for MlsMessageIn, KeyPackageIn, Welcome, ProposalIn, and Extension, and run them in the fuzz CI workflow.
  • #2099: Added ProcessedMessageContent::OwnPrivateMessage variant. Processing a PrivateMessage authored by this client (e.g. echoed back by the delivery service) now succeeds and returns this variant instead of failing. The content cannot be decrypted and the sender claim is unauthenticated; applications should use it only to skip/ignore the echoed message and must not act on it further. With the virtual-clients-draft feature, own messages whose secrets are still retained (e.g. unconfirmed sends) keep decrypting normally; the variant is returned in groups that do not use virtual clients when decryption of an own message fails.
  • #2128: Added an opt-in migration-import feature that lets applications move existing group state to a storage provider using a different serde codec (e.g. bincode -> CBOR). MlsGroup and PublicGroup gain import entry points that re-read state with the old codec and fully overwrite it in the new provider, with the intermediate buffer zeroized. See the new "Migrating from a previous version" book chapter.
  • #2028: Added support for targeted messages, behind the new targeted-messages-draft feature flag.
  • #2046, #2118: Added P-384, ML-DSA and additional PQ ciphersuites (including the draft-ietf-mls-pq-ciphersuites draft v5 code points), behind the draft-ietf-mls-pq-ciphersuites feature flag.
  • #2037: Implemented Safe AAD capabilities as defined in the MLS extensions draft.
  • #2045: Added unchecked constructors to bypass KeyPackage/LeafNode validation, for callers that have already verified the input through another path.
  • #2095: AppDataUpdate proposals are now allowed in external commits (extensions-draft feature). Also added a getter for the group context on VerifiableGroupInfo.
  • #1979: Key packages can now carry an application data dictionary extension (extensions-draft feature).
  • #2113: Added VcKeyPackageBatchBuilder to build heterogeneous batches of key packages (virtual-clients-draft feature, experimental).

Fixed

  • #2143: A commit built with CommitBuilder::build_with_new_signer (or MlsGroup::self_update_with_new_signer) now signs the GroupInfo in the Welcome and the exported GroupInfo with the new signer, matching the signature key the commit puts in the committer's leaf. Previously both were signed with the old signer, so invited members rejected the Welcome with InvalidGroupInfoSignature.
  • #2147: Fixed an off-by-one in the computation of the variable-length prefix size during extension serialization. Extensions with payloads of exactly 0x3fff or 0x3fff_ffff bytes now serialize with the correct length prefix.
  • GHSA-rrmv-c79f-cf5r: Fix out-of-bounds panic in manual DeserializeBytes impls
  • #2134: Known structured extension payloads now reject trailing bytes during decoding instead of silently ignoring them.
  • #2109: OpenMlsRustCrypto's OpenMlsCrypto::supports now accepts MLS_256_MLKEM1024_AES256GCM_SHA512_MLDSA87, consistent with its supported_ciphersuites list (draft-ietf-mls-pq-ciphersuites feature).
  • #2089: A Commit without an UpdatePath from this client's own leaf that does not match the pending commit is now staged as a regular commit instead of being rejected as a mismatched own commit.
  • #2034: Fixes a bug where the integer storage tags for serde non-self-describing serializations were changed, leading to incorrect deserializations. By default, storage format compatibility with openmls v0.7.1 and earlier is now restored. Enabling the 0-8-1-storage-format feature maintains storage format compatibility with openmls v0.8.1 (the previous openmls release).
  • #2125: A bare GroupContextExtensions proposal could rewrite the app_data_dictionary extension directly, bypassing the AppDataUpdate proposal machinery required by the extensions draft. The immutability check now applies to every commit carrying a GroupContextExtensions proposal.
  • #2051: Fixed a backward-incompatible deserialization of PastEpochDeletionPolicy.

Changed

  • #2149: CommitBuilder::build_with_new_signer now always generates an UpdatePath, so the new signature key is installed in the committer's leaf even when no proposal requires a path. Previously, a new signer passed to an otherwise pathless commit was silently ignored. It also rejects a new signer whose signature scheme does not match the group's ciphersuite with CreateCommitError::InvalidSignerCiphersuite.
  • #2149: External commits now have a single authoritative credential: the CredentialWithKey passed to ExternalCommitBuilder::build_group. Leaf node parameters that pin a different credential are rejected with the new CreateCommitError::ExternalCommitCredentialMismatch, and build_with_new_signer on an external commit fails with the new CreateCommitError::ExternalCommitWithNewSigner.
  • #2146: The Debug output of HpkePrivateKey and ExporterSecret no longer contains the secret bytes. The crypto-debug feature now also enables the corresponding feature in openmls_traits, restoring the full output for debugging.
  • #2109: Group creation, key package creation, welcome processing, external commits, and PublicGroup creation from external input now fail early with a dedicated UnsupportedCiphersuite error when the crypto provider does not support the ciphersuite, instead of failing deep inside a crypto operation.
  • #2109: ExternalCommitError::UnsupportedCiphersuite and ExternalCommitBuilderError::UnsupportedCiphersuite now carry the unsupported Ciphersuite.
  • #1980: Enrich limetime related errors returned during leaf node validation with more information
  • #1972: The method MlsGroup::max_past_epochs() now returns an Option<usize>, rather than a usize
  • #1963: MessageEncryptionError is now part of the public API, but only surfaces if the virtual-clients-draft feature flag is enabled.

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 30, 2026
Bumps [openmls_rust_crypto](https://github.com/openmls/openmls) from 0.4.4 to 0.5.1.
- [Release notes](https://github.com/openmls/openmls/releases)
- [Changelog](https://github.com/openmls/openmls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openmls/openmls/commits)

---
updated-dependencies:
- dependency-name: openmls_rust_crypto
  dependency-version: 0.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title build(deps): bump openmls_rust_crypto from 0.4.4 to 0.5.1 chore(deps): bump openmls_rust_crypto from 0.4.4 to 0.5.1 Aug 21, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/openmls_rust_crypto-0.5.1 branch from 8f36101 to 0a70c79 Compare August 21, 2026 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants