Skip to content

Commit

Permalink
chore: bump MSRV to 1.49.0 (#645)
Browse files Browse the repository at this point in the history
`tower` builds are now failing on CI because Tokio v1.17.0 bumped MSRV
to 1.49.0. This branch updates `tower`'s MSRV to 1.49.0 to track Tokio's
MSRV. I also added nicer documentation of the MSRV based on Tokio's, and
added the `rust-version` Cargo metadata to the `tower` crate's
`Cargo.toml`.

Note that `tower-service` and `tower-layer` can technically continue to
support much earlier Rust versions than `tower` can, since they don't
depend on external crates and are very small. We could consider testing
separate, older MSRVs on CI for those crates individually. I didn't do
that in this PR, though, because I wasn't sure if this was worth the
effort and I just wanted to get CI passing again.
  • Loading branch information
hawkw authored Feb 16, 2022
1 parent 7b6587e commit 9c184d8
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 4 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
# failure only occurs on a particular version.
fail-fast: false
matrix:
rust: [stable, 1.46.0]
rust: [stable, 1.49.0]
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
# failure only occurs on a particular version.
fail-fast: false
matrix:
rust: [stable, beta, nightly, 1.46.0]
rust: [stable, beta, nightly, 1.49.0]
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,11 @@ Tower aims to make it as easy as possible to build robust networking clients and
servers. It is protocol agnostic, but is designed around a request / response
pattern. If your protocol is entirely stream based, Tower may not be a good fit.

## Minimum supported Rust version
## Supported Rust Versions

tower's MSRV is 1.46.
Tower will keep a rolling MSRV (minimum supported Rust version) policy of **at
least** 6 months. When increasing the MSRV, the new Rust version must have been
released at least six months ago. The current MSRV is 1.49.0.

## Getting Started

Expand Down
1 change: 1 addition & 0 deletions tower/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ clients and servers.
categories = ["asynchronous", "network-programming"]
keywords = ["io", "async", "non-blocking", "futures", "service"]
edition = "2018"
rust-version = "1.49.0"

[features]
default = ["log"]
Expand Down
7 changes: 7 additions & 0 deletions tower/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,13 @@ Tower.
[`retry`]: https://docs.rs/tower/latest/tower/retry
[open a PR]: https://github.com/tower-rs/tower/compare


## Supported Rust Versions

Tower will keep a rolling MSRV (minimum supported Rust version) policy of **at
least** 6 months. When increasing the MSRV, the new Rust version must have been
released at least six months ago. The current MSRV is 1.49.0.

## License

This project is licensed under the [MIT license](LICENSE).
Expand Down
7 changes: 7 additions & 0 deletions tower/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,13 @@
//! See [here](#modules) for a complete list of all middleware provided by
//! Tower.
//!
//!
//! #! Supported Rust Versions
//!
//! Tower will keep a rolling MSRV (minimum supported Rust version) policy of **at
//! least** 6 months. When increasing the MSRV, the new Rust version must have been
//! released at least six months ago. The current MSRV is 1.49.0.
//!
//! [`Service`]: crate::Service
//! [`Layer`]: crate::Layer
//! [timeouts]: crate::timeout
Expand Down

0 comments on commit 9c184d8

Please sign in to comment.