Breaking changes
-
In revset aliases, top-level
kind:patternexpression is now parsed as
modifier. Surround with parentheses if it should be parsed as string/file
pattern. -
Dropped support for automatic upgrade of repo formats used by versions before
0.12.0. -
jj fixnow defaults to the broader revset-s reachable(@, mutable())
instead of-s @. -
Dropped support for deprecated
jj branch delete/forget--globoption. -
jj branch setnow creates new branch if it doesn't exist. Usejj branch moveto ensure that the target branch already exists.
#3584
Deprecations
-
Replacing
-lshorthand for--limitwith-ninjj log,jj op log
andjj obslog. -
jj split --siblingsis deprecated in favor ofjj split --parallel(to
matchjj parallelize). -
A new
jj filesubcommand now replaces several existing uncategorized
commands, which are deprecated.jj file showreplacesjj cat.jj file chmodreplacesjj chmod.jj file listreplacesjj files.
New features
-
Support background filesystem monitoring via watchman triggers enabled with
thecore.watchman.register_snapshot_trigger = trueconfig. -
Show paths to config files when configuration errors occur.
-
jj fixnow supports configuring the default revset for-susing the
revsets.fixconfig. -
The
descendants()revset function now accepts an optionaldepthargument;
like theancestors()depth argument, it limits the depth of the set. -
Revset/template aliases now support function overloading.
#2966 -
Conflicted files are individually simplified before being materialized.
-
The
jj filesubcommand now contains several existing file utilities.jj file show, replacingjj cat.jj file chmodreplacingjj chmod.jj file listreplacingjj files.
-
New command
jj branch movelet you update branches by name pattern or source
revision. -
New diff option
jj diff --name-onlyallows for easier shell scripting. -
In color-words diffs, hunks are now highlighted with underline. See diff
colors and styles for customization. -
jj git push -c <arg>can now accept revsets that resolve to multiple
revisions. This means thatjj git push -c xyz -c abcis now equivalent to
jj git push -c 'all:(xyz | abc)'. -
jj prevandjj nexthave gained a--conflictflag which moves you
to the next conflict in a child commit. -
New command
jj git remote set-urlthat sets the url of a git remote. -
Author timestamp is now reset when rewriting discardable commits (empty
commits with no description) if authored by the current user.
#2000 -
jj commitnow accepts--reset-authoroption to matchjj describe. -
jj squashnow accepts a--keep-emptiedoption to keep the source commit.
Fixed bugs
-
jj git pushnow ignores immutable commits when checking whether a
to-be-pushed commit has conflicts, or has no description / committer / author
set. #3029 -
jjwill look for divergent changes outside the short prefix set even if it
finds the change id inside the short prefix set.
#2476
Contributors
Thanks to the people who made this release happen!
- Austin Seipp (@thoughtpolice)
- Benjamin Tan (@bnjmnt4n)
- Daniel Ploch (@torquestomp)
- Danny Hooper (@hooper)
- Ilya Grigoriev (@ilyagr)
- James Sully (@sullyj3)
- Jonathan Tan (@jonathantanmy)
- Kyle J Strand (@BatmanAoD)
- Manuel Caldeira (@KiitoX)
- Martin von Zweigbergk (@martinvonz)
- Matt Kulukundis (@fowles)
- Matt Stark (@matts1)
- mlcui (@mlcui-corp)
- Philip Metzger (@PhilipMetzger)
- Scott Taylor (@scott2000)
- Simon Wollwage (@Kintaro)
- Tal Pressman (@tp-woven)
- Yuya Nishihara (@yuja)