Skip to content

jj v0.40.0 released

8.1 relevance
Score Breakdown
technical depth
9
novelty
7
actionability
8
community
8
strategic
7
personal
9

Scored daily by a customisable AI persona to surface the most relevant engineering leadership news.

New release of jj, a modern version control system challenging Git, key for developer tooling.

2026-04-03 General github.com
About
jj is a Git-compatible version control system that is both simple and powerful. See
the installation instructions to get started.
Release highlights
None
Breaking changes
None
Deprecations
No...
Summary

jj v0.40.0 introduces `diff_lines_added()` and `diff_lines_removed()` revset functions, makes the `end` parameter optional in `String.substr()`, and adds a `.root()` method to `WorkspaceRef` templates. The `jj arrange` TUI now shows immediate parents and children (dimmed, non-selectable) and uses the default log template, while swap actions move along graph edges. `jj op log` includes the workspace name, the `config()` template function accepts dynamic `Stringify` expressions, and `jj op show/diff/log -p` default to only showing interesting revisions (overridable with `--show-changes-in`). Bug fixes include `.gitignore` with UTF-8 BOM and gpgsm 2.5.x compatibility.

Key Takeaways
  • Upgrade to jj v0.40.0 to leverage smarter diff queries, better TUI navigation with parent/child context, and dynamic config lookups in templates.
Why it matters

For platform engineers and developers using jj as a Git-compatible VCS, these improvements streamline complex rebasing workflows, enhance TUI navigation for large histories, and provide more flexible templating and diff inspection—directly impacting daily developer experience and productivity.

Author

jj-vcs