Skip to content

chore(msrv): raise MSRV 1.92 → 1.95, add rust-toolchain.toml and clippy.toml#171

Merged
EffortlessSteven merged 3 commits into
mainfrom
chore/msrv-rust-1.95
May 11, 2026
Merged

chore(msrv): raise MSRV 1.92 → 1.95, add rust-toolchain.toml and clippy.toml#171
EffortlessSteven merged 3 commits into
mainfrom
chore/msrv-rust-1.95

Conversation

@EffortlessSteven

Copy link
Copy Markdown
Member

Summary

PR 3 of the Rust 1.95 / 0.4.0 quality rollout. Prerequisite: PR 2 (#170, merged) confirmed zero source changes needed under rustc 1.95.0.

Changes

  • Cargo.tomlrust-version = "1.95" (was "1.92")
  • rust-toolchain.toml (new) — pins channel to 1.95.0, profile minimal, components rustfmt + clippy
  • clippy.toml (new) — msrv = "1.95", cognitive-complexity threshold 40, too-many-arguments threshold 8, type-complexity threshold 300
  • CI workflows — MSRV gate toolchain updated to 1.95.0 in ci.yml, coverage.yml, release.yml (job name updated: MSRV gate (1.95))
  • Docs and badgesREADME.md MSRV badge, docs/tech.md, docs/architecture.md, docs/testing.md, docs/tutorials/first-publish.md, ROADMAP.md, AGENTS.md, CLAUDE.md, CONTRIBUTING.md, .github/copilot-instructions.md all updated to 1.95
  • CHANGELOG.md — unreleased entry for the MSRV bump

What is intentionally not changed

Version-string parsing examples in source comments (crates/shipper-cli/build.rs, crates/shipper-core/src/runtime/environment/) reference 1.92.0 as a format example — these describe the shape of a rustc version string, not the MSRV, and are left unchanged. Historical documents (docs/HANDOFF.md, RELEASE_CHECKLIST_v0.2.0.md) and rollout tracking docs that explicitly record 1.92 as the from value are also unchanged.

Acceptance gate (from rollout plan)

  • CI green on all three platforms
  • MSRV gate job uses 1.95.0
  • rust-toolchain.toml present and correct
  • clippy.toml present with msrv = "1.95"
  • No 1.92 references remain in policy-bearing files

Test plan

  • All existing tests pass (no source changes — confirmed by PR 2 probe)
  • MSRV Check CI job now installs and validates against 1.95.0
  • Clippy runs with the new clippy.toml thresholds (cognitive-complexity 40, too-many-args 8)

https://claude.ai/code/session_0144KiDnuVJV9ACganxqHK72


Generated by Claude Code

…d clippy.toml

- Cargo.toml: rust-version = "1.95"
- rust-toolchain.toml: pins channel to 1.95.0 (minimal + rustfmt + clippy)
- clippy.toml: msrv = "1.95", cognitive-complexity 40, too-many-args 8
- ci.yml, coverage.yml, release.yml: MSRV gate toolchain updated to 1.95.0
- README.md badge, docs/tech.md, docs/architecture.md, docs/testing.md,
  docs/tutorials/first-publish.md, ROADMAP.md, AGENTS.md, CLAUDE.md,
  CONTRIBUTING.md, .github/copilot-instructions.md: all updated to 1.95
- CHANGELOG.md: added unreleased entry for the MSRV bump

The compatibility audit (PR 2) confirmed zero source changes needed.

https://claude.ai/code/session_0144KiDnuVJV9ACganxqHK72
@gemini-code-assist

Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@coderabbitai

coderabbitai Bot commented May 10, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@EffortlessSteven has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 50 minutes and 6 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: e2eaf55f-41e4-422a-b669-b5e03226ea70

📥 Commits

Reviewing files that changed from the base of the PR and between 4ce4999 and b3d1105.

📒 Files selected for processing (17)
  • .github/copilot-instructions.md
  • .github/workflows/ci.yml
  • .github/workflows/coverage.yml
  • .github/workflows/release.yml
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • Cargo.toml
  • README.md
  • ROADMAP.md
  • clippy.toml
  • docs/architecture.md
  • docs/tech.md
  • docs/testing.md
  • docs/tutorials/first-publish.md
  • rust-toolchain.toml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/msrv-rust-1.95

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

…cross-compilation

rust-toolchain.toml (added in this PR) overrides dtolnay/rust-toolchain when
no explicit toolchain: is specified. Two jobs were broken:

1. fuzz-smoke: used @nightly action tag but no explicit toolchain: — file gave
   it 1.95.0 stable instead of nightly, cargo fuzz requires nightly.
   Fix: add toolchain: nightly to explicitly override the file.

2. cross-platform: dtolnay/rust-toolchain@stable adds targets to the 'stable'
   toolchain alias, but cargo reads rust-toolchain.toml and uses '1.95.0'
   (a distinct rustup key). The target was installed in stable, not 1.95.0.
   Fix: add explicit 'rustup target add' step so the target is installed in
   whichever toolchain rust-toolchain.toml activates.

https://claude.ai/code/session_0144KiDnuVJV9ACganxqHK72
…HAIN

rust-toolchain.toml affects every cargo invocation in the directory, not just
the toolchain-install step. The dtolnay action installs nightly correctly but
cargo fuzz run still reads the file and dispatches to 1.95.0 (stable).

Setting RUSTUP_TOOLCHAIN=nightly on the run step takes precedence over the
file and ensures cargo fuzz uses nightly as required.

https://claude.ai/code/session_0144KiDnuVJV9ACganxqHK72
@EffortlessSteven EffortlessSteven marked this pull request as ready for review May 11, 2026 10:39
@gemini-code-assist

Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

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.

2 participants