Skip to content

Latest commit

 

History

History
396 lines (329 loc) · 48.1 KB

File metadata and controls

396 lines (329 loc) · 48.1 KB

Changelog

2.1.0 (2026-03-26)

Features

  • setqflist: include untracked files when attach_to_untracked is enabled (1ce96a4), closes #829

Bug Fixes

  • attach: allow manual attach for untracked files (8c7a4e2)
  • blame: guard WinClosed namespace cleanup (#1469) (7c4faa3)
  • blame: keep cursor line on reblame (6d72ba8), closes #1237
  • blame: reuse buffer when opening diff tab (13588ac), closes #1490
  • calculate line length correct with inlay hints (abf82a6)
  • diff: respect -diff attributes in attach and setqflist (c21acb9), closes #1402
  • diffthis: preserve fold state when staging hunks (e4d4ec8)
  • git: force C locale for git parsing (f7cc685)
  • git: parse renamed files with spaces (253962a)
  • git: refresh cached repo head metadata (d95879a)
  • git: serialize repo operations per repo (060b26c)
  • luarocks: bump scm rockspec revision (d4fdf44), closes #1468
  • qflist: keep renamed paths with base diffs (d9a3de6)
  • qflist: sanitize NUL bytes before VimL conversion (97c6856)
  • repo: update head_oid when checked-out branch moves (f222c40)
  • statuscolumn: scope sign cache per buffer (eaf73f8), closes #1491
  • status: suppress redundant GitSignsUpdate events (b8034e2), closes #1467
  • typing (5dbe0f4)
  • watcher: preserve slash branch names (0a80125)
  • windows: normalize repo path comparisons (5310a7f)
  • word_diff: "No newline at eof" should show once for single hunk (3121727)

Performance Improvements

  • apply stage ops directly (2f71334)

2.0.0 (2026-01-09)

⚠ BREAKING CHANGES

  • config: remove support for custom highlight names
  • setup: make optional
  • target Nvim 0.11, drop testing for 0.9.5

Features

  • actions.blame: add BlameOpts parameter (30ec2bb)
  • actions: add show_commit (6e3ee68)
  • add basic gh integration (aa49c96), closes #839
  • add diffthis options (93f882f), closes #1314
  • blame: do not show hunk if it was added in commit (0ddad02)
  • blame: general improvements (7bf01f0)
  • cache: add support for fetching line ranges (#1414) (5813e48)
  • config: remove support for custom highlight names (74fce28)
  • diffthis: add some rename detection (8dec8da)
  • enable new sign calc (40e235f)
  • enhance status formatting with color codes (e9cfaa0)
  • improve context for logging (4b2c9ab)
  • minor improvements to logging (d62e3ee)
  • move watchers to repo objects (2bf0f73)
  • overhaul repo watcher (a772850)
  • remove border from preview_config default (9a75d9f), closes #1241
  • set buffer name for blame window (588264b)
  • setqflist: improve text in list (b014331)
  • setup: make optional (6933bee), closes #1222
  • show: add navigation mappings (1ee5c1f)
  • show: adjust output to include tree and parent (9dfa82c)
  • support for statuscolumn (b2094c6)
  • win_width: accept winid param (ace6c6c)

Bug Fixes

  • #1246 (17ab794)
  • #1274 (550757c)
  • #1277 (c5a39b2)
  • #1280 (4e1337a)
  • #1300 (7ce11ab)
  • #1307 (ab9e05d)
  • #1312 (5624b5e)
  • #1372 (83e29aa)
  • #1384 (cc2e664)
  • #1388 (c7d37ca)
  • #1440 (5cdd276)
  • #1457 (6a8dbf0), closes #1458
  • actions: allow bufnr to be 0 (0d46562), closes #1422
  • add a 2s timeout to the git lock (1bfeabd)
  • add explicit tostring() for thread in string.format() for Lua 5.1 compatibility (#1461) (d6482eb)
  • add WinResized handler to update blame window extmarks (ecd3717)
  • all toggle actions didn't refresh highlight in non-active buffers (50a635b)
  • always schedule after git commands (11b67da), closes #1425 #1460
  • async: raise errors when they happen (ee7e50d)
  • attach through symlinks (2ac55db)
  • attach: do not attach to files in resolved gitdir (c80e0b4), closes #1218
  • attach: don't skip all .git* files at the root of the repo (362fe61)
  • blame incompatible neovim function (#1406) (400cfab)
  • blame_line{full=true} stop work (27c3f37)
  • blame: always update current_line_blame on WinResized (ea7c05f)
  • blame: check valid buf (58e3e52)
  • blame: close blame window on bufhidden (91f39eb)
  • blame: do no expand hunk text (425cb39)
  • blame: do not show stale blames popup (0c68263)
  • blame: do not unpack hunk linespec (731b581)
  • blame: get gh blame info asynchronously (a434c8c)
  • blame: handle bad git-blame output (07d4263), closes #1332
  • blame: handle partial lines in blame output (3d01bad), closes #1236
  • blame: not stale if enter popup before result popup.update (bf77caa)
  • blame: remove link highlight on whitespace (89f7507)
  • blame: set nolist in the blame window (6067670)
  • cache: correct condition for range blame (3f5ffea)
  • calculate staged color dynamically adjust based on background (d16d4ed)
  • check cwd before running rev-parse (a3f64d4), closes #1331
  • check preview popup before navigating (e399f97)
  • Close blame buffer on closure of source buffer (130beac)
  • correct hl group (b79047e)
  • cygpath output handling for MSYS2 environments (#1463) (8690d7a)
  • do not attach if buffer is a directory (392b9da)
  • do not attach to fugitive tree buffers (472f752)
  • do not error if no gh remotes (736f51d)
  • emmylua fixes (7bbc674)
  • emmylua fixes (c9165bb)
  • error when Gitsigns next_hunk target=all (4666d04)
  • error: #1277 (9cd665f)
  • errors nil ref (43b0c85)
  • force release lock if we waiting for more than 4 seconds (24d4c92)
  • handle files outside of repo (1796c7c), closes #1117 #1296 #1297
  • handle when files are removed from index (fd50977)
  • handle_blame_info: do not consider wrap/nowrap for right_align/eol (75879cd)
  • make update lock disabled by default (8270378)
  • more robust timer closing (72acb69)
  • nvim<0.11 has no &winborder (2f0f65e)
  • popup: don't move window when resizing (20ad441)
  • prevent inline hunk preview from folding (02eafb1)
  • preview_hunk format (8bdaccd)
  • preview: set border to none for inline preview (7cfd88d)
  • react to config changes more robustly (c4dbc36)
  • remove border from docs (be7640c)
  • remove clear_env=true for system calls (03fb621), closes #1350
  • remove duplicated phrase in comments of util.lua (18ec9a8)
  • repo memory leak (1fcaddc)
  • respect winborder when creating popups (ce5e1b5)
  • scm-rockspec: add 'plugin' to copy_directories (cdafc32)
  • set more buf options in commit buffers (c8ddbdb)
  • show: handle numeric branch name (0b3ac7a)
  • tests for nightly (00f1418)
  • tracking multiple branch changes (#1266) (2149fc2)
  • type errors from emmylua (5f1b1e2)
  • type errors from emmylua (d1c3d5a)
  • type fixes (24ecb13)
  • types: add on_attach return type (8b729e4)
  • util.flatten: iterator table in order (45086b3)
  • vim.ui.select with Snacks (f780609)
  • watcher: invalidate the cache earlier (d600d39)
  • when diff dos format with unix format (8820595)
  • windows: #1250 (140ac64)
  • word_diff: align inline preview highlights (684270f)
  • word_diff: no "No newline at end of file" shown in popup (6bd2949)

Performance Improvements

  • defer updates to hidden buffers (3c69cac)
  • ignore gitdir changes by watchmen (e44821b)

Continuous Integration

  • target Nvim 0.11, drop testing for 0.9.5 (3c76f7f)

1.0.2 (2025-03-16)

Bug Fixes

  • stage_hunk on staged hunk should behave like undo_stage_hunk (5fefc7b)
  • change_base with empty base (751bfae)

1.0.1 (2025-02-15)

Bug Fixes

  • blame: fix popup menu shortcut mappings (420b199), closes #1215
  • current_line_blame: last line show not committed (8b00147), closes #1213
  • stylua (2bc3b47)

1.0.0 (2025-02-07)

⚠ BREAKING CHANGES

  • deprecate some functions
  • blame: replace dot with dash in blame file type name
  • remove current_line_blame_formatter_opts
  • remove support for yadm
  • config: deprecate highlight groups in config.signs

Features

  • add highlights for the current line (b29cb58)
  • add staging and update locks (e6e3c3a)
  • add submodule support for gitsigns urls (f074844), closes #1095
  • add type annotations for modules (ac5aba6)
  • async: add async.pcall (562dc47)
  • blame_line: add option to show when not focused (2667904)
  • blame: add Gitsigns blame (25b6ee4)
  • blame: add reblame at commit parent (f4928ba)
  • blame: run formatter with pcall (9ca00df)
  • blame: set filetype to gitsigns.blame (0dc8866), closes #1049
  • config: deprecate highlight groups in config.signs (3d7e49c)
  • config: improve deprecation message (fa42613)
  • deprecate some functions (8b74e56)
  • detect repo errors (899e993)
  • nav: add target option (9291836)
  • nicer errors for failed stages (9521fe8)
  • remove current_line_blame_formatter_opts (92a8fbb)
  • remove support for yadm (61f5b64)
  • set bufname for commit buffers (e4efe9b)
  • share Repo objects across buffers (2593efa)
  • signs: able staged signs by default (b8cf5e8)
  • signs: improve sign generation from hunks (2d2156a)
  • tweak how commit buffers are processed (47c8e3e)
  • use luajit buffers to serialize thread data (233bcbf)

Bug Fixes

  • #1182 (632fda7)
  • #1182 (take 2) (3868c17)
  • #1185 (8fb9e75)
  • #1185 (take 2) (fd7457f)
  • #1185 (take 3) (f301005)
  • #1187 (d8918f0)
  • add cli binding for show (d9f997d)
  • add nil check (9d80331)
  • add nil check (7178d1a)
  • attach: do not attach to fugitive directory buffers (cf1ffe6), closes #1198
  • attach: resolve error viewing fugitive trees (#1058) (89a4dce)
  • blame: ensure blame object is valid when all lines are requested (817bd84), closes #1156
  • blame: handle incremental output with a buffered reader (e9c4187), closes #1084
  • blame: include error message in error (d03a1c9)
  • blame: parse blame info correctly (0595724), closes #1065
  • blame: popupmenu error (93c38d9), closes #1061
  • blame: render blame end_col out of range (aa12bb9)
  • blame: replace dot with dash in blame file type name (0ed4669)
  • blame: respect original blame winbar (d0db8ef)
  • blame: restore original options when blame window is closed (564849a)
  • blame: show current buffer line blame immediately (6b1a14e)
  • blame: show same commit twice or more (#1136) (ee7634a)
  • blame: show the winbar if the main window has it enabled (17e8fd6)
  • blame: track buffers changes correctly in the cache (0349546)
  • blame: update current_line_blame when attaching (8df63f2)
  • change assert to eprint (7c27a30)
  • derive Staged*Cul highlight correctly (1d2cb56)
  • diffthis vertical option (dcdcfcb)
  • do not mix staged signs with normal signs (9541f5e), closes #1152
  • do not show staged signs for different bases (0edca9d), closes #1118
  • docs: Add signs_staged to default config in README (d44a794)
  • fileformat autocmd bug (f41b934), closes #1123
  • get the repo version of the username (2e5719c)
  • GitSignsChanged autocmd for staged hunks (ac38d78), closes #1168
  • handle repos with no commits (0cd4f0a)
  • handle terminal-only highlights (356df59)
  • help triggering text autocmds (2a7b39f)
  • improve support for worktrees in bare repos (6811483), closes #1160
  • lint (39b5b6f)
  • more EOL fixes (f10fdda), closes #1145
  • nav: misc bugs (7516bac)
  • nil check for repo cache (375c44b)
  • nil check for repo info (e784e5a)
  • partial staging of staged signs (31d2dcd)
  • random errors from blame autocommands (#1139) (2d725fd)
  • repo: make sure --git-dir is always provided --work-tree (310018d)
  • reset diff when quiting diff buffer (b544bd6), closes #1155
  • revision buffer name parsing for index buffers (76d88f3)
  • select hunk gets all adjacent linematch hunks (abc6dec), closes #1133
  • select_hunk: compatible with <cmd> mapping (8974fd3)
  • setqflist("all") should respect change_base (58bd9e9)
  • signs: avoid placing signs on lnum 0 (2f9f20e)
  • sort get_nav_hunks to handle mixed hunk states (80214a8)
  • string.buffer not found (8639036), closes #1126
  • support blame for git < 2.41 (a5b801e), closes #1093
  • toggle_current_line_blame (0e39e9a), closes #1072
  • typo on dprint (6f8dbdb)
  • upstream fixes for system() (c2a2739)
  • use non-deprecated versions of vim.validate (0883d0f)
  • use norm! to prevent user remapping (4daf702)
  • util: ignore endofline when running blame (def49e4)
  • wait for buffer to attach in M.show (1c128d4), closes #1091
  • watcher: do not ignore any updates (5840f89)
  • watcher: fix debounce (f846c50), closes #1046
  • wipeout buf after closing the blame_line/preview_hunk window (abcd00a)

Performance Improvements

  • blame: some improvements (9cdfcb5)

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)

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)

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)