Skip to content

[Rust] Defined MSRV at 1.88#1279

Merged
cartertinney merged 3 commits intomainfrom
ct-minimum-version
Apr 16, 2026
Merged

[Rust] Defined MSRV at 1.88#1279
cartertinney merged 3 commits intomainfrom
ct-minimum-version

Conversation

@cartertinney
Copy link
Copy Markdown
Member

  • Updated all crates to indicate MSRV (Minimum Supported Rust Version) is 1.88.
  • Note that this is just a formalization of what we've been using by convention up until now - it's possible we could loosen this restriction further in the future, but would require investigation.
  • Can be set in the workspace for most crates, but the connector scaffolding needs to be independently defined due to not being part of the workspace (and being a scaffold for customer applications that will not use our workspace)
  • CI that runs both MSRV and latest stable will be a follow up

Copilot AI review requested due to automatic review settings March 23, 2026 19:14
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR formalizes the Rust Minimum Supported Rust Version (MSRV) across the Rust workspace as Rust 1.88, aligning crate metadata and local developer tooling with the version already used by convention.

Changes:

  • Set workspace-wide MSRV via rust/Cargo.toml and opt member crates into inheriting it via rust-version.workspace = true.
  • Pin the Rust toolchain used for local development to 1.88 via rust/rust-toolchain.toml.
  • Define MSRV explicitly for the excluded sample_connector_scaffolding crate since it is not part of the workspace.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
rust/Cargo.toml Defines workspace MSRV ([workspace.package] rust-version = "1.88").
rust/rust-toolchain.toml Pins local dev toolchain channel to 1.88.
rust/azure_iot_operations_mqtt/Cargo.toml Inherits MSRV from workspace.
rust/azure_iot_operations_protocol/Cargo.toml Inherits MSRV from workspace.
rust/azure_iot_operations_services/Cargo.toml Inherits MSRV from workspace.
rust/azure_iot_operations_connector/Cargo.toml Inherits MSRV from workspace.
rust/sample_applications/counter/envoy/Cargo.toml Inherits MSRV from workspace.
rust/sample_applications/counter/counter_server/Cargo.toml Inherits MSRV from workspace.
rust/sample_applications/counter/counter_client/Cargo.toml Inherits MSRV from workspace.
rust/sample_applications/event_driven_app/input_client/Cargo.toml Inherits MSRV from workspace.
rust/sample_applications/event_driven_app/output_client/Cargo.toml Inherits MSRV from workspace.
rust/sample_applications/sample_connector_scaffolding/Cargo.toml Sets explicit MSRV (rust-version = "1.88") since it’s excluded from the workspace.

@cartertinney cartertinney merged commit 2dd933e into main Apr 16, 2026
12 checks passed
@cartertinney cartertinney deleted the ct-minimum-version branch April 16, 2026 18:26
RLeclair added a commit that referenced this pull request Apr 20, 2026
- Updated all crates to indicate MSRV (Minimum Supported Rust Version)
is 1.88.
- Note that this is just a formalization of what we've been using by
convention up until now - it's possible we could loosen this restriction
further in the future, but would require investigation.
- Can be set in the workspace for most crates, but the connector
scaffolding needs to be independently defined due to not being part of
the workspace (and being a scaffold for customer applications that will
not use our workspace)
- CI that runs both MSRV and latest stable will be a follow up

Co-authored-by: Carter Tinney <catinney@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants