Skip to content

Releases: lewis6991/gitsigns.nvim

v0.9.0

13 Jun 10:56
Compare
Choose a tag to compare

0.9.0 (2024-06-12)

⚠ BREAKING CHANGES

  • setup: make setup() synchronous
  • drop support for nvim v0.8

Features

  • drop support for nvim v0.8 (d9d94e0)
  • setup: make setup() synchronous (720061a)

Bug Fixes

  • add workaround for Lazy issue (e31d214)
  • attach: allow attaching inside .git/ (9cafac3), closes #923
  • attach: detach on when the buffer name changes (75dc649), closes #1021
  • attach: fix worktree attaching (54b9df4), closes #1020
  • blame: avoid right-aligned blame overlapping buftext (20f305d)
  • handle untracked files for custom bases (af3fdad), closes #1022
  • scheduling in cwd watching (c96e3cf)
  • update: always get object contents from object names (a28bb1d), closes #847
  • use latest api in 0.10 (bc933d2)
  • util: close file after reading (f65d1d8)
  • watcher: throttle watcher handler (de18f6b)
  • watcher: workaround weird annoying libuv bug (4b53134), closes #1027
  • wrong api name in stable (805610a)

v0.8.1

30 Apr 15:35
Compare
Choose a tag to compare

0.8.1 (2024-04-30)

Bug Fixes

  • blame: check win is valid after running blame (7e38f07)
  • reset: handle 'endofline' when resetting hunks (7aa9a56)
  • yadm: correct ls-files check (035da03)

v0.8.0

17 Apr 16:19
Compare
Choose a tag to compare

0.8.0 (2024-04-17)

⚠ BREAKING CHANGES

  • docs: Use the new attached_to_untracked setting
  • change default of attached_to_untracked to false

Features

  • actions: add callback to async actions (4e90cf9)
  • blame: add rev option to blame_line() (0994d89), closes #952
  • blame: support extra options (3358280), closes #953 #959
  • change default of attached_to_untracked to false (590d077)
  • configurable auto attach (#918) (3e6e91b)
  • enable the new version of inline_preview (d195f0c)
  • nav: add nav_hunk() (59bdc18)
  • popup: add q keymap to quit (b45ff86)
  • publish releases to luarocks (070875f)
  • update issue templates (e93a158)
  • yadm: deprecate (1bb277b)

Bug Fixes

  • #986 (05226b4)
  • #989 (36d961d)
  • actions: prev_hunk works with wrap on line 1 (2b96835), closes #806
  • attach to fugitive and gitsigns buffers (81369ed), closes #593
  • bad deprecation message (a4db718), closes #965
  • blame: check buffer still exists after loading (70584ff), closes #946
  • blame: put ignore-revs-file in correct position (5f267aa), closes #975
  • changedelete symbol with linematch enabled (41dc075)
  • check bcache in get_hunks (1a50b94), closes #979 #981
  • check for WinResized (c093623)
  • cli: do not print result (7e31d81)
  • current_line_blame: update on WinResized (f0733b7), closes #966
  • diffthis: populate b:gitsigns_head (50577f0), closes #949
  • do not error when cwd does not exist (826ad69)
  • docs: Use the new attached_to_untracked setting (2c2463d)
  • dos: correct check for dos files (aeab36f)
  • followup (690f298)
  • git: support older versions of git (4e34864)
  • hl: highlights for Nvim v0.9 (fb9fd53), closes #939
  • manager: manager.update() never resolve when buf_check() fails (6e05045)
  • nav: followup for #976 (ee5b6ba)
  • release-please branch (031abb0)
  • setqflist: CLI (e20c96e), closes #907
  • stage: staging of files with no nl at eof (c097cb2)
  • trigger GitSignsUpdate autocmd more often (1389134)
  • typo in README (4aaacbf)
  • update lua-guide link in README (c5ff762)
  • use documented highlight groups as fallback (300a306)
  • version: handle version checks more gracefully (3cb0f84), closes #948 #960
  • watcher: improve buffer check in handler (078041e)

v0.7

29 Nov 12:43
Compare
Choose a tag to compare

What's Changed

New Contributors

Read more

v0.6

15 Dec 12:41
Compare
Choose a tag to compare

Highlights

  • word diff: general fixes and improvments
  • repeat: change implementation to one that doesn't depend on vim-repeat
  • Added user autocmd event GitsignsUpdate which is triggered whenever Gitsigns
    updates the buffer with new hunks.
  • Support dropped for Neovim v0.6
  • Added preview_hunk_inline():
    • Like preview_hunk() but displays the hunks inline in the buffer.
  • Added support for diff linematch (see neovim/neovim#14537)
  • Added a different sign type for untracked files
  • Added healthcheck
  • Added b:gitsigns_line_blame
  • Added command completion for some subcommands. (:Gitsigns diffthis, :Gitsigns change_base, :Gitsigns show)
  • Removed deprecated fields:
    • watch_index: replaced with watch_gitdir
    • current_line_blame_delay: replaced with current_line_blame_opts.delay
    • current_line_blame_position: replaced with current_line_blame_opts.virt_text_pos
    • diff_algorithm: replaced with diff_opts.algorithm
    • use_decoration_api
    • use_internal_diff: replaced with diff_opts.internal

New Contributors

Full Changelog: v0.5...v0.6

v0.5

01 Sep 15:07
Compare
Choose a tag to compare

Highlights

  • blame:
    • autodetect .git-blame-ignore-revs
    • added current_line_blame_formatter_nc
    • control priority of blame
    • support format strings
    • don't enable in insert mode
    • implemented a cache for previously blamed lines
  • Gitsigns diffthis:
    • 3 way diff for buffers with conflicts
    • respect 'splitright'
    • be more graceful with bad revisions
  • encoding related:
    • be more graceful with binary files
    • use iconv for non-utf-8 encodings
    • support filepaths with unicode characters
  • experimental:
    • added support for extmark signs. Enable with _extmark_signs = true
    • allow xdiff to be run in a separate thread. Enable with _threaded_diff = true
  • other:
    • :Gitsigns without a subcommand will now call vim.ui.select
    • support for detached working trees
    • convert paths with cygpath for Windows
    • added show action. Like diffthis but doesn't run a diff.
    • if preview window is open, navigation commands will keep it open
    • the default characters for signs are now slightly thicker
    • keymaps is now deprecated. Please use on_attach instead.
    • toggle functions will now return the currently set value
    • re-add watch_gitdir.enable

New Contributors

Full Changelog: v0.4...v0.5

Notice

This will be the last release with explicit support for Neovim v0.6.

v0.4

19 Jan 18:03
Compare
Choose a tag to compare

Highlights

  • Bug fixes of all shapes and sizes
  • True partial hunk operations via visual selection.
    • If you have a very large hunk (e.g. you add several functions), you can now use visual mode to select exactly which lines you want to stage for commit.
  • Added config.show_deleted, and toggle_deleted()
    • Uses virtual lines (via extmarks) to expand hunks inline in the buffer.
  • Added config.trouble
    • If enabled (by default) and trouble.nvim is installed, then setqflist() and setloclist() will open Trouble instead of the builtin (and slow) quickfix/location list.
  • Added config.current_line_blame_opts.ignore_whitespace

Notice

This will be the last release with explicit support for Neovim v0.5.

Contributers

@lewis6991
@mjlbach
@cryptomilk
@kuznetsss
@Sh3Rm4n
@jose-elias-alvarez
@jwong101
@mroavi

v0.3

27 Sep 12:02
Compare
Choose a tag to compare

Highlights

  • Many bug fixes
  • Added Rockspec and Luarock
  • Use vim.diff (No more FFI on Neovim 0.6!) (see neovim/neovim#14536)
  • Added get_hunks()
  • Added toggle_word_diff()
  • Added config.base
  • Added vim.g.gitsigns_head
  • Added setqflist() and setloclist():
    Populate the quickfix/location list with hunks with the option to add hunks from all changed files (not just open buffers).
    See :help gitsigns.setqflist() for more details.
  • Improvements to next_hunk()/prev_hunk()
    • Open fold when navigating to hunks, respect 'foldopen'
    • Show warning when there are no hunks.
  • Improvements to preview_hunk()
    • Add title
    • Keep preview open when navigating hunks with ]c, [c.
    • Allow . to work when preview is open, e.g. when staging hunks.
    • Allow preview focus with <C-w>w
  • Improvements to blame_line()
    • Show hunk of blame in preview
  • Optimizations:
    • Don't re-apply signs if hunk heads don't change
    • Disable during vimgrep
  • Add root dir and git dir to b:gitsigns_status_dict
  • Better support for DOS files
  • Deprecated fields:
    • watch_index: moved to watch_gitdir.
    • current_line_blame_delay: moved to current_line_blame_opts.delay.
    • current_line_blame_position: moved to current_line_blame_opts.virt_text_pos
    • diff_algorithm: moved to diff_opts.algorithm
    • use_internal_diff: moved to diff_opts.internal
    • use_decoration_api: removed

Contributors

@lewis6991
@dialetic
@saecki
@teto
@figsoda
@xanderio
@echasnovski
@laantorchaweb
@mroavi
@snezhniylis
@Iron-E

v0.2

06 Jul 12:44
Compare
Choose a tag to compare

Highlights

  • Add relative date to current_line_blame
  • Show status message when navigating hunks
  • Live word diff to buffer and hunk preview
  • Follow files when they move in the index
  • Stage/reset all hunks in selected range.
  • Added configurable timeout for current_line_blame
  • Configurable blame virtual text position
  • Added config.on_attach()
  • Added get_actions()
  • Added diffthis()
  • Migrate to plenary async2 (thanks @oberblastmeister)
  • Rework how derived highlights are applied

Contributors

@lewis6991 39 commits
@zapling 4 commits
@andersevenrud : 3 commits
@sindrets : 1 commit

v0.1

27 May 13:14
Compare
Choose a tag to compare
v0.1