Skip to content

Commit

Permalink
release: release version 0.17.0
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
martinvonz committed May 1, 2024
1 parent 28e3751 commit 19563fe
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 26 deletions.
69 changes: 51 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -27,47 +35,48 @@ 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.

* 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.
Expand All @@ -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
Expand Down Expand Up @@ -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

Expand Down
10 changes: 5 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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.
Expand Down

0 comments on commit 19563fe

Please sign in to comment.