mirror of
https://github.com/neovim/neovim.git
synced 2026-06-15 16:23:48 +00:00
Following is a list of commits (fixes/features only) in this release. See `:help news` in Nvim for release notes. BREAKING -------------------------------------------------------------------------------- -f54f566bf8diagnostic: deprecate `format` as a table FEATURES -------------------------------------------------------------------------------- -fd1b193d51:restart: v:starttime, v:exitreason #39319 -c407e3e67beval: treat Lua string as "blob" in writefile() #39098 -a0dcdcd8a0treesitter: provide select() -49efe692f3vim.pos: accept buf=0 for current buf #39414 -ad27075c8dvim.pos: pos:to_offset(), pos.offset() (#39639) -b05675bccc`opts.scope` in `vim.ui.input` (#39906) PERFORMANCE -------------------------------------------------------------------------------- -96d5dd4107vim.pos: use numeric index internally #39447 FIXES -------------------------------------------------------------------------------- -e230ff0439vim._with may silence all cmdline-errors #34301 -781c43ea05api: adjust Visual position after nvim_buf_set_text #30690 -5b8268356aapi: don't update 'title' when renaming non-curbuf #39743 -4df16ecdb9api: `LuaRef` leak in `nvim_set_keymap` on LHS too long (>=66 bytes) (#39376) -e5d6d2e769api: leak `preview` callback `LuaRef` in `nvim_create_user_command` (#39377) -f0baa18043channel: stack-buffer-overflow with exit during connection (#39387) -d9baaf7da1ci: generate more data to stress output throttling test #39577 -f62ce1a42fdifftool: handle filenames containing spaces #39740 -fb56d50032eval: writestring() handling of null #39328 -822778f7e5excmd: use realtime for v:starttime, :uptime #39425 -8fccb26cd3fold: virtual lines duplicate foldopen (#39891) -10695f44afhealth: set 'tags' for help filetype #39742 -e069022215help: fix CTRL character issue for :help {subject} #39537 -445fe8a6b7lsp: calc correct screen_width when opts.relative == 'editor' (#39977) -93dc301781lsp: callHierarchy/outgoingCalls ranges are relative to caller, not callee #39336 -5e6c8d4edflsp: check window is still valid after async request #39396 -8919b02ebalsp: dynamic registration for off-spec method #39544 -c4d3a3d363lsp: filter code_action diagnostics to the cursor #38988 -27d01f2dbblsp: handle null id in JSON-RPC responses -aedbae4ab6lsp: handle self-mapped methods in supports_method #39383 -0bd6e62509lsp: malformed edit if apply_text_edits() is called twice (#39347) -378f5f49b3lsp: show meaningful error on invalid completion response (#39476) -c9ca59ad28lsp: util.lua attempt to concatenate userdata #39510 -e67f9c5853lua: avoid `__index` when deciding if a table is a list #39556 -731f9743e2lua: don't strip debuginfo in precompile module #39191 -b0bfce290flua: fields of `nvim.spellfile.Opts` are optional #39902 -34bf0472abmarks: don't use spell decorations from other lines (#39441) -d1cf3ab4c3marks: read from the correct variable in conceal_lines mark collection (#39991) -33b6b0bfe5messages: avoid recursive rtp build due to msg_show #39888 -d725ead5ecmessages: reset redirection message column after :echon #39472 -b490fba786mouse: mouse=n should not adjust visual selection -17ddfde131net: `:edit <uri>` should set buftype=nofile #39915 -dd95e434e3pack: only use tags that strictly comply with semver spec #39342 -585c93204fpath: `nvim_get_runtime_file` fails on DOS 8.3 filename #40144 -42f6c1c443prompt: handle multi-element lists in prompt_appendbuf #39550 -915880d252shada: bdelete'd buffers not stored in oldfiles #39070 -e4a9bd55b2shada: set correct buffer number for local marks on read #39712 -2389cf2e39shell: preserve CR when `:!` outputs to binary-mode buffer #39558 -98098d8466startup: emitting useless OptionSet -ae9f7accddstatusline: no cmdline ruler for autocommand window -39e8c584d5terminal: memory leak in pending TermRequest StringBuilder #39333 -fa69cac7e3terminal: memory leak when pasting '=' register (#39738) -3a3405d964test: only test for unibilium if a valid compilation string exists -dcf9e8a98etreesitter: crash in ts_parser_delete after gc #39497 -4f22640b86treesitter: get_node_text() inconsistent trailing newline #39409 -654c964d1atrust: hash unchanged empty buffers as empty files #39027 -70f22713a1ui2: entering the pager fails if `<ESC>` is remapped to `:fclose` (#39462) -13041a067eui2: error E518 when typing "vim:" in cmdline #39599 -a0ee5811b1unittest: preprocess failure when __typeof declarations present #40145 -b9d39f5bb2vim.fs: fs.dir() may return nil "type" on some filesystems #39749 -be4e7cfd6avim.hl: range(0,…) highlight not cleared after buffer-switch #40130 -79fd0b6655vim.range: empty ranges semantics vs regular ranges #39474 -2ec758f403vim.range: validate arguments on all cases #39415 -f83e0dcaf8vim.secure: read() command injection vulnerability #39918 BUILD -------------------------------------------------------------------------------- -a612ada984version bump -b1b489b316docs: sort/lint class fields and keysets -4f6c711fc0test: declaration specifier expected near '_Static_assert' #39788 VIM PATCHES -------------------------------------------------------------------------------- -964e797fdf9.2.0395: tests: Test_backupskip() may read from $HOME (#39417) -b0139403919.2.0435: [security]: backticks in 'path' may cause shell execution on completion -f9f25962889.2.0436: Buffer overflow when parsing overlong errorformat lines (#39578) -0aa77cb78c9.2.0443: GUI: cancelling save dialog overwrites or discards unnamed buffer (#39617) -15a58bb02a9.2.0444: Cannot set 'path' option via modeline -03af1ec9319.2.0450: [security]: heap buffer overflow in spellfile.c read_compound() (#39660) -2902ec05419.2.0458: Crash with invalid shellredir/shellpipe value (#39691) -647b6be4899.2.0461: Corrupted undofile causes use-after-free (#39707) -c8e0af85e09.2.0500: filetype: some html files wrongly recognized as htmlangular (#39880) -d9b8bac4359.2.0508: completion: cannot complete user cmd :K with 'ignorecase' (#39944) -15a3318e139.2.0513: [security]: memory safety issues in spellfile.c (#39960) -cc1982bd069.2.0517: quickfix: can set quickfixtextfunc in restricted/sandbox mode (#39970) -dfd6cd477fbfebd12: runtime(javacc): Check for existence of javaFuncDef syn group before clearing it (#39731) -a76bcbe3b8partial:9.2.0315: missing bound-checks (#39334)