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

Begin tracking MSRV (Minimum Supported Rust Version) #41

Open
jamesmunns opened this issue Jun 5, 2024 · 8 comments
Open

Begin tracking MSRV (Minimum Supported Rust Version) #41

jamesmunns opened this issue Jun 5, 2024 · 8 comments
Labels
Q-RFC Questions that are open to comments
Milestone

Comments

@jamesmunns
Copy link
Collaborator

We will want to track some kind of MSRV when we get closer to a "1.0" release.

We likely don't want to be more conservative than pingora's policy, which is currently "stable - 6 months". As pingora is a fundamental dependency and we would prefer not to carry patches, we may just want to track this policy 1:1.

We also will want to test this in CI to prevent accidental regressions.

If users have opinions whether we should be more or less conservative than pingora's, please feel free to comment here. If there is no opinion, we will likely begin matching pingora's policy closer to the 1.0 release.

@jamesmunns jamesmunns added the Q-RFC Questions that are open to comments label Jun 5, 2024
@git001
Copy link

git001 commented Jun 5, 2024

Sorry but what's MSRV?

@jamesmunns jamesmunns changed the title Begin tracking MSRV Begin tracking MSRV (Minimum Supported Rust Version) Jun 5, 2024
@jamesmunns
Copy link
Collaborator Author

@git001 It stands for "Minimum Supported Rust Version", which is useful for users that don't necessarily track the latest Rust stable release, for example due to company policy or for linux distributions that package older versions of the compiler.

Context: https://rust-lang.github.io/rfcs/2495-min-rust-version.html

I've updated the title to define the abbreviation, thanks for asking!

@allan2
Copy link

allan2 commented Jun 7, 2024

Will River have release branches, like current/LTS or nginx mainline/stable? That may influence the MSRV policy.

@jamesmunns
Copy link
Collaborator Author

@allan2 that's yet to be decided, but likely a good question to ask closer to the 1.0 release.

@jamesmunns
Copy link
Collaborator Author

Noting that #44 discusses Debian support, which would require a much longer MSRV, in June 2024, bookworm stable is still on Rust 1.63 (nearly two years back).

@jamesmunns jamesmunns added this to the Backlog milestone Jun 11, 2024
@djc
Copy link
Collaborator

djc commented Jun 13, 2024

Would be good to figure out what the main reasons are for Pingora's newer requirement -- I think a lot of the fundamental libraries are sticking to 1.63 for now so it might not be too hard to stay there and it might make deployment easier for River?

@jamesmunns
Copy link
Collaborator Author

@djc I think this would be a reasonable experiment, though I definitely think it would be necessary to have this discussion upstream (in pingora) first, as it is unlikely to be desirable for river to maintain a patchset (or fork) of pingora to maintain a more conservative MSRV.

@eaufavor
Copy link
Collaborator

Note that Debian Bookworm toolchain freeze was on 2023-01-12. At that time Rust 1.63 was less than 6 months old. If things go similarly next time, the version of Rust in the next Debian shouldn't be too old for the Pingora/River at that time work with.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Q-RFC Questions that are open to comments
Projects
None yet
Development

No branches or pull requests

5 participants