Skip to content

MSRV: step rust-version toward current stable as features land (1.70 -> ~1.98) #6

Description

@JSBtechnologies

atrium declares rust-version = "1.70" (June 2023). Current stable is 1.98.1 (2026-09-03). The founder's direction (2026-09-30): move toward the nearest stable, gradually, as features land, not as a standalone big-bang bump.

How

  • One step per feature pass. When a feature would benefit from a newer language or std feature, raise rust-version to the release that has it, in the same change.
  • Each step: bump rust-version in Cargo.toml, rustup toolchain install <ver>, then run python dev.py check. The gate reads the MSRV from Cargo.toml and builds on it (cargo +<ver> check --all-targets --locked). Take the clippy suggestions the new floor unlocks, and add a line to the changelog.
  • Target: within about two stable releases of current. An app has no downstream crates pinned to it, so it can stay close to stable.

Likely steps (what each one unlocks)

  • 1.74: Cargo reads the [lints] table. Today 1.70 ignores it with a warning.
  • 1.81: #[expect] and reason = "..." on lint attributes. This unblocks allow_attributes_without_reason, which was deferred in d33a784.
  • 1.85: edition 2024.
  • 1.88: let chains, which need edition 2024.
  • Current stable: whatever the feature at hand needs.

Scope note

The nativelite-* library crates also declare 1.70. They are separate decisions: a library's MSRV limits every downstream user, so the libraries can stay lower than atrium. Raising atrium doesn't require raising them.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions