v0.21.0

jj-vcs/jjv0.21.0Sep 4, 2024by martinvonz

AI Summary

Changes the behavior of `next/prev` movement commands and adds configuration options to control movement modes and diff highlighting.

Key Highlights

  • New `ui.movement.edit` config knob controls `next/prev` edit mode.
  • All diff formats now include information about copies and moves.
  • Color-words diff gains an option to display complex changes separately.
  • Tilde (`~`) expansion for home directory in signing keys.

Breaking Changes

  • `next/prev` no longer infers edit mode when moving between commits.

New Features

  • Boolean config knob for movement behavior.
  • Copy and move information in diffs and status.
  • Color-words inline alternation option.
  • Warning when reconfiguring the author.

Full Release Notes

### Breaking changes

* `next/prev` will no longer infer when to go into edit mode when moving from
  commit to commit. It now either follows the flags `--edit|--no-edit` or it
  gets the mode from `ui.movement.edit`.

### Deprecations

* `jj untrack` has been renamed to `jj file untrack`.

### New features

* Add new boolean config knob, `ui.movement.edit` for controlling the behaviour
  of `prev/next`. The flag turns `edit` mode `on` and `off` permanently when set
  respectively to `true` or `false`.

* All diff formats except `--name-only` now include information about copies and
  moves. So do external diff tools in file-by-file mode. `jj status` also
  includes information about copies and moves.

* Color-words diff has gained [an option to display complex changes as separate
  lines](docs/config.md#color-words-diff-options). It's enabled by default. To
  restore the old behavior, set `diff.color-words.max-inline-alternation = -1`.

* A tilde (`~`) at the start of the path will now be expanded to the user's home
  directory when configuring a `signing.key` for SSH commit signing.
  
* When reconfiguring the author, warn that the working copy won't be updated

### Fixed bugs

* Release binaries for Intel Macs have been restored. They were previously
  broken due to using a sunset version of GitHub's macOS runners (but nobody had
  previously complained.)

### Contributors

Thanks to the people who made this release happen!

* Aaron Bull Schaefer (@elasticdog)
* Austin Seipp (@thoughtpolice)
* Benjamin Tan (@bnjmnt4n)
* Raniz Daniel Raneland (@Raniz85)
* Daniel Ploch (@torquestomp)
* Essien Ita Essien (@essiene)
* Ilya Grigoriev (@ilyagr)
* Kaleb Pace (@kalebpace)
* Marie (@NyCodeGHG)
* Marijan Smetko (@InCogNiTo124)
* Martin von Zweigbergk (@martinvonz)
* Matt Kulukundis (@fowles)
* Scott Taylor (@scott2000)
* Stephen Jennings (@jennings)
* tingerrr (@tingerrr)
* Yuya Nishihara (@yuja)