Files
neovim/runtime
Justin M. Keyes 7ac5a26d56 NVIM v0.12.1
Following is a list of commits (fixes/features only) in this release.
See `:help news` in Nvim for release notes.

FEATURES
--------------------------------------------------------------------------------
- 8a79d3a3bb :restart: reattach all UIs (#38683)

FIXES
--------------------------------------------------------------------------------
- 415626d46d :restart: inherit stderr fd on Unix (#38755)
- 8b3f3113c4 :restart: only pass --headless when there is no UI (#38580)
- e5792f6353 api: avoid error when parsing invalid expr after :echo (#38695)
- 6ef5f59be6 channel: crash on exit after closing v:stderr channel (#38754)
- 14ee84e7a5 cmdline: redraw cmdline after empty message (#38485)
- b2702913b9 defaults: check for TUI on non-stdio channel on startup (#38581)
- c3e52bb264 events: avoid recursive loop_uv_run() from vim.ui_attach() shell message
- 4bf170d79d help: show error when using :help! with nothing at cursor #38775
- c692e848e9 lsp: do not respond to codelens refresh if a request is already scheduled (#38801)
- 2eb14c54bc lsp: highlight snippet preview when server can't completionItem/resolve (#38534)
- f2764a596d lsp: reset document color processed version on clear (#38582)
- 8f7cbf6d66 lsp: use `winresetview()` to avoid switching to normal mode (#38641)
- 6cb439ac9e net: handle remote archive URLs via tar/zip browse #38744
- 35a9bf8785 pack: avoid eager vim.version call #38705
- fdf94493cf pack: use `uv.available_parallelism()` to compute number of threads #38717
- 60a24d707c termkey: use terminfo for (shift+)left/right keys
- 9f16ad8ca3 treesitter: select reset to "v" visualmode()
- 2d9619fac7 treesitter: select with node ending with unicode char (#38557)
- d83141c0f2 ui2: allow empty argument for enable() #38605
- b924afb36b ui2: correct buffer reference in msg:start_timer() (#38600)
- 131a3cacb3 ui2: prevent flicker when entering pager from expanded cmdline (#38662)
- bac7c3a996 ui2: update spill indicator when appending to expanded cmdline #38715
- dee6d2ad97 ui2: vim.on_key should return nil instead of false (#38668)
- e7a07364ad vim.net: check if vim.system's stdout is nil #38713
- 32ca1aae88 window: clear cmdline 'ruler' when window is closed (#38631)
- d660233edf windows: force console codepage to UTF-8 for shell/system() #38742

PERFORMANCE
--------------------------------------------------------------------------------
- 3de423eb20 vim.pos: use `nvim_buf_line_count` instead of fetching all lines #38686

BUILD
--------------------------------------------------------------------------------
- 38b5cfc74a cmake: allow ignoring deps sha

VIM PATCHES
--------------------------------------------------------------------------------
- 90b4f02b44 068c060: runtime(rustfmt): not correctly escaping directory names (#38597)
- 304c0ac9f9 12f6f20: runtime(sh): Keep function name patterns engine neutral (#38719)
- 10bd554c0f 82ebaa7: runtime(racket): Make visual K mapping more robust for shell injection (#38677)
- c084ab9f57 9.2.0276: [security]: modeline security bypass (#38657)
- 04fabbf32d 9.2.0277: tests: test_modeline.vim fails (#38672)
- 3e2ce64f88 9.2.0280: [security]: path traversal issue in zip.vim (#38693)
- 58cc2fdc5f 9.2.0285: :syn sync grouphere may go beyond end of line (#38727)
- bf084967d7 9.2.0299: runtime(zip): may write using absolute paths (#38810)
- a837c906bb 9.2.0303: tests: zip plugin tests don't check for warning message properly
- c09e82d12a 9.2.0304: tests: test for 9.2.0285 doesn't always fail without the fix
- dd85c13382 runtime file updates (#38659)

REFACTOR
--------------------------------------------------------------------------------
- 49133b4f77 typval.c: fix wrong argument to macro (#38813)

REVERTED CHANGES
--------------------------------------------------------------------------------
- 8e490e70ed "fix(scripts): gen_terminfo clears Windows terminfo definitions #36736"
- ad0adbb1b2 "refactor(process): don't read from PTY master using uv_pipe_t" (#37401)
2026-04-06 15:12:48 +02:00
..
2026-04-06 01:24:32 +00:00
2026-01-07 08:11:42 +08:00
2023-08-13 13:25:10 +01:00
2026-03-24 00:14:55 +01:00
2023-08-13 13:25:10 +01:00
2023-08-13 13:25:10 +01:00
2023-08-13 13:25:10 +01:00
2023-08-13 13:25:10 +01:00
2023-08-13 13:25:10 +01:00
2026-04-06 15:12:48 +02:00