diff --git a/.circleci/config.yml b/.circleci/config.yml index 6fedd67..61ca82e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,12 +14,13 @@ workflows: # be easier on the CI hosts since presumably those fat lower layers will already be cached, and # therefore faster than a minimal, customized alpine. # MSRV - 'rust:1.60.0' + 'rust:1.57.0' ] # a hacky scheme to work around CircleCI's inability to deal with mutable docker tags, forcing us to # get a nightly or stable toolchain via rustup instead of a mutable docker tag toolchain_override: [ '__msrv__', # won't add any other toolchains, just uses what's in the docker image + '1.60.0', # minimum needed to build dev-dependencies 'stable', 'nightly' ] @@ -62,9 +63,16 @@ jobs: rustup component add clippy cargo clippy --all-targets fi + - run: + name: Build main target + command: cargo build - run: name: Build all targets - command: cargo build --all-targets + command: | + if [[ '<< parameters.toolchain_override >>' != '__msrv__' ]] + then + cargo build --all-targets + fi - run: name: Build without default features command: cargo build --no-default-features @@ -81,8 +89,13 @@ jobs: name: Build ARM with only alloc feature command: cargo build --target thumbv6m-none-eabi --no-default-features --features alloc - run: + # dev dependencies can't build on 1.57.0 name: Run tests - command: cargo test --verbose + command: | + if [[ '<< parameters.toolchain_override >>' != '__msrv__' ]] + then + cargo test --verbose + fi - run: name: Build docs command: cargo doc --verbose diff --git a/Cargo.toml b/Cargo.toml index 7ce687f..de43097 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,8 @@ keywords = ["base64", "utf8", "encode", "decode", "no_std"] categories = ["encoding"] license = "MIT OR Apache-2.0" edition = "2021" -rust-version = "1.60.0" +# dev-dependencies require 1.60, but the main code doesn't +rust-version = "1.57.0" [[bench]] name = "benchmarks" diff --git a/README.md b/README.md index 301c26d..925ee5e 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ optionally may allow other behaviors. ## Rust version compatibility -The minimum supported Rust version is 1.60.0. +The minimum supported Rust version is 1.57.0. # Contributing diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index f15fa85..485d979 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,3 +1,7 @@ +# 0.21.2 + +- Rollback MSRV to 1.57.0 -- only dev dependencies need 1.60, not the main code + # 0.21.1 - Remove the possibility of panicking during decoded length calculations diff --git a/clippy.toml b/clippy.toml index 16caf02..23b32c1 100644 --- a/clippy.toml +++ b/clippy.toml @@ -1 +1 @@ -msrv = "1.60.0" +msrv = "1.57.0"