From 57a4ab10398e1ab6fae1e1951a86441b88271d3f Mon Sep 17 00:00:00 2001 From: Matthew Treinish Date: Mon, 1 Apr 2024 18:05:52 -0400 Subject: [PATCH 1/3] Bump MSRV to 1.70 This commit bumps the MSRV for rustworkx in 0.15.0 to 1.70.0. This enables us to use GATs (see #1143) and also enables to update some of our dependencies which require newer versions of rust to compile. --- .github/workflows/main.yml | 2 +- Cargo.lock | 36 +++++++++---------- Cargo.toml | 3 +- README.md | 4 +-- .../notes/bump-msrv-170-f1518d5adb41f7c3.yaml | 8 +++++ rustworkx-core/README.md | 2 +- 6 files changed, 31 insertions(+), 24 deletions(-) create mode 100644 releasenotes/notes/bump-msrv-170-f1518d5adb41f7c3.yaml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a087276e1..f3b68f3f0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -66,7 +66,7 @@ jobs: ] include: # Test minimal supported Rust version - - rust: 1.64 + - rust: 1.70 python-version: 3.8 platform: { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" } msrv: "MSRV" diff --git a/Cargo.lock b/Cargo.lock index fa84e3d91..8c74b9c9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "getrandom", @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "bitflags" @@ -165,9 +165,9 @@ dependencies = [ [[package]] name = "indoc" -version = "2.0.4" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" +checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" [[package]] name = "itertools" @@ -189,9 +189,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "libc" @@ -227,15 +227,15 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -416,9 +416,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -687,9 +687,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "sprs" @@ -708,9 +708,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.52" +version = "2.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" +checksum = "11a6ae1e52eb25aab8f3fb9fca13be982a373b8f1157ca14b897a825ba4a2d35" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index aabff01b9..05df861fd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ members = [ [workspace.package] version = "0.15.0" edition = "2021" -rust-version = "1.64" +rust-version = "1.70" authors = ["Matthew Treinish "] repository = "https://github.com/Qiskit/rustworkx" license = "Apache-2.0" @@ -34,7 +34,6 @@ petgraph = "0.6.4" rand = "0.8" rand_pcg = "0.3" rayon = "1.10" -rayon-cond = "1.7" [lib] name = "rustworkx" diff --git a/README.md b/README.md index 4be818d64..0c4575e9c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![](https://img.shields.io/github/release/Qiskit/rustworkx.svg?style=popout-square)](https://github.com/Qiskit/rustworkx/releases) [![](https://img.shields.io/pypi/dm/rustworkx.svg?style=popout-square)](https://pypi.org/project/rustworkx/) [![Coverage Status](https://coveralls.io/repos/github/Qiskit/rustworkx/badge.svg?branch=main)](https://coveralls.io/github/Qiskit/rustworkx?branch=main) -[![Minimum rustc 1.64](https://img.shields.io/badge/rustc-1.64+-blue.svg)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html) +[![Minimum rustc 1.70](https://img.shields.io/badge/rustc-1.70+-blue.svg)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html) [![DOI](https://joss.theoj.org/papers/10.21105/joss.03968/status.svg)](https://doi.org/10.21105/joss.03968) [![arXiv](https://img.shields.io/badge/arXiv-2110.15221-b31b1b.svg)](https://arxiv.org/abs/2110.15221) [![Zenodo](https://img.shields.io/badge/Zenodo-10.5281%2Fzenodo.5879859-blue)](https://doi.org/10.5281/zenodo.5879859) @@ -59,7 +59,7 @@ environment. If there are no precompiled binaries published for your system you'll have to build the package from source. However, to be able able to build the package -from the published source package you need to have Rust >= 1.64 installed (and +from the published source package you need to have Rust >= 1.70 installed (and also [cargo](https://doc.rust-lang.org/cargo/) which is normally included with rust) You can use [rustup](https://rustup.rs/) (a cross platform installer for rust) to make this simpler, or rely on diff --git a/releasenotes/notes/bump-msrv-170-f1518d5adb41f7c3.yaml b/releasenotes/notes/bump-msrv-170-f1518d5adb41f7c3.yaml new file mode 100644 index 000000000..9883899b2 --- /dev/null +++ b/releasenotes/notes/bump-msrv-170-f1518d5adb41f7c3.yaml @@ -0,0 +1,8 @@ +--- +upgrade: + - | + The minimum supported rust version to build rustworkx and rustworkx-core + has been raised from 1.64 to 1.70. You will need to upgrade your rust + compiler version to at least version 1.70 to continue building from source. + Python library users who are installing rustworkx on a supported platform + will not need to make any changes. diff --git a/rustworkx-core/README.md b/rustworkx-core/README.md index 26487b106..43c3d6c21 100644 --- a/rustworkx-core/README.md +++ b/rustworkx-core/README.md @@ -1,7 +1,7 @@ # rustworkx-core [![License](https://img.shields.io/github/license/Qiskit/rustworkx.svg?style=popout-square)](https://opensource.org/licenses/Apache-2.0) -[![Minimum rustc 1.41.1](https://img.shields.io/badge/rustc-1.41.1+-blue.svg)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html) +[![Minimum rustc 1.70](https://img.shields.io/badge/rustc-1.70+-blue.svg)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html) > :warning: The retworkx-core project has been renamed to **rustworkx-core**. > If you're using retworkx-core 0.11.0 you will need to change your requirement From 7b7c349f9c23fbd337034f7614e183e3179dda36 Mon Sep 17 00:00:00 2001 From: Ivan Carvalho <8753214+IvanIsCoding@users.noreply.github.com> Date: Mon, 1 Apr 2024 19:44:40 -0400 Subject: [PATCH 2/3] Use 1.70 instead of 1.7 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f3b68f3f0..8116d3bae 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -66,7 +66,7 @@ jobs: ] include: # Test minimal supported Rust version - - rust: 1.70 + - rust: “1.70” python-version: 3.8 platform: { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" } msrv: "MSRV" From 5c488bcaa7f1e1f9794d9bea186fc09ece236a09 Mon Sep 17 00:00:00 2001 From: Ivan Carvalho <8753214+IvanIsCoding@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:11:44 -0400 Subject: [PATCH 3/3] Update .github/workflows/main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8116d3bae..727c286c2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -66,7 +66,7 @@ jobs: ] include: # Test minimal supported Rust version - - rust: “1.70” + - rust: 1.70.0 python-version: 3.8 platform: { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" } msrv: "MSRV"