v0.42.0
sarperavci/CloudflareBypassForScrapingv0.42.0Jun 4, 2026by martinvonz
AI Summary
This release focuses on performance improvements via the mimalloc memory allocator and removes deprecated command and config options. It introduces features for better shell completions, multi-revision viewing, and evolution history handling.
Key Highlights
- Switched to mimalloc memory allocator for better multi-threaded performance.
- jj show now accepts multiple revisions, behaving closer to git show.
- jj git fetch generates evolution history based on change IDs.
- Editor invocation mode allows file-by-file editing (e.g., vimdiff).
Breaking Changes
- Removed deprecated command options: jj commit --reset-author/--author, jj describe --no-edit/--edit/--reset-author/--author, jj git push --allow-new, jj metaedit --update-committer-timestamp.
- Removed deprecated config options: git.auto-local-bookmark, git.push-new-bookmarks.
New Features
- Shell completions now surface descriptions for custom aliases.
- Added jj util backend name command.
- Added edit-invocation-mode config option for diff editors.
Full Release Notes
### About jj is a Git-compatible version control system that is both simple and powerful. See the [installation instructions](https://jj-vcs.github.io/jj/v0.42.0/install-and-setup/) 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](https://github.com/jj-vcs/jj/issues/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](https://github.com/jj-vcs/jj/issues/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](https://github.com/jj-vcs/jj/issues/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)