2.1.0 (2026-03-26)
Features
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)