@@ -10,6 +10,20 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1010
1111### Release highlights
1212
13+ ### Breaking changes
14+
15+ ### Deprecations
16+
17+ ### New features
18+
19+ ### Fixed bugs
20+
21+ ### Packaging changes
22+
23+ ## [ 0.30.0] - 2025-06-04
24+
25+ ### Release highlights
26+
1327* The experimental support from release 0.29.0 for transferring the change ID
1428 to/from Git remotes has been enabled by default. The change ID is stored in
1529 the Git commit itself (in a commit header called ` change-id ` ), which means
@@ -19,6 +33,16 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1933 some Git commands (e.g. ` git rebase ` ) do not preserve the change ids when
2034 they rewrite commits.
2135
36+ * ` jj rebase ` now automatically abandons divergent commits if another commit
37+ with the same change ID is already present in the destination with identical
38+ changes.
39+
40+ * ` jj split ` has gained ` --message ` , ` --insert-before ` , ` --insert-after ` , and
41+ ` --destination ` options.
42+
43+ * ` jj evolog ` can show associated operations for commits created by new jj
44+ versions.
45+
2246### Breaking changes
2347
2448* The old ` libgit2 ` code path for fetches and pushes has been removed,
@@ -29,20 +53,20 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
2953 ` bookmark.remote() == "foo" ` still works, but ` bookmark.remote().<method>() `
3054 might need ` if(bookmark.remote(), ..) ` to suppress error.
3155
32- * The deprecated ` jj branch ` subcommands have been removed. Use the ` jj bookmark `
33- subcommands instead.
34-
3556* ` jj rebase ` now automatically abandons divergent commits if another commit
3657 with the same change ID is already present in the destination with identical
3758 changes. To keep these divergent commits, use the ` --keep-divergent ` flag.
3859
39- * ` jj util completion ` now requires the name of the shell as a positional argument and
40- no longer produces Bash completions by default. The deprecated optional arguments for
41- different shells have been removed.
42-
4360* The deprecated ` --skip-empty ` flag for ` jj rebase ` has been removed. Use the
4461 ` --skip-emptied ` flag instead.
4562
63+ * The deprecated ` jj branch ` subcommands have been removed. Use the `jj
64+ bookmark` subcommands instead.
65+
66+ * ` jj util completion ` now requires the name of the shell as a positional
67+ argument and no longer produces Bash completions by default. The deprecated
68+ optional arguments for different shells have been removed.
69+
4670### Deprecations
4771
4872* The ` ui.diff.format ` and ` ui.diff.tool ` config options have been merged as
@@ -57,18 +81,18 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5781* ` jj split ` has gained a ` --message ` option to set the description of the
5882 commit with the selected changes.
5983
60- * ` jj split ` has gained the ability to place the revision with the selected changes
61- anywhere in the revision tree with the ` --insert-before ` , ` --insert-after ` and
62- ` --destination ` command line flags.
84+ * ` jj split ` has gained the ability to place the revision with the selected
85+ changes anywhere in the revision tree with the ` --insert-before ` ,
86+ ` --insert-after ` and ` -- destination` command line flags.
6387
6488* Added ` git.track-default-bookmark-on-clone ` setting to control whether to
6589 track the default remote bookmark on ` jj git clone ` .
6690
67- * Templates can now do arithmetic on integers with the ` + ` , ` - ` , ` * ` , ` / ` , and ` % `
68- infix operators.
91+ * Templates can now do arithmetic on integers with the ` + ` , ` - ` , ` * ` , ` / ` , and
92+ ` % ` infix operators.
6993
7094* Evolution history is now stored in the operation log. ` jj evolog ` can show
71- associated operations for commits created by new jj.
95+ associated operations for commits created by new jj versions .
7296
7397### Fixed bugs
7498
@@ -82,16 +106,48 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
82106* ` jj ` will no longer warn about deprecated paths on macOS if the configured
83107 XDG directory is the deprecated one (~ /Library/Application Support).
84108
85- * The builtin diff editor now correctly handles splitting changes where a file is
86- replaced by a directory of the same name.
109+ * The builtin diff editor now correctly handles splitting changes where a file
110+ is replaced by a directory of the same name.
87111 [ #5189 ] ( https://github.com/jj-vcs/jj/issues/5189 )
88112
89113### Packaging changes
90114
91- * Due to the removal of the ` libgit2 ` code path, packagers should
92- remove any dependencies on ` libgit2 ` , ` libssh2 ` , Zlib, OpenSSL, and
93- ` pkg-config ` , and ensure they are not setting the Cargo ` git2 ` or
94- ` vendored-openssl ` features.
115+ * Due to the removal of the ` libgit2 ` code path, packagers should remove any
116+ dependencies on ` libgit2 ` , ` libssh2 ` , Zlib, OpenSSL, and ` pkg-config ` , and
117+ ensure they are not setting the Cargo ` git2 ` or ` vendored-openssl ` features.
118+
119+ ### Contributors
120+
121+ Thanks to the people who made this release happen!
122+
123+ * Alper Cugun (@alper )
124+ * Austin Seipp (@thoughtpolice )
125+ * Benjamin Brittain (@benbrittain )
126+ * Benjamin Tan (@bnjmnt4n )
127+ * Bryce Berger (@bryceberger )
128+ * Colin Nelson (@orthros )
129+ * Doug Stephen (@dljsjr )
130+ * Emily (@emilazy )
131+ * Eyvind Bernhardsen (@eyvind )
132+ * Felix Geisendörfer (@felixge )
133+ * Gaëtan Lehmann (@glehmann )
134+ * Ilya Grigoriev (@ilyagr )
135+ * Isaac Corbrey (@icorbrey )
136+ * Jonas Greitemann (@jgreitemann )
137+ * Josep Mengual (@truita )
138+ * kkoang (@kkoang )
139+ * Manuel Mendez (@mmlb )
140+ * Marshall Bowers (@maxdeviant )
141+ * Martin von Zweigbergk (@martinvonz )
142+ * Mateus Auler (@mateusauler )
143+ * Michael Pratt (@prattmic )
144+ * Nicole Patricia Mazzuca (@strega-nil )
145+ * Philip Metzger (@PhilipMetzger )
146+ * Scott Taylor (@scott2000 )
147+ * T6 (@tjjfvi )
148+ * Vincent Ging Ho Yim (@cenviity )
149+ * Winter (@winterqt )
150+ * Yuya Nishihara (@yuja )
95151
96152## [ 0.29.0] - 2025-05-07
97153
0 commit comments