-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
doc: Update MSRV policy, shortening to max(4 months, 4 releases) #12402
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense to me, thank you @comphead
I think we should leave this PR open for a few days to give the rest of the community time to comment
@@ -97,9 +97,7 @@ Optional features: | |||
|
|||
## Rust Version Compatibility Policy | |||
|
|||
DataFusion's Minimum Required Stable Rust Version (MSRV) policy is to support | |||
each stable Rust version for 6 months after it is |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The previous wording guaranteed support for any rust version for next 6 months.
Given current rust release cadence, shortening the guaranteed support is the main change of this PR. Can we have this reflected in the PR title?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good call -- I changed the title to say
doc: Update MSRV policy, shortening to max(4 months, 4 releases)
README.md
Outdated
[released](https://github.com/rust-lang/rust/blob/master/RELEASES.md). This | ||
generally translates to support for the most recent 3 to 4 stable Rust versions. | ||
DataFusion's Minimum Required Stable Rust Version (MSRV) policy is to support stable [4 latest | ||
Rust versions](https://releases.rs) OR versions within last 4 months, whichever is longer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As written I think they count for 1
How about this for a slightly different wording
DataFusion's Minimum Required Stable Rust Version (MSRV) policy is to support the last 4 minor Rust versions OR the stable minor Rust version as of 4 months , whichever is lower.
For example, given the releases
1.78.0
,1.79.0
,1.80.0
,1.80.1
and1.81.0
DataFusion will support1.78.0
, which is 3 minor versions prior to the most minor recent,1.81
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is a tricky part yes, if you check https://releases.rs for 1.77 you can see there are 2 hotfixes within a month.
But hotfixes are important and we probably should mention it in the policy. That we will support the latest hotfix(if any) of the major minumum supported rust version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we specify only major version, it should pick the latest hotfix automatically, right? we just need to mention it on the separate note
Updated the policy, including hotfixes for MSRV, please take a second look |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me
|
||
For example, given the releases `1.78.0`, `1.79.0`, `1.80.0`, `1.80.1` and `1.81.0` DataFusion will support 1.78.0, which is 3 minor versions prior to the most minor recent `1.81`. | ||
|
||
If a hotfix is released for the minimum supported Rust version (MSRV), the MSRV will be the minor version with all hotfixes, even if it surpasses the four-month window. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Which issue does this PR close?
Followup on #12398 (comment)
Closes #.
Rationale for this change
Current MSRV policy statement is somewhat confusing on matching between MSRV supported time period and latest Rust versions. The PR is to avoid ambiguity
What changes are included in this PR?
Are these changes tested?
Are there any user-facing changes?