From 35b57441b0bac035dcfc591830e82abc560720b1 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Thu, 11 Jun 2026 00:06:57 +0200 Subject: [PATCH] NVIM v0.12.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 ` 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 `` 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) --- CMakeLists.txt | 2 +- runtime/nvim.appdata.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 114d8bf442..f7139cf536 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -148,7 +148,7 @@ endif() set(NVIM_VERSION_MAJOR 0) set(NVIM_VERSION_MINOR 12) set(NVIM_VERSION_PATCH 3) -set(NVIM_VERSION_PRERELEASE "-dev") # for package maintainers +set(NVIM_VERSION_PRERELEASE "") # for package maintainers # API level set(NVIM_API_LEVEL 14) # Bump this after any API/stdlib change. diff --git a/runtime/nvim.appdata.xml b/runtime/nvim.appdata.xml index 255d7946c1..343686660c 100644 --- a/runtime/nvim.appdata.xml +++ b/runtime/nvim.appdata.xml @@ -26,6 +26,7 @@ +