Skip to content

build: raise the minimum Rust version to 1.91 (LAB-11169) - #137

Merged
27Bslash6 merged 2 commits into
mainfrom
lab-11169-msrv-1.91
Oct 26, 2026
Merged

27Bslash6 merged 2 commits into
mainfrom
lab-11169-msrv-1.91

Conversation

@27Bslash6

@27Bslash6 27Bslash6 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Raises rust-version from 1.85 to 1.91 and adopts a support-stable policy: new releases support the latest stable Rust, and any release may raise rust-version when a dependency needs a newer toolchain, instead of holding that dependency back.

1.85 was never a support promise. It was the edition 2024 floor that a build dependency forced on the crate. It had started blocking routine updates: proptest 1.12 needs 1.88, aes 0.9.3 needs 1.89 and sha2 0.11.1 needs 1.88.

Changes

  • Cargo.toml: rust-version = "1.91".
  • ci.yml: the floor row of the test matrix runs 1.91, with a comment stating the policy.
  • README.md: MSRV badge and section.
  • benches/common/mod.rs: at the new msrv, clippy's manual_is_multiple_of fires on one bench helper, so it uses is_multiple_of.

Verified locally

  • cargo +1.91 test --all-features: 250 passed, 0 failed.
  • On stable: cargo clippy --all-features --all-targets -- -D warnings, cargo clippy --features encryption --all-targets -- -D warnings and cargo fmt --check all pass.

Required check rename. The floor job is now named msrv / ubuntu-latest (a matrix label), so later raises change no branch rule. The branch rules still require 1.85 / ubuntu-latest, which no longer reports: replace it with msrv / ubuntu-latest before merging. Open PRs based on an older main report the new name once they merge main.

New releases support the latest stable Rust. rust-version moves from
1.85 to 1.91, the CI floor job moves with it, and the README states the
policy: any release may raise rust-version when a dependency needs a
newer toolchain, instead of holding that dependency back.

1.91 also lets clippy suggest is_multiple_of, so the one bench helper
that computed it by hand uses the method now.
@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 91dcf87 and 526c1d5.

Files selected for processing: 4
  • .github/workflows/ci.yml
  • Cargo.toml
  • README.md
  • benches/common/mod.rs

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Summary by CodeRabbit

  • Compatibility
    • The minimum supported Rust version is now 1.91. Releases require the latest stable Rust, and may require a newer version when needed by a dependency.
  • Documentation
    • Updated the Rust version guidance to reflect the new minimum.

Walkthrough

The package’s minimum supported Rust version changes from 1.85 to 1.91. The CI matrix and README reflect the new minimum. A benchmark expression also changes to use is_multiple_of(3).

Changes

Minimum Rust version

Layer / File(s) Summary
Declare and document the Rust version floor
Cargo.toml, .github/workflows/ci.yml, README.md
Cargo.toml sets Rust 1.91 as the minimum. The CI matrix aligns with that version, and the README describes the minimum and future version policy.

Benchmark expression

Layer / File(s) Summary
Update active-value expression
benches/common/mod.rs
The active calculation uses is_multiple_of(3) instead of a remainder comparison.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Other

Possibly related PRs

Suggested reviewers: kodus-27b

Merge Risk: Minimal · up to 526c1

No concrete merge-blocking risk remains in the reviewed changes.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: raising the minimum Rust version to 1.91.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (3 skipped: 3 …
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.
Description check Passed The pull request description clearly matches the changes. It explains the Rust version increase, CI updates, README updates, benchmark change, validation results, and required branch-rule rename.
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (3 skipped: 3 unsupported.)

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@kodus-27b

kodus-27b Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the `@kody start-review` command at the root of your PR.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Providing Context (Files & MCPs)

Add these hints in your PR description (or a comment) to unlock deeper checks:

  • Ticket / Acceptance Criteria: `Refs: ABC-123` (Linear/Jira/Asana/ClickUp/Trello) or a direct ticket link.
  • Bugfix Validation: a Sentry/Datadog/Bugsnag event link (or paste the stack trace/error message).
  • Endpoint Risk: mention the route (e.g., `POST /api/payments`) or controller/action name.
  • Attach a repo file as context: use an explicit marker like `@file:docs/guide.mdx#L10-L50` (replace with your real path).
  • API Contract Docs: include `@file:openapi.yaml` or `@file:swagger.json` when changing routes/schemas.
  • Definition of Done / Standards: include `@file:DOD.md` or `@file:CONTRIBUTING.md` if your repo has them.
  • Design System Source of Truth: include `@file:ui/index.ts` (replace with your DS entrypoint path).
  • Feature Flags: include the flag key/name and `@file:flags.ts` / `@file:config.json` (and optionally the PostHog flag name).
  • Edge/CDN Rules: link the Cloudflare rule/zone or describe the intended redirect/header behavior.
  • Attach an MCP tool output: use `@mcp<provider|tool>` (replace with an installed MCP provider + tool, e.g., `@mcp<sentry|events.search>`).
Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

kodus-27b[bot]
kodus-27b Bot previously approved these changes Oct 26, 2026
coderabbitai[bot]
coderabbitai Bot previously approved these changes Oct 26, 2026
The floor job's name carried the toolchain version, and it is a
required check, so every floor raise would also need a branch rule
change. A matrix label keeps the name at "msrv / ubuntu-latest"; the
clippy and component conditions key on the label too, so the version
is written in one place in this file.
@kodus-27b

kodus-27b Bot commented Oct 26, 2026

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the `@kody start-review` command at the root of your PR.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Providing Context (Files & MCPs)

Add these hints in your PR description (or a comment) to unlock deeper checks:

  • Ticket / Acceptance Criteria: `Refs: ABC-123` (Linear/Jira/Asana/ClickUp/Trello) or a direct ticket link.
  • Bugfix Validation: a Sentry/Datadog/Bugsnag event link (or paste the stack trace/error message).
  • Endpoint Risk: mention the route (e.g., `POST /api/payments`) or controller/action name.
  • Attach a repo file as context: use an explicit marker like `@file:docs/guide.mdx#L10-L50` (replace with your real path).
  • API Contract Docs: include `@file:openapi.yaml` or `@file:swagger.json` when changing routes/schemas.
  • Definition of Done / Standards: include `@file:DOD.md` or `@file:CONTRIBUTING.md` if your repo has them.
  • Design System Source of Truth: include `@file:ui/index.ts` (replace with your DS entrypoint path).
  • Feature Flags: include the flag key/name and `@file:flags.ts` / `@file:config.json` (and optionally the PostHog flag name).
  • Edge/CDN Rules: link the Cloudflare rule/zone or describe the intended redirect/header behavior.
  • Attach an MCP tool output: use `@mcp<provider|tool>` (replace with an installed MCP provider + tool, e.g., `@mcp<sentry|events.search>`).
Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug ✅
Performance ✅
Security ✅
Business Logic ✅

Access your configuration settings here.

@27Bslash6
27Bslash6 merged commit b4e7b57 into main Oct 26, 2026
39 checks passed
@27Bslash6
27Bslash6 deleted the lab-11169-msrv-1.91 branch October 26, 2026 21:01
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