ok/jj
1
0
Fork 0
forked from mirrors/jj

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.
This commit is contained in:
Martin von Zweigbergk 2024-05-01 07:28:16 -07:00 committed by Martin von Zweigbergk
parent 28e3751250
commit 19563fee74
3 changed files with 59 additions and 26 deletions

View file

@ -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`.
* Commit objects in templates now have a `contained_in(revset: String) ->
Boolean` method.
* 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`).
* 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.
* 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.
* 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.
* `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

10
Cargo.lock generated
View file

@ -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",

View file

@ -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.