# Jujutsu v0.36.0 - Product: Jujutsu (https://whatsnew.fyi/product/jujutsu) - Vendor: jj-vcs - Date: 2025-12-04 - Version: v0.36.0 - Original notes: https://github.com/jj-vcs/jj/releases/tag/v0.36.0 - Permalink: https://whatsnew.fyi/product/jujutsu/releases/v0.36.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Fixed race condition that could cause divergent operations when running concurrent jj commands in colocated repositories - **changed** — jj now ignores $PAGER set in the environment and uses less -FRX on most platforms (:builtin on Windows) - **changed** — In filesets or path patterns, glob matching is enabled by default - **changed** — String pattern arguments in jj bookmark delete/forget/list/move, jj tag delete/list, and jj git clone/fetch/push are now parsed the same way they are in revsets and can be combined with logical operators - **changed** — Unmatched bookmark/tag names in jj bookmark delete/forget/move/track/untrack, jj tag delete, and jj git clone/push now print a warning instead of causing an error - **changed** — Upgraded scm-record from v0.8.0 to v0.9.0 - **changed** — Minimum supported Rust version (MSRV) is now 1.89 - **removed** — On macOS, the deprecated config directory ~/Library/Application Support/jj is not read anymore - **changed** — Sub-repos are no longer tracked; any directory containing .jj or .git is ignored - **deprecated** — The --destination/-d arguments for jj rebase, jj split, jj revert, etc. were renamed to --onto/-o - **deprecated** — jj describe --edit is deprecated in favor of --editor - **deprecated** — The config options git.auto-local-bookmark and git.push-new-bookmarks are deprecated in favor of remotes..auto-track-bookmarks - **deprecated** — The flag --allow-new on jj git push is deprecated - **added** — jj commit, jj describe, jj squash, and jj split now accept --editor to ensure an editor opens even if a description was provided via --message/-m - **added** — All jj commands show a warning when the provided fileset expression doesn't match any files - **added** — Added files() template function to DiffStats - **added** — Added join() template function - **added** — RepoPath template type now has an absolute() -> String method - **added** — Added format_path(path) template alias that controls how file paths are printed with jj file list ###### 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.36.0/install-and-setup/) to get started. ###### Release highlights * The documentation has moved from to . 301 redirects are being issued towards the new domain, so any existing links should not be broken. * Fixed race condition that could cause divergent operations when running concurrent `jj` commands in colocated repositories. It is now safe to continuously run e.g. `jj log` without `--ignore-working-copy` in one terminal while you're running other commands in another terminal. [#6830](https://github.com/jj-vcs/jj/issues/6830) * `jj` now ignores `$PAGER` set in the environment and uses `less -FRX` on most platforms (`:builtin` on Windows). See [the docs](docs/config.md#pager) for more information, and [#3502](https://github.com/jj-vcs/jj/issues/3502) for motivation. ###### Breaking changes * In [filesets or path patterns](docs/filesets.md#file-patterns), glob matching is enabled by default. You can use `cwd:"path"` to match literal paths. * In the following commands, [string pattern arguments](docs/revsets.md#string-patterns) are now parsed the same way they are in revsets and can be combined with logical operators: `jj bookmark delete`/`forget`/`list`/`move`, `jj tag delete`/`list`, `jj git clone`/`fetch`/`push` * In the following commands, unmatched bookmark/tag names is no longer an error. A warning will be printed instead: `jj bookmark delete`/`forget`/`move`/`track`/`untrack`, `jj tag delete`, `jj git clone`/`push` * The default string pattern syntax in revsets will be changed to `glob:` in a future release. You can opt in to the new default by setting `ui.revsets-use-glob-by-default=true`. * Upgraded `scm-record` from v0.8.0 to v0.9.0. See release notes at . * The minimum supported Rust version (MSRV) is now 1.89. * On macOS, the deprecated config directory `~/Library/Application Support/jj` is not read anymore. Use `$XDG_CONFIG_HOME/jj` instead (defaults to `~/.config/jj`). * Sub-repos are no longer tracked. Any directory containing `.jj` or `.git` is ignored. Note that Git submodules are unaffected by this. ###### Deprecations * The `--destination`/`-d` arguments for `jj rebase`, `jj split`, `jj revert`, etc. were renamed to `--onto`/`-o`. The reasoning is that `--onto`, `--insert-before`, and `--insert-after` are all destination arguments, so calling one of them `--destination` was confusing and unclear. The old names will be removed at some point in the future, but we realize that they are deep in muscle memory, so you can expect an unusually long deprecation period. * `jj describe --edit` is deprecated in favor of `--editor`. * The config options `git.auto-local-bookmark` and `git.push-new-bookmarks` are deprecated in favor of `remotes..auto-track-bookmarks`. For example: ```toml [remotes.origin] auto-track-bookmarks = "glob:*" ``` For more details, refer to [the docs](docs/config.md#automatic-tracking-of-bookmarks). * The flag `--allow-new` on `jj git push` is deprecated. In order to push new bookmarks, please track them with `jj bookmark track`. Alternatively, consider setting up an auto-tracking configuration to avoid the chore of tracking bookmarks manually. For example: ```toml [remotes.origin] auto-track-bookmarks = "glob:*" ``` For more details, refer to [the docs](docs/config.md#automatic-tracking-of-bookmarks). ###### New features * `jj commit`, `jj describe`, `jj squash`, and `jj split` now accept `--editor`, which ensures an editor will be opened with the commit description even if one was provided via `--message`/`-m`. _[Truncated at 4000 characters — full notes: https://github.com/jj-vcs/jj/releases/tag/v0.36.0]_