Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
jj-v0.32.0-x86_64-apple-darwin.tar.gz | 2025-08-06 | 9.2 MB | |
jj-v0.32.0-x86_64-pc-windows-msvc.zip | 2025-08-06 | 8.3 MB | |
jj-v0.32.0-aarch64-pc-windows-msvc.zip | 2025-08-06 | 7.9 MB | |
jj-v0.32.0-x86_64-unknown-linux-musl.tar.gz | 2025-08-06 | 9.5 MB | |
jj-v0.32.0-aarch64-unknown-linux-musl.tar.gz | 2025-08-06 | 8.8 MB | |
jj-v0.32.0-aarch64-apple-darwin.tar.gz | 2025-08-06 | 8.7 MB | |
jj-v0.32.0-docs-html.tar.gz | 2025-08-06 | 1.6 MB | |
README.md | 2025-08-06 | 5.1 kB | |
v0.32.0 source code.tar.gz | 2025-08-06 | 2.1 MB | |
v0.32.0 source code.zip | 2025-08-06 | 2.4 MB | |
Totals: 10 Items | 58.5 MB | 3 |
About
jj is a Git-compatible version control system that is both simple and powerful. See the installation instructions to get started.
Breaking changes
-
In revsets, symbol expressions (such as change ID prefix) no longer resolve to multiple revisions, and error out if resolved to more than one revisions. Use
change_id(prefix)
orbookmarks(exact:name)
to query divergent changes or conflicted bookmarks. Commands likejj rebase
no longer requireall:
to specify multiple destination revisions. -
jj op abandon
now discards previous versions of a change (or predecessors) if they become unreachable from the operation history. The evolution history is truncated accordingly.
Once jj op abandon
and jj util gc
are run in a repository, old versions of
jj
might get "commit not found" error on jj evolog
.
-
commit.working_copies()
template method now returnsList<WorkspaceRef>
-
The previously predefined
amend
alias has been removed. You can restore it by setting the configaliases.amend = ["squash"]
.
Deprecations
-
The
all:
revset modifier andui.always-allow-large-revsets
setting is planned to be removed in a future release. #6016 -
Rename the
core.fsmonitor
andcore.watchman
settings tofsmonitor.backend
, andfsmonitor.watchman
respectively.
New features
-
jj workspace list
now accepts-T
/--template
option to customize its output via templates. -
Added
templates.workspace_list
template to customize the output ofjj workspace list
. -
jj fix
now buffers the standard error stream from subprocesses and emits the output from each all at once. The file name is printed before the output. -
jj status
now collapses fully untracked directories into one line. It still fully traverses them while snapshotting but they won't clutter up the output with all of their contents. -
Add the
working-copy.eol-conversion
config which is similar to the gitcore.autocrlf
config. A heuristics is used to detect if a file is a binary file to prevent the EOL conversion from changing binary files unexpectedly. -
Add a
.parents()
method to theOperation
type in the templating language. -
Merge tools config can now explicitly forbid using them as diff editors or diff formatters. Built-in tools that do not function well as diff editing tools or as diff formatters will now report an error when used as such.
-
jj diffedit
now accepts filesets to edit only the specified paths. -
AnnotationLine objects in templates now have a
original_line_number() -> Integer
method. -
Commit templates now support
.files()
to list all existing files at that revision. -
Glob patterns now support
{foo,bar}
syntax. There may be subtle behavior changes as we use the globset library now. -
The new
bisect(x)
revset function can help bisect a range of commits to find when a bug was introduced. -
New
first_parent()
andfirst_ancestors()
revset functions which are similar toparents()
andancestors()
, but only traverse the first parent of each commit (similar to Git's--first-parent
option). -
New
signing.backends.ssh.revocation-list
config for specifying a list of revoked public keys for commit signature verification. -
jj fix
commands now replace$root
with the workspace's root path. This is useful for tools stored inside the workspace.
Fixed bugs
-
Fixed an error in
jj util gc
caused by the empty blob being missing from the Git store. #7062 -
jj op diff -p
andjj op log -p
now show content diffs from the first predecessor only. #7090 -
jj git fetch
no longer showsNaN%
progress when connecting to slow remotes. #7155
Contributors
Thanks to the people who made this release happen!
- adamnemecek (@adamnemecek)
- Alexander Kobjolke (@jakalx)
- Apromixately (@Apromixately)
- Austin Seipp (@thoughtpolice)
- Bryce Berger (@bryceberger)
- Daniel Danner (@dnnr)
- Daniel Luz (@mernen)
- Evan Martin (@evmar)
- George Christou (@gechr)
- George Elliott-Hunter (@george-palmsens)
- Hubert Głuchowski (@afishhh)
- Ilya Grigoriev (@ilyagr)
- Jade Lovelace (@lf-)
- Jake Martin (@jake-m-commits)
- Jan Klass (@Kissaki)
- Joaquín Triñanes (@JoaquinTrinanes)
- Josh Steadmon (@steadmon)
- Kaiyi Li (@06393993)
- Martin von Zweigbergk (@martinvonz)
- Nigthknight (@nigthknight)
- Ori Avtalion (@salty-horse)
- Pablo Brasero (@pablobm)
- Pavan Kumar Sunkara (@pksunkara)
- Philip Metzger (@PhilipMetzger)
- phoebe (@phoreverpheebs)
- Remo Senekowitsch (@senekor)
- Scott Taylor (@scott2000)
- Stephen Jennings (@jennings)
- Theo Buehler (@botovq)
- Tyarel8 (@Tyarel8)
- Yuya Nishihara (@yuja)