Jujutsu 0.42 Switches to the mimalloc Allocator and Removes a Batch of Deprecated Commands
Jujutsu 0.42.0, released June 4, moves to the mimalloc allocator, drops several long-deprecated command options, and adds multi-revision support to jj show.
Editor's Note ·
- Clarification:
- The article presents the unreleased `jj run` command as a tool for "executing commands over sets of changes with private working copies" inside quotation marks. This is a paraphrase, not a verbatim quote. The cited CHANGELOG.md actually reads: `jj run` "allows you to run a command over a set of changes, each with their own private working copy." The substance is accurate and the feature is correctly described as unreleased and in development.
Overview
Jujutsu, the Git-compatible version control system written in Rust, released version 0.42.0 on June 4, 2026, according to the Jujutsu changelog. The release headlines a switch to the mimalloc memory allocator, removes a batch of command options that had been deprecated over earlier releases, and extends one of the tool’s inspection commands to operate on multiple revisions at once.
Jujutsu — invoked as jj — describes itself as “A Git-compatible VCS that is both simple and powerful,” per the project’s GitHub repository. It reads and writes a standard Git repository, so commits created with jj are ordinary Git commits that can be pushed to any Git remote. The project was started by Martin von Zweigbergk as a hobby project in late 2019 and later became his full-time work at Google, though the README notes “this is not a supported Google product,” according to the GitHub repository.
What’s in 0.42.0
The single item the project lists under release highlights is performance: Jujutsu “[s]witched to the mimalloc memory allocator for better multi-threaded performance,” according to the changelog.
The release also removes several command options that had been marked deprecated in earlier versions. According to the changelog, the removed options include jj commit --reset-author/--author, jj describe --no-edit/--edit/--reset-author/--author, jj git push --allow-new, and jj metaedit --update-committer-timestamp. Two deprecated configuration options, git.auto-local-bookmark and git.push-new-bookmarks, were removed as well.
On the deprecation side, jj evolog “no longer supports legacy commit predecessors recorded in jj < 0.30,” the changelog states.
New functionality in the release includes an inspection improvement: jj show “now accepts multiple revisions, showing all of them one after the other,” according to the CHANGELOG.md. The release adds a jj util backend name command, introduces an edit-invocation-mode configuration option for diff editors, and makes shell completions surface descriptions for custom aliases, drawn from the alias definition’s documentation field, per the changelog.
Version 0.42.0 continues a roughly monthly cadence: the changelog records 0.41.0 on May 6, 2026 and 0.40.0 on April 1, 2026.
Why the design matters
Jujutsu’s appeal rests on a different working model than Git’s. Rather than a staging area, “Jujutsu uses a real commit to represent the working copy,” and commands “never fail because the working copy is dirty,” according to the GitHub repository. Every operation is recorded with a snapshot of repository state, so changes can be undone one by one; conflicts are recorded in the commits themselves and “[t]he operation will succeed” rather than halting the workflow, the repository explains.
The project’s Git compatibility is what makes that model adoptable without forcing a team migration: “The Git backend is fully featured and maintained, and allows you to use Jujutsu with any Git remote,” per the GitHub repository, which lists more than 29,000 stars.
Jujutsu’s ideas have begun to surface in Git itself. As previously reported, Git 2.54 shipped an experimental git history command and a pluggable object database, changes its maintainers’ coverage tied to design ideas drawn from Jujutsu.
What’s next
The project’s CHANGELOG lists an unreleased section describing work in progress rather than shipped features. Among the items there is a new jj run command for “executing commands over sets of changes with private working copies,” according to the CHANGELOG.md. Because those entries are unreleased, they are not part of 0.42.0 and may change before they land in a tagged version.
What we don’t know
The changelog does not quantify the performance impact of the mimalloc switch beyond the stated goal of “better multi-threaded performance,” and the project publishes no formal benchmark figures alongside the release. It also does not state adoption numbers; the GitHub star count is a proxy for interest, not for production deployment.