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

[0.2] Document the MSRV of the stable channel as 1.63 #4040

Merged
merged 1 commit into from
Nov 16, 2024

Conversation

tgross35
Copy link
Contributor

Currently this crate maintains the main branch (future 1.0) alongside libc-0.2 (current stable release). PRs are made against main then cherry picked as applicable to libc-0.2.

Usually this flow works okay, but there is a substantial difference in minimum supported versions: libc-0.2 is tested down to 1.19 and main is tested with 1.63. This means that supported features differ quite a bit and as a result, cherry picks get conflict-heavy (e.g. repr(align), union, and const fn cannot be used on libc-0.2).

In order to make it easier to keep these branches in sync and get us close to a 1.0 release, raise the MSRV on libc-0.2 to 1.63. This means both branches can run the exact same tests.

Future Changes

This still does not establish a MSRV policy, which has been discussed at great length in [1]. For the purpose of unsticking us this selects 1.63 as the MSRV, which is the version currently available on Debian stable (a commonly requested reference point in [1], and about the oldest specific version mentioned).

This is a documentation-only change to keep things simple, cleanup can follow. Further increases and official policy are not precluded.

History

An attempt to raise the MSRV to 1.57 in 2022 was approved at one point [2], but never merged due to various failures. Making this a documentation-only change hopes to avoid this problem.

I brought up a 0.3 release to increase versions in [3], but consensus there was that we should be able to increase the MSRV in the existing 0.2 release without a semver-breaking change.

Link: rust-lang/libs-team#72 [1]
Link: #2845 [2]
Link: rust-lang/libs-team#463 [3]

@rustbot
Copy link
Collaborator

rustbot commented Nov 15, 2024

r? @JohnTitor

rustbot has assigned @JohnTitor.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@tgross35 tgross35 changed the title Document the MSRV of the stable channel as 1.63 [0.2] Document the MSRV of the stable channel as 1.63 Nov 15, 2024
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Currently this crate maintains the `main` branch (future 1.0) alongside
`libc-0.2` (current stable release). PRs are made against `main` then
cherry picked as applicable to `libc-0.2`.

Usually this flow works okay, but there is a substantial difference in
minimum supported versions: libc-0.2 is tested down to 1.19 and main is
tested with 1.63. This means that supported features differ quite a bit
and as a result, cherry picks get conflict-heavy (e.g. `repr(align)`,
`union`, and `const fn` cannot be used on `libc-0.2`).

In order to make it easier to keep these branches in sync and get us
close to a 1.0 release, raise the MSRV on `libc-0.2` to 1.63. This means
both branches can run the exact same tests.

Future Changes
==============

This still does not establish a MSRV policy, which has been discussed at
great length in [1]. For the purpose of unsticking us this selects 1.63
as the MSRV, which is the version currently available on Debian stable
(a commonly requested reference point in [1], and about the oldest
specific version mentioned).

This is a documentation-only change to keep things simple, cleanup can
follow. Further increases and official policy are not precluded.

History
=======

An attempt to raise the MSRV to 1.57 in 2022 was approved at one point
[2], but never merged due to various failures. Making this a
documentation-only change hopes to avoid this problem.

I brought up a 0.3 release to increase versions in [3], but consensus
there was that we should be able to increase the MSRV in the existing
0.2 release without a semver-breaking change.

Link: rust-lang/libs-team#72 [1]
Link: rust-lang#2845 [2]
Link: rust-lang/libs-team#463 [3]
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Nov 16, 2024
With the change to MSRV in [1], update Cargo.toml `rust-version` to
match.

[1]: rust-lang#4040
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Nov 16, 2024
Since the increase to MSRV in [1], we no longer need to test with old
versions of Rust.

[1]: rust-lang#4040
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Nov 16, 2024
Since the increase to MSRV in [1], we no longer need to test with old
versions of Rust.

This makes CI identical to `main`, with the exception of branch
configuration.

[1]: rust-lang#4040
tgross35 added a commit to tgross35/rust-libc that referenced this pull request Nov 16, 2024
Since the increase to MSRV in [1], we no longer need to test with old
versions of Rust.

This makes CI identical to `main`, with the exception of branch
configuration.

[1]: rust-lang#4040
@tgross35 tgross35 added this pull request to the merge queue Nov 16, 2024
Merged via the queue into rust-lang:libc-0.2 with commit 5f0d183 Nov 16, 2024
55 checks passed
@tgross35 tgross35 deleted the stable-msrv branch November 16, 2024 09:09
newpavlov added a commit to rust-random/getrandom that referenced this pull request Nov 21, 2024
This follows the MSRV bump in `libc`:
rust-lang/libc#4040
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants