Skip to content

chore: lower workspace Rust version to 1.93#129

Merged
panos-xyz merged 1 commit into
mainfrom
fix/lower-rust-version-1-93
Jun 10, 2026
Merged

chore: lower workspace Rust version to 1.93#129
panos-xyz merged 1 commit into
mainfrom
fix/lower-rust-version-1-93

Conversation

@panos-xyz

@panos-xyz panos-xyz commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Lower the workspace rust-version from 1.95 to 1.93 so prover environments using Rust 1.93 are not blocked by the manifest MSRV gate.

Test plan

  • cargo metadata --no-deps --format-version 1

Notes

  • Full compilation with Rust 1.93 was not run locally because the 1.93 toolchain is not installed on this machine.

Summary by CodeRabbit

  • Chores
    • Updated minimum Rust version requirement to improve compatibility with a broader range of development environments.

Allow prover environments that have not moved to Rust 1.95 to consume the workspace without tripping the manifest MSRV gate.

Constraint: Keep the change scoped to the workspace rust-version declaration
Confidence: high
Scope-risk: narrow
Not-tested: Full compile with Rust 1.93 toolchain not installed locally
@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The workspace minimum Rust version requirement in Cargo.toml is lowered from 1.95 to 1.93. No other configuration, dependencies, or metadata are affected.

Changes

Workspace Rust Version

Layer / File(s) Summary
Minimum Rust version requirement
Cargo.toml
The rust-version setting in [workspace.package] is updated from 1.95 to 1.93.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~1 minute

Possibly related PRs

  • morph-l2/morph-reth#107: Updates [workspace.package] metadata in Cargo.toml, though that PR modifies the version field rather than rust-version.

Suggested reviewers

  • chengwenxi
  • SegueII

Poem

🐰 A Rust requirement shift,
From ninety-five down to ninety-three,
Compatibility's gift!
Broader paths the builders see.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: lowering the workspace Rust version from 1.95 to 1.93.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/lower-rust-version-1-93

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
Cargo.toml (1)

4-4: ⚡ Quick win

CI does not validate the MSRV.

The test workflow (.github/workflows/test.yml) installs dtolnay/rust-toolchain@stable, which will not catch MSRV violations. Without MSRV testing in CI, regressions can slip through undetected.

Consider adding an MSRV check job to the CI workflow.

🔧 Suggested CI job to test MSRV

Add the following job to .github/workflows/test.yml:

  msrv-check:
    name: MSRV Check (Rust 1.93)
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Install Rust 1.93 toolchain
        uses: dtolnay/rust-toolchain@1.93

      - name: Install mold linker
        uses: rui314/setup-mold@v1

      - name: Cache Rust build artifacts
        uses: Swatinem/rust-cache@v2
        with:
          cache-on-failure: true

      - name: Verify MSRV with cargo check
        run: cargo check --workspace --all-targets
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Cargo.toml` at line 4, Add an MSRV CI job named "msrv-check" that validates
Cargo.toml's rust-version = "1.93": create a new CI job in the test workflow
that installs Rust 1.93 via dtolnay/rust-toolchain@1.93, optionally installs the
mold linker and enables caching, then runs cargo check --workspace --all-targets
(use the job name msrv-check and the installer dtolnay/rust-toolchain to locate
where to add it); this ensures the declared MSRV is actually exercised in CI.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Cargo.toml`:
- Line 4: The workspace manifest now sets rust-version = "1.93" but README.md
and CONTRIBUTING.md still state "Rust 1.95 or later"; choose one approach and
make docs/code consistent: either revert Cargo.toml's rust-version back to
"1.95" if 1.93 isn't supported, or update the documentation strings in README.md
(line referencing Rust requirement) and CONTRIBUTING.md (line referencing Rust
requirement) to "Rust 1.93 or later"; ensure the unique identifier rust-version
in Cargo.toml and the two README/CONTRIBUTING requirement sentences are updated
together so all sources match.
- Line 4: The Cargo.toml change set rust-version = "1.93" must be gated by a
real MSRV workspace build check: run rustup run 1.93 cargo check --workspace
--all-targets --locked and preferably rustup run 1.93 cargo test --workspace
--locked, verify all crates and dependencies compile and tests pass, and if
failures appear, revert or adjust the rust-version in Cargo.toml and fix
offending crates/dependencies; also update CI to include Rust 1.93 MSRV testing
or ensure CI already covers the same 1.93 checks before merging.

---

Nitpick comments:
In `@Cargo.toml`:
- Line 4: Add an MSRV CI job named "msrv-check" that validates Cargo.toml's
rust-version = "1.93": create a new CI job in the test workflow that installs
Rust 1.93 via dtolnay/rust-toolchain@1.93, optionally installs the mold linker
and enables caching, then runs cargo check --workspace --all-targets (use the
job name msrv-check and the installer dtolnay/rust-toolchain to locate where to
add it); this ensures the declared MSRV is actually exercised in CI.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f815289d-2fd5-42e9-b823-46789d16846b

📥 Commits

Reviewing files that changed from the base of the PR and between 7730d99 and 6fdeab6.

📒 Files selected for processing (1)
  • Cargo.toml

Comment thread Cargo.toml
version = "0.3.0"
edition = "2024"
rust-version = "1.95"
rust-version = "1.93"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚖️ Poor tradeoff

Documentation contradicts the lowered MSRV.

The workspace manifest now declares rust-version = "1.93", but both README.md line 73 and CONTRIBUTING.md line 25 explicitly state "Rust 1.95 or later" as a prerequisite. This creates conflicting guidance for users and contributors.

Update the documentation to match the new MSRV, or raise the manifest back to 1.95 if the lower version is not actually supported.

📝 Documentation locations that need updating
  1. README.md line 73: Change "Rust 1.95 or later" to "Rust 1.93 or later"
  2. CONTRIBUTING.md line 25: Change "Rust 1.95 or later" to "Rust 1.93 or later"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Cargo.toml` at line 4, The workspace manifest now sets rust-version = "1.93"
but README.md and CONTRIBUTING.md still state "Rust 1.95 or later"; choose one
approach and make docs/code consistent: either revert Cargo.toml's rust-version
back to "1.95" if 1.93 isn't supported, or update the documentation strings in
README.md (line referencing Rust requirement) and CONTRIBUTING.md (line
referencing Rust requirement) to "Rust 1.93 or later"; ensure the unique
identifier rust-version in Cargo.toml and the two README/CONTRIBUTING
requirement sentences are updated together so all sources match.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify Rust 1.93 compatibility for workspace and dependencies

# Check if Rust 1.93 toolchain is available, install if not
if ! rustup toolchain list | grep -q '1.93'; then
  echo "Installing Rust 1.93 toolchain..."
  rustup toolchain install 1.93
fi

# Test 1: Verify cargo metadata works with Rust 1.93
echo "=== Test 1: Cargo metadata with Rust 1.93 ==="
rustup run 1.93 cargo metadata --no-deps --format-version 1 > /dev/null 2>&1
if [ $? -eq 0 ]; then
  echo "✓ Cargo metadata succeeds with Rust 1.93"
else
  echo "✗ Cargo metadata FAILS with Rust 1.93"
fi

# Test 2: Check if reth has documented MSRV
echo ""
echo "=== Test 2: Checking reth v2.2.0 MSRV ==="
echo "Fetching reth repository information..."
gh api repos/paradigmxyz/reth/git/ref/tags/v2.2.0 --jq '.object.sha' | head -n1 | xargs -I {} \
  gh api repos/paradigmxyz/reth/contents/Cargo.toml?ref={} --jq '.content' | base64 -d | grep -A2 'rust-version'

# Test 3: Attempt basic check with Rust 1.93
echo ""
echo "=== Test 3: Attempting cargo check with Rust 1.93 ==="
rustup run 1.93 cargo check --workspace --all-targets 2>&1 | head -n 50

# Test 4: Check Rust release dates to understand feature gap
echo ""
echo "=== Test 4: Rust version timeline ==="
echo "Rust 1.93: January 2025"
echo "Rust 1.94: February 2025" 
echo "Rust 1.95: March 2025"
echo ""
echo "Feature gap between 1.93 and 1.95 may include stabilized features."

Repository: morph-l2/morph-reth

Length of output: 149


🌐 Web query:

What is the minimum supported Rust version (MSRV) for reth v2.2.0?

💡 Result:

The minimum supported Rust version (MSRV) for Reth v2.2.0 is 1.93.0 [1][2]. This requirement is maintained in the project's official repository documentation [1][2]. While some secondary documentation pages may display different values due to caching or outdated manual updates [3], 1.93.0 is the version specified in the project's current authoritative documentation [1][2].

Citations:


Require an actual Rust 1.93 workspace build check before setting rust-version = "1.93"

Reth v2.2.0’s documented MSRV is 1.93.0, so that specific dependency aligns with the change. However, the workspace compilation check with Rust 1.93 did not complete (script timed out), so the risk remains that some other workspace crate or dependency requires >1.93.

Run at least:

  • rustup run 1.93 cargo check --workspace --all-targets --locked
  • (preferably) rustup run 1.93 cargo test --workspace --locked

Also ensure the result matches CI (or add Rust 1.93 to CI MSRV testing) before merging.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Cargo.toml` at line 4, The Cargo.toml change set rust-version = "1.93" must
be gated by a real MSRV workspace build check: run rustup run 1.93 cargo check
--workspace --all-targets --locked and preferably rustup run 1.93 cargo test
--workspace --locked, verify all crates and dependencies compile and tests pass,
and if failures appear, revert or adjust the rust-version in Cargo.toml and fix
offending crates/dependencies; also update CI to include Rust 1.93 MSRV testing
or ensure CI already covers the same 1.93 checks before merging.

@panos-xyz panos-xyz merged commit eae481f into main Jun 10, 2026
14 checks passed
@panos-xyz panos-xyz deleted the fix/lower-rust-version-1-93 branch June 10, 2026 02:36
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