Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump msrv to 1.70 #1098

Merged
merged 3 commits into from
Oct 21, 2024
Merged

Bump msrv to 1.70 #1098

merged 3 commits into from
Oct 21, 2024

Conversation

Lorak-mmk
Copy link
Collaborator

@Lorak-mmk Lorak-mmk commented Oct 21, 2024

Checking MSRV locally is frustrating, because it requires switching toolchain and renaming files, but it is even more frustrating because updating cargo index before 1.70 is so sloooooow.
1.70 switched to sparse cargo index protocol by default, which makes checking the crate much faster. Let's bump MSRV to improve developer experience.

I also added "rust-version" field to Cargo.toml files, because this is the official place to specify MSRV and in the future will be used by Cargo during dependency resolving.

1.70 is over a year old (released on 1st June 2023), so I doubt this bump will cause any problems.
Related: we will need to decide on MSRV policy past 1.0. I propose to settle on 6 month policy (= our MSRV must always be at least 6 months old).
Rust ecosystem seems to not be very conservative on this:

Pre-review checklist

  • I have split my patch into logically separate commits.
  • All commit messages clearly explain what they change and why.
  • I added relevant tests for new features and bug fixes.
  • All commits compile, pass static checks and pass test.
  • PR description sums up the changes and reasons why they should be introduced.
  • I have provided docstrings for the public items that I want to introduce.
  • I have adjusted the documentation in ./docs/source/.
  • I added appropriate Fixes: annotations to PR description.

It enables sparse cargo index by default, which in turn will make
performing MSRV checks locally less of a pain.
- Make it clear where the MSRV changes will be published.
- Allow MSRV bumps after 1.0.
This is a field that describes current MSRV of the crate.
In the future it will be used by Cargo during resolving to get
versions compatible with users toolchain. For that reason we should
provide it.
@Lorak-mmk Lorak-mmk self-assigned this Oct 21, 2024
@Lorak-mmk Lorak-mmk changed the title Bump msrv 1.70 Bump msrv to 1.70 Oct 21, 2024
Copy link

cargo semver-checks found no API-breaking changes in this PR! 🎉🥳
Checked commit: 1da6c85

@muzarski
Copy link
Contributor

I propose to settle on 6 month policy (= we only support Rust versions released during last 6 months)

Then we will not support versions that were released more than 6 months ago. You probably meant that MSRV should be a version that is at least 6 months old (AFAIU, this is the tokio's policy), correct? If so, then I agree that such policy makes sense.

@Lorak-mmk
Copy link
Collaborator Author

I propose to settle on 6 month policy (= we only support Rust versions released during last 6 months)

Then we will not support versions that were released more than 6 months ago. You probably meant that MSRV should be a version that is at least 6 months old (AFAIU, this is the tokio's policy), correct? If so, then I agree that such policy makes sense.

Yes, you're right, and that is what I'd like to propose.

And just like Tokio, this wouldn't be automatic: if we don't see the benefit in bumping MSRV we can stay on older one for much longer.

@Lorak-mmk
Copy link
Collaborator Author

@muzarski I updated the description regarding the 6 months policy.

@Lorak-mmk Lorak-mmk merged commit 4314d7a into scylladb:main Oct 21, 2024
11 checks passed
@wprzytula wprzytula mentioned this pull request Nov 14, 2024
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.

3 participants