Releases: dandavison/delta
0.17.0
Thanks to the many contributors! Particular highlights are
Thanks to @bash's work, delta now automatically detects whether your terminal has a light/dark background (unless you specify with --light
or --dark
):
@joshtriplett solved the long-standing problem of correctly parsing traditional grep output, e.g. git grep
, grep
, etc. Until now there had been annoying parse ambiguities related to separator characters in file paths. This is particularly valuable for git grep
since it has interesting features such as git grep -W
(see #769)
- Parse filename unambiguously using color escape sequences by @joshtriplett in #1634
@imbrish fixed two important bugs and added the ability to set a default language (e.g. for executable shell scripts with no file name suffix)
- Honor default-language option by @imbrish in #1655
- Preserve "Binary files" line in color_only mode by @imbrish in #1649
- Fix headers of modified binary files by @imbrish in #1629
What's Changed
- Add mellow-barbet theme by @kvrohit in #1452
- Fix alignment in blame mode when author name contains unicode accent modifiers by @hpwxf in #1456
- Replace usage of the
atty
crate withstd::io::IsTerminal
trait by @nickelc in #1465 - Refactor subcommand handling by @dandavison in #1467
- Bump clap to v4.3.14 and regenerate Cargo.lock by @th1000s in #1472
- Fix issue where pager would be set to
more
ormost
by @ippsav in #1494 - Improve binary file added output by @Sondeyy in #1502
- Remove the navigation setting from themes. by @Qwerty-133 in #1503
- Add assertion failure message by @dandavison in #1508
- Fix handling of tabs in grep output by @dandavison in #1507
- Support users other than git in github SSH URLs by @dandavison in #1509
- Update installation instructions for openSUSE by @sorairolake in #1550
- feat: generate completion subcommand by @plustik in #1561
- Make hunk header code fragment display optional by @zmc in #1568
- Adding new theme in themes.gitconfig by @pablospe in #1544
- feat(theme): add arctic-fox custom theme by @anthony-halim in #1539
- --show-themes exit with error when no themes by @dandavison in #1611
- Bug fix: reset syntax highlighter across grep sections by @dandavison in #1613
- Switch from vte to anstyle-parse (already used in dependencies) by @joshtriplett in #1638
- Parse filename unambiguously using color escape sequences by @joshtriplett in #1634
- Fix headers of modified binary files by @imbrish in #1629
- Upgrade bytelines to latest, without default features by @whitfin in #1597
- Add Catppuccin latte to light syntax themes by @dvic in #1573
- Update Arch Linux package URL in installation.md by @felixonmars in #1569
- Change Winget Releaser job to
ubuntu-latest
by @sitiom in #1512 - use wildcard in suggested true color fix for tmux by @jcaplan in #1560
- Update git2 by @dandavison in #1647
- Add
corvus
theme by @evilwaveforms in #1652 - Preserve "Binary files" line in color_only mode by @imbrish in #1649
- Detect Dark/Light Mode from Terminal by @bash in #1615
- Honor default-language option by @imbrish in #1655
New Contributors
- @kvrohit made their first contribution in #1452
- @hpwxf made their first contribution in #1456
- @ippsav made their first contribution in #1494
- @Sondeyy made their first contribution in #1502
- @Qwerty-133 made their first contribution in #1503
- @fritzrehde made their first contribution in #1553
- @sorairolake made their first contribution in #1550
- @plustik made their first contribution in #1561
- @zmc made their first contribution in #1568
- @pablospe made their first contribution in #1544
- @anthony-halim made their first contribution in #1539
- @joshtriplett made their first contribution in #1638
- @imbrish made their first contribution in #1629
- @whitfin made their first contribution in #1597
- @dvic made their first contribution in #1573
- @felixonmars made their first contribution in #1569
- @jcaplan made their first contribution in #1560
- @evilwaveforms made their first contribution in #1652
- @bash made their first contribution in #1615
Full Changelog: 0.16.5...0.17.0
0.16.5
This is a follow-up release providing the various binaries that were not released with 0.16.4. It also makes some adjustments to delta's (rip)grep support.
What's Changed
- Increase number of characters shown in submodule hashes by @dandavison in #1421
- Fix typo in publishing build job & restore cross-compilation by @nickelc in #1430
- 3819e94 Drop grep-header-style option by @dandavison
- a28231a Honor grep-header-decoration-style for ripgrep output by @dandavison
Full Changelog: 0.16.4...0.16.5
0.16.4
It's 6 months since the last release so this one brings quite a few changes. Thanks very much to all contributors, especially @nickelc for a huge number of contributions, and @wescande for his work on improving whitespace highlighting. With this release delta can now display grep output in (hopefully) exactly the same layout that ripgrep does, but adding syntax highlighting, hyperlinks, and navigation. Use ripgrep --json ... | delta
for that, or set grep-output-type = ripgrep
to get that output style from git grep
etc.
This release does not contain binaries for x86_64-unknown-linux-musl
, i686-unknown-linux-gnu
, arm-unknown-linux-gnueabihf
, or aarch64-unknown-linux-gnu
because the cross-compilation GitHub Actions jobs were broken at the time of release. I'll issue a follow-up release including them when that's fixed.
What's Changed
- Address deprecated clap features by @tjquillan in #1251
- Fix clippy warnings by @nickelc in #1298
- Replace unmaintained/outdated GitHub Actions by @nickelc in #1317
- Reduce allocations during
--show-colors
by @nickelc in #1315 - Fix the
--show-themes
command by @nickelc in #1320 - Fixed broken link to README by @zonuexe in #1185
- Update
git2
to 0.16.1 by @nickelc in #1323 - Fix warning from bat for an unknown syntax theme by @nickelc in #1319
- Add
gruvmax-fang
theme by @MaxFangX in #1291 - Spelling by @jsoref in #1257
- Update
clap
to 4.1 by @nickelc in #1322 - Encapsulate
git2
types by @nickelc in #1326 - Update dependencies & switch back to the
dirs
crate by @nickelc in #1325 - Return the
GitRemoteRepo
type directly by @nickelc in #1328 - Added config option. by @ShogunPanda in #1324
- Add Winget Releaser workflow by @sitiom in #1331
- Get git's minus/plus style from config instead of copying it around by @nickelc in #1329
- Add methods for getting
GitConfig
as reference by @nickelc in #1336 - Rename
git_config_entry
module toremote
by @nickelc in #1337 - Tips and tricks manual section by @dandavison in #1339
- Set language specifiers for code blocks and fix links in manual by @nickelc in #1340
- Derive the default for enums with
#[derive(Default)]
/#[default]
by @nickelc in #1341 - Add discord-dark theme by @ILikePlayingGames in #1334
- Merge the different
GitConfig
constructors for a config file by @nickelc in #1342 - Remove manual line-wrapping by @dandavison in #1350
- Add link to similar project walles/riff by @walles in #1362
- add: installation instructions for conda/mamba by @YYYasin19 in #1371
- Clarify how to use delta with
tmux
by @isak102 in #1402 - Update
bitflags
to 2.2 by @nickelc in #1361 - Fix some typos by @goggle in #1379
- Remove unneeded
extern crate
statements by @nickelc in #1345 - Downgrade and pin the
bytelines
crate by @nickelc in #1378 - Improve manual build job by @nickelc in #1404
- Replace deprecated
error_chain
crate withanyhow
by @nickelc in #1405 - Fix submodule diff parsing by @th1000s in #1413
- Fix warning highlight for trailing whitespace by @wescande in #1037
- Misc tab refactoring by @th1000s in #1424
- manual: fix link to using
delta
on Windows by @mataha in #1428 - Introduce
grep-output-type
option: ripgrep or classic by @dandavison in #1410
New Contributors
- @tjquillan made their first contribution in #1251
- @nickelc made their first contribution in #1298
- @zonuexe made their first contribution in #1185
- @MaxFangX made their first contribution in #1291
- @jsoref made their first contribution in #1257
- @ShogunPanda made their first contribution in #1324
- @sitiom made their first contribution in #1331
- @ILikePlayingGames made their first contribution in #1334
- @walles made their first contribution in #1362
- @YYYasin19 made their first contribution in #1371
- @isak102 made their first contribution in #1402
- @goggle made their first contribution in #1379
- @mataha made their first contribution in #1428
Full Changelog: 0.15.1...0.16.4
0.15.1
What's Changed
- Explicitly request xz compression by @dandavison in #1249
Full Changelog: 0.15.0...0.15.1
0.15.0
What's Changed
Thanks to all contributors for the changes in this release! One particularly exciting contribution is the tweaks to the highlighting algorithm made by @phillipwood in #1244. This is something that has remained more or less the same since delta was first created, but #1244 brings several improvements in the details of exactly which characters are highlighted.
- Change Rust toolchain in 'Deploy Manual' CI task by @dandavison in #1183
- Switch bat to library mode by @tranzystorek-io in #1187
- Add sourcehut link parsing by @p00f in #1190
- Refactoring ansi/iterator by @zhiburt in #1191
- Add codeberg link parsing by @p00f in #1194
- Add terminal width fallback via stty if on windows/MSYS2 by @th1000s in #1030
- measure_text_width() without constructing a temporary string by @th1000s in #1216
- Remove Git 2.37 workaround from install docs by @adamchainz in #1228
- Fix clippy warnings by @clnoll in #1236
- Remove Provides in Debian package by @baryluk in #1217
- Handle quoted filenames in diff header by @th1000s in #1222
- ci: improve formatting by @MarcoIeni in #1238
- Highlighting improvements by @phillipwood in #1244
- ci: release apple arm binary by @MarcoIeni in #1239
- try fix bad alignment in unicode (#1144) by @SheldonNico in #1145
New Contributors
- @tranzystorek-io made their first contribution in #1187
- @p00f made their first contribution in #1190
- @zhiburt made their first contribution in #1191
- @adamchainz made their first contribution in #1228
- @baryluk made their first contribution in #1217
- @phillipwood made their first contribution in #1244
- @SheldonNico made their first contribution in #1145
Full Changelog: 0.14.0...0.15.0
0.14.0
What's Changed
- Update color-moved-support.md by @hangtwenty in #1082
- Tweak some words improved representation by @ydah in #1078
- Only trigger
git show
handler if a file extension was parsed by @dandavison in #1106 - Fix commit hyperlink formatting by @dandavison in #1110
- Avoid lockup when running without arguments and stdin is connected to a tty by @dotdash in #1112
- Fix whole-file changes being attributed to the wrong commit in "git log" output by @dotdash in #1111
- Update README.md to include git 2.37.0 workaround by @cwlbraa in #1116
- Don't attempt to process ANSI sequences in non-UTF8 input by @dandavison in #1117
- Update clap by @dandavison in #1119
- Recreate highlighter on each line of
git show $commit:$path
output by @dandavison in #1127 - Fix git-grep match-highlighting at line-start by @jdpopkin in #1057
- Update to chameleon theme by @AirOnSkin in #1138
- Fix typos by @kianmeng in #1151
- Support configurable timestamps in git blame output (#1157) by @mliszcz in #1158
- Added auto completions for fish shell by @exploide in #1165
New Contributors
- @hangtwenty made their first contribution in #1082
- @ydah made their first contribution in #1078
- @dotdash made their first contribution in #1112
- @cwlbraa made their first contribution in #1116
- @kianmeng made their first contribution in #1151
- @mliszcz made their first contribution in #1158
- @exploide made their first contribution in #1165
Full Changelog: 0.13.0...0.14.0
0.13.0
What's Changed
- Update bat dependency so that delta is compatible with latest bat release (#1075)
- Flush line buffers in additional locations by @dandavison in #1003
- Reorganize wrapping utilities by @dandavison in #1008
- Bump regex to fix CVE-2022-24713 by @msirringhaus in #1015
- Apply file-transformation to diff header in addition to hunk header by @dandavison in #1012
- Add support for irreversible-delete by @wescande in #945
- Add custom env struct to store env at init by @wescande in #1025
- Apply hyperlinks to diff stat file paths by @dandavison in #1035
- Add link to
bat
on README by @eloyesp in #1052 - Add chameleon theme to themes.gitconfig by @AirOnSkin in #1062
- Add 'light = false' w/ comment in gitconfig by @toolness in #1073
New Contributors
- @wescande made their first contribution in #945
- @eloyesp made their first contribution in #1052
- @AirOnSkin made their first contribution in #1062
- @toolness made their first contribution in #1073
Full Changelog: 0.12.1...0.13.0
0.12.1
What's Changed
- Make git include colors in output going to delta by @dandavison in #966
- Clarify language: "in front of" → "before" by @waldyrious in #967
- Fix parsing for .properties files with
-
in path by @jdpopkin in #975 - Support CSI sequences other than SGR by @yoichi in #976
- Enable commit links for GitLab by @jwarlander in #972
- Fall back to plain diff when process substitution is used by @th1000s in #978
- Include information about GIT_PAGER in manual by @katylava in #991
- Use assets API from bat library instead of vendored code by @dandavison in #903
- Calling process: Query more parents, disable full scan by @th1000s in #984
- Run in diff mode iff two positional arguments are supplied by @dandavison in #995
New Contributors
- @jdpopkin made their first contribution in #975
- @jwarlander made their first contribution in #972
- @katylava made their first contribution in #991
Full Changelog: 0.12.0...0.12.1
0.12.0
There's quite a lot in this release, with contributions from 8 different people.
Firstly a breaking change: some deprecated options are no longer supported: in particular plus-color
and minus-color
. See #914. A description of this change and what you need to do if you're affected by it is below.
Secondly, improvements, including:
- A (much-needed) short help text is now available: use
delta -h
. Delta is the proud possessor of 100 command-line options, so I think this is going to be helpful. - git blame output now displays line numbers (thanks to @th1000s)
- Improvements to file and mode labels by @WayneD
- delta now has a user manual: https://dandavison.github.io/delta/. You can even create a PDF copy (print button in upper-right hand corner), and the README is correspondingly now a much easier read with the minimal required setup instructions and an overview of functionality with screenshots.
Finally some bug fixes, including
- File path hyperlinks (e.g. in diff and grep output) were previously sometimes incorrect, especially when delta was invoked from a directory other than the repo root.
- Some fixes to grep output parsing edge cases
Deprecated options no longer supported:
The options affected here have been deprecated for a couple of years; I hope this doesn't cause you any trouble. Here are the details:
The most common case is that you have something like this in your ~/.gitconfig
:
[delta]
plus-color = my_plus_color
minus-color = my_minus_color
Please change that to
[delta]
plus-style = syntax my_plus_color
minus-style = normal my_minus_color
Here's the list of deprecated options with a summary of how to update them:
minus-color Deprecated: use `minus-style = normal my_background_color`
plus-color Deprecated: Use `plus-style = syntax my_background_color`
minus-emph-color Deprecated: use `minus-emph-style = normal my_background_color`
plus-emph-color Deprecated: Use `plus-emph-style = syntax my_background_color`
highlight-removed Deprecated: use `minus-style = syntax my_background_color`
commit-color Deprecated: use `commit-style = my_foreground_color
commit-decoration-style = my_foreground_color`
file-color Deprecated: use `file-style = my_foreground_color
file-decoration-style = my_foreground_color`
hunk-style Deprecated: synonym of `hunk-header-decoration-style`
hunk-color Deprecated: use `hunk-header-style = my_foreground_color
hunk-header-decoration-style = my_foreground_color`
theme Deprecated: use `syntax-theme`
For full documentation, please see delta --help
and https://dandavison.github.io/delta/configuration.html.
PRs
- Remove redundent spaces in README example by @TennyZhuang in #861
- Bump sysinfo from 0.22.2 to 0.22.3 by @dependabot in #862
- New option blame-code-style by @dandavison in #870
- Make formatted blame metadata determine color instead of commit by @dandavison in #871
- Put file-modified label in front of mode changes. by @WayneD in #874
- Speed up the calling process query by @th1000s in #869
- DeltaTest improvements by @WayneD in #876
- Make Config cloneable for DeltaTest, store as Cow there by @th1000s in #884
- Fix grep parse bugs by @dandavison in #865
- Handle a mode change on a renamed file. by @WayneD in #875
- New option file-transformation to transform file paths by @dandavison in #887
- Handle blame author names containing parentheses by @th1000s in #901
- Add OpenBSD installation note by @sizeofvoid in #894
- Create user manual by @dandavison in #882
- structopt to clap by @dandavison in #889
- Drop deprecated options by @dandavison in #914
- Add clap cosmetic argument names by @dandavison in #915
- Construct hyperlink file path relative to cwd by @dandavison in #898
- Bump clap from 3.0.5 to 3.0.7 by @dependabot in #917
- Cwd fixups by @dandavison in #918
- Center Align numbers right-ish by @th1000s in #883
- Blame line numbers by @th1000s in #885
- Update original mantis-shrimp, add lite version by @2KAbhishek in #934
- Update sysinfo version by @GuillaumeGomez in #921
- Update color-moved-support.md by @chtenb in #935
- Fix unused imports and functions warnings on windows by @th1000s in #950
- Fix hyperlink absolute paths by @dandavison in #939
New Contributors
- @TennyZhuang made their first contribution in #861
- @sizeofvoid made their first contribution in #894
- @GuillaumeGomez made their first contribution in #921
- @chtenb made their first contribution in #935
Full Changelog: 0.11.3...0.12.0
0.11.3
- Fix handling of
--word-diff
and--color-words
(#829). Note thatline-numbers
andside-by-side
will be ignored if delta detects that the input was generated bygit --word-diff / --color-words
. DELTA_FEATURES
can now be used to add to features specified in ~/.gitconfig. Use a+
prefix to do this: an example isDELTA_FEATURES=+side-by-side
which will activateside-by-side
, in addition to your usual features.- Store
less
history file in a better location on Windows. Thanks @rashil2000 for this work! - Fix performance issue affecting some linux users (#839)
What's Changed
- Bump sysinfo from 0.19.2 to 0.20.5 by @dependabot in #811
- #833 refactoring by @dandavison in #834
- Store history file in data_local_dir for Windows by @rashil2000 in #847
- Query fewer processes when searching for the parent by @th1000s in #841
- Do not query CPU data when querying process data by @dandavison in #845
- Fix --word-diff / --color-words handling by @dandavison in #833
- Add features from DELTA_FEATURES env var instead of replacing with them by @dandavison in #849
- Fix raw line styles by @dandavison in #850
- Fix side-by-side syntax ANSI test failure by @dandavison in #852
- DeltaTest inspect() additions by @dandavison in #853
- Line state refactor by @dandavison in #851
New Contributors
- @rashil2000 made their first contribution in #847
Full Changelog: 0.11.2...0.11.3