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

Raise the MSRV to 1.56.1 #1792

Merged
merged 2 commits into from Aug 16, 2022
Merged

Raise the MSRV to 1.56.1 #1792

merged 2 commits into from Aug 16, 2022

Conversation

asomers
Copy link
Member

@asomers asomers commented Aug 11, 2022

Nix's code hasn't changed. However, Serde accidentally raised its MSRV
to 1.51.0 in a patch release, due to a Cargo bug. They don't plan to
change it back. Nix does not depend on Serde, but it's used by
cargo-hack, which we build as part of our CI process. So we need to
either raise our MSRV, or else install a separate toolchain during CI
just to build cargo-hack.

serde-rs/serde#2255

@rtzoeller
Copy link
Collaborator

@asomers should we create a release with the current MSRV first?

@asomers
Copy link
Member Author

asomers commented Aug 11, 2022

That would probably be good to do. It's about time anyway. We'll have to disable cargo-hack just to get through CI. Are there any other PRs that ought to be included?

@rtzoeller
Copy link
Collaborator

Are there any other PRs that ought to be included?

I would have liked to get #1744 in, but there's an open question regarding send.

I've been a bit short on bandwidth recently, but that should change soon. Maybe we can do a subsequent 0.26.0 release relatively soon after 0.25.0, with the new MSRV.

I don't see any PRs which I would hold the release for, given that we'll miss cargo hack in validating them.

@rtzoeller
Copy link
Collaborator

Perhaps #1785?

@asomers
Copy link
Member Author

asomers commented Aug 11, 2022

Ok. Also, how would you feel about raising MSRV to 1.54.0? The CI failures are due to a bunch of overly aggressive Clippy lints that got fixed or downgraded by 1.54.0.

@asomers
Copy link
Member Author

asomers commented Aug 11, 2022

Perhaps #1785?

Yeah. And a couple of other cleanups. I'll create a milestone.

@rtzoeller
Copy link
Collaborator

Ok. Also, how would you feel about raising MSRV to 1.54.0? The CI failures are due to a bunch of overly aggressive Clippy lints that got fixed or downgraded by 1.54.0.

I'd be fine with that, but would push for 1.56.0.

I was hoping rust-lang/libs-team#72 would be resolved before we needed to bump our MSRV, so we could adopt it as our policy (barring a strong reason not to). rust-lang/libs-team#72 (comment) has some rough approximations on version coverage - given those numbers I would push for 1.56.0 over 1.54.0, as the coverage is nearly identical (and that was ~3 weeks ago).

Is there a reason to target 1.54.0 over 1.56.0?

@asomers asomers changed the title Raise the MSRVto 1.51.0 Raise the MSRV to 1.51.0 Aug 11, 2022
@asomers
Copy link
Member Author

asomers commented Aug 12, 2022

Ok. Also, how would you feel about raising MSRV to 1.54.0? The CI failures are due to a bunch of overly aggressive Clippy lints that got fixed or downgraded by 1.54.0.

I'd be fine with that, but would push for 1.56.0.

I was hoping rust-lang/libs-team#72 would be resolved before we needed to bump our MSRV, so we could adopt it as our policy (barring a strong reason not to). rust-lang/libs-team#72 (comment) has some rough approximations on version coverage - given those numbers I would push for 1.56.0 over 1.54.0, as the coverage is nearly identical (and that was ~3 weeks ago).

Is there a reason to target 1.54.0 over 1.56.0?

Oh boy, I'm eagerly watching that libc issue too. It's blocking me from fixing a kevent bug (rust-lang/libc#2813 , and that will have a Nix component too). But I have no strong feelings about 1.54.0 vs 1.56.0. I do however have strong feelings about 1.63.0. That would allow us to implement #1750 . I'm not yet sure how much work that issue will require, however. So maybe we shouldn't jump all the way to 1.63.0 just yet. Plus, it's only hours old.

@rtzoeller
Copy link
Collaborator

But I have no strong feelings about 1.54.0 vs 1.56.0. I do however have strong feelings about 1.63.0. That would allow us to implement #1750 . I'm not yet sure how much work that issue will require, however. So maybe we shouldn't jump all the way to 1.63.0 just yet. Plus, it's only hours old.

I pulled a newer version of the same data as Alex's comment which I linked previously; here's the results for the last 30 days:

1.47.0: 97.2%
1.48.0: 96.9%
1.49.0: 96.6%
1.50.0: 96.5%
1.51.0: 96.5%
1.52.0: 96.4%
1.52.1: 96.2%
1.53.0: 96.0%
1.54.0: 95.9%
1.55.0: 95.9%
1.56.0: 95.9%
1.56.1: 95.8%
1.57.0: 95.5%
1.58.0: 95.4%
1.58.1: 95.1%
1.59.0: 94.4%
1.60.0: 93.8%
1.61.0: 92.5%
1.62.0: 87.8%
1.62.1: 52.4%
1.63.0: 0.01%

This is coming from pip installs, so the near-zero 1.63.0 value makes sense - it'd be people who have upgraded Rust and subsequently installed a Python package with a recent version of pip (I also pulled this data a few hours ago).

If trends hold, we're probably 2-3 months away from a MSRV of 1.63.0 having ~90% adoption (per this metric). Requiring a newer pip does mean we're biased towards newer versions of Rust. Perhaps we should look at the MSRVs of recently updated crates which depend on nix?

@taiki-e
Copy link

taiki-e commented Aug 12, 2022

Nix does not depend on Serde, but it's used by cargo-hack,

I would suggest using +stable for cargo-hack installation or installing cargo-hack from GitHub release (like crossbeam-rs/crossbeam#761 or tokio-rs/bytes#507) (cargo-hack is compatible with cargo 1.26 and later, regardless of the version used to compile it.)

@asomers
Copy link
Member Author

asomers commented Aug 12, 2022

Nix does not depend on Serde, but it's used by cargo-hack,

I would suggest using +stable for cargo-hack installation or installing cargo-hack from GitHub release (like crossbeam-rs/crossbeam#761 or tokio-rs/bytes#507) (cargo-hack is compatible with cargo 1.26 and later, regardless of the version used to compile it.)

I thought about using +stable to build cargo-hack. But that would require installing two toolchains instead of one, slowing down CI. Installing the binary release isn't an option because they only publish releases for a few platforms.

@taiki-e
Copy link

taiki-e commented Aug 12, 2022

I thought about using +stable to build cargo-hack. But that would require installing two toolchains instead of one, slowing down CI.

Ah, sorry, I missed that Cirrus CI does not install rust by default.

Installing the binary release isn't an option because they only publish releases for a few platforms.

Hmm. Which platform prebuilt binaries are missing? I can probably publish prebuilt binaries for that platform if it is supported by cross.

@asomers
Copy link
Member Author

asomers commented Aug 12, 2022

I thought about using +stable to build cargo-hack. But that would require installing two toolchains instead of one, slowing down CI.

Ah, sorry, I missed that Cirrus CI does not install rust by default.

Installing the binary release isn't an option because they only publish releases for a few platforms.

Hmm. Which platform prebuilt binaries are missing? I can probably publish prebuilt binaries for that platform if it is supported by cross.

We run CI on x86_64-unknown-freebsd, x86_64-apple-darwin, x86_64-unknown-linux-gnu, and aarch64-unknown-linux-gnu. The other targets we test by cross compiling.

bors bot added a commit to taiki-e/cargo-hack that referenced this pull request Aug 12, 2022
160: Distribute prebuilt binaries for x86_64 FreeBSD r=taiki-e a=taiki-e

nix-rust/nix#1792 (comment)

fyi `@asomers`

Co-authored-by: Taiki Endo <te316e89@gmail.com>
@asomers asomers changed the title Raise the MSRV to 1.51.0 Raise the MSRV to 1.56.0 Aug 13, 2022
And fix some documentation lints warned about by the newer rustdoc.
@asomers asomers changed the title Raise the MSRV to 1.56.0 Raise the MSRV to 1.56.1 Aug 14, 2022
@asomers asomers requested a review from rtzoeller August 14, 2022 16:53
Copy link
Collaborator

@rtzoeller rtzoeller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but don't forget to update the PR description. It's currently out of date.

@asomers
Copy link
Member Author

asomers commented Aug 14, 2022

LGTM, but don't forget to update the PR description. It's currently out of date.

Are you sure? Press refresh.

bors=rtzoeller

@rtzoeller
Copy link
Collaborator

Uhh... bors?

bors r+

@bors bors bot merged commit 2a8b438 into nix-rust:master Aug 16, 2022
g0hl1n added a commit to g0hl1n/serialport-rs that referenced this pull request Dec 1, 2022
This is needed as nix v0.26.0 raised its MSRV to 1.56.1. For more
information please see the changelog:
	https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0260---2022-11-29

Or the corresponding PR:
	nix-rust/nix#1792

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
g0hl1n added a commit to g0hl1n/serialport-rs that referenced this pull request Dec 1, 2022
This is needed as nix v0.26.0 raised its MSRV to 1.56.1. For more
information please see the changelog:
	https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0260---2022-11-29

Or the corresponding PR:
	nix-rust/nix#1792

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
g0hl1n added a commit to g0hl1n/mio-serial that referenced this pull request Dec 5, 2022
This is needed as nix v0.26.0 raised its MSRV to 1.56.1. For more
information please see the changelog:
	https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0260---2022-11-29

Or the corresponding PR:
	nix-rust/nix#1792

Signed-off-by: Richard Leitner <dev@g0hl1n.net>
g0hl1n added a commit to g0hl1n/serialport-rs that referenced this pull request Dec 18, 2022
This is needed as nix v0.26.0 raised its MSRV to 1.56.1. For more
information please see the changelog:
	https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0260---2022-11-29

Or the corresponding PR:
	nix-rust/nix#1792

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
jessebraham pushed a commit to serialport/serialport-rs that referenced this pull request Dec 20, 2022
* Upgrade nix to 0.26

Remove the patch version in the dependency definition to get minor fixes
automatically. This shouldn't be a problem as nix should be API stable
across patch versions.

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>

* Raise the MSRV to 1.56.1

This is needed as nix v0.26.0 raised its MSRV to 1.56.1. For more
information please see the changelog:
	https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0260---2022-11-29

Or the corresponding PR:
	nix-rust/nix#1792

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
g0hl1n added a commit to g0hl1n/mio-serial that referenced this pull request Jan 13, 2023
This is needed as nix v0.26.0 raised its MSRV to 1.56.1. For more
information please see the changelog:
	https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0260---2022-11-29

Or the corresponding PR:
	nix-rust/nix#1792

Signed-off-by: Richard Leitner <dev@g0hl1n.net>
sirhcel pushed a commit to sirhcel/serialport-rs that referenced this pull request May 10, 2023
* Upgrade nix to 0.26

Remove the patch version in the dependency definition to get minor fixes
automatically. This shouldn't be a problem as nix should be API stable
across patch versions.

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>

* Raise the MSRV to 1.56.1

This is needed as nix v0.26.0 raised its MSRV to 1.56.1. For more
information please see the changelog:
	https://github.com/nix-rust/nix/blob/master/CHANGELOG.md#0260---2022-11-29

Or the corresponding PR:
	nix-rust/nix#1792

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
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.

None yet

3 participants