jj v0.40.0 released
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.
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.
- Upgrade to jj v0.40.0 to leverage smarter diff queries, better TUI navigation with parent/child context, and dynamic config lookups in templates.
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.
jj-vcs