diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6039b07f3b..420c6d3c56 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ jobs: rust_version: stable - build: linux-msrv os: ubuntu-latest - rust_version: "1.60" + rust_version: "1.61" - build: macos os: macos-latest rust_version: stable diff --git a/CHANGELOG.md b/CHANGELOG.md index d913e383f6..dc35a1e96d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Breaking changes +* The minimum supported Rust version (MSRV) is now 1.61.0. + * The `jj touchup` command was renamed to `jj diffedit`. * The `-i` option to `jj restore` was removed in favor of new `--from`/`--to` diff --git a/Cargo.toml b/Cargo.toml index 91651f6a73..2d80eb2672 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "jujutsu" version = "0.6.1" authors = ["Martin von Zweigbergk "] edition = "2021" -rust-version = "1.60" # Remember to update CI, contributing.md, and flake.nix +rust-version = "1.61" # Remember to update CI, contributing.md, and flake.nix license = "Apache-2.0" description = "Jujutsu (an experimental VCS)" homepage = "https://github.com/martinvonz/jj" diff --git a/README.md b/README.md index 15eacf49d8..9a72edb4bf 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ See below for how to build from source. There are also [pre-built binaries](https://github.com/martinvonz/jj/releases) for Windows, Mac, or Linux (musl). -If you're installing from source, you need to use Rust version 1.60 or higher, +If you're installing from source, you need to use Rust version 1.61 or higher, or you will get a cryptic message like this: ``` error: failed to select a version for the requirement `libgit2-sys = "=0.14.0"`` diff --git a/docs/contributing.md b/docs/contributing.md index be7b6e23d2..38d94a1d29 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -72,7 +72,7 @@ recommended steps. One-time setup: rustup toolchain add nightly # If this is not your default - rustup toolchain add 1.60 + rustup toolchain add 1.61 cargo install cargo-insta cargo install cargo-watch cargo install cargo-nextest @@ -81,7 +81,7 @@ During development (adapt according to your preference): cargo watch --ignore '.jj/**' -s \ 'cargo clippy --workspace --all-targets \ - && cargo +1.60 check --workspace --all-targets' + && cargo +1.61 check --workspace --all-targets' cargo +nightly fmt # Occasionally cargo nextest run --workspace # Occasionally cargo insta test --workspace # Occasionally @@ -109,7 +109,7 @@ These are listed roughly in order of decreasing importance. 3. Your code will be rejected if it cannot be compiled with the minimal supported version of Rust. This version is listed as - `rust-version` in [`Cargo.toml`](../Cargo.toml); it is 1.60 as of this + `rust-version` in [`Cargo.toml`](../Cargo.toml); it is 1.61 as of this writing. 4. Your code needs to pass `cargo clippy`. You can also diff --git a/flake.lock b/flake.lock index 4b36897396..3e63285367 100644 --- a/flake.lock +++ b/flake.lock @@ -17,11 +17,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1651634615, - "narHash": "sha256-VtvcS61bLh5mIBm9cV3idUHdlfPRFus/NwdJfaj5s8o=", + "lastModified": 1673947312, + "narHash": "sha256-xx/2nRwRy3bXrtry6TtydKpJpqHahjuDB5sFkQ/XNDE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "abfd31179174133ab8131139d650297bf4da63b7", + "rev": "2d38b664b4400335086a713a0036aafaa002c003", "type": "github" }, "original": { @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1674008920, - "narHash": "sha256-ugwPxKjvmJ5GpzN/MHg8tuhe8nYi3SbJm5nWNy7CB0Q=", + "lastModified": 1674095406, + "narHash": "sha256-RexH/1rZTiX4OhdYkuJP3MuANJ+JRgoLKL60iHm//T0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "eecc44934a0f6c02c02856b38bd3b6af3bec0870", + "rev": "5f7315b9800e2e500e6834767a57e39f7dbfd495", "type": "github" }, "original": { diff --git a/lib/Cargo.toml b/lib/Cargo.toml index e70928af8b..fb9807ce68 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -3,7 +3,7 @@ name = "jujutsu-lib" version = "0.6.1" authors = ["Martin von Zweigbergk "] edition = "2021" -rust-version = "1.60" +rust-version = "1.61" license = "Apache-2.0" description = "Library for Jujutsu (an experimental VCS)" homepage = "https://github.com/martinvonz/jj" diff --git a/lib/src/index.rs b/lib/src/index.rs index 3d97687145..b835c764eb 100644 --- a/lib/src/index.rs +++ b/lib/src/index.rs @@ -33,7 +33,7 @@ use crate::backend::{ChangeId, CommitId, ObjectId}; use crate::commit::Commit; use crate::file_util::persist_content_addressed_temp_file; #[cfg(not(feature = "map_first_last"))] -// This import is used on Rust 1.60, but not on recent version. +// This import is used on Rust 1.61, but not on recent version. // TODO: Remove it when our MSRV becomes recent enough. #[allow(unused_imports)] use crate::nightly_shims::BTreeSetExt; diff --git a/lib/testutils/Cargo.toml b/lib/testutils/Cargo.toml index 7b5e3b38f8..4274eb82cb 100644 --- a/lib/testutils/Cargo.toml +++ b/lib/testutils/Cargo.toml @@ -3,7 +3,7 @@ name = "testutils" version = "0.6.1" authors = ["Martin von Zweigbergk "] edition = "2021" -rust-version = "1.60" +rust-version = "1.61" license = "Apache-2.0" description = "Integration test utils for the jujutsu-lib crate" homepage = "https://github.com/martinvonz/jj" diff --git a/src/cli_util.rs b/src/cli_util.rs index 34e58d1ec9..78123d54be 100644 --- a/src/cli_util.rs +++ b/src/cli_util.rs @@ -1735,7 +1735,8 @@ pub fn parse_args( Ok((matches, args)) } -// TODO: Return std::process::ExitCode instead, once our MSRV is >= 1.61 +// TODO: Return std::process::ExitCode instead, once +// feature(exitcode_exit_method) is stabilized #[must_use] pub fn handle_command_result(ui: &mut Ui, result: Result<(), CommandError>) -> i32 { match result {