There is 1 open security issue in bullseye.
There is 1 open security issue in bookworm.
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>
There is 1 open security issue in trixie.
You can find information about how to handle this issue in the security team's documentation.
Among the 2 debian patches available in version 0.12.3-4 of the package, we noticed the following issues:
Automatic checks made by the Debian l10n team found some issues with the translations contained in this package. You should check the l10n status report for more information.
Issues can be things such as missing translations, problematic translated strings, outdated PO files, unknown languages, etc.