mirror of
https://github.com/jj-vcs/jj.git
synced 2025-12-23 06:01:01 +00:00
release: release version 0.23.0
I did some minor copy editing, mostly to group new features related commands, revsets, and templates near each other.
This commit is contained in:
parent
ba76299818
commit
5de285f5eb
3 changed files with 81 additions and 35 deletions
100
CHANGELOG.md
100
CHANGELOG.md
|
|
@ -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.
|
||||
|
|
@ -42,45 +57,23 @@ 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.
|
||||
|
||||
* New `coalesce(revsets...)` revset which returns commits in the first revset
|
||||
in the `revsets` list that does not evaluate to `none()`.
|
||||
|
||||
* 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`.
|
||||
|
||||
* 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`.
|
||||
|
||||
|
|
@ -88,6 +81,28 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||
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.
|
||||
|
||||
* 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.
|
||||
|
||||
### Fixed bugs
|
||||
|
||||
* Error on `trunk()` revset resolution is now handled gracefully.
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
10
Cargo.lock
generated
10
Cargo.lock
generated
|
|
@ -890,7 +890,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gen-protos"
|
||||
version = "0.22.0"
|
||||
version = "0.23.0"
|
||||
dependencies = [
|
||||
"prost-build",
|
||||
]
|
||||
|
|
@ -1820,7 +1820,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "jj-cli"
|
||||
version = "0.22.0"
|
||||
version = "0.23.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"assert_cmd",
|
||||
|
|
@ -1877,7 +1877,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "jj-lib"
|
||||
version = "0.22.0"
|
||||
version = "0.23.0"
|
||||
dependencies = [
|
||||
"assert_matches",
|
||||
"async-trait",
|
||||
|
|
@ -1939,7 +1939,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "jj-lib-proc-macros"
|
||||
version = "0.22.0"
|
||||
version = "0.23.0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -3101,7 +3101,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "testutils"
|
||||
version = "0.22.0"
|
||||
version = "0.23.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"config",
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
@ -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]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue