From fc1228fe171d57ce729a40ceb41366a9d4898acb Mon Sep 17 00:00:00 2001 From: Martin von Zweigbergk Date: Wed, 1 May 2024 07:28:16 -0700 Subject: [PATCH] release: release version 0.17.0 Thanks to everyone who's contributed! Unlike previous releases, I went through the changelog entries and reorganized them a bit. We didn't have anything under "Deprecations" this time, but I moved the heading after "Breaking changes" for next release. I think breaking changes are more important because deprecations are just about giving a heads up before it actually breaks. --- CHANGELOG.md | 69 ++++++++++++++++++++++++++++++++++++++-------------- Cargo.lock | 10 ++++---- Cargo.toml | 6 ++--- 3 files changed, 59 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2923d2fbc9..263390d10c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Breaking changes + ### Deprecations +### New features + +### Fixed bugs + +## [0.17.0] - 2024-05-01 + ### Breaking changes * The default template aliases were replaced as follows: @@ -27,29 +35,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * The list of conflicted paths is printed whenever the working copy changes. This can be disabled with the `--quiet` option. -* Commit objects in templates now have a `mine() -> Boolean` method analog to the same function in revsets. - It evaluates to true if the email of the commit author matches the current `user.email`. +* Commit objects in templates now have a `mine() -> Boolean` method analog to + the same function in revsets. It evaluates to true if the email of the commit + author matches the current `user.email`. -* A new config option `ui.always-allow-large-revsets` has been added to - allow large revsets expressions in some commands, without the `all:` prefix. +* Commit objects in templates now have a `contained_in(revset: String) -> + Boolean` method. -* New command `jj parallelize` that rebases a set of revisions into siblings. +* Operation objects in templates now have a `snapshot() -> Boolean` method that + evaluates to true if the operation was a snapshot created by a non-mutating + command (e.g. `jj log`). -* `jj status` now supports filtering by paths. For example, `jj status .` will - only list changed files that are descendants of the current directory. +* Revsets and templates now support single-quoted raw string literals. + +* A new config option `ui.always-allow-large-revsets` has been added to + allow large revsets expressions in some commands, without the `all:` prefix. * A new config option `ui.allow-filesets` has been added to enable ["fileset" expressions](docs/filesets.md). Note that filesets are currently experimental, but will be enabled by default in a future release. -* Revsets and templates now support single-quoted raw string literals. +* A new global flag `--ignore-immutable` lets you rewrite immutable commits. + +* New command `jj parallelize` that rebases a set of revisions into siblings. + +* `jj status` now supports filtering by paths. For example, `jj status .` will + only list changed files that are descendants of the current directory. * `jj prev` and `jj next` now work when the working copy revision is a merge. -* Operation objects in templates now have a `snapshot() -> Boolean` method that - evaluates to true if the operation was a snapshot created by a non-mutating - command (e.g. `jj log`). - * `jj squash` now accepts a `--use-destination-message/-u` option that uses the description of the destination for the new squashed revision and discards the descriptions of the source revisions. @@ -57,17 +71,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * You can check whether Watchman fsmonitor is enabled or installed with the new `jj debug watchman status` command. -* A new global flag `--ignore-immutable` lets you rewrite immutable commits. - * `jj rebase` now accepts revsets resolving to multiple revisions with the `--revisions`/`-r` option. * `jj rebase -r` now accepts `--insert-after` and `--insert-before` options to customize the location of the rebased revisions. -* Commit objects in templates now have a `contained_in(revset: String) -> - Boolean` method. - ### Fixed bugs * Revsets now support `\`-escapes in string literal. @@ -88,6 +97,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 (it used to create new commits with bumped timestamp). [#3334](https://github.com/martinvonz/jj/issues/3334) +### Contributors + +Thanks to the people who made this release happen! + +* Anton Älgmyr (@algmyr) +* Anton Bulakh (@necauqua) +* Austin Seipp (@thoughtpolice) +* Benjamin Tan (@bnjmnt4n) +* Cretezy (@Cretezy) +* Daniel Ploch (@torquestomp) +* Evan Mesterhazy (@emesterhazy) +* Ilya Grigoriev (@ilyagr) +* Martin von Zweigbergk (@martinvonz) +* Noah Mayr (@noahmayr) +* Jeremy O'Brien (@neutralinsomniac) +* Jonathan Lorimer (@JonathanLorimer) +* Philip Metzger (@PhilipMetzger) +* Poliorcetics (@poliorcetics) +* Rowan Walsh (@rowan-walsh) +* Scott Olson (@solson) +* Théo Daron (@Kaporos) +* Yuya Nishihara (@yuja) + + ## [0.16.0] - 2024-04-03 ### Deprecations @@ -149,7 +182,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * `jj split` now supports a `--siblings/-s` option that splits the target revision into siblings with the same parents and children. -* new function `working_copies()` for revsets to show the working copy commits of all workspaces. +* New function `working_copies()` for revsets to show the working copy commits of all workspaces. ### Fixed bugs diff --git a/Cargo.lock b/Cargo.lock index 9b5625cc31..c237104196 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -896,7 +896,7 @@ dependencies = [ [[package]] name = "gen-protos" -version = "0.16.0" +version = "0.17.0" dependencies = [ "prost-build", ] @@ -1665,7 +1665,7 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jj-cli" -version = "0.16.0" +version = "0.17.0" dependencies = [ "anyhow", "assert_cmd", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "jj-lib" -version = "0.16.0" +version = "0.17.0" dependencies = [ "assert_matches", "async-trait", @@ -1777,7 +1777,7 @@ dependencies = [ [[package]] name = "jj-lib-proc-macros" -version = "0.16.0" +version = "0.17.0" dependencies = [ "proc-macro2", "quote", @@ -2887,7 +2887,7 @@ dependencies = [ [[package]] name = "testutils" -version = "0.16.0" +version = "0.17.0" dependencies = [ "async-trait", "config", diff --git a/Cargo.toml b/Cargo.toml index 97ee7e85ca..e5216ed83b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ resolver = "2" members = ["cli", "lib", "lib/gen-protos", "lib/proc-macros", "lib/testutils"] [workspace.package] -version = "0.16.0" +version = "0.17.0" license = "Apache-2.0" rust-version = "1.76" # NOTE: remember to update CI, contributing.md, changelog.md, and flake.nix edition = "2021" @@ -116,8 +116,8 @@ zstd = "0.12.4" # put all inter-workspace libraries, i.e. those that use 'path = ...' here in # their own (alphabetically sorted) block -jj-lib = { path = "lib", version = "0.16.0" } -jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.16.0" } +jj-lib = { path = "lib", version = "0.17.0" } +jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.17.0" } testutils = { path = "lib/testutils" } # Insta suggests compiling these packages in opt mode for faster testing.