From a99c469e547fc59472d6d105c0fae323958297a1 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Wed, 26 Mar 2025 14:48:09 +0100 Subject: [PATCH] NVIM v0.11.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For notable changes, see runtime/doc/news.txt (or `:help news` in Nvim). Following is a list of fixes/features commits. BREAKING -------------------------------------------------------------------------------- - 0f4f7d32ce5d remove `nvim` and `provider` module for checkhealth - 7dbbaaec3fae rename 'jumpoptions' flag "unload" to "clean" (#30418) - 35c5e2310783 store artifact shasums in a single shasum.txt file - 188ec19894e4 turn off translations by default - 328ea02eb7de use utf8proc full casefolding - 737f58e23230 api: rename Dictionary => Dict - a389dc2f950e clipboard: use OSC 52 as fallback clipboard provider (#31730) - ad70c9892d5b column: rework 'statuscolumn' %r/l items - eb60cd74fb5c deps: bump tree-sitter to HEAD, wasmtime to v29.0.1 (#32200) - a119aae4d3de diagnostic: filter diagnostics by severity before passing to handlers (#30070) - 51ccd12b3dbc diagnostic: make virtual text handler opt-in (#32079) - a9e725b26e08 diagnostics: sort underline severity_sort (#30898) - e8b5dd1e89bf lsp: `symbol_to_item` requires `offset_encoding` - 8260e4860b27 lsp: multiple client support for vim.lsp.buf.hover() - debabaf884fc lsp: pass buffer number to root_dir function - 9b357e30fdd0 lsp: remove client-server handlers from vim.lsp.handlers - 3e3775961fd2 lsp: rename lsp.completion.trigger() to get() (#32911) - 0083e03d6fa7 lsp: support multiple clients in goto methods (#30877) - dff684fdb3d2 lsp: support multiple clients in lsp.buf.references - 970a27927eb3 lua: do not use typed table for empty dict - de48fbbd5f88 messages: vim.ui_attach message callbacks are unsafe - a27419f3fc54 options: disallow setting hidden options #28400 - b922b7d6d788 options: use OptVal for option defaults #26691 - 4d9a1b9852ca provider/python: add python 3.13, drop 3.7 and 3.8 (EOL) #33022 - 318676ad1348 release: remove backwards compatible releases - ad191be65e2b signs: place higher-priority signs from the left #27781 - 0dd933265ff2 terminal: cursor shape and blink (#31562) - 35e5307af257 terminal: include cursor position in TermRequest event data (#31609) - 3cf602486ce5 terminal: make 'belloff' and 'visualbell' apply to terminal bell (#30859) - 041d98fe8d89 treesitter: add default fallback to `ft_to_lang` lookups - 6913c5e1d975 treesitter: default to correct behavior for quantified captures (#30193) - bd4ca22d0334 treesitter: don't parse tree in get_parser() or start() - a0b52e7cb3d2 treesitter: enforce buffer is loaded when creating parser - 99e0facf3a00 treesitter: use return values in `language.add()` - bda63d5b97df typval: remove distinction of binary and nonbinary strings - 48e2a73610ca ui: emit prompt "messages" as cmdline events #31525 - ca5fca29121a windows: drop cat and tee executables from windows - be89d520d7e9 windows: only support UCRT, even for mingw FEATURES -------------------------------------------------------------------------------- - efa45832ea02 add "jump" options to vim.diagnostic.config() (#29067) - 0631492f9c80 add vim.fs.relpath - f864b68c5b0f allow gx to function for markdown links - f3632e14e3a7 get/set namespace properties #28728 - a66424617156 remove deprecated features - ead5683ff999 api: add err field to nvim_echo() opts - aec4938a21a0 api: broadcast events to ALL channels #28487 - 34d808b73cbc api: combined highlights in nvim_eval_statusline() - 19b25f3feacf api: deprecate nvim_buf_add_highlight() - 5c92b40b4b17 api: deprecate nvim_out/err_write(ln) - d84a95da7e11 api: nvim_get_autocmds filter by id#31549 - 25d8c3a5ad7e api: nvim_open_win() relative to tabline and laststatus #32006 - e00d67ef310c checkhealth: group parsers by name and path in output - 563051a53ef9 clipboard: support g:clipboard="osc52" #33021 - 60ea0467411d clipboard: try cygutils, clip on Windows #30215 - 2c629ad13f19 column: apply appropriate numhl highlight to virt_lines (#32400) - 65c7033cbe75 comment: allow commentstring to be determined from node metadata - 268a3de0a773 complete: CompleteDone reason "cancel", "discard" #32600 - a616272f568a complete: specify reason for CompleteDone - f1748b78e316 default: bind `vim.lsp.buf.signature_help` in select mode (#31223) - ac207c3ac200 defaults: "Show Diagnostics" in mouse popupmenu #32122 - 2c6b6358722b defaults: add LSP default mappings (again) (#28650) - bb7604eddafb defaults: add default unimpaired style mappings (#28525) - 4662ad5643b2 defaults: completeopt=popup #32909 - e8e3b443f804 defaults: disable 'foldcolumn' in terminal buffers (#31480) - cc6992f1ca44 defaults: dot-repeat [ #31186 - 6db830e40e92 defaults: enable diffopt "linematch" #32346 - b31132f1c1fa defaults: jump between :terminal shell prompts with ]]/[[ #32736 - 0b7cc014fc0e defaults: map gO to LSP document_symbol #30781 - 26e765f905cb defaults: map gri to vim.lsp.buf.implementation() (#30764) - 76aa3e52be7a defaults: popupmenu "Open in browser", "Go to definition" #30261 - 09d76afe84dd defaults: pretty :help headings #30544 - 079e5f4f9b67 defaults: unimpaired empty line below/above cursor #30984 - 1c6d9200521a defaults: use vim.diagnostic.jump() for default mappings (#29066) - c9c17fda80d8 deprecations: vim._defer_deprecated_module() - 38a52caec09e diagnostic: add `current_line` option for `virtual_text` handler - 8ba73f0e4cc6 diagnostic: add vim.diagnostic.jump() (#26745) - 445ecca39840 diagnostic: format() can filter diagnostics by returning nil #32302 - 99e7323aa386 diagnostic: inherit parent 'path' option in open_float (#31273) - 21961967ffef diagnostic: update quickfix list by title #31486 - 7579af3c514c diagnostic: vim.diagnostic.setqflist improvements #30868 - 1759b7844a2d diagnostic: virtual_lines #31959 - fd65422b99c7 diff: do not try external when out of memory - 0c296ab22484 docs: "yxx" runs Lua/Vimscript code examples #31904 - 6628741ada73 docs: improve `@see` meta docstrings #30693 - 23290e7676e6 editor: handle new multibyte sequences in normal mode replacement - cb6c0fda718e editorconfig: add support for spelling_language (#28638) - 4817547ec463 ex_cmds: :sleep! hides the cursor while sleeping (#31493) - 4f9260d06a48 ext_messages: add hl_id to ext_messages chunks - 4cced601c8cd extmark: stack multiple highlight groups in `hl_group` - 931ee5591fa7 extmarks: virtual text can be right-aligned, truncated #31921 - 62d9fab9af21 float: add winborder option (#31074) - 9b8907d90508 float: allow enabling mouse for non-focusable window (#30844) - 511b991e6689 fs.lua: add vim.fs.rm() - 054a287dbe6f ftplugin: change 'commentstring' to `// %s` for C/C++ (#29085) - f398e3a61abb ftplugin: set Lua 'omnifunc' to vim.lua_omnifunc #32491 - b61051ccb4c2 func: allow manual cache invalidation for _memoize - 548f19ccc301 health: close checkhealth buffers with q #31870 - f2fa4ca97ea3 health: highlight headings #30525 - b12b91c27439 health: show :checkhealth in floating window #31086 - 6592873f773b help: use treesitter for table of contents - 3e09fbdf82a1 highlight: add StatusLineTerm and StatusLineTermNC groups - 295920845ebd highlight: make `PmenuMatch` and `PmenuMatchSel` bold - 5b1136a99c7f inccommand: preview 'nomodifiable' buffers #32034 - 61025c9e7aa4 install: mention standard paths, XDG vars in Windows installer #29101 - 8ef41f590224 jobs: jobstart(…,{term=true}), deprecate termopen() #31343 - e7020306a19a jumplist: allow opting out of removing unloaded buffers (#29347) - 8d55cc218cfe keysets: teach Union and LuaRefOf - 5931f780e028 log: use "ui" as default name for TUI client #30345 - e4c6e732fd04 lsp: add select kind in showMessageRequest #32387 - f20335a54ce7 lsp: add support for completionItem.command resolving - 3f1d09bc94d0 lsp: add vim.lsp.config and vim.lsp.enable - 6072153796d1 lsp: announce codeLens resolveSupport (#29956) - 1f5bcc7c4ed7 lsp: completion opts support custom item conversion (#30060) - ff097f2091e7 lsp: completion side effects - 7a7747f1e4d9 lsp: deprecate execute_command with client:exec_cmd - 454ae672aad1 lsp: deprecate non-method client functions - 54249d051c3e lsp: deprecate vim.lsp.buf.completion - e56437cd48f7 lsp: deprecate vim.lsp.start_client #31341 - 55e4301036bb lsp: drop fswatch, use inotifywait (#29374) - dad55f5e763f lsp: export diagnostic conversion functions (#30064) - 44229bb85b6c lsp: highlight hover target/range #31110 - 27f3750817b1 lsp: improve LSP doc hover rendering #30695 - 67221497762a lsp: include `end_col` and `end_lnum` in `vim.lsp.buf.symbols_to_items` - 20f22f75ee62 lsp: include end_col, end_lnum in vim.lsp.buf.locations_to_items #29164 - 4e90bc30237a lsp: lsp.completion support set deprecated (#29882) - 6e68fed37441 lsp: multi-client support for signature_help - 629483e24eed lsp: require `offset_encoding` param #31249 - e00cd1ab4060 lsp: return resolved config for vim.lsp.config[name] - 130b5fd85f07 lsp: return table from lsp/ files on runtimepath (#31663) - ce678043e346 lsp: show server name in code actions #30830 - 07d5dc8938a7 lsp: show server version in `:checkhealth` #31611 - a1e313ded6e4 lsp: support `textDocument/foldingRange` (#31311) - 3b0fe2659e74 lsp: support completion context #32793 - 41b07b128ccb lsp: support for resolving code action command (#32704) - 35247b00a44e lsp: support function for client root_dir (#31630) - 45e76acaa053 lsp: support hostname in rpc.connect #30238 - b2bad0ac91dd lsp: support postfix snippets in completion - d3e4ffafff42 lsp: support utf-8 and utf-32 position encodings - 5d26934c7cda lsp: update LSP healthcheck format (#28980) - ae2fd91b411d lsp: update LSP types - 0df2c6b5d09f lsp: use fuzzy match on filterText instead of prefix match - e4c1f6667b14 lsp: use the meta model to generate server capability map - 5581a95534e4 lsp: vim.lsp.buf.format() supports textDocument/rangesFormatting #27323 - 92e4e3fb76c2 lsp.util: fix type errors - ff1d7d429959 lsp.util: get_bufs_with_prefix -> get_writeable_bufs - cbc82011ce19 lsp.util: improve offset_encoding type annotations - a18fa2f11c3a lsp.util: minor codestyle - 1944c0d610ce lsp.util: refactor get_border_size() - f0973d42272e lsp.util: refactor symbols_to_items() - 0e8568d72c88 lsp.util: remove lsp spec extract - 0621718e3b5f lsp.util: remove metatable in locations_to_items - 3f87e222f79b lsp.util: remove some aliases - e954a16063e6 lsp.util: remove some variables - 5bec7288a5b5 lsp.util: remove uneeded do-end - 8ad000ef7cf0 lsp.util: remove unneeded table - d44d36b8ff6c lsp.util: simplify some bounds checking - 0066dd0f653e lsp.util: use faster version of vim.validate - 1edfe5c09ebc lsp.util: use vim.api alias - 97119a236937 lsp.util: use vim.w/b - cd53db2157f0 lua: add `context.env` (environment variables) to `vim._with()` - 9afa1fd35510 lua: add `vim._with` - 518070731003 lua: add `vim.fs.abspath` - b34e137e43d3 lua: allow vim.on_key() callback to consume the key (#30939) - d5ae5c84e94a lua: completion for vim.fn, vim.v, vim.o #30472 - 0a5a0efda64c lua: don't complete private (_) fields after dot (.) #32690 - 07cc559cdf11 lua: update `vim._with` to allow more granular option contexts - af0ef2ac9dd1 lua: vim.hl.range() "timeout" #32012 - be1fbe38b31b lua: vim.text.indent() - fdeb01cd7740 main: expand file ~\ or ~/ prefix on Windows (#28515) - ea5b748f2438 man.vim: "q" always closes window #30819 - f58e7d5fac1c marks: add conceal_lines to nvim_buf_set_extmark() - 51cf84daf961 marks: virtual lines support horizontal scrolling (#32497) - cfdf68a7acde mbyte: support extended grapheme clusters including more emoji - 124c655f56bc messages: "g<" mapping for ext_messages - cb7b4e296238 messages: "verbose" message kind #31991 - 5bae80899d9d messages: add :!cmd shell message kinds - e16bec41b650 messages: confirm kind for z=, :tselect, inputlist() #32521 - 21151144c6ee meta: add type for quickfix entries - 82a215cb2dc2 options: add 'eventignorewin' (#32152) - d831392b1560 paste: unify cancel and error behavior (#30476) - 08c328b8b079 runtime: Lua ftplugin 'includeexpr' #32719 - f5714994bc4f runtime: Lua ftplugin sets 'omnifunc', 'foldexpr' #32697 - e6cfcaed184d snippet: add default keymaps during snippet session - 123f8d229eef snippet: set snippet keymaps permanent instead of dynamic (#31887) - 96128a5076b7 startup: validate --listen address - 230b0c7f021a stdlib: overload vim.str_byteindex, vim.str_utfindex #30735 - 517ecb85f58e stdlib: vim.json.encode(...,{escape_slash:boolean}) #30561 - 8df6736ca14d term: enable reflow by default (#21124) - 4199671047b0 term: support OSC 8 hyperlinks in :terminal (#30050) - 93480f7fbaa5 term: trigger TermRequest for APC (#32407) - 3ad977f01d97 terminal: add support for copying with OSC 52 in embedded terminal (#29117) - 6f0bde11ccd8 terminal: add support for kitty keyboard protocol - 06a1f82f1cc3 terminal: forward X1 and X2 mouse events - e3bfcf2fd4a4 terminal: support grapheme clusters, including emoji - f1c45fc7a4a5 terminal: support theme update notifications (DEC mode 2031) (#31999) - 56d11b494b54 terminal: disable 'number', 'relativenumber', and 'signcolumn' in terminal buffers (#31443) - 34cd94812d42 test: support and document lua test case debugging - b8c75a31e6f4 treesitter: #trim! can trim all whitespace - ec8922978eb1 treesitter: add more metadata to `language.inspect()` (#32657) - bd3b6ec8360e treesitter: add node_for_range function - 688b961d13bd treesitter: add support for wasm parsers - 8543aa406c4a treesitter: allow LanguageTree:is_valid() to accept a range - 44ccd9ca24dd treesitter: allow `iter_captures` to accept `opts` - 8b5a0a00c8cf treesitter: allow disabling captures and patterns on TSQuery (#32790) - 1af55bfcf21b treesitter: allow get_node to return anonymous nodes - a94a2927d00a treesitter: allow passing lang to InspectTree - 45e606b1fddb treesitter: async parsing - 3dfb9e6f60d9 treesitter: include capture id in return value of `get_captures_at_pos()` #30559 - 267c7525f738 treesitter: introduce child_with_descendant() - 09f9f0a94625 treesitter: show which nodes are missing in InspectTree - b9b408a56c7e treesitter: start moving get_parser to return nil #30313 - da0ae9534900 treesitter: support modelines in `query.set()` (#30257) - 2e5b560482fb treesitter: table of contents for checkhealth, markdown (#32282) - 8ba047e33fe3 treesitter: vertical conceal support for highlighter - ff85e54939b0 tui: builtin UI (TUI) sets client info #30397 - 4fb3b57a19cb tui: handle kitty key events in libtermkey (#31727) - f93ecd2760f5 tui: parse CSI subparams in termkey (#29805) - 44dbfcfba4b0 tui: recognize X1 and X2 mouse events - e41368f3bc1d tui: support in-band resize events (#29791) - d460928263d0 tui: update 'background' on theme change events (#31350) - 45e319ade639 tutor: give hints to satisfy the line checker #30952 - 4b0e2605eaf9 ui: UI :detach command - 394f69a25dc3 ui: additional arguments for cmdline_show/hide events - a0e3fe57417f ui: cascading style inheritance for Pmenu* highlights #29980 - f85bc41c800d ui: don't show unfocusable windows in :tabs, 'tabline' #27984 - 9762c5e3406c ui: gx: use url extmark attribute and tree-sitter directive (#30192) - 43d552c56648 ui: more intuitive :substitute confirm prompt #31787 - 433b342baa04 ui: sign/statuscolumn can combine highlight attrs #31575 - a10636fbe7bb ui: specify whether msg_show event is added to history - e049c6e4c08a ui: statusline text inherits highlights #29976 - 611ef354919f vim.fs: find(), dir() can "follow" symlinks #31551 - 3f15e57b2614 vim.ui: configurable "gx" / vim.ui.open() tool - f4b620c4e643 vim.ui.open: support lemonade #30845 - 3572319b4cb1 vim.validate: improve fast form and deprecate spec form - cb84cd5d9fba win32: embed executable icon FIXES -------------------------------------------------------------------------------- - 200e7ad15786 apply the change on more files - 6720bd440f19 assert failure in VimL expression parser - d123202ae6ef change deprecation presentation - ded15ca8c210 completion.enable(false,...) deletes invalid augroup #32121 - 7737f892063a deps build for ARM64 MSVC - 50749f8df89d extend the life of vim.tbl_flatten to 0.13 - 25abcd243e41 fix broken wasmtime build - b6ab29483842 fix incorrect search code - 46b69aaf14a7 include nvim/ascii_defs.h - 01b4da65c229 merge all provider healthchecks into a single health.lua - 5c245ec3e955 remove vim.lsp._with_extend - 98ba65b8be8c replace NVIM with Nvim in default titlestring (#30348) - 6aa42e8f92bd resolve all remaining LuaLS diagnostics - e71713ba2b5c show swapfile warning as a warning (#28971) - 04181070746a update osc52 termfeatures flag on UIEnter/UILeave (#32756) - 0829e7575d63 warn when :InspectTree on buffer with no parser #32783 - 47f2769b462e Man: completion on Mac - 89f9f168a5c4 api: alloc and draw cursor window in nvim__redraw - 743c5808b616 api: allow `scope = 'local'` with `buf` when using `nvim_get_option_value` - 487c48ec8689 api: clamp range lines in `nvim__redraw()` (#31710) - 141114c170d6 api: crash on invalid buffer to nvim_buf_del_user_command (#31908) - 716adbcc4563 api: deprecate nvim_subscribe, nvim_unsubscribe #30456 - 1e47aa677a24 api: deprecated API nvim_get_option does not validate option name #31919 - 095c0876c201 api: don't override Vimscript SID (#32610) - bff07f6dd0d8 api: don't try to get/set option for invalid option name (#31302) - 0e59f6f4c7cd api: don't use 'winborder' when reconfiguring float (#32984) - cce1eb0806cc api: error properly with invalid field in nvim_open_win (#30078) - 63bbb7c109a5 api: fix 'winborder' preventing splits with nvim_open_win (#32981) - f55213ce0e2b api: fix crash/leak with float title/footer on error (#30543) - 022449b52236 api: generic error messages, not using TRY_WRAP #31596 - 8de1dc692339 api: make `nvim_set_hl()` respect all `cterm` attributes (#31390) - ad60b3fb4806 api: memory leaks in vim.api.nvim_*get_option #32390 - 167a2383b996 api: not using TRY_WRAP, generic error messages #31595 - bf48dfadeccc api: nvim__complete_set requires completeopt=popup #31177 - d1d7d5468091 api: nvim_buf_get_text() crashes with large negative column #28740 - 6ea45031d584 api: nvim_echo free text memory with invalid highlight (#31243) - e2ad251c8d01 api: nvim_get_option_value does not clean up on FileType error #31219 - 5b9518b43663 api: nvim_set_decoration_provider callback return type #31912 - 01a97d2ad75a api: nvim_win_set_buf(0, 0) fails if 'winfixbuf' is set #31576 - 40347f6e27f1 api: only flush nvim__redraw when necessary #31250 - 36f44b3121fc api: remove invalid assertions - 235cb5bc5f25 api: update "range" windows in nvim__redraw #31042 - 9c718bc2bce5 api: validation, documentation of hl_group #31195 - 289c9d21cb91 autocmds: once=true Lua event-handler may call itself #29544 - ffaab09e9986 build: is system-dependent #31705 - 486076a0e1ee build: remove USE_FNAME_CASE, redundant with CASE_INSENSITIVE_FILENAME - 217e26cb641f build: surpress spurious warnings from gcc in -E preprocessor mode - 34a2bfdcc5ce build: vimdoc tags are not validated #32801 - 807098824762 channel: handle writing to file instead of pipe (#30519) - c49162be5958 channel: log after (not before) channel-close - 965dc81f818e checkhealth: disable 'listchars' #31245 - 4c9f3689a1c0 checkhealth: failed if 'lua' in plugin name - f5dd30948e67 checkhealth: handle nested lua/ directory #32918 - c48cf1875225 checkhealth: module not found when `&rtp` has nested paths #32988 - 2495e7e22a0d clipboard: tmux clipboard depends on $TMUX #31268 - 847c28f6f6cc cmdline: always show cmdline when it is a prompt #31866 - af4231d4070c cmdline: cmdline completion of _defer_require() modules #33007 - a70ad5cdb6de cmdline: ext_cmdline block events for conditionals - bbf36ef8ef86 cmdline: prevent cmdline_show events after exiting cmdline #32033 - 092042b43d58 cmdline: simplify and correct grapheme cluster adjustment - 86ae59c61286 colorscheme: distinguish CursorLine/Folded/StatusLineNC highlights #32256 - 9b9f54e2c1cd colorscheme: underline StatusLineNC with 'notermguicolors' #28810 - 8bc28978b632 column: apply custom highlight to last 'statuscolumn' segment (#32182) - 3cb1e825e679 column: check if signcolumn changed in all windows #31439 - 1dcda865591b column: clamp line number for legacy signs - f2083bd55caf column: crash with 'signcolumn' set to "number" (#29003) - f9a49fab0c90 column: modifying a sign should update placed signs (#29750) - d5f6f61879ba column: set signcolumn width after splitting window (#30556) - 063b69bab4ab column: unnecessary redraws with resized 'statuscolumn' (#32944) - 0a2218f965ac comment: fall back to using trimmed comment markers (#28938) - e788d1a3a903 completion: avoid deleting text when completion leader changes #31448 - bfa365a87267 completion: don't include in -complete= (#30209) - 55dc482e757e completion: fix inconsistent Enter behavior (#30196) - 83a7d97d64a6 coverity: CID 509571 Uninitialized variables #30395 - e1c2179dd93e coverity: INTEGER_OVERFLOW #31657 - f9eb68f340f9 coverity: error handling CHECKED_RETURN #31618 - 069451bb214b coverity: size_t overflow #30497 - ff7832ad3fce coverity/497355: shada_read_when_writing out of bounds read #30665 - c49030b75ad8 coverity/497375: f_strpart cast overflow (#30773) - 0fe4362e216e coverity/509227/509228: tui driver_ti underflow #30341 - 60e1862ccba7 coverity/510275: linematch out of bounds access (#30687) - a2008118a0f2 coverity/510436: shada_read_when_writing index out of bounds (#30686) - 71507281fb86 coverity/530826: validate_opt_idx unchecked negative idx (#32081) - 5af9c065ada5 decor: don't draw invalidated virtual lines (#29858) - a8fbe1d409e0 decor: don't use separate DecorSignHighlight for url (#30096) - 34ded4d97b78 decor: exclude invalid marks from meta total - 87610d82db91 decor: set invalid flag for end of invalidated paired marks - 33ff546b50f7 decoration: fix crash when on_lines decor provider modifies marktree - 0e299ebf7559 decorator: noisy errors from decoration provider #31418 - f2173b1aa2be defaults: cannot remove "How-to disable mouse" menu item #30375 - 61aabe0730b5 defaults: default @/Q broken when 'ignorecase' is set (#29343) - 8323398bc608 defaults: don't replace keycodes in Visual search mappings (#31460) - f6f2334ac28f defaults: error messages UX for unimpaired mappings #30884 - 59a171fd99a7 defaults: improve visual search mappings #32378 - 01739d4673ee defaults: missing ]Q/[Q unimpaired mappings #30943 - c644228e1dfe defaults: omit empty line from unimpaired mapping messages (#31347) - ff93cccbc1ce defaults: omit extraneous info from unimpaired mapping errors (#30983) - 4075e613b2d3 defaults: properly pass count to quickfix commands (#30632) - 289380bc40c7 defaults: use "range" instead of "count" for some mappings (#30642) - 573fcb8b6641 deps: revert accidental test commits (#30864) - de794f2d2409 diagnostic: broken variable reference #31557 - c78728a3844c diagnostic: clear autocmd only for valid buf (#32861) - f1fcf653cb7c diagnostic: clear virtual_lines autocmd only for valid buf #32979 - 921dc22fc090 diagnostic: correct `severity` type on `setqflist`, `setloclist` (#30506) - 0e8e4a07f515 diagnostic: don't include diagnostic code when using custom formatter #32464 - d918ebe3b8a5 diagnostic: fix backwards compatibility for goto_next and goto_prev (#29593) - f69937fdbd16 diagnostic: fix float scope filtering (#29134) - 5bc948c050ce diagnostic: improve current_line refresh logic #32275 - 4b3be56a0369 diagnostic: make docs agree with code (#29561) - fd902b1cb246 diagnostic: only store quickfix id when creating a new one #31466 - 3b1d0e7f701b diagnostic: remove deprecated `severity_limit` option - 5eda7aafe995 diagnostic: setqflist() is stuck after vim.lsp.buf.document_symbol #31553 - 9a43ec13e6f1 diagnostic: show backtrace for deprecation warnings - 4cbeb6fa3cc7 diagnostic: silence :chistory #31701 - 6c975515c560 diagnostic: vim.diagnostic.setqflist() opens loclist on first call #31585 - 17c25a66fcea diagnostic: virtual lines should scroll horizontally - fb842dfc224d diagnostic: virtual_lines diagnostic columns (#32703) - e5e81262af88 diagnostics: don't apply extmarks to invalid lines #29321 - c65646c2474d diff: use mmfile_t in linematch - 81ea44fa6aca display: adjust winline info for concealed lines below last line (#32708) - f25dd7a8d548 display: correctly store winline info for concealed lines (#32656) - a901fb875f69 docs: add missing properties to hl_info #30032 - cc26cf040028 docs: do not treat indexes as `short_link` - 056009f74146 docs: markdown instead of vimdoc in meta docstrings #30680 - 8801b77ed098 docs: missing `@returns` desc in _meta/api.lua #30673 - 09bcb310681e docs: replace `yxx` mappings with `g==` #31947 - efe92f9dff93 docs: update context type in `vim.lsp.LocationOpts.OnList` - b8135a76b71f docs: wrong return value annotation for `nvim_buf_get_extmarks` - 376de1483ee5 drawline: correct highlight priority with Visual selection (#30706) - 9a0239fdc8b3 drawline: don't draw beyond end of window (#29035) - b1c439cef6ca drawline: don't draw beyond end of window with 'rnu' (#29406) - 34344b939c06 editor: avoid scrolling :substitute confirm message #32149 - 9e7b0bcf5192 editorconfig: fix indent style for `local.mk` (#31342) - b0a1d35f69b4 eval: don't shorten $HOME in v:stacktrace (#32634) - 2a3561819e0e eval: handle wrong v:lua in expr option properly (#29953) - 4317d366691b event-loop: process input before events in getchar() (#32322) - f05a6666cfcb events: always allow some events to be nested (#32706) - e9f4ceeb7467 events: don't expand `args.file` for Lua callback (#31473) - 1f49a59b8bde events: fix incorrect capitalization of Cmdwin* events (#32813) - 8c2d45be7729 exit: close memfiles after processing events (#30872) - c7ec010ade08 extmark: builtin completion can still affect nearby extmarks #31387 - 93278e7720b2 extmark: clearer error message for invalid ephemeral mark usage - 43a2019f09e8 extmarks: issues with revalidating marks #28961 - 84ad95fdc9d4 fileio: copy to correct buffer position when reading - 93347a67bf91 filetype: fix :filetype detect error with -u NONE (#29991) - aa9f21ee953d filetype: fix typos in filetype detection - 032e024f8ab9 filetype: handle .in files with no filename (#30487) - 1077843b9bee filetype: make filetype detection work with :doautocmd (#31470) - 21cbd9000748 filetype: normalize full path before matching #32227 - 5a8a34dafa2a filetype: source ftdetect/* after creating scripts.vim autocmds (#29445) - cff5fa49fc5a float: "Not enough room" error for 1-line float #25192 - 07c5f41da3ad float: can set title/footer without setting border #32594 - be01b361d8ff float: cannot set title/footer independently #31993 - ff1791c9e59b float: close preview float window when no selected #29745 - d2cca606a1b6 float: ensure floating window width can fit title - 8ddcf9d93900 float: handle error in win_float_create() (#29742) - 8b2b1fba2abf float: missing default highlight for title - df915f3afccb float: properly find last window of tabpage (#30571) - 17383870dd3b float: re-sort layers when grid zindex changed #30259 - 206f8f24a247 fs: make vim.fs.root work for relative paths and unnamed buffers (#28964) - 2c160f39d329 ftplugin/man.vim: hide signcolumn (auto) - 214ce8d33c11 gen_help_html: first tag in h2 is broken #30720 - ceea6898a8bd gen_help_html: handle delimiter, heading #29415 - 6c3f7e7e27a0 gen_vimdoc: correctly generate function fields - 913e81c35f16 getchar: do not simplify keycodes in terminal mode - b109b1abce8c glob: avoid `subcapture nesting too deep` error (#29520) - 4bd86120d41e glob: handle overlapping `{}` condition elements #29236 - b47b0b3f757d grid: double grid_line_start() with ext_messages #31292 - fe87656f29e9 grid: grid_line_start NULL access with 'redrawdebug' - a9c89bcbf69a gx: allow `@` in url - 570a8da01b55 health: "q" should not close last window #31876 - 2e3f1069f499 health: better layout of vim.treesitter health check - 10f917351906 health: broken ruby detect #28804 - 84e85aeb10ae health: check more "old" files #30421 - 5b778a64ec2e health: fix fetching url with python in provider health (#29594) - b4b4cf46a7a2 health: fix pyenv root and python exepath detect issue - 237d2aef4d70 health: return correct name from 'path2name()' - 5e9040648739 health: set nomodifiable in checkhealth buffers - 91773710145e help: remove runnable code virtual text - ff75f345ab5f highlight: 'winhl' shouldn't take priority over API (#31288) - 458473acb8d6 highlight: add `StatusLineTerm`/`StatusLineTermNC` to `:color vim` (#29313) - 6bcefad5a671 highlight: fix the seg fault caused by the invalid linked hl ids - 8e81212e151a highlight: floating windows inherit NormalFloat from global-ns - 67192760409b highlight: make TablineSel more noticeable with 'notermguicolors' #31905 - b67fcd048874 highlight: make `TablineSel` more noticeable #31896 - 862679c70fa0 highlight: update `PmenuSel` for colored completion items #30183 - 59e130b6cacd inccommand: ensure cursor is where it belongs - 16f63b964fc4 input: handle vim.on_key() properly with ALT and K_SPECIAL (#29677) - b52ffd0a59df inspect: always show priority - 9c278af7cc96 inspect: show priority for treesitter highlights - 22fd52325bf6 inspector: update semantic token namespace (#32157) - efe1732c6fd8 jobs: do not block UI when jobwait() doesn't block (#31803) - 574ea6a1911b keycodes: recognize ,