Skip to content

chore: bump MSRV to 1.95.0#1289

Merged
Boshen merged 2 commits into
mainfrom
msrv-1.95
Jul 11, 2026
Merged

chore: bump MSRV to 1.95.0#1289
Boshen merged 2 commits into
mainfrom
msrv-1.95

Conversation

@Boshen

@Boshen Boshen commented Jul 11, 2026

Copy link
Copy Markdown
Member

Bumps rust-version from 1.88.0 to 1.95.0 and updates the stale MSRV note in AGENTS.md (which still said 1.85.0).

The toolchain in CI is already 1.97.0, and cargo clippy --all-features --all-targets is clean under the new rust-version.

This unlocks APIs stabilized in 1.89–1.95; a follow-up PR replaces the cfg-if dependency with std::cfg_select! (stabilized in 1.95).

@codspeed-hq

codspeed-hq Bot commented Jul 11, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 3.79%

❌ 1 regressed benchmark
✅ 20 untouched benchmarks
⏩ 5 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
pm/pnpm-isolated 950.1 µs 987.6 µs -3.79%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing msrv-1.95 (69800ad) with main (86af5b0)

Open in CodSpeed

Footnotes

  1. 5 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@Boshen
Boshen merged commit f6832d5 into main Jul 11, 2026
13 checks passed
@Boshen
Boshen deleted the msrv-1.95 branch July 11, 2026 15:21
Boshen added a commit that referenced this pull request Jul 11, 2026
Replaces the `cfg-if` crate with `std::cfg_select!`, which was
stabilized in Rust 1.95 (its rustdoc even carries `doc(alias =
"cfg-if")` as the intended replacement). This drops one dependency.

- Sites with real platform/feature branching (`metadata`,
`symlink_metadata`, `read_link`, `Cache::canonicalize`, `normalize_with`
wasm handling, `ResolverGeneric::new`/`clone_with_options`) become
`cfg_select!` arms; the two `let` sites use it in expression position,
which `cfg_if!` could not do.
- The five Yarn-PnP early-return guards in `FileSystemOs` and the
non-wasm specifier shadowing in `require_impl` had no else branch, so
they become plain `#[cfg]` attributes instead of a macro with an empty
fallback arm.

Verified with `just ready` (fmt, typos, check incl. s390x target, tests
for default and `--all-features`, napi build + node tests, pnp tests,
clippy `--deny warnings`, doc). Windows and wasm arms are
token-identical to before and are covered by CI.

Stacked on #1289 (MSRV 1.95.0 bump); retargets to `main` once that
merges.
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.

1 participant