v0.34.0 #7627
thoughtpolice
started this conversation in
General
v0.34.0
#7627
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
About
jj is a Git-compatible version control system that is both simple and powerful. See
the installation instructions to get started.
Release highlights
Support for uploading changes to Gerrit Code Review with
jj gerrit upload
.This lets you submit trees or multiple stacks of work at once. Support
for fetching changes, submitting changes, and other operations is not yet
implemented. This should be considered experimental, and we welcome feedback
on using it.
Support for automated bisection using
jj bisect run
; this will continuouslybisect a commit range until a given commit is found to trigger a bug.
Breaking changes
Git-based repositories are now colocated by default. Configure
git.colocate = false
to keep the previous behavior.Conflicts written by jj < 0.11 are no longer supported. They will now appear
as regular files with a
.jjconflict
suffix and JSON contents.The minimum supported Rust version (MSRV) is now 1.88.
Deprecations
Various flags on
jj describe
andjj commit
have been deprecated in favorof
jj metaedit
. They are:describe
:--author
,--reset-author
,--no-edit
commit
:--author
,--reset-author
The storage format of remote bookmarks and tags has changed. Remote bookmarks
will be written in both old and new formats to retain forward compatibility.
Git-tracking tags are also recorded for future native tagging support. This
change should be transparent, but let us know if you see anything odd.
New features
The new command
jj bisect run
uses binary search to find a commit thatintroduced a bug.
The default editor on Unix is now
nano
instead ofpico
.New config option
merge.hunk-level = "word"
to enable word-level merging.New config option
merge.same-change = "keep"
to disable lossy resolutionrule for same-change conflicts.
#6369
Templates now support a
replace()
method on strings for pattern-basedstring replacement with optional limits. Supports all string patterns, including
regex with capture groups (e.g.
"hello world".replace(regex:'(\w+) (\w+)', "$2 $1")
).A new builtin
hyperlink(url, text)
template alias creates clickablehyperlinks using OSC8 escape sequences
for terminals that support them.
Added a new conditional configuration
--when.platforms
to includesettings only on certain platforms.
External diff commands now support substitution variable
$width
for thenumber of available terminal columns.
The new
jj gerrit upload
command allows you to upload given revisions to aninstance of Gerrit Code Review.
jj bookmark create/set/move
use the working copy as a default again andno longer require an explicit revision argument. This walks back a
deprecation from
jj 0.26
, as the community feedback was mostly negative.The revset function
exactly(x, n)
will now evaluatex
and error if it doesnot have exactly
n
elements.jj util exec
now matches the exit status of the program it runs, anddoesn't print anything.
jj config get
now supports displaying array and table config values.jj util exec
sets the environment variableJJ_WORKSPACE_ROOT
Fixed bugs
submodule.recurse=true
is set in.gitconfig
(but jj still isn't able tofetch the submodules or to operate on them).
Contributors
Thanks to the people who made this release happen!
This discussion was created from the release v0.34.0.
Beta Was this translation helpful? Give feedback.
All reactions