Git log: commit 3f17539bb601a226ab5164c11766b5a8b7d4b8e1
Author: James McCoy <jamessan@debian.org>
Date: Fri Jul 10 01:38:04 2026 -0400
blhc: Ignore dh_auto_configure output
Signed-off-by: James McCoy <jamessan@debian.org>
commit bf2337bb9a36a13b134e42facc238820d7605525
Author: James McCoy <jamessan@debian.org>
Date: Thu Jul 9 22:48:55 2026 -0400
Commit patch queue (exported by git-debrebase)
[git-debrebase make-patches: export and commit patches]
commit c761e7c76210419596c4bcdd20e068c719d8ffde
Merge: 3928774 cc75c22
Author: James McCoy <jamessan@debian.org>
Date: Thu Jul 9 22:48:39 2026 -0400
Declare fast forward / record previous work
[git-debrebase pseudomerge: quick]
commit 39287749ca1f98c64172526ec1f750aea96474da
Author: James McCoy <jamessan@debian.org>
Date: Mon Mar 10 22:45:00 2025 -0400
Skip flaky tests in test_stat.vim
Test_checktime and Test_autoread_file_deleted are particularly flaky on s390x, so skip them to avoid the noise.
Forwarded: not-needed
Signed-off-by: James McCoy <jamessan@debian.org>
commit 8bb88ed59f5f4be414d9eb634aecfe7838cd1da8
Author: James McCoy <jamessan@debian.org>
Date: Thu Jul 9 22:19:21 2026 -0400
Update changelog for new upstream 0.12.4
[git-debrebase changelog: new upstream 0.12.4]
commit 3afd1c265e0e566bd8d33fe977509bebedaeb78a
Merge: 8ba9126 68ea43c
Author: James McCoy <jamessan@debian.org>
Date: Thu Jul 9 22:19:21 2026 -0400
Update to upstream 0.12.4
[git-debrebase anchor: new upstream 0.12.4, merge]
commit 8ba9126db9cd6391d862339e71642bd0147510c7
Author: James McCoy <jamessan@debian.org>
Date: Thu Jun 25 16:20:56 2026 -0400
release neovim 0.12.3-4
Signed-off-by: James McCoy <jamessan@debian.org>
commit 9d8dd9a64ec939485e5d4b2f0d633b46555269f6
Author: James McCoy <jamessan@debian.org>
Date: Thu Jun 25 16:19:55 2026 -0400
Skip test which fails when ::1 is not available
Signed-off-by: James McCoy <jamessan@debian.org>
commit a3f12f62469073f5d5fb2dcf7c41767b084986c6
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 24 14:53:56 2026 -0400
d/clean: Remove runtime/doc/tags
Signed-off-by: James McCoy <jamessan@debian.org>
commit 007e955ed22f0a341294595130ccc852b3a4b143
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 24 14:53:24 2026 -0400
Skip more tests that are susceptible to timing issues
Signed-off-by: James McCoy <jamessan@debian.org>
commit 120c0b69943c2d199cbc1f93a6d4ae7d76c93892
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 24 06:40:13 2026 -0400
Start new changelog
Signed-off-by: James McCoy <jamessan@debian.org>
commit 93d057d89c996c1ccac776ec896fe1249052326b
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 23 17:43:28 2026 -0400
release neovim version 0.12.3-3
Signed-off-by: James McCoy <jamessan@debian.org>
commit 1fee08debe204ca4de3a8ba225d97843bccd8290
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 23 17:40:41 2026 -0400
Double the test timeout again for risc64
Signed-off-by: James McCoy <jamessan@debian.org>
commit 8926eccca520678d81c6cd3623c9d6e6f3e02a59
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 23 17:27:43 2026 -0400
Start new changelog
Signed-off-by: James McCoy <jamessan@debian.org>
commit 9ef8cf0350174de69d2c0ceaaf1b4d6717425a9a
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 17 07:12:43 2026 -0400
release neovim version 0.12.3-2
Signed-off-by: James McCoy <jamessan@debian.org>
commit c9ad456785c8ac93ac0a6e712329e9a3da442234
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 16 21:42:53 2026 -0400
Switch to debhelper compat level 14
Signed-off-by: James McCoy <jamessan@debian.org>
commit b9a457d9f45f63da97cc45f583e969e645935694
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 16 21:40:19 2026 -0400
Double test timeout on slower architectures
Signed-off-by: James McCoy <jamessan@debian.org>
commit eb5c36f6a0c6f0b084a524ec1514476469653f1b
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 14 16:35:20 2026 -0400
Add retroactive mention of CVE-2026-11487/#1139999 to 0.12.3-1 changelog entry
Signed-off-by: James McCoy <jamessan@debian.org>
commit 47ddab3e45ebca4f9ef884147d72394723538a77
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 14 16:34:20 2026 -0400
Start new changelog
Signed-off-by: James McCoy <jamessan@debian.org>
commit 8b6ce343c1a45830b97efe36736678d0713a0e62
Author: James McCoy <jamessan@debian.org>
Date: Sat Jun 13 20:40:31 2026 -0400
release neovim 0.12.3-1
Signed-off-by: James McCoy <jamessan@debian.org>
commit cc75c228bbcea0ed07c220929b1e32f18e596d57
Author: James McCoy <jamessan@debian.org>
Date: Thu Jun 25 16:20:56 2026 -0400
release neovim 0.12.3-4
Signed-off-by: James McCoy <jamessan@debian.org>
commit c2a540b9bc92dd4f50f3141eb265d8f1ec023f53
Author: James McCoy <jamessan@debian.org>
Date: Thu Jun 25 16:19:55 2026 -0400
Skip test which fails when ::1 is not available
Signed-off-by: James McCoy <jamessan@debian.org>
commit 70eb79f0c605c07dc6b78faba51fa67b4ad4caf4
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 24 14:53:56 2026 -0400
d/clean: Remove runtime/doc/tags
Signed-off-by: James McCoy <jamessan@debian.org>
commit 1ff147a30cf0fe018a563c3cf075ad38f625ea5b
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 24 14:53:24 2026 -0400
Skip more tests that are susceptible to timing issues
Signed-off-by: James McCoy <jamessan@debian.org>
commit f4ca479dd9259edf9b0931db98e9b8b9d6b5c56a
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 24 06:40:13 2026 -0400
Start new changelog
Signed-off-by: James McCoy <jamessan@debian.org>
commit df0bda05be6223896a3f9d00eefc850f43d51e2a
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 23 17:43:28 2026 -0400
release neovim version 0.12.3-3
Signed-off-by: James McCoy <jamessan@debian.org>
commit 6297e9e11b007ed2411450941707dea4f2dea912
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 23 17:40:41 2026 -0400
Double the test timeout again for risc64
Signed-off-by: James McCoy <jamessan@debian.org>
commit f13e26b0c0cb603e4a687392256db70a7fdb95e4
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 23 17:27:43 2026 -0400
Start new changelog
Signed-off-by: James McCoy <jamessan@debian.org>
commit d1c4ac6b03914a486f7f03132a58c04ac9cc6ae8
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 17 07:12:43 2026 -0400
release neovim version 0.12.3-2
Signed-off-by: James McCoy <jamessan@debian.org>
commit e1d07b851d32f1f4f71f357b18ec2cd0a07e17f5
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 16 21:42:53 2026 -0400
Switch to debhelper compat level 14
Signed-off-by: James McCoy <jamessan@debian.org>
commit 2a50155c452bbd1ab2b00d7c971c2fdd0ef8c9db
Author: James McCoy <jamessan@debian.org>
Date: Tue Jun 16 21:40:19 2026 -0400
Double test timeout on slower architectures
Signed-off-by: James McCoy <jamessan@debian.org>
commit d2fb1b80a4d62f925c50ce27a82c4879948e5c4c
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 14 19:11:45 2026 -0400
Commit patch queue (exported by git-debrebase)
[git-debrebase make-patches: export and commit patches]
commit 29b1fe23c957580b979740d46b492d3f11d7889d
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 14 16:35:20 2026 -0400
Add retroactive mention of CVE-2026-11487/#1139999 to 0.12.3-1 changelog entry
Signed-off-by: James McCoy <jamessan@debian.org>
commit 8e09262ff5bbb240f6d1b56d079b8238788fde4e
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 14 16:34:20 2026 -0400
Start new changelog
Signed-off-by: James McCoy <jamessan@debian.org>
commit c0feca4b999375bb315999823b48572572662a3f
Author: James McCoy <jamessan@debian.org>
Date: Sat Jun 13 20:40:31 2026 -0400
release neovim 0.12.3-1
Signed-off-by: James McCoy <jamessan@debian.org>
commit dc23bc1bd1bf90d12ea1ab299707d6334b1dc7fc
Merge: f11c68c 5770e51
Author: James McCoy <jamessan@debian.org>
Date: Sat Jun 13 20:10:00 2026 -0400
Declare fast forward / record previous work
[git-debrebase pseudomerge: quick]
commit f11c68c771f29b85975a0881d45b470a4c9c7421
Author: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed May 20 15:03:45 2026 +0200
fix(test): support multiple --filter-out #39885
fixes regression introduced in commit 55f9c2136e52 (test: replace busted
with local harness)
(cherry picked from commit 584dfdb76d1c2fdd249ff1e817cf09001b365814)
Signed-off-by: James McCoy <jamessan@debian.org>
commit 05395cde992c109c265de47ef631bc8f6c91502d
Author: James McCoy <jamessan@debian.org>
Date: Fri Jun 12 17:07:49 2026 -0400
Update changelog for new upstream 0.12.3
[git-debrebase changelog: new upstream 0.12.3]
commit 3b85a0e939a4bd55d4c2e1d2242f6f07ac04f93d
Author: James McCoy <jamessan@debian.org>
Date: Mon Mar 10 22:45:00 2025 -0400
Skip flaky tests in test_stat.vim
Test_checktime and Test_autoread_file_deleted are particularly flaky on s390x, so skip them to avoid the noise.
Forwarded: not-needed
Signed-off-by: James McCoy <jamessan@debian.org>
commit 00f2c7ac4788e3727e7b08a6f04bbb9b1f340c19
Merge: 081f836 35b5744
Author: James McCoy <jamessan@debian.org>
Date: Fri Jun 12 17:07:49 2026 -0400
Update to upstream 0.12.3
[git-debrebase anchor: new upstream 0.12.3, merge]
commit 081f836fee8052f203062edc39433a622b11b11e
Author: James McCoy <jamessan@debian.org>
Date: Mon Jun 8 20:34:33 2026 -0400
release neovim version 0.12.2-2
Signed-off-by: James McCoy <jamessan@debian.org>
commit df2dad2980f7b002c94815da52273112795bc257
Author: James McCoy <jamessan@debian.org>
Date: Mon Jun 8 18:47:20 2026 -0400
Install bash and zsh completions for nvim
Signed-off-by: James McCoy <jamessan@debian.org>
commit 94f5520108e6920ba7dfd37cd07648f583538001
Author: James McCoy <jamessan@debian.org>
Date: Mon Jun 8 18:33:47 2026 -0400
Remove lua-busted test dependency
Upstream switched from busted to their own test runner.
Signed-off-by: James McCoy <jamessan@debian.org>
commit c406d81d4476bc0be1ba66e3cb7ac069b195c190
Author: James McCoy <jamessan@debian.org>
Date: Mon Jun 8 18:30:51 2026 -0400
Remove lua-inspect test dependency
Upstream has vendored & modified lua-inspect as runtime/lua/vim/inspect.lua
Signed-off-by: James McCoy <jamessan@debian.org>
commit 25c95e74727feb95cba7547e4120f240aef12fb7
Author: James McCoy <jamessan@debian.org>
Date: Mon Jun 8 16:33:55 2026 -0400
Remove loong64 from LuaJIT architectures, since luajit crashes during neovim build
Signed-off-by: James McCoy <jamessan@debian.org>
commit b71c62eb57b3b826db11e5490f4b6d93af3ad03b
Author: James McCoy <jamessan@debian.org>
Date: Mon Jun 8 16:16:02 2026 -0400
Start new changelog
Signed-off-by: James McCoy <jamessan@debian.org>
commit 72ce7d8714be78ab865efdd3822930d029b2a500
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 7 22:25:29 2026 -0400
release neovim version 0.12.2-1
Signed-off-by: James McCoy <jamessan@debian.org>
commit a6857ce73f15d310beada26ae818118e7e67a854
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 7 22:22:21 2026 -0400
Build with LuaJIT on riscv64
Signed-off-by: James McCoy <jamessan@debian.org>
commit 9f8d7766c71b1c653ecba859db8851f6bf8d04fd
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 7 22:17:28 2026 -0400
d/copyright: Fix syntax error for xxd stanza
Gbp-Dch: ignore
Signed-off-by: James McCoy <jamessan@debian.org>
commit 40e34c86a6cc3e75e7d6c30d59ecd2d83c77795a
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 7 21:43:38 2026 -0400
Declare compliance with Policy 4.7.4
Signed-off-by: James McCoy <jamessan@debian.org>
commit 14d4b4b0f7576098bdd478987907693be50ea99b
Author: James McCoy <jamessan@debian.org>
Date: Sun Jun 7 21:41:05 2026 -0400
Update debian/copyright for v0.12.2
Gbp-Dch: ignore
Signed-off-by: James McCoy <jamessan@debian.org>
commit d6a17af575ac16bebc353bc02660b3eeea050c6c
Author: James McCoy <jamessan@debian.org>
Date: Fri Jun 5 08:05:23 2026 -0400
Remove shell-script-fails-syntax-check override
Upstream no longer ships the indent tests.
Signed-off-by: James McCoy <jamessan@debian.org>
commit 435985d6a6682d87fa2c236374f645da93e17143
Author: James McCoy <jamessan@debian.org>
Date: Thu Jun 4 13:54:04 2026 -0400
Bump tree-sitter Build-Depends to 0.26
Signed-off-by: James McCoy <jamessan@debian.org>
commit 827bee13c6c1e9822e92a1c835d902f2c7e5a749
Author: James McCoy <jamessan@debian.org>
Date: Thu Jun 4 10:01:57 2026 -0400
Skip test which does not expect certain Lua 5.2 functions to be present in LuaJIT
Signed-off-by: James McCoy <jamessan@debian.org>
commit 3347eddb6637be8af85de4dec8378723e7354aae
Author: James McCoy <jamessan@debian.org>
Date: Thu Jun 4 07:14:58 2026 -0400
Add git as a test dependency
Signed-off-by: James McCoy <jamessan@debian.org>
commit 314a76e9c3a64e1e9980dfddcc388a82cf33bf42
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 3 23:16:33 2026 -0400
Switch from $BUSTED_ARGS to $TEST_ARGS run running tests
Signed-off-by: James McCoy <jamessan@debian.org>
commit 2fd888a10f63c5df0ca340b00945fa4424eb2827
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 3 20:26:31 2026 -0400
Enable building with luajit on loong64, powerpc, and ppc64el
Signed-off-by: James McCoy <jamessan@debian.org>
commit 67131570347677a469904b12606ebf611f4ba542
Author: James McCoy <jamessan@debian.org>
Date: Wed Jun 3 20:12:03 2026 -0400
Bump tree-sitter parser versions to match upstream
Signed-off-by: James McCoy <jamessan@debian.org>
commit 35b57441b0bac035dcfc591830e82abc560720b1
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Thu Jun 11 00:06:57 2026 +0200
NVIM v0.12.3
Following is a list of commits (fixes/features only) in this release.
See `:help news` in Nvim for release notes.
BREAKING
--------------------------------------------------------------------------------
- f54f566bf830 diagnostic: deprecate `format` as a table
FEATURES
--------------------------------------------------------------------------------
- fd1b193d518b :restart: v:starttime, v:exitreason #39319
- c407e3e67b60 eval: treat Lua string as "blob" in writefile() #39098
- a0dcdcd8a0e9 treesitter: provide select()
- 49efe692f36e vim.pos: accept buf=0 for current buf #39414
- ad27075c8d54 vim.pos: pos:to_offset(), pos.offset() (#39639)
- b05675bcccba `opts.scope` in `vim.ui.input` (#39906)
PERFORMANCE
--------------------------------------------------------------------------------
- 96d5dd4107e0 vim.pos: use numeric index internally #39447
FIXES
--------------------------------------------------------------------------------
- e230ff0439b0 vim._with may silence all cmdline-errors #34301
- 781c43ea051e api: adjust Visual position after nvim_buf_set_text #30690
- 5b8268356ac3 api: don't update 'title' when renaming non-curbuf #39743
- 4df16ecdb9d4 api: `LuaRef` leak in `nvim_set_keymap` on LHS too long (>=66 bytes) (#39376)
- e5d6d2e769cc api: leak `preview` callback `LuaRef` in `nvim_create_user_command` (#39377)
- f0baa1804384 channel: stack-buffer-overflow with exit during connection (#39387)
- d9baaf7da16e ci: generate more data to stress output throttling test #39577
- f62ce1a42fda difftool: handle filenames containing spaces #39740
- fb56d5003285 eval: writestring() handling of null #39328
- 822778f7e56b excmd: use realtime for v:starttime, :uptime #39425
- 8fccb26cd3be fold: virtual lines duplicate foldopen (#39891)
- 10695f44afe1 health: set 'tags' for help filetype #39742
- e069022215d5 help: fix CTRL character issue for :help {subject} #39537
- 445fe8a6b7af lsp: calc correct screen_width when opts.relative == 'editor' (#39977)
- 93dc301781ad lsp: callHierarchy/outgoingCalls ranges are relative to caller, not callee #39336
- 5e6c8d4edf61 lsp: check window is still valid after async request #39396
- 8919b02eba50 lsp: dynamic registration for off-spec method #39544
- c4d3a3d3632c lsp: filter code_action diagnostics to the cursor #38988
- 27d01f2dbbc3 lsp: handle null id in JSON-RPC responses
- aedbae4ab640 lsp: handle self-mapped methods in supports_method #39383
- 0bd6e62509b8 lsp: malformed edit if apply_text_edits() is called twice (#39347)
- 378f5f49b3c2 lsp: show meaningful error on invalid completion response (#39476)
- c9ca59ad282f lsp: util.lua attempt to concatenate userdata #39510
- e67f9c58534b lua: avoid `__index` when deciding if a table is a list #39556
- 731f9743e2ec lua: don't strip debuginfo in precompile module #39191
- b0bfce290fb7 lua: fields of `nvim.spellfile.Opts` are optional #39902
- 34bf0472ab0b marks: don't use spell decorations from other lines (#39441)
- d1cf3ab4c36b marks: read from the correct variable in conceal_lines mark collection (#39991)
- 33b6b0bfe5bc messages: avoid recursive rtp build due to msg_show #39888
- d725ead5ecdb messages: reset redirection message column after :echon #39472
- b490fba78682 mouse: mouse=n should not adjust visual selection
- 17ddfde13197 net: `:edit <uri>` should set buftype=nofile #39915
- dd95e434e398 pack: only use tags that strictly comply with semver spec #39342
- 585c93204fcc path: `nvim_get_runtime_file` fails on DOS 8.3 filename #40144
- 42f6c1c44371 prompt: handle multi-element lists in prompt_appendbuf #39550
- 915880d252fe shada: bdelete'd buffers not stored in oldfiles #39070
- e4a9bd55b26c shada: set correct buffer number for local marks on read #39712
- 2389cf2e39aa shell: preserve CR when `:!` outputs to binary-mode buffer #39558
- 98098d8466ba startup: emitting useless OptionSet
- ae9f7accdd82 statusline: no cmdline ruler for autocommand window
- 39e8c584d5b5 terminal: memory leak in pending TermRequest StringBuilder #39333
- fa69cac7e315 terminal: memory leak when pasting '=' register (#39738)
- 3a3405d964a4 test: only test for unibilium if a valid compilation string exists
- dcf9e8a98e57 treesitter: crash in ts_parser_delete after gc #39497
- 4f22640b8682 treesitter: get_node_text() inconsistent trailing newline #39409
- 654c964d1aac trust: hash unchanged empty buffers as empty files #39027
- 70f22713a17f ui2: entering the pager fails if `<ESC>` is remapped to `:fclose` (#39462)
- 13041a067ec6 ui2: error E518 when typing "vim:" in cmdline #39599
- a0ee5811b121 unittest: preprocess failure when __typeof declarations present #40145
- b9d39f5bb2c8 vim.fs: fs.dir() may return nil "type" on some filesystems #39749
- be4e7cfd6a6e vim.hl: range(0,…) highlight not cleared after buffer-switch #40130
- 79fd0b66553e vim.range: empty ranges semantics vs regular ranges #39474
- 2ec758f403bd vim.range: validate arguments on all cases #39415
- f83e0dcaf8cf vim.secure: read() command injection vulnerability #39918
BUILD
--------------------------------------------------------------------------------
- a612ada9842e version bump
- b1b489b316f1 docs: sort/lint class fields and keysets
- 4f6c711fc0b8 test: declaration specifier expected near '_Static_assert' #39788
VIM PATCHES
--------------------------------------------------------------------------------
- 964e797fdf22 9.2.0395: tests: Test_backupskip() may read from $HOME (#39417)
- b01394039125 9.2.0435: [security]: backticks in 'path' may cause shell execution on completion
- f9f259628808 9.2.0436: Buffer overflow when parsing overlong errorformat lines (#39578)
- 0aa77cb78ca8 9.2.0443: GUI: cancelling save dialog overwrites or discards unnamed buffer (#39617)
- 15a58bb02a9e 9.2.0444: Cannot set 'path' option via modeline
- 03af1ec93196 9.2.0450: [security]: heap buffer overflow in spellfile.c read_compound() (#39660)
- 2902ec05416b 9.2.0458: Crash with invalid shellredir/shellpipe value (#39691)
- 647b6be48934 9.2.0461: Corrupted undofile causes use-after-free (#39707)
- c8e0af85e0fe 9.2.0500: filetype: some html files wrongly recognized as htmlangular (#39880)
- d9b8bac43541 9.2.0508: completion: cannot complete user cmd :K with 'ignorecase' (#39944)
- 15a3318e134d 9.2.0513: [security]: memory safety issues in spellfile.c (#39960)
- cc1982bd065d 9.2.0517: quickfix: can set quickfixtextfunc in restricted/sandbox mode (#39970)
- dfd6cd477fc3 bfebd12: runtime(javacc): Check for existence of javaFuncDef syn group before clearing it (#39731)
- a76bcbe3b826 partial:9.2.0315: missing bound-checks (#39334)
commit 585c93204fcc98bd2e3bd4d8b37c278dd1ca5fdf
Author: tao <2471314@gmail.com>
Date: Wed Jun 10 19:46:55 2026 +0800
fix(path): `nvim_get_runtime_file` fails on DOS 8.3 filename #40144
Problem:
stdpath() may return a DOS 8.3 "shortened" filename, because Windows
truncates some long usernames into `6ch~N` names. Then features such
as `nvim_get_runtime_file` fail to find the file.
Analysis:
When expanding an 8.3 filename path like `C:/Users/ADMINI~1/AppData/*`,
we treat `~` as a special character and first check whether a directory
named `ADMINI~1` exists under `Users`. Since no such directory actually
exists, the expansion fails.
Solution:
Treat `~` as a literal character in `do_path_expand`. Since the `~/`
case is already handled in `gen_expand_wildcards`, any remaining `~` is
just a literal character and will later be escaped to `\~` by
`file_pat_to_reg_pat` if needed.
(cherry picked from commit 7bf2ab4b87e08807ca9fa1901ac915427428a928)
commit a0ee5811b12116a7b187ab50817d95b263ac1315
Author: James McCoy <jamessan@jamessan.com>
Date: Mon Jun 8 18:28:54 2026 -0400
fix(unittest): preprocess failure when __typeof declarations present #40145
On Debian's ppc64el build, the unittests are failing during preprocess
with
test/unit/testutil.lua:298: declaration specifier expected near '__typeof' at line 298
test/unit/testutil.lua:282: assertion failed!
Running with NVIM_TEST_PRINT_I set shows these lines as being the
problem when trying to preprocess test/unit/fixtures/posix.h.
690 extern __typeof (strtold) strtold ;
691 extern __typeof (strtold_l) strtold_l ;
692 extern __typeof (strfroml) strfroml ;
693 extern __typeof (qecvt) qecvt ;
694 extern __typeof (qfcvt) qfcvt ;
695 extern __typeof (qgcvt) qgcvt ;
696 extern __typeof (qecvt_r) qecvt_r ;
697 extern __typeof (qfcvt_r) qfcvt_r ;
(cherry picked from commit 6c2f2b73eb1a7e3766c07762dbfce6a53706531c)
commit be4e7cfd6a6eb772c223bbb21b0aa4610b64ef9d
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Sat Jun 6 06:26:12 2026 -0400
fix(vim.hl): range(0,…) highlight not cleared after buffer-switch #40130
Problem:
When `vim.hl.range(0, …, { timeout = N })` is called, the deferred
`range_hl_clear` captures `buf=0`, which resolves to an arbitrary
"current buffer" at timeout. This may cause a stale highlight that never
gets cleared.
Solution:
Resolve `buf=0` explicitly, before `range_hl_clear` captures it.
(cherry picked from commit ec7dab077bf6bf53794f2bc42010c977687094a6)
commit 3a3405d964a45f58571482ae4f724ab6ae8e03a2
Author: James McCoy <jamessan@jamessan.com>
Date: Thu Jun 4 15:43:21 2026 -0400
fix(test): only test for unibilium if a valid compilation string exists
Builds with -DNDEBUG do not contain the compilation string, so the test
will fail even if nvim is built with unibilium.
Similarly, zig builds only report "Compilation: TODO", so they also fail
the test even when build with unibilium
Detect both scenarios and skip the test, rather than failing it.
(cherry picked from commit b7fd8cbd2be7aa732c9458ab99701aed9cf994e0)
commit 964e797fdf228c09a134a135afa4a1dd993fb3fe
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sun Apr 26 16:59:32 2026 +0800
vim-patch:9.2.0395: tests: Test_backupskip() may read from $HOME (#39417)
Problem: tests: Test_backupskip() may read from $HOME
Solution: Set $HOME to an empty value, use --clean
(D Ben Knoble)
Even though we unset HOME, we can see via scriptnames that user files
are still sourced! One of my installed plugins warns when not compiled
with +python3, so this test has a "press Enter" prompt.
Use `--clean` like most other GetVimProg()'s do to fix it. Some tests
use `system()` instead, but that turns this test into a failure rather
than passing; I'm not sure why other tests don't suffer from this.
To prove to ourselves, we can use code like this:
diff --git i/src/testdir/test_options.vim w/src/testdir/test_options.vim
index a408e20e1..044364a54 100644
--- i/src/testdir/test_options.vim
+++ w/src/testdir/test_options.vim
@@ -1179,6 +1179,7 @@ func Test_backupskip()
" P_NODUP). Run this in a separate instance and write v:errors in a file,
" so that we see what happens on startup.
let after =<< trim [CODE]
+ call writefile([execute('scriptnames')], 'foo')
let bsklist = split(&backupskip, ',')
call assert_equal(uniq(copy(bsklist)), bsklist)
call writefile(['errors:'] + v:errors, 'Xtestout')
@@ -1196,7 +1197,7 @@ func Test_backupskip()
" unset $HOME, so that it won't try to read init files
let saveenv['HOME'] = getenv("HOME")
call setenv('HOME', v:null)
- exe 'silent !' . cmd
+ exe 'silent !' . cmd .. ' --cmd "echo &rtp"'
call assert_equal(['errors:'], readfile('Xtestout'))
" restore environment variables
Here, that causes "foo" to include a bunch of files under ~/.vim. I'm
not sure why this happens, but lets paper over it for the test.
We can also tell that (orthogonal to --clean) setting HOME='' works too.
Let's do that in addition since unsetting HOME isn't quite enough.
closes: vim/vim#20051
https://github.com/vim/vim/commit/8d9c383aaff17f5991f739a6d0f06017022b2198
Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
(cherry picked from commit 0039a13fe4c24958685b2dba28f0442949e46b14)
commit b9d39f5bb2c84d7e8c67f82f1cca18b9d7c310f3
Author: abdulahmoda <abahmoda@qnx.com>
Date: Fri May 29 14:24:22 2026 -0400
fix(vim.fs): fs.dir() may return nil "type" on some filesystems #39749
Problem:
Currently, only some filesystems (Btrfs, ext2, ext3, ext4) have full
support of accessing the `dirent` entry-type. On other filesystems,
`uv.fs_scandir_next` may return `nil` for an existing but unsupported
entry-type.
This means consumers (such as `fs.dir()`), cannot know if `nil` means
"non-existent" or "unsupported".
Solution:
Fall back to `uv.fs_lstat` when `etype` is `nil`; return "unknown" if it
fails.
(cherry picked from commit 4b5f026ac924d8f3d8efb4d66b00c2e3ebcf6757)
commit 8fac963f65100ab516112047797d8d30024a8520
Author: atusy <30277794+atusy@users.noreply.github.com>
Date: Fri May 29 18:51:44 2026 +0900
docs(treesitter): describe pattern_id of captures
(cherry picked from commit ac352a6df62254666fdeb59764294237fd743f89)
commit 445fe8a6b7af7cfe61dac0ab4e152c2c23882212
Author: acehinnnqru <acehinnnqru@gmail.com>
Date: Mon May 25 06:00:53 2026 +0800
fix(lsp): calc correct screen_width when opts.relative == 'editor' (#39977)
(cherry picked from commit a9d7cbd722e0142fee69436fa3bbb6d18b8d3c27)
commit d1cf3ab4c36b3633d26ff6de3fc9857b1f9b1312
Author: Michał Dominiak <griwes@griwes.info>
Date: Mon May 25 04:19:26 2026 -0500
fix(marks): read from the correct variable in conceal_lines mark collection (#39991)
Problem: Not using current mark for namespace check during iteration for conceal_line marks.
Solution: Use the appropriate mark variable for namespace check.
(cherry picked from commit 70792aa6e4f8194b29bfb86e63a5b46240122f3c)
commit cc1982bd065d7beda6cd6ee113d29719b125f2ef
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sun May 24 08:49:02 2026 +0800
vim-patch:9.2.0517: quickfix: can set quickfixtextfunc in restricted/sandbox mode (#39970)
Problem: quickfix: can set quickfixtextfunc in restricted/sandbox mode
(tacdm)
Solution: Disallow setting the quickfixtextfunc option from a sandbox
and restricted mode (Yegappan Lakshmanan).
closes: vim/vim#20305
https://github.com/vim/vim/commit/cb8510d4703c13b34e178067ffe48a24c9a3ad32
Co-Authored-by: tacdm
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
(cherry picked from commit 1a064abb0a73401b98b81463e89e2f2da8499baf)
commit 15a3318e134d6dc1dec4a7edf3c0b21efc7be000
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat May 23 08:51:47 2026 +0800
vim-patch:9.2.0513: [security]: memory safety issues in spellfile.c (#39960)
Problem: [security]: memory safety issues in spellfile.c
(tacdm)
Solution: Add recursion limit to read_tree_node(), add length limit
check in tree_count_words(), use alloc_clear() in
spell_read_tree().
Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-3h95-3962-mmvf
https://github.com/vim/vim/commit/25e4e46c584840806b45da20edf8219cf19801a2
Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
(cherry picked from commit 7a1bad27ca690e83496c900609875d3e6d041635)
commit ae9f7accdd82387f817153cbc83a377310e9b210
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Fri May 22 15:08:33 2026 +0200
fix(statusline): no cmdline ruler for autocommand window
Problem: Cmdline ruler may be drawn for autocommand window.
Solution: Check that the current window is not an autocommand window
when deciding whether to draw the ruler.
(cherry picked from commit b58ce1ab792e64c8d0582e166ecc8c1f4a34d8de)
commit d9b8bac435411d66e8f17336bdb5f6a711a9cb76
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri May 22 08:07:55 2026 +0800
vim-patch:9.2.0508: completion: cannot complete user cmd :K with 'ignorecase' (#39944)
Problem: completion: cannot complete user cmd :K with 'ignorecase'
(rendcrx)
Solution: Skip the short-circuit when 'ignorecase' is set
(Yasuhiro Matsumoto)
The set_cmd_index() short-circuit for the :k command treats ":k<X>" as
":k {X}" (mark argument), which makes ":kz<Tab>" never reach the
command-name expansion path. With 'ignorecase' the same prefix on other
letters (":gz<Tab>") completes a user command like :Gz, so the result is
inconsistent. Skip the short-circuit when 'ignorecase' is set; default
behaviour is preserved so the existing :k tests still pass.
fixes: vim/vim#20241
closes: vim/vim#20275
https://github.com/vim/vim/commit/b54e57ee54f0a4e6eac74b071071a9d85326de3a
Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
(cherry picked from commit dee602e659b3da167b63d0ae74df940dc7c111b4)
commit f83e0dcaf8cf18de94828341b0a1a61a86c75baf
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Wed May 20 15:27:43 2026 -0400
fix(vim.secure): read() command injection vulnerability #39918
Problem:
Malicious filename can execute code because of ":" cmdline expansion.
Solution:
Use `fnameescape()`.
fix https://github.com/neovim/neovim/issues/39914
(cherry picked from commit 799cbfff855c72282a54646f3e5e1b71b0da223c)
commit 17ddfde131978e50d49b50a8ff7e60240e5744b2
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Wed May 20 12:36:28 2026 -0400
fix(net): `:edit <uri>` should set buftype=nofile #39915
(cherry picked from commit 24e00f2844bc30c1b7f9fd5f05de80a35d39b1d7)
commit 33b6b0bfe5bc47dfa19b327310a6827206078a87
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Wed May 20 14:13:41 2026 +0200
fix(messages): avoid recursive rtp build due to msg_show #39888
Problem: If there are pending messages when starting to build the
runtime search path, a msg_show callback may invoke
runtime_search_path_validate() recursively.
Solution: Avoid msg_show callback by ensuring messages are flushed.
(cherry picked from commit 53da0c5060b821cfc2948a2c2ac0c6662a1c26d5)
commit 8fccb26cd3beccaf2f9664a928b99a8574f1cbd3
Author: Matei Stroia <stroiamatei@gmail.com>
Date: Wed May 20 14:56:39 2026 +0300
fix(fold): virtual lines duplicate foldopen (#39891)
Problem:
Virtual lines above a line where a fold starts show `foldopen` in
`foldcolumn`.
Solution:
Check if the line below the virtual one is inside a fold that starts
higher up or if it's the start of a fold. In the latter case, don't show
anything in `foldcolumn` for the virtual line.
refactor: lint
(cherry picked from commit 526ae1cc1b432d7f1d9a412be86ac28c809f77eb)
commit b490fba78682c525bc0835a4bb6f3a854ddcd342
Author: Nick Krichevsky <nick@ollien.com>
Date: Sun Apr 26 14:59:28 2026 -0400
fix(mouse): mouse=n should not adjust visual selection
Problem:
When mouse=n is set
- Dragging the mouse enters visual mode, and then stops listening for
mouse events.
- Double/Triple/Quad clicking performs selections.
- Clicking in visual mode moves the cursor (though not through the TUI).
Solution:
Explicitly gate mouse actions that affect visual mode with a check for
MOUSE_VISUAL. This matches the behavior described in :help mouse.
> If enabled for "v" (Visual mode) then double-click selects word-wise,
> triple-click makes it line-wise, and quadruple-click makes it
> rectangular block-wise.
(cherry picked from commit 24f7182390d4720433ced750e9e027845aef8eff)
commit b05675bcccba222ee8a644cbd0b366f1c8d10241
Author: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Date: Wed May 20 11:44:03 2026 +0300
backport: `opts.scope` in `vim.ui.input` (#39906)
feat(ui): vim.ui.input(opts.scope) #39570
Problem: There is no way for a `vim.ui.input` caller to indicate for
which scope the input is. As in "This input is for something at cursor
scope". This information can be useful for `vim.ui.input`
implementation to tweak its behavior and presentation:
- Show different floating window depending on the scope. For example:
- Near cursor for "cursor" scope.
- At line start for "line" scope.
- In window corner for "buffer" and "window" scopes.
- In whole editor corner for "tabpage", "editor", "project" scopes.
- Navigate through history only for inputs with the same scope.
Solution: Document new `opts.scope` for `vim.ui.input`. Use it in the
codebase.
commit b0bfce290fb758b7a439f6f91de560848a71db4a
Author: Olivia Kinnear <git@superatomic.dev>
Date: Wed May 20 01:47:35 2026 -0500
fix(lua): fields of `nvim.spellfile.Opts` are optional #39902
(cherry picked from commit ea8f1463ddd18cb95bb960c684aab6cd3cb4799b)
commit c8e0af85e0fee20a699248961a6a2eac46aed774
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue May 19 08:42:05 2026 +0800
vim-patch:9.2.0500: filetype: some html files wrongly recognized as htmlangular (#39880)
Problem: filetype: some html files are wrongly recognized as htmlangular
Solution: Use the \< atom to anchor ng-template and ng-content to start
of word (truffle)
Prevent false-positive htmlangular detection on words containing
'ng-template' or 'ng-content' as a substring (e.g. 'song-template',
'sing-content'). Anchor both branches with \< to require a word start,
matching the \<DTD\s\+XHTML\s idiom used five lines below.
related: neovim/neovim#39778.
closes: vim/vim#20246
https://github.com/vim/vim/commit/354ab1a69efbe5f84cd7225bc3945db3f2cec5c4
Co-authored-by: truffle <truffleagent@gmail.com>
(cherry picked from commit f3bb21e71da09a357c0b05e53b4e11afdceb6621)
commit 781c43ea051e36084813c23a8f5f3ab52789d975
Author: glepnir <glephunter@gmail.com>
Date: Tue May 19 01:08:26 2026 +0800
fix(api): adjust Visual position after nvim_buf_set_text #30690
Problem:
Visual selection could end up in the wrong place after
nvim_buf_set_text or nvim_buf_set_lines. In some delete cases,
Visual.lnum was already clamped before the line shift happened, so the
adjustment got skipped.
Solution:
Split fix_cursor_cols into reusable fix_pos_col logic and reuse it
for Visual updates. Also adjust Visual.lnum before changed_lines so
the shift uses the original position before final clamping.
(cherry picked from commit 450ba41436b6f9a94c7519339a0bdff8dfbf66a9)
commit 3d9c7431d22d70d6196fc39b1fb6a797d895eaa6
Merge: e4a9bd5 98098d8
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Sun May 17 12:41:42 2026 -0400
Merge pull request #39831 from justinmk/release
backports
commit 98098d8466ba612c8977db469f498305bfaa01a9
Author: Puneet Dixit <puneetdixit4321@gmail.com>
Date: Sun May 17 21:48:24 2026 +0530
fix(startup): emitting useless OptionSet
Problem:
During startup, we manually trigger a useless and misleading `OptionSet`
event, which doesn't set `v:option_*` values (this is a limitation of
`nvim_exec_autocmds`).
https://github.com/neovim/neovim/blob/ad4bc2d90c5109c24bf6f0119ad31276f1518c6f/runtime/lua/vim/_core/defaults.lua#L939.
Solution:
The `nvim_exec_autocmds('OptionSet',…)` call does not serve any purpose
since 5cbb9d613bf6d8983b5effd7e20343a4ef497c06, so just drop it.
commit 03d99a06598208147b428867308fe70ee93ad83e
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Sun May 17 10:02:12 2026 -0400
backport: docs: misc
backport #39817
commit e4a9bd55b26c0aec5f867075549da851a04b536d
Author: Guilherme Batalheiro <57897031+guilherme-batalheiro@users.noreply.github.com>
Date: Sat May 16 18:53:34 2026 +0100
fix(shada): set correct buffer number for local marks on read #39712
Problem:
After closing and reopening Neovim, ]' and [' fail with E92: Buffer 0
not found for marks restored from ShaDa. Direct jumps like 'a work
because mark_get_local() rewrites fnum before returning, but ]' uses
getnextmark() which does not, leaving fnum = 0.
Solution:
Set .fnum = buf->b_fnum when restoring local marks from ShaDa.
(cherry picked from commit 0b96b3cd52b48d981f9402f7669d3a653eddbcd3)
commit 4f6c711fc0b8c32f084584b308a42e1ed2200610
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Thu May 14 14:42:22 2026 -0400
build(test): declaration specifier expected near '_Static_assert' #39788
Problem:
On "arm clang unittest" CI job, `make unittest` sometimes fails with
lots of these messages:
FAILED test/unit/testutil.lua @ 773: ...
test/unit/testutil.lua:773:
test/unit/testutil.lua:297: declaration specifier expected near '_Static_assert' at line 429
exit code: 256
stack traceback:
test/unit/testutil.lua:773: in function 'itp_parent'
test/unit/testutil.lua:811: in function <test/unit/testutil.lua:801>
Solution:
Update filter_complex_blocks.
(cherry picked from commit adb5d8a6460b9005c870467f4dc962278b708a8f)
commit 04e4e3b712b8ab7fbe14458f52f2db6baa1617a2
Author: James McCoy <jamessan@debian.org>
Date: Wed May 6 22:21:41 2026 -0400
Update changelog for new upstream 0.12.2
[git-debrebase changelog: new upstream 0.12.2]
commit 9ee4d879109bce9be4f65508575f9433bb330e66
Merge: 328d267 4b35336
Author: James McCoy <jamessan@debian.org>
Date: Wed May 6 22:21:41 2026 -0400
Update to upstream 0.12.2
[git-debrebase anchor: new upstream 0.12.2, merge]
commit 328d267e68fa1b22e2f1786bd000681270af52b8
Author: James McCoy <jamessan@debian.org>
Date: Thu Jan 29 06:58:35 2026 -0500
release package neovim version 0.11.6-1
Signed-off-by: James McCoy <jamessan@debian.org>
commit 4b35336f6f850ce68a230716401cdaa21bdb6a25
Author: Justin M. Keyes <justinkz@gmail.com>
Date: Wed Apr 22 16:05:55 2026 +0200
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
--------------------------------------------------------------------------------
- c76bbd0a54d2 diagnostics: restore `is_pull` namespace argument #38698
- 0a3add979a26 vim.pos: require `buf` param on vim.pos, vim.range #38665
REVERTED CHANGES
--------------------------------------------------------------------------------
- 5920a1d07f79 "fix(lsp): only resolve LSP configs once" #38990
BUILD
--------------------------------------------------------------------------------
- 26bcffda6c81 gen_char_blob.lua: "bad argument to format" if path contains "%" #39274
FEATURES
--------------------------------------------------------------------------------
- e767b4843b23 editor: ZR performs :restart #38967
- 6b86f5520de9 connect: filepath completion #38959
- ceaa8b648a8e filetype: `vim.filetype.inspect()` returns copy of registry
- 78234f2d5474 vim.version: add __eq to vim.VersionRange #38881
FIXES
--------------------------------------------------------------------------------
- a7214c07192a don't make path empty when truncating trailing slashes (#38844)
- b3b5674ac7d6 :restart: --listen reusage on windows #39281
- 3e0ece4cdefc :restart: avoid ERR/WRN logging on Windows with --listen (#39287)
- eaa8cff0bd40 api: expose fg_indexed/bg_indexed in nvim_get_hl (#39240)
- 8669e34bbaa2 api: nvim_clear_autocmds() "event" type check
- 4053141cb311 api: nvim_get_hl drops groups defined with link_global #38492
- 319c0318209e channel: fix Ctrl-C handling regression in terminal
- ba3de79ccbde cmd: ++p, ++edit should match "word" boundary #39146
- c6c348471d0e cmdline: 'inccommand' preview after setcmdline() #38795
- 9e1c542b558d cmdline: avoid 'incsearch' recursion after redraw #39303
- 4a18c05f87f8 cmdline: avoid Ex-mode NULL cmdline_block event #39043
- e4dc08da1a85 completion: update CursorColumn during completion (#39159)
- 25170ca02d94 diagnostic: virtual_lines should anchor at end_lnum, not lnum #38701
- 6cb5012e36cd difftool: ensure standardized locale for diff output parsing #38853
- 9966afbc9df4 drawline: hang while redrawing diff filler above fold #39219
- 1ebb9b16d2f9 eval: crash on some NULL ptr deref #39182
- 6ae6cf5d6197 float: don't unload 'hidden' float buffer with :close! (#39304)
- d86d9759e531 gf: handle local `file:` URI paths #38915
- 11a4a0077c3e health: recognize Zig build optimization levels #38804
- 36bade7efbc9 highlight: preserve inherited colors when update=true breaks links #38750
- 7ffee0dfbfd1 lsp: apply_text_edits causes unwanted BufDelete events #38778
- df726644b8e4 lsp: check filetype registry in health (#38885)
- 18b1ff81a343 lsp: check stale context in hover/signature callback #38724
- fe09c71c34c7 lsp: send didOpen on save to all clients+groups #37454
- 34cbfeca9c28 lsp: show CompletionItem.detail in info popup #38904
- 62500195374a lsp: show_document can't position cursor past EOL in insert-mode #38566
- 590730766270 lsp: skip codelens refresh redraw for deleted buffer #39193
- 9aadbed770b4 lua: make `vim._with()` work with `buf=0` and `win=0` context #39151
- 0039785724a4 lua: make vim.deep_equal cycle-safe
- 53038d2c381e lua: not obvious which _meta/ files are generated #39035
- f2a5c90cbc2a marks: adjust marks when unloading "nofile" buffer #39118
- a358b9be6417 message: flush messages before "empty" msg_show #38854
- 1b36b7583231 messages: truncate warning messages only in display (#38901)
- f7e3cf127c36 move: avoid integer overflow with large 'scrolloff' (#39251)
- 452a9b895c05 normal: pass count to 'keywordprg' as arg1 #38965
- 4d4e19644748 options: default 'titlestring' shows CWD #39233
- 6583833ee2ac pack: GIT_DIR/GIT_WORK_TREE env vars may interfere #39279
- df3d7e36d0a8 pack: make 'stash' call compatible with older Git #38679
- 1a5d41a48fcc pack: more advice for out-of-sync lockfile #38931
- ca0e3818c0fb pum: crash with 'pumborder' and wide item (#38852)
- 38be4475c696 pum: info float width grows on reselect with 'linebreak' #38680
- eee2d10fd2b8 rpc: trigger UILeave earlier on channel close (#38846)
- 898ccbc68a6e smoothscroll: crash when resizing to textoff with showbreak
- 5ac95da8ead7 statusline: no window-local highlights for last line 'ruler' #38879
- ffb0ebb752ba substitute: don't crash with very large count (#39272)
- abcc5342eee8 terminal: do not reflow altscreen on resize #39024
- d3ef77639ac5 terminal: forward streamed bracketed paste properly (#39152)
- 111c7f434e2e treesitter: TSNode:id() with NUL byte causes unreliable select() #39134
- 2ea9ed32e4e7 treesitter: restore highlighting on 32 bit systems #39091
- c294bc397b6a tui: check background color on resume
- b08c289a4593 ui2: dialog paging is inconsistent #39128
- c6b5eb30de14 ui2: don't dismiss expanded messages for non-typed key #39247
- c6578ea28b58 vim.filetype: match() fails if g:ft_ignore_pat is not defined #39158
- a15e27fbcf60 vim.pos: Range:intersect() drops `buf` #38898
VIM PATCHES
--------------------------------------------------------------------------------
- 27214645f608 450895d: runtime(make): fix wrong highlighting with $ inside double quotes (#39177)
- 891c6c91505a 8.2.2440: documentation based on patches is outdated (#39144)
- e203257fffa6 9.2.0331: spellfile: stack buffer overflows in spell file generation (#38948)
- 8ba79b460129 9.2.0345: Wrong autoformatting with 'autocomplete' (#39060)
- 9c1122983286 9.2.0357: [security]: command injection via backticks in tag files (#39102)
- 515300674733 9.2.0364: tests: test_smoothscroll_textoff_showbreak() fails
- 187a34d59bd9 9.2.0380: completion: a few issues in completion code (#39264)
- 15d824e5d65d 9.2.0385: Integer overflow with "ze" and large 'sidescrolloff' (#39289)
- 19a54ad964a7 e666597: runtime(doc): make window option description a bit less vague (#39173)
- d672f0f494a6 partial:9.2.0348: potential buffer underrun when setting statusline like option (#39063)
OTHER
--------------------------------------------------------------------------------
- ed47b27ad4c0 feat(api): rename buffer to buf (#38899)
- 570d8fd128c3 feat(api): rename buffer to buf in retval #39015
- 15991abaa7f2 feat(events): trigger MarkSet autocmd in :delmarks (#39218)
- b6a3ad3979cc fix(ui2): ensure msg window is visible after closing tab (#39245)
- 099489b985c6 refactor: update usages of deprecated "buffer" param #39090
- 55d3d1bbeb22 test(lsp): extract buf/util parts from lsp_spec.lua (#39170)
commit 9e1c542b558d3fb6b85b1dd1dbf788d05d9fe2df
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Wed Apr 22 15:04:20 2026 +0200
fix(cmdline): avoid 'incsearch' recursion after redraw #39303
Problem: A vim.ui_attach() callback that redraws to show a 'verbose'
regex message during 'incsearch' results in recusive redrawing.
Solution: Check that curwin was redrawn instead of just any window when
determining if 'incsearch' highlighting was cleared.
(cherry picked from commit 61fb88992d34d16b3058dcd8b1664f575449d964)
commit b6a3ad3979cc187fe59d57091c0434a7d3a937c1
Author: neovim-backports[bot] <175700243+neovim-backports[bot]@users.noreply.github.com>
Date: Wed Apr 22 13:43:04 2026 +0000
backport: fix(ui2): ensure msg window is visible after closing tab (#39245)
fix(ui2): ensure msg window is visible after closing tab
Problem: After closing a tabpage while the msg window is showing a
message, it is hidden while the msg window still contains a
message.
Solution: Unhide the msg window after entering a tabpage and it still
contains a message.
(cherry picked from commit 607fcfb37acd78b0e26c35acb463093957d94c45)
Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
Co-authored-by: Linykq <yukunlin590@gmail.com>
commit 6ae6cf5d61979e2f04dda14ba249ecbe21999faf
Author: neovim-backports[bot] <175700243+neovim-backports[bot]@users.noreply.github.com>
Date: Wed Apr 22 08:18:03 2026 -0400
fix(float): don't unload 'hidden' float buffer with :close! (#39304)
Problem: When closing floating windows to close a tabpage, if the current
buffer will unload, buffers contained in those floating windows
will too (unexpectedly).
Solution: Don't pass along "free_buf" argument; check 'bufhidden' for
the buffer in the to be closed float.
(cherry picked from commit 5b0ad4a0607498616b984c63ae1a6903cb835c66)
Co-authored-by: luukvbaal <luukvbaal@gmail.com>
commit eebd98fd996d689ff37145ab152b61eeb799927a
Author: neovim-backports[bot] <175700243+neovim-backports[bot]@users.noreply.github.com>
Date: Wed Apr 22 08:17:13 2026 -0400
docs(quickfix): quickfix window location (#39305)
Problem: Documentation for quickfix window location is outdated (since 6256adde).
Solution: Update quickfix.txt.
(cherry picked from commit 2ca31eddae0748de5d54207c2d34f7405fed4f29)
Co-authored-by: luukvbaal <luukvbaal@gmail.com>
commit 39ecf31da3d0a0da70e9e7d11b5baa397943b10d
Author: neovim-backports[bot] <175700243+neovim-backports[bot]@users.noreply.github.com>
Date: Wed Apr 22 08:16:25 2026 -0400
test(tui_spec): fix "Uncaught Error" with PUC Lua (#39301)
RUN T339 TUI :restart ZR: Uncaught Error: test/client/uv_stream.lua:111: ECONNRESET
stack traceback:
[C]: in function 'error'
test/client/uv_stream.lua:111: in function <test/client/uv_stream.lua:109>
[C]: in function 'run'
test/client/session.lua:240: in function '_run'
test/client/session.lua:216: in function '_blocking_request'
test/client/session.lua:117: in function 'request'
...t_xdg_terminal/test/functional/terminal/tui_spec.lua:223: in function <...t_xdg_terminal/test/functional/terminal/tui_spec.lua:215>
[C]: in function 'pcall'
test/testutil.lua:82: in function 'retry'
...t_xdg_terminal/test/functional/terminal/tui_spec.lua:215: in function 'assert_restarted'
...t_xdg_terminal/test/functional/terminal/tui_spec.lua:275: in function <...t_xdg_terminal/test/functional/terminal/tui_spec.lua:232>
[C]: in function 'xpcall'
/home/runner/work/neovim/neovim/test/harness.lua:693: in function 'run_callable'
/home/runner/work/neovim/neovim/test/harness.lua:1008: in function 'run_test'
/home/runner/work/neovim/neovim/test/harness.lua:1083: in function 'run_suite'
/home/runner/work/neovim/neovim/test/harness.lua:1081: in function 'run_suite'
/home/runner/work/neovim/neovim/test/harness.lua:1081: in function 'run_suite'
/home/runner/work/neovim/neovim/test/harness.lua:1507: in function 'run_test_file'
/home/runner/work/neovim/neovim/test/harness.lua:1577: in function 'run_iteration'
/home/runner/work/neovim/neovim/test/harness.lua:1665: in function 'main'
/home/runner/work/neovim/neovim/test/runner.lua:30: in main chunk
-- Tests exited non-zero: 255
CMake Error at /home/runner/work/neovim/neovim/cmake/RunTests.cmake:135 (message):
functional tests failed with error: 255
(cherry picked from commit ead1478b69ec838383b822bd82768a2e235dfd9d)
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
commit 5770e51e66d136cdf66123a3b43c00fb4e8fd773
Author: James McCoy <jamessan@debian.org>
Date: Thu Jan 29 06:58:35 2026 -0500
release package neovim version 0.11.6-1
Signed-off-by: James McCoy <jamessan@debian.org>
commit d3ba34eb561558e62fc292118a6e373a6101b213
Author: James McCoy <jamessan@debian.org>
Date: Wed Jan 28 19:17:39 2026 -0500
Commit patch queue (exported by git-debrebase)
[git-debrebase make-patches: export and commit patches]
commit 00a7540eda9fd65b1a3d843cb9d4713c294243da
Author: James McCoy <jamessan@debian.org>
Date: Tue Jan 27 20:46:04 2026 -0500
d/copyright: Add info for xxd and tee
Signed-off-by: James McCoy <jamessan@debian.org>
commit 7e8c68c8358aeda98b5b8ff514d57536a75d04ac
Merge: 5a1cf0f c65fe4a
Author: James McCoy <jamessan@debian.org>
Date: Wed Jan 28 19:17:27 2026 -0500
Declare fast forward / record previous work
[git-debrebase pseudomerge: quick]
commit 5a1cf0f91d8e9ab90b7966a7405a4b5bf2ae3849
Author: James McCoy <jamessan@debian.org>
Date: Mon Mar 10 22:45:00 2025 -0400
Skip flaky tests in test_stat.vim
Test_checktime and Test_autoread_file_deleted are particularly flaky on s390x, so skip them to avoid the noise.
Forwarded: not-needed
Signed-off-by: James McCoy <jamessan@debian.org>