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

BREAKING
--------------------------------------------------------------------------------
- c76bbd0a54 diagnostics: restore `is_pull` namespace argument #38698
- 0a3add979a vim.pos: require `buf` param on vim.pos, vim.range #38665

REVERTED CHANGES
--------------------------------------------------------------------------------
- 5920a1d07f "fix(lsp): only resolve LSP configs once" #38990

BUILD
--------------------------------------------------------------------------------
- 26bcffda6c gen_char_blob.lua: "bad argument to format" if path contains "%" #39274

FEATURES
--------------------------------------------------------------------------------
- e767b4843b editor: ZR performs :restart #38967
- 6b86f5520d connect: filepath completion #38959
- ceaa8b648a filetype: `vim.filetype.inspect()` returns copy of registry
- 78234f2d54 vim.version: add __eq to vim.VersionRange #38881

FIXES
--------------------------------------------------------------------------------
- a7214c0719 don't make path empty when truncating trailing slashes (#38844)
- b3b5674ac7 :restart: --listen reusage on windows #39281
- 3e0ece4cde :restart: avoid ERR/WRN logging on Windows with --listen (#39287)
- eaa8cff0bd api: expose fg_indexed/bg_indexed in nvim_get_hl (#39240)
- 8669e34bba api: nvim_clear_autocmds() "event" type check
- 4053141cb3 api: nvim_get_hl drops groups defined with link_global #38492
- 319c031820 channel: fix Ctrl-C handling regression in terminal
- ba3de79ccb cmd: ++p, ++edit should match "word" boundary #39146
- c6c348471d cmdline: 'inccommand' preview after setcmdline() #38795
- 9e1c542b55 cmdline: avoid 'incsearch' recursion after redraw #39303
- 4a18c05f87 cmdline: avoid Ex-mode NULL cmdline_block event #39043
- e4dc08da1a completion: update CursorColumn during completion (#39159)
- 25170ca02d diagnostic: virtual_lines should anchor at end_lnum, not lnum #38701
- 6cb5012e36 difftool: ensure standardized locale for diff output parsing #38853
- 9966afbc9d drawline: hang while redrawing diff filler above fold #39219
- 1ebb9b16d2 eval: crash on some NULL ptr deref #39182
- 6ae6cf5d61 float: don't unload 'hidden' float buffer with :close! (#39304)
- d86d9759e5 gf: handle local `file:` URI paths #38915
- 11a4a0077c health: recognize Zig build optimization levels #38804
- 36bade7efb highlight: preserve inherited colors when update=true breaks links #38750
- 7ffee0dfbf lsp: apply_text_edits causes unwanted BufDelete events #38778
- df726644b8 lsp: check filetype registry in health (#38885)
- 18b1ff81a3 lsp: check stale context in hover/signature callback #38724
- fe09c71c34 lsp: send didOpen on save to all clients+groups #37454
- 34cbfeca9c lsp: show CompletionItem.detail in info popup #38904
- 6250019537 lsp: show_document can't position cursor past EOL in insert-mode #38566
- 5907307662 lsp: skip codelens refresh redraw for deleted buffer #39193
- 9aadbed770 lua: make `vim._with()` work with `buf=0` and `win=0` context #39151
- 0039785724 lua: make vim.deep_equal cycle-safe
- 53038d2c38 lua: not obvious which _meta/ files are generated #39035
- f2a5c90cbc marks: adjust marks when unloading "nofile" buffer #39118
- a358b9be64 message: flush messages before "empty" msg_show #38854
- 1b36b75832 messages: truncate warning messages only in display (#38901)
- f7e3cf127c move: avoid integer overflow with large 'scrolloff' (#39251)
- 452a9b895c normal: pass count to 'keywordprg' as arg1 #38965
- 4d4e196447 options: default 'titlestring' shows CWD #39233
- 6583833ee2 pack: GIT_DIR/GIT_WORK_TREE env vars may interfere #39279
- df3d7e36d0 pack: make 'stash' call compatible with older Git #38679
- 1a5d41a48f pack: more advice for out-of-sync lockfile #38931
- ca0e3818c0 pum: crash with 'pumborder' and wide item (#38852)
- 38be4475c6 pum: info float width grows on reselect with 'linebreak' #38680
- eee2d10fd2 rpc: trigger UILeave earlier on channel close (#38846)
- 898ccbc68a smoothscroll: crash when resizing to textoff with showbreak
- 5ac95da8ea statusline: no window-local highlights for last line 'ruler' #38879
- ffb0ebb752 substitute: don't crash with very large count (#39272)
- abcc5342ee terminal: do not reflow altscreen on resize #39024
- d3ef77639a terminal: forward streamed bracketed paste properly (#39152)
- 111c7f434e treesitter: TSNode:id() with NUL byte causes unreliable select()  #39134
- 2ea9ed32e4 treesitter: restore highlighting on 32 bit systems #39091
- c294bc397b tui: check background color on resume
- b08c289a45 ui2: dialog paging is inconsistent #39128
- c6b5eb30de ui2: don't dismiss expanded messages for non-typed key #39247
- c6578ea28b vim.filetype: match() fails if g:ft_ignore_pat is not defined #39158
- a15e27fbcf vim.pos: Range:intersect() drops `buf` #38898

VIM PATCHES
--------------------------------------------------------------------------------
- 27214645f6 450895d: runtime(make): fix wrong highlighting with $ inside double quotes (#39177)
- 891c6c9150 8.2.2440: documentation based on patches is outdated (#39144)
- e203257fff 9.2.0331: spellfile: stack buffer overflows in spell file generation (#38948)
- 8ba79b4601 9.2.0345: Wrong autoformatting with 'autocomplete' (#39060)
- 9c11229832 9.2.0357: [security]: command injection via backticks in tag files (#39102)
- 5153006747 9.2.0364: tests: test_smoothscroll_textoff_showbreak() fails
- 187a34d59b 9.2.0380: completion: a few issues in completion code (#39264)
- 15d824e5d6 9.2.0385: Integer overflow with "ze" and large 'sidescrolloff' (#39289)
- 19a54ad964 e666597: runtime(doc): make window option description a bit less vague (#39173)
- d672f0f494 partial:9.2.0348: potential buffer underrun when setting statusline like option (#39063)

OTHER
--------------------------------------------------------------------------------
- ed47b27ad4 feat(api): rename buffer to buf (#38899)
- 570d8fd128 feat(api): rename buffer to buf in retval #39015
- 15991abaa7 feat(events): trigger MarkSet autocmd in :delmarks (#39218)
- b6a3ad3979 fix(ui2): ensure msg window is visible after closing tab (#39245)
- 099489b985 refactor: update usages of deprecated "buffer" param #39090
- 55d3d1bbeb test(lsp): extract buf/util parts from lsp_spec.lua (#39170)
2026-04-22 16:05:55 +02:00
..
2026-01-07 08:11:42 +08:00
2026-03-24 00:14:55 +01:00
2026-04-22 16:05:55 +02:00