Jujutsu v0.42.0

v0.42.0
Added 4
  • Shell completions now surface descriptions for custom aliases, revset-aliases, template-aliases, and fileset-aliases extracted from the .doc field
  • jj git fetch now generates evolution history based on change IDs and rebases local descendant revisions onto rewritten parents when change IDs are preserved by the remote
  • 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 with file-by-file mode to launch the editor once per changed file
Changed 2
  • Switched to the mimalloc memory allocator for better multi-threaded performance
  • jj show now accepts multiple revisions, showing all of them one after the other, behaving closer to git show
Fixed 4
  • jj git remote add now reports an error instead of panicking when the remote name is empty or contains whitespace
  • Color-words diffs are now shown as separate before and after lines when color output is disabled
  • jj bookmark forget no longer prints Forgot N local bookmarks message when no local bookmarks were actually forgotten
  • The builtin_log_redacted template now also redacts workspace names
Removed 2
  • Removed deprecated command options: jj commit --reset-author/--author, jj describe --no-edit/--edit/--reset-author/--author, jj git push --allow-new, and jj metaedit --update-committer-timestamp
  • Removed deprecated config options: git.auto-local-bookmark and git.push-new-bookmarks
Deprecated 1
  • jj evolog no longer supports legacy commit predecessors recorded in jj < 0.30
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)
View original

Upgraded? How did it go?

Discussion