About
jj is a Git-compatible version control system that is both simple and powerful. See
the installation instructions to get started.
Release highlights
- Switched to the mimalloc memory allocator for better multi-threaded
performance.
Breaking changes
- The following deprecated command options have been removed:
- jj commit --reset-author/--author
- jj describe --no-edit/--edit/--reset-author/--author
- jj git push --allow-new
- jj metaedit --update-committer-timestamp
- The following deprecated config options have been removed:
- git.auto-local-bookmark
- git.push-new-bookmarks
Deprecations
- jj evolog no longer supports legacy commit predecessors recorded in jj <
0.30.
New features
- Shell completions now surface descriptions for custom aliases,
revset-aliases, template-aliases, and fileset-aliases. Descriptions are
extracted from the .doc field of the alias definition if it is a table
with .doc and .definition properties.
- jj show now accepts multiple revisions, showing all of them one after the
other, behaving closer to git show.
- jj git fetch now generates evolution history based on change IDs. If change
IDs are preserved by the remote, local descendant revisions will be rebased
onto the rewritten parents.
- Added jj util backend name command that prints the commit backend being used
in the current repo.
- Added edit-invocation-mode config option for diff editors (e.g.
jj diffedit, jj split). When set to "file-by-file", the editor is
launched once per changed file, making it possible to use per-file tools like
vimdiff for editing.
Fixed bugs
- jj git remote add now reports an error instead of panicking when the
remote name is empty or contains whitespace.
#9099
- Color-words diffs are now shown as separate before and after lines when color
output is disabled, making piped or redirected diffs readable.
#5894
- jj bookmark forget no longer prints Forgot N local bookmarks. when no
local bookmarks were actually forgotten (e.g. when only an untracked remote
bookmark matched). #9181.
- The builtin_log_redacted template now also redacts workspace names.
Contributors
Thanks to the people who made this release happen!
- Alex Jaspersen (@ajaspers)
- Archer (@archer-321)
- ase (@adamse)
- Austin Seipp (@thoughtpolice)
- David Rieber (@drieber)
- Eyüp Can Akman (@eyupcanakman)
- Jakub Stasiak (@jstasiak)
- James Dixon (@lemonase)
- Joseph Lou (@josephlou5)
- Laurynas Keturakis (@laulauland)
- Luna Schwalbe (@lunagl)
- Martin von Zweigbergk (@martinvonz)
- Niko Savola (@nikosavola)
- OlshaMB (@OlshaMB)
- Sergey Kasmy (@SergeyKasmy)
- truffle (@truffle-dev)
- Vincent Ging Ho Yim (@cenviity)
- Yuya Nishihara (@yuja)