Set MSRV to Rust 1.88 and enforce in CI#307
Merged
stevepryde merged 1 commit intomainfrom Apr 30, 2026
Merged
Conversation
The README previously claimed MSRV was "currently latest". Pin a real floor so users have something to plan against. 1.88 is the realistic minimum given edition 2024 (1.85+) plus the zip 8 dependency the manager feature pulls in (1.88+). Adds rust-version to the workspace, updates the README, and adds an msrv workflow that runs cargo check on 1.88 so a future dep bump can't silently raise the floor. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
rust-version = "1.88"to[workspace.package]so both crates inherit it. This also enables cargo's MSRV-aware resolver to pick MSRV-compatible dep versions.msrvGitHub Actions workflow that runscargo check --workspace --all-features --all-targetson 1.88 for every PR and push to main, so a future dependency bump can't silently raise the floor.Why 1.88 specifically
The realistic floor — anything lower won't actually compile:
resolver = "3"requires 1.84edition = "2024"requires 1.85zip = "8"(8.6.0, pulled in by themanagerfeature) requires 1.88Tested locally on 1.85 and 1.87 — both fail on
zip. 1.88 builds clean.Test plan
cargo +1.88.0 check --workspace --all-features --all-targetscargo +1.88.0 test -p thirtyfour --lib --all-featurescargo +1.88.0 test -p thirtyfour --doc --all-featurescargo +1.88.0 build --workspace --all-features --tests --examplescargo +1.88.0 clippy --all-features --all-targetscargo fmt --check,cargo clippy --all-features --all-targets,cargo doc --no-deps --all-featuresmsrvworkflow runs green on this PR🤖 Generated with Claude Code