Skip to content

Commit

Permalink
release: release version 0.23.0
Browse files Browse the repository at this point in the history
I did some minor copy editing, mostly to group new features related
commands, revsets, and templates near each other.
  • Loading branch information
martinvonz committed Nov 7, 2024
1 parent ba76299 commit 5de285f
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 33 deletions.
96 changes: 71 additions & 25 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,26 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [Unreleased]

### Breaking changes

### Deprecations

### New features

### Fixed bugs

## [0.23.0] - 2024-11-06

### Security fixes

* Fixed path traversal by cloning/checking out crafted Git repository containing
`..`, `.jj`, `.git` paths.
([GHSA-88h5-6w7m-5w56](https://github.com/martinvonz/jj/security/advisories/GHSA-88h5-6w7m-5w56);CVE-2024-51990)

### Breaking changes

* Revset function names can no longer start with a number.

* Evaluation error of `revsets.short-prefixes` configuration is now reported.
Expand Down Expand Up @@ -42,52 +57,52 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

* New command `jj simplify-parents` will remove redundant parent edges.

* New `at_operation(op, expr)` revset can be used in order to query revisions
based on historical state.

* `jj squash` now supports `-f/-t` shorthands for `--from/--[in]to`.

* String literals in filesets, revsets and templates now support hex bytes
(with `\e` as escape / shorthand for `\x1b`).

* New template function `raw_escape_sequence(...)` preserves escape sequences.

* Initial support for shallow git repositories has been implemented. However
* Initial support for shallow Git repositories has been implemented. However,
deepening the history of a shallow repository is not yet supported.

* `jj git clone` now accepts a `--depth <DEPTH>` option, which
allows to clone the repository with a given depth.

* New command `jj file annotate` that annotates files line by line. This is similar
in functionality to git's blame. Invoke the command with `jj file annotate <file_path>`.
in functionality to `git blame`. Invoke the command with `jj file annotate <file_path>`.
The output can be customized via the `templates.annotate_commit_summary`
config variable.

* `jj bookmark list` gained a `--remote REMOTE` option to display bookmarks
belonging to a remote. This option can be combined with `--tracked` or
`--conflicted`.

* New command `jj config unset` that unsets config values. For example,
`jj config unset --user user.name`.

* `jj help` now has the flag `--keyword` (shorthand `-k`), which can give help
for some keywords (e.g. `jj help -k revsets`). To see a list of the available
keywords you can do `jj help --help`.

* New `at_operation(op, expr)` revset can be used in order to query revisions
based on historical state.

* String literals in filesets, revsets and templates now support hex bytes
(with `\e` as escape / shorthand for `\x1b`).

* New `coalesce(revsets...)` revset which returns commits in the first revset
in the `revsets` list that does not evaluate to `none()`.

* New template function `raw_escape_sequence(...)` preserves escape sequences.

* Timestamp objects in templates now have `after(date) -> Boolean` and
`before(date) -> Boolean` methods for comparing timestamps to other dates.

* New template functions `pad_start()`, `pad_end()`, `truncate_start()`, and
`truncate_end()` are added.

* `jj bookmark list` gained a `--remote REMOTE` option to display bookmarks
belonging to a remote. This option can be combined with `--tracked` or
`--conflicted`.
* Add a new template alias `bultin_log_compact_full_description()`.

* Added the config settings `diff.color-words.context` and `diff.git.context` to
control the default number of lines of context shown.

* Add a new template alias `bultin_log_compact_full_description()`.

* New command `jj config unset` that unsets config values. For example,
`jj config unset --user user.name`.

* `jj help` now has the flag `--keyword` (shorthand `-k`), which can give help
for some keywords (e.g. `jj help -k revsets`). To see a list of the available
keywords you can do `jj help --help`.

### Fixed bugs

* Error on `trunk()` revset resolution is now handled gracefully.
Expand All @@ -97,8 +112,39 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
[0.4.0](https://github.com/arxanas/scm-record/releases/tag/v0.4.0), which
includes multiple fixes.

* Fixed path traversal by cloning/checking out crafted Git repository containing
`..`, `.jj`, `.git` paths.
### Contributors

Thanks to the people who made this release happen!

* Alec Snyder (@allonsy)
* Arthur Grillo (Grillo-0)
* Austin Seipp (@thoughtpolice)
* Benjamin Tan (@bnjmnt4n)
* Dave Townsend (@Mossop)
* Daniel Ploch (@torquestomp)
* Emily (@neongreen)
* Essien Ita Essien (@essiene)
* Fedor Sheremetyev (@sheremetyev)
* Ilya Grigoriev (@ilyagr)
* Jakub Okoński (@farnoy)
* Jcparkyn (@Jcparkyn)
* Joaquín Triñanes (@JoaquinTrinanes)
* Lukas Wirth (@Veykril)
* Marco Neumann (@crepererum)
* Martin von Zweigbergk (@martinvonz)
* Matt Stark (@matts1)
* Philip Metzger (@PhilipMetzger)
* Philipp Albrecht (@pylbrecht)
* Remo Senekowitsch (@senekor)
* Richard Macklin (@rmacklin)
* Robin Stocker (@robinst)
* Samuel Tardieu (@samueltardieu)
* Sora (@SoraTenshi)
* Stephen Jennings (@jennings)
* Theodore Ehrenborg (@TheodoreEhrenborg)
* Vamsi Avula (@avamsi)
* Vincent Ging Ho Yim (@cenviity)
* Yuya Nishihara (@yuja)

## [0.22.0] - 2024-10-02

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.22.0"
version = "0.23.0"
license = "Apache-2.0"
rust-version = "1.76" # NOTE: remember to update CI, contributing.md, changelog.md, install-and-setup.md, and flake.nix
edition = "2021"
Expand Down Expand Up @@ -130,8 +130,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.22.0" }
jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.22.0" }
jj-lib = { path = "lib", version = "0.23.0" }
jj-lib-proc-macros = { path = "lib/proc-macros", version = "0.23.0" }
testutils = { path = "lib/testutils" }

[workspace.lints.clippy]
Expand Down

0 comments on commit 5de285f

Please sign in to comment.