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

Please document the minimum supported rust version (MSRV) #219

Closed
rbtcollins opened this issue Aug 5, 2020 · 4 comments · Fixed by #259
Closed

Please document the minimum supported rust version (MSRV) #219

rbtcollins opened this issue Aug 5, 2020 · 4 comments · Fixed by #259
Labels
documentation Documentation changes
Milestone

Comments

@rbtcollins
Copy link

Just had ISAHC failing in CI with:

error: attributes are not yet allowed on `if` expressions
##[error]   --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/isahc-0.9.7/src/config/dial.rs:137:9
    |
137 |         #[cfg(unix)]
    |         ^^^^^^^^^^^^

error: aborting due to previous error
##[error]aborting due to previous error
error: could not compile `isahc`.

That was with 1.42, and we try to keep track of the lowest version of rust that things are known to build with :). I see there is a ticket for making a 1.0, presumably fixing the MSRV at that point will be important too.

@sagebind
Copy link
Owner

sagebind commented Aug 5, 2020

That is correct, as stated on the readme here:

The current release is only guaranteed to work with the latest stable Rust compiler. When Isahc reaches version 1.0, a more conservative policy will be adopted.

The next non-patch release is planned to be 1.0. I will add a note there to remember to pin the MSRV at that point as well.

@alexliesenfeld
Copy link

alexliesenfeld commented Aug 17, 2020

I wonder why a patch version breaks existing code? I guess it should have been released as a minor version instead. As cargo follows semver, patch versions that introduce breaking changes might automatically be upgraded and break existing code. Please refer to https://semver.org/#spec-item-6 .

@sagebind
Copy link
Owner

My mental model for patch versions is that no API changes are made, and for minor versions only backwards-compatible API changes are made. I didn't think about (nor intentionally change) the minimum Rust version required, my bad.

Though also it is a bit odd, because Isahc is currently on 0.x, so by Cargo's modified semver rules, a "minor" version is essentially a major version and a "patch" version is essentially a minor version. I think a lot of confusion comes around the prolific use of version 0 in the Rust ecosystem, which I'm slowly changing my mind about. Isahc probably should have been 1.x a long time ago...

@sagebind sagebind added this to the 1.0 milestone Sep 11, 2020
@sagebind sagebind added the documentation Documentation changes label Sep 23, 2020
@sagebind sagebind mentioned this issue Oct 7, 2020
8 tasks
sagebind added a commit that referenced this issue Nov 20, 2020
1.41 is the version on Debian stable (a common distribution channel) and supports basically everything that we require.

Fixes #219.
sagebind added a commit that referenced this issue Nov 20, 2020
1.41 is the version on Debian stable (a common distribution channel) and supports basically everything that we require. Only a few small changes were required to get it to compile with this version.

Fixes #219.
@sagebind
Copy link
Owner

Isahc will now compile with Rust 1.41+ as of #259, and this will be the official MSRV policy for the soon-to-be Isahc 1.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Documentation changes
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants