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

Decide on minimum supported rust version #267

Closed
k0nserv opened this issue Aug 25, 2022 · 7 comments
Closed

Decide on minimum supported rust version #267

k0nserv opened this issue Aug 25, 2022 · 7 comments
Labels
documentation Improvements or additions to documentation

Comments

@k0nserv
Copy link
Member

k0nserv commented Aug 25, 2022

Currently we support Rust 1.57.0 as our minimal version. However, this is entirely arbitrary. We should have a policy.

Some inspiration:

tokio

Tokio will keep a rolling MSRV (minimum supported rust version) policy of at least 6 months. When increasing the MSRV, the new Rust version must have been released at least six months ago. The current MSRV is 1.49.0.

time

The time crate is guaranteed to compile with any release of rustc from the past six months. Optional feature flags that enable interoperability with third-party crates (e.g. rand) follow the policy of that crate if stricter.

serde

See serde-rs/serde#2257

rcgen

The MSRV policy is to strive for supporting 6-month old Rust versions.

Please add suggestions and inspirations from other crates(ideally those that are likely to be in a consumers tree already)

@k0nserv k0nserv added the documentation Improvements or additions to documentation label Aug 25, 2022
@k0nserv
Copy link
Member Author

k0nserv commented Aug 31, 2022

CI broke again because async-global-executor moved to version 1.59.0. This is was created because the same thing happened with time.

Proposal

Given how common the six months approach seems to be I think we should use the same, it's likely that consumers have had to update already because the six month MSRV policy is so common.

@k0nserv
Copy link
Member Author

k0nserv commented Aug 31, 2022

Fix for async-global-executor #278

@k0nserv
Copy link
Member Author

k0nserv commented Oct 31, 2022

cc @KillingSpark @niklaskorz @morajabi @sax @stuqdog @KallDrexx @xnorpx @rainliu @morajabi @billylindeman

I'd to go with my proposal above unless there's a strong argument against that

@KallDrexx
Copy link

Makes sense to me. Almost all my work ends up on the latest rust compiler.

@k0nserv
Copy link
Member Author

k0nserv commented Oct 31, 2022

Implicit in my proposal is that changes to MSRV will not be considered breaking either, just making this explicit

@k0nserv
Copy link
Member Author

k0nserv commented Nov 1, 2022

I made a PR that updates the minimum to 1.60.0 and documents the suggested proposal

#337

@k0nserv
Copy link
Member Author

k0nserv commented Nov 2, 2022

I've merged #337 so I'm closing this now.

Policy is to have an MSRV for compilers released in the last six months and bump the minimum version as non breaking.

@k0nserv k0nserv closed this as completed Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants