aboutsummaryrefslogtreecommitdiff
path: root/scripts/lintcommit.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2026-03-29 18:16:17 +0200
committerJustin M. Keyes <justinkz@gmail.com>2026-03-29 18:16:17 +0200
commitfc7e5cf6c93fef08effc183087a2c8cc9bf0d75a (patch)
tree0a0adbaca46b74d86cc75a1cf5af78495845d510 /scripts/lintcommit.lua
parentd9d3822a7b1bbfb3604819cece4cd664f4bc8dfd (diff)
downloadrneovim-fc7e5cf6c93fef08effc183087a2c8cc9bf0d75a.tar.gz
rneovim-fc7e5cf6c93fef08effc183087a2c8cc9bf0d75a.tar.bz2
rneovim-fc7e5cf6c93fef08effc183087a2c8cc9bf0d75a.zip
NVIM v0.12.0
Following is a list of commits (fixes/features only) in this release. See `:help news` in Nvim for release notes. BREAKING -------------------------------------------------------------------------------- - 9acb52c8f386 diagnostic: remove deprecated diagnostic APIs (#33072) - 79bfeecdb483 editor: insert-mode ctrl-r should work like paste #35477 - f72c13341afb lsp: pass entire entry to format function (#34166) - fe23168e2bc1 lsp: reimplement `textDocument/codeLens` as decoration provider - caa941935545 optwin.lua #36505 - c123b7245c43 path: support RFC3986 in path_with_url() #36564 - a57c7238f9c3 plugins: remove shellmenu #35815 - ade58885c478 provider: drop Python 3.7, 3.8 support #33088 - 59eadebe335f runtime: move "tohtml" to pack/dist/opt/ #34557 - 1d5b3b5b4c86 treesitter: apply `offset!` directive to all captures #34383 - fd1e019e90e7 treesitter: get_parser return nil on error #37276 - a728eb7af162 treesitter: remove "all" option of Query:iter_matches #33070 - 4369d7d9a780 ui: decouple ext_messages from message grid #27963 FEATURES -------------------------------------------------------------------------------- - 78f4994627b7 ":restart +cmd [cmd]" #34788 #35045 #35223 - b40ca5a01c39 channel: support :detach, :restart on Windows #37977 - ce2742313207 ":wall ++p" creates parent dirs for each buf #36121 - f3c2eb49bab3 vim.Pos, vim.Range #36397 - 9044d64af94d has('terminfo') - 70d797943956 render tuple types for API methods - 5151f635ca29 serverlist({peer=true}) returns peer addresses #34806 - 7ba043f0f31c api: add "max_height" argument to nvim_win_text_height (#32835) - e80d19142bdb api: add nvim_open_tabpage - 6ebeb07c5614 api: experimental nvim__exec_lua_fast #35758 - 1e7406fa38ee api: nvim_cmd supports plus ("+cmd", "++opt") flags #30103 - 8b171852a925 api: nvim_echo can emit Progress messages/events #34846 - 612b2e785087 api: nvim_get_commands returns function fields #36415 - 4d04d0123d25 api: nvim_set_hl{update:boolean} #37546 - 4998b8d7b5f9 api: nvim_win_set_config accepts unchanged "noautocmd" #36463 - e2a0748cb28f api: nvim_win_set_config can move floatwin to another tabpage - 094b297a3b33 api: nvim_win_set_config can move split to other tp as floatwin - 88774965e5c0 api: relax contract, allow return-type void => non-void #34811 - 85d33514f999 api: set nvim_echo() kind for ext_messages (#33998) - cf0f90fe14f5 async: add `vim._async` - e1ffa8d33b5e build: HAVE_UNIBILIUM - 1f004970f00b build: build.zig MVP: build and run functionaltests on linux - dc6cf3add95a build: build.zig windows support - e25b99c5b63c build: make build.zig run unittests - c4501e98f2c3 build: make build.zig use luajit on main plattforms - 8e0692cdc501 build: support full runtime distribution work - 6d9031390cfc build.zig: add option to use system dependencies - 5ec0c1ca07f9 build.zig: install parsers in install step - 75fe54050081 checkhealth: emoji for OK/WARN/ERROR #33172 - 63323a9c81a8 checkhealth: trigger FileType event after showing report #33677 - 9722bd7b1b47 clipboard: g:clipboard="foo" forces the "foo" clipboard tool #33235 - 3a35fdc3471e clipboard: wayclip primary clipboard and correct mimetype (#33990) - 6228acb74f94 cmdline: completion for :TOhtml #37045 - 3bdebfb87f11 defaults: don't enable treesitter query linter - 41cac54325e9 defaults: exclude temp dirs from 'shada' oldfiles #37631 - 5d06eade2599 defaults: map "grt" to LSP type_definition #34642 - 06befe1e348b defaults: map "grx" to vim.lsp.codelens.run() #37689 - 249f305bbcdd defaults: per-platform 'guifont' default #37175 - d77d961b350d defaults: shelltemp=false #33012 - b10cb0296ae2 defaults: store spellfile in stdpath('data') #33048 - 4fae013a21a9 diagnostic: add `enabled` filter (#33981) - 2f24ae8de471 diagnostic: add `format` option to `setloclist`/`setqflist` (#33977) - c65817774d66 diagnostic: add `on_jump` callback option - 7e09fedf43fa diagnostic: config.status #36693 - caf780859197 diagnostic: custom status format function #36696 - 01666aae64d1 diagnostic: fromqflist({merge_lines}) #37416 - 410744210386 diagnostic: highlights in diagnostic.status() #36685 - 68e316e3f910 diagnostic: jump to related info location from `open_float` #34837 - 2767eac320ef diagnostics: stack DiagnosticUnnecessary,DiagnosticDeprecated highlights #36590 - a5b8cf145d1f diff: merge adjacent blocks using inline:word (#37085) - 45b4bbac281b difftool: replace old "nvim -d" automatically #38057 - d5cfca5b768c docs: numbered listitems - 4dabeff30822 editor: 'autowriteall' on SIGHUP/SIGQUIT #32843 - 55a0843b7cf7 editor: :source can run Lua codeblock / ts injection #36799 - f5829957f25c env: remove VIM_VERSION_NODOT macro #34890 - 551bb63d449f events: MarkSet event, aucmd_defer() #35793 - 23bf4c0531ac exrc: search in parent directories (#33889) - 8d397fa458a9 exrc: stop searching in parent directories by unsetting 'exrc' - dc67ba948eec exrc: user must view and explicitly run ":trust" #35069 - bffca6e26bf3 extmark: support end_col=-1 if strict=false #28169 - 302e59f734ec extui: assign 'filetype' to extui windows (#33924) - f2988e05db45 extui: don't enter pager for routed message #34679 - 8defe1afb2d1 extui: route to "more" window if it is open (#34190) - 3c9484b550eb extui: show dismissed message in cmdline (#34745) - 94677318655e extui: support paging in the dialog window (#35310) - 7526fb449de3 extui: use winborder for msg window #34859 - 8a626e5c4a52 float: 'statusline' in floating windows #36521 - 216cc893bf1b float: 'winborder' "bold" style #33189 - dcbe5bdd9674 ftplugin: treesitter default highlighting for markdown - c1fa3c7c377b gen_help_html: generate helptags.json, helptag.html #35442 - 322a6d305d08 glob: new Glob implementation based on Peglob #33605 - 8c63d84be157 health: check `vim.ui.open()` tool #37569 - 13ed22505410 health: create a bug report #31842 - 043f5a291a7c health: show available queries for `treesitter` (#37005) - 5a94edad70f9 health: summary in section heading #33388 - 47b0a718c3d9 help: gx opens help tag in web browser #35778 - 16f7440cc7b5 help: super K (":help!") guesses tag at cursor #36205 - cb8c9186e6ff highlight: support more SGR attributes #37901 - 0aabe7ae7680 inspect: update to a8ca312 - 8a0cbf04d6a6 iter: peek(), skip(predicate) for non-list iterators #37604 - 448f15ca396a json: pretty-format (indent) with vim.json.encode() #35424 - a897cc17a5ee json: vim.json.encode() sort_keys #35574 - abfe6c9ef7f4 logging: rename ".nvimlog" => "nvim.log" #37935 - 4eed85f9bd0e logs: show full paths in lsp logs (#33886) - 7486c2f6aa6d lsp: <Plug> mapping for signature help cycling #34039 - 903335a6d50b lsp: `Client:stop()` defaults to `exit_timeout` #36783 - 6577d72d819d lsp: `root_markers` can control priority #33485 - d6a6eed4f3bc lsp: attach to buftype=help buffers #38412 - 63abb1a88f2c lsp: builtin :lsp command - 7c9b865bdd1a lsp: deprecate `vim.lsp.stop_client` (#36459) - b877aa34cf36 lsp: detach LSP clients when 'filetype' changes #33707 - 371aa1c5663c lsp: diagnostic related documents support - 15ff45444325 lsp: display codelens as virtual lines, not virtual text #36469 - 63594ffa04cc lsp: do completionItem/resolve if completeopt=popup #32820 - c5c6ddba91b4 lsp: document method types (#35934) - d08b26511154 lsp: enable document_color by default #35086 - 66339e06412d lsp: generate method to client capability map - acfb9bc614ed lsp: graduate ClientConfig `exit_timeout` #36750 - 957093da0da9 lsp: handle deprecated document symbols (#34751) - 492ea28612b2 lsp: handle disabled code actions (#34453) - 8876413e2dcc lsp: highlighting the symbol being renamed (#37390) - d26db4bfbfd6 lsp: improve signature help display #35190 - f99e3a8a2a3f lsp: incremental selection via "textDocument/selectionRange" #34011 - e82aef2e22a5 lsp: incremental-selection operator-pending mode #36575 - a4b2192690d7 lsp: lsp.enable() auto-escalates forced shutdown #36458 - 4430c9a42477 lsp: migrate `document_color` to capability framework (#38344) - e855a23c02a7 lsp: on_accept can return item to customize behavior #37092 - 729e0acd269f lsp: pass client ID in code action filter (#36046) - 32f30c4874a0 lsp: pass resolved config to cmd() #34550 - 8ed68fda5014 lsp: semantic token range improvements #37451 - 23ddb2028bce lsp: semanticTokens/range #36705 - 3e8a4e10920d lsp: show color preview in completion items #32138 - 145548a24ae6 lsp: show snippet preview if completeopt=popup #32553 - 654303079baa lsp: skip invalid header lines #36402 - 4bc7bac88425 lsp: start/stop LSPs as necessary during vim.lsp.enable() #33702 - d75ffa59344b lsp: static registration support (#34371) - cc518cf9bab0 lsp: support CompletionItem.labelDetails #38403 - 8f5bd569c541 lsp: support `documentColor` dynamic registration #33800 - 4745270bf124 lsp: support `textDocument/colorPresentation` (#34823) - 9ff12396347b lsp: support `textDocument/documentColor` - 05bd4398c507 lsp: support `textDocument/documentLink` (#37644) - 0e70aa0e8687 lsp: support `textDocument/inlineCompletion` - 77e3efecee4e lsp: support `textDocument/onTypeFormatting` (#34637) - 03d6cf7aae4a lsp: support `version` in `textDocument/publishDiagnostics` #36754 - 965468fca1e7 lsp: support `workspace/codeLens/refresh` - 835f11595fb0 lsp: support annotated text edits (#34508) - 02cd56489650 lsp: support auto-force escalation in client stop (#36378) - 02067a989207 lsp: support diagnostic refresh request - 2031287e9329 lsp: support diagnostic related information (#34474) - 0f3e3c87b738 lsp: support dynamic registration for diagnostics (#36841) - c5167ffc185a lsp: support linked editing ranges #34388 - 76d213efbee8 lsp: support multiline semantic tokens #34458 - 9278f792c374 lsp: support range + full semantic token requests #37611 - 016335a7d09f lsp: support refreshing workspace diagnostics - 7cc07e838332 lsp: support signature help noActiveParameterSupport #34838 - d7e0d46ffa8f lsp: use stricter types for methods - c22b03c77166 lsp: user-specified sorting of lsp.completion multi-server results #36401 - e406c4efd620 lsp: vim.lsp.get_configs() #37237 - 6888f65be177 lsp: vim.lsp.inline_completion on_accept #35507 - 03d378fda68f lsp: vim.lsp.is_enabled() #33703 - 054eaf8493cb lsp: warn about unknown filetype #36910 - cb4559bc3204 lsp: workspace diagnostic support (#34262) - 90d15227c55c lsp: workspace_required #31824 - a8edf6e4459d lsp.util: deprecate vim.lsp.util.stylize_markdown - 98f8224c1948 lua: `vim.pos`/`vim.range` - 0c46ea7d38dc lua: add `Iter:unique()` (#37592) - cf9b36f3d97b lua: add vim.list.unique() - 7499c9f9a754 lua: conversion between cursor positions - 62b45b8fe4ce lua: conversion between extmark positions - 9f5b309d824a lua: conversion between vim and lsp position/range - 047a10bfde53 lua: function `behavior` for tbl_extend, tbl_deep_extend #33819 - 4d3a67cd6201 lua: replace `buffer` with `buf` in vim.keymap.set/del #38360 - 6e1745e96e3d lua: support vim.Range:has(vim.pos) #37879 - 7ed8cbd09580 lua: vim.list.bisect() #35108 - d8a88256794f lua: vim.wait() returns callback results #35588 - f68a5c40f01d messages: add "prev_cmd" argument to msg_history_show (#34779) - fc2dee17368d messages: cleanup Lua error messages - 0d13945bbb0e messages: drop hardcoded 'showmode' delay #38029 - 0741d2520dd7 messages: hl-StderrMsg, hl-StdoutMsg #33429 - 0ee5a4d48155 meta: vendor luv meta files - 7cd5356a6f89 net: vim.net.request(), :edit [url] #34140 - f29b3b5d458b net: vim.net.request(outbuf) writes response to buffer #36164 - fb0dc825e9bb option: custom chars in 'winborder' #33772 - 28e31f5d3d16 options: default statusline expression #33036 - 5973328edaed options: per-buffer 'busy' status #34493 - 0412527a4078 outline: smaller indentation #34005 - 2728b4efe030 pack: add `[[` and `]]` mappings in confirmation buffer - a9db6ec6fa12 pack: add `active` field to `PackChanged` event data - d21b8c949ad7 pack: add built-in plugin manager `vim.pack` - 4a637107d071 pack: add checkhealth - 98e3a571ddf4 pack: add code actions in confirmation buffer - d7db552394ea pack: add initial lockfile tracking - 8c28507fcf6f pack: allow choosing update target in `update()` - dd828690c747 pack: allow function `opts.load` in `add()` - c9965491d01f pack: allow running `update()` without Internet connection - acff86601efd pack: allow skip install confirmation in `add()` - a41703d107da pack: confirm "Always" to install all plugins #35733 - c339b83a4ab9 pack: hint in confirmation buffer that plugin is not active - dc8235c48c8b pack: prefer using revision from lockfile during install - c522cb0e96da pack: support user-defined `data` in plugin spec #35360 - 2e533e364e2d pack: update `add()` to handle source change for installed plugin - 069be911064d pack: use `nvim_echo{kind=progress}` to report progress #35625 - a20396153505 pack: use colored `nvim_echo` chunks to show progress report - 7853cde29a08 pack: vim.pack.get() gets VCS info #35631 - fec02ae8e411 plugins: nvim.difftool can compare directories #35448 - 8a12a0146665 progress: better default format + history sync #35533 - 7b7e8cc72458 progress: disable cmdline progress msg via messagesopt' #36730 - 4b643d7068e8 progress: set Progress-event pattern to "source" #38495 - 24684f90eac2 progress: status api, 'statusline' integration #35428 - 286371b4d22a prompt: multiline prompt input #33371 - 8ab511bba524 prompt: plugins can update prompt during user input #37743 - a940b77cb25a prompt: prompt_appendbuf() appends to prompt buffer #37763 - 5ae41ddde350 prompt: prompt_getinput() gets current input #34491 - 5f8d4a248a97 provider: detect venv python via "pynvim-python" tool #35273 - f01419f3d563 runtime: accept predicates in take and skip (#34657) - 8c81ed86786a runtime: revert cfilter, ccomplete to legacy Vim - 9e1d3f487070 runtime: undotree #35627 - c9d846802030 search: increase `MAX_COUNT` to 999 - 6ba32713ada1 secure: allow 'path' parameter for trust action 'allow' (#38001) - 71455173b482 shada: don't store jumplist if '0 in 'shada' - 840cdb958969 shada: shada should not store nobuflisted buffers #21818 - 701258921ed1 snippet: highlight active tabstop (#35378) - 4e1644d4d3cb spell: opt-out of confirm when downloading spellfiles #36836 - 1d40f677760d ssh: SSH configuration parser #35027 - cf874cee330d startup: provide v:argf for file arguments #35889 - 32aee065a898 startup: warn if NVIM_LOG_FILE is inaccessible #38070 - 4719b944437b statusline: option to specify stacking highlight groups #37153 - b79ff967ac91 statusline: vim.diagnostic.status() #33723 - 72a63346d866 stdlib: vim.fs.ext() returns file extension #36997 - 6b4ec2264e1d stdlib: vim.json.decode() can allow comments #37795 - eac2f0443e03 tag: respect jumpoptions=view when popping tagstack (#37021) - a94568644489 term: increase max scrollback to 1000000 - 6bc0b8ae870c terminal: detect suspended PTY process (#37845) - 03377b955233 terminal: include sequence terminator in TermRequest event (#37152) - 71f3a9c5900f terminal: parse current buffer contents in nvim_open_term() (#33720) - 2368a9edbd6c terminal: support SGR dim, overline attributes #37997 - c8693051a8b6 terminal: surface exit code via virttext + nvim_get_chan_info #37987 - b38173e49333 terminal: synchronized output (mode 2026) #38284 - 72d3a57f270f treesitter: incremental selection - 586b1b2d9bcf tui: add nvim_ui_send (#35406) - 981ea41abbec tui: ghostty builtin terminfo #36963 - 8eb096453788 tui: native progress bars for Progress events #35973 - de87ceb3beaa tui: support APC queries in TermResponse (#34426) - 977e91b424f4 tui: use DA1 response to determine OSC 52 support - abb40ecedd92 ui: "append" parameter for "msg_show" UI events - fafc329bbd1e ui: 'pumborder' (popup menu border) #25541 - 649bb372f665 ui: :connect command #34586 - 7ba0f623d75a ui: avoid setting 'cmdheight' with vim.ui_attach() - 2b4c1127ad1c ui: emit "msg_clear" event after clearing the screen (#34035) - 2c1c0b7af50b ui: ext_cmdline/messages for the TUI #27855 - f29856d03444 ui: include compositor info with multigrid - 9bbbeb60e355 ui: no delay for errors with ext_messages (#33693) - 07d0da64ed51 ui: overlay scrollbar on 'pumborder' #36273 - a2b92a5efbb4 ui: show "empty" cursor behind unfocused floatwin #37624 - 97549ad7cf23 ui: specify whether msg_show event comes from typed command - 8ae9a44d3841 ui: support grid=0 in nvim_input_mouse #32535 - 08c484f2ca4b ui: use builtin completion popupmenu with ext_cmdline (#31269) - fbac2e5edc8b ui2: configure maximum window heights #38392 - 32e0d05d53f4 ui2: configure targets per message kind #38091 - 9fc985bc9868 ui2: more predictable routing #35028 - db2a54996ecf ui2: replace message by its ID #37672 - e268760e46ae ui2: show active paging keys in dialog float title #37919 - 875212c5b3b8 ui2: support routing "typed_cmd" trigger to target - 81d2d88f70e0 undotree: set 'filetype' #36091 - 9595f074255c ux: sexy intro #38378 - 51961625402b version: support multiple Vim versions - 361671870e14 vim-patch.sh: -M lists all ported patches - 7fe02126f948 vim-patch.sh: add n flag to list possible N/A patches (#36431) - 2f0fbdaa480c vim.fs: root() can specify "equal priority" #34276 - eae2d3b145c7 vim.hl: allow multiple timed highlights simultaneously #33283 - ea124068f246 vim.pack: lockfile support #35827 - 773075b2bce8 vim.version: add `vim.version.intersect()` - aeb8bca12ddf vim.version: make `tostring()` return human-readable version range - e42050f4aed5 vimscript: log function name in "fast" message #32616 - 6edae880528b vimscript: scripts can detect 'android', 'termux' #38218 FIXES -------------------------------------------------------------------------------- - b233f71b1bd6 :ball w_locked check, reset b_nwindows in free_all_mem() #38484 - f2e60d000ed3 `fn.exists()` typos (#34390) - 379c37fa0b1b bug in stylize_markdown - 2c9d21f722f9 cursor shape don't resume after `:append` - 7fdf9f739923 define `vim.mpack` - bc4bddbb214f don't use logical diagnostic position in `get_prev` and `get_next` #35282 - 3567b7d75175 ignore Nvim local config #37805 - fd45bc8caba2 lsp.enable() don't work correctly inside FileType event #37538 - 0694ca8822b5 map wincmd instead of remap #34635 - eeba0dc2ed4e memory leak from double buffer initialization in read_stdin #35413 - dfa5d79d05d8 misc typos #37471 - cd4c98fded94 nvim_open_tabpage cleanup, fixes, more tests - 874e2149931f remove exec permission from .gitattributes #33140 - bcc9242bc75e remove quotes around `nil` deprecation alternatives (#36047) - 7b99e1f0c307 remove typo from buffer-local LSP docs (#35841) - e991133058f2 remove unnecessary `nvim -l` from `gen` command #33676 - 92b2a2677239 resolve all remaining LuaLS warnings in `src/` - 431004dda2bb screenchar()/screenstring() with hidden floating windows #35560 - 1999c4cdc11c screenchar()/screenstring() with multigrid #32494 - 9204b7541d27 silence LuaLS's `no-unknown` warnings in `src/` - 020d5e0f7e7f stale lines("w$") after nvim_win_set_height when splitkeep=screen #36056 - 2e68e9c051dc temporarily disable 0.12 deprecation tests - 3b6084ddf4f0 type fixes - 38aac21083a5 type of nvim_echo - d21e2463fd98 update deps hash for zig 0.14.0 - fa8e4e65caeb update lua types for commands - 9170178ee5af use correct window dimension for range estimation - 62ba6e8a76f3 use nvim namespace convention #34010 - 28157738e3de vim.lsp.omnifunc should not throw away other items #35346 - 71a22e20ad15 vim.ui_attach handles messages during `-l`/`--headless` #36884 - 9c5ade9212d8 wait() checks condition twice on each interval (#37837) - 9287c73df9f5 :connect: don't use freed memory (#38512) - 7cd22e916bbb :connect: formalize connect event #38543 - 49d7f694a850 :ls: check for finished terminal properly (#37303) - 6af1b7e5e8da :print: don't use schar_from_ascii() for illegal byte (#34046) - 5cfbc35aa838 api: add missing nargs field to user command Lua callbacks #34210 - eeacd7bd718a api: adjust fix for reconfiguring float "relative" (#34287) - 3cb462a9608f api: autocmds mess up nvim_get_option_value's dummy buffer - 612cd99a0017 api: buffer overflow in nvim_buf_get_extmarks overlap #37184 - 006361fc6b98 api: buffer updates in quickfix buffer #31105 - 76d0206342a2 api: count parameter in nvim_parse_cmd, nvim_cmd #34253 - c553008e74e5 api: crash when moving curwin to other tabpage #35679 - b7070778b98a api: cterm type in highlight keyset #37802 - 853eea859fd3 api: disallow moving window between tabpages in more cases - 0bef1c88f362 api: do not allow opening float to closing buffer - ef084b5c225c api: don't config split as floatwin relative to itself - 4362132b101a api: don't re-apply minimal style if unchanged #38152 - 3165e94a64b0 api: ensure win_get_config() "border" is reciprocal (#34322) - c7c3f9fc9c3a api: fix crash in command preview with % #35228 - 7b9512e613e1 api: fix not capturing output in cmdline mode (#35322) - d788864cdea7 api: ignore split_disallowed when opening a float - 3115e3d0d11e api: improve external window validation - d707ccf98808 api: inconsistent scrolling when deleting before topline (#36301) - 137d5ab01dfa api: merge split window config only on success - 22df6492101f api: nvim_create_user_command addr option should allow ranges #35077 - 6f12663de56b api: nvim_get_option_value FileType autocmd handling #37414 - 7e2e11634369 api: nvim_get_option_value dummy buffer crashes - 0c1ed63c05fe api: nvim_open_tabpage "after" like :[count]tab - 97b064c9ac84 api: nvim_open_tabpage positional "enter" - d7472c061759 api: nvim_open_win default to half-size for splits (#36088) - 19f5f05ac2b9 api: nvim_open_win respects requested split window size (#35601) - 652c3e76c712 api: nvim_parse_cmd "range" when ea.addr_count=0 #33536 - 72b0bfa1fb7e api: nvim_parse_cmd handle nextcmd for commands without EX_TRLBAR (#36055) - f3ec657ebc02 api: nvim_parse_cmd on range-only, modifier-only commands #36665 - c7f38e3bc8fb api: nvim_parse_cmd parses :map incorrectly #34068 - 63cbc95d4517 api: nvim_set_current_win doesn't reset Visual mode (#37340) - 9383a096eb7e api: nvim_set_hl boolean false corrupts underline styles (#38504) - d19dc6339de7 api: nvim_set_hl crashes when url= key is passed - ec18ebcb417b api: nvim_set_keymap() throws error even in pcall() #33228 - 7da4d6abe249 api: on_bytes gets stale data on :substitute #36487 - 2211953266f7 api: on_detach consistently before buf_freeall autocmds - a2b97209395e api: open_win leak from naughty autocommands - 5226801be264 api: parse_expression crash with ident and curly - a5e5ec8910ea api: parse_expression crash with unopened ] and node - d523750de0b3 api: populate lhsrawalt in nvim_get_keymap response - 88dc44260f83 api: preserve WinConfig style when converting float to split #37264 - 963308439a5d api: reconfiguring float "relative" does not clear "win" (#34271) - e13e85051751 api: redraw after setting minimal style - 7be4ae796faa api: relax config validation for "win" - 1901832f26fa api: return "style" in nvim_win_get_config() #38122 - 15d57ab0ba5e api: single-line visual block insert triggers extra on_lines #35098 - f5d03ec93089 api: style=minimal not applied immediately for unmoved split - 0ee8323f2b5c api: unnecessary errors when not moving split - af82f36108ce api: update topline when flushing with nvim__redraw() (#34346) - 99529577cc9f api: use E226 instead of E227 for duplicate abbreviation (#33159) - 0d73ec583465 api: use original LHS in keymap error message #33135 - 680d25e5b3c1 api: use standard error messages - 1ec74fa7b1ba api: win_config `border` type #38030 - c924c2a7b316 api: win_config_float_tp grid removal, redraw - da39966a3a0a api: win_set_config error message for splitting from a float #35650 - 65170e8dad90 api: wrong return value with reverse range + overlap #32956 - 285c04e2d0e3 api,lsp: call on_detach before wiping out the buffer #35355 - acecdbff1f57 api,lua: handle converting NULL funcref/partial (#37060) - 4daa8eb5abca appimage: wrong $ARCH used by linuxdeploy #36712 - 5871d2677909 autocmd: 'cmdheight' OptionSet with valid window grids (#34619) - 19379d125555 autocmd: deferred TermResponse lacks "data", may not fire (#37778) - 05a83265f9a4 autocmd: fire TabClosed after freeing tab page - f36dd7557a98 autocmd: heap UAF with :bwipe in Syntax autocmd - 6d2330f50d07 autocmd: parsing of comma-separated buflocal patterns - d945a93d69c9 autocmd: potential TabClosed UAF, always set abuf - 1cde71233fcf autocmd: skip empty comma-separated patterns properly - f9ef1a4cab74 buffer: defer w_buffer clearing to prevent dict watcher crash #36748 - 14d65dae91b1 buffer: don't allow changedtick watcher to delete buffer (#36764) - 23aa4853b3fd buffer: don't reuse 1-line terminal buffer (#37261) - 2700f6642aef buffer: switching buffer should respect jumpoptions+=view (#36969) - fa24df32641c bufwrite.c: handle invalid byte sequences #37363 - c26f989b2fe1 build: also check os_win sources with uncrustify in CI - 8069df266150 build: build.zig: use luajit for windows - 576e8f62c262 build: disable problematic marktree assert in RelWithDebInfo builds - 88b45614e945 build: gen_help_html fails #36359 - f0d981544b38 build: glibc 2.43 happened - e69beb9b1aba build: invalid help tags cause reports to fail #36356 - 3268f51d202f build: musl libc build.zig - f98b5ee61921 build: remove .tar.gz workaround for bug fixed in zig 0.15.2 - a2b0be19bf8f build: remove deprecated aliases in build.zig removed for zig 0.15 - b4db223d33e7 build: treesitter parsers are not ReleaseSafe - 921f8b0df728 build: use correct cmake expression for $<CONFIG> - ec8a0c73402b build: workaround errors in zig build due to stale cache - 6741c134e17f build: zig build can has git version - 41bc3020c46f build.zig: format build.zig to keep lines under 100 chars - 565cfa04eb00 build.zig: replace slashes in filepaths #37111 - 64ce5382bd53 channel: crash on failed sockconnect() (#37811) - 886efcb8535e channel: possible hang after connecting with TCP times out (#37813) - 4399250e9063 channel: unreference list after callback finishes (#37358) - 5f9f5bc04d0b checkhealth: check g:loaded_xx_provider for all providers #33168 - e87d2ae3836c checkhealth: check outdated pynvim version properly #33175 - 78d2e0b43e7a checkhealth: don't override user "q" keymap #33132 - 16fbde83c46f checkhealth: don't wrap command in cmd.exe (#38158) - bd45e2be634b checkhealth: wrong ABI version for treesitter parsers #35327 - ad22d0ace996 cjson: fix `strbuf_set_length` incorrectness #35565 - f5cbf1164421 client: avoid :connect race with server detach - 2483d5ad8af7 clint.py: replace deprecated codecs.open #36593 - 41199c45d6bb clipboard: avoid using stale register width (#36178) - 95dfb063daa7 clipboard: correct blockwise register width computation (#35038) - ac12dc49cc35 clipboard: enable cache for function providers #34470 - 310d01d8faa5 clipboard: tmux clipboard data may be stale #36787 - d00f680c0d2c clipboard: use tmux only in a tmux session #36407 - 8aacce90b4b6 cmake: linker flags, doc generation for cross-compilation #38215 - 9763834170dd cmake: use host nlua0 binary when cross-compiling #38089 - 69cae6259e91 cmd: :update does not write new, unmodified buffer #35929 - fcf752476a33 cmd: :update writes new file buffers only for real files #35939 - a5c55d200b18 cmd: bar "|" not allowed after :fclose #34613 - 5de2ec76a3b0 cmdline: :checkhealth completion with multiple args (#35060) - f4ee0ab2f1a1 cmdline: avoid empty @: register after :<CR> (#33126) - fde1c07891e0 cmdline: cmdline_block events for :lua debug.debug() #38171 - 0015a105ca7c cmdline: do not move UI cursor when entering cmdline #33729 - 236d831d77d6 cmdline: don't treat c_CTRL-D as wildmenu (#36067) - 95ab723995f1 cmdline: empty ext_cmdline block events for :<CR> #33118 - 7f2298ad32a6 cmdline: fix inconsistent behavior with ext_popupmenu (#35688) - 677446c70f8c cmdline: make sure pum is removed on leave (#36608) - dc05598d0201 cmdline: set search cursor after ui_flush() (#34418) - 5977bdba0566 cmdline: trigger CmdlineChanged after command preview (#35254) - efd0fa55c8b1 cmdline: validate 'incsearch' cursor for "cmdline_show" redraw (#34630) - 28ff4deda7a0 colorscheme: adjust `StatusLine[NC]` for diagnostics #36719 - 4a706a709282 column: don't count signs on lines beyond eob #33410 - b40e658717b3 column: missing redraw with virt_lines_leftcol (#34650) - 8f78591f9ac0 column: wrong alignment and highlight with empty 'display' (#35495) - 69419f8b3e76 completion: CompleteDone reason="discard" when candidate text remains #38169 - 51caf0a3af59 completion: avoid freeing uninitialized value (#33459) - b25838217697 completion: complete drive-letter filepath on Windows #36353 - 634f6424aaac completion: set 'wrap' and scrolloff=0 in preview window (#37327) - 3f10bb87efad completion: wrong CompleteDone reason for auto-inserted sole match #38280 - e1b3ca66291a compositor: clear old position with last known dimensions #38229 - 6f632a8615e0 compositor: don't blend uninitialized background cells #34364 - 150490d365a3 conceal: assert tripped during startup #36136 - ad8bce667496 conceal: check for concealed lines on invalid row (#36084) - ab72799841c8 coverity/530026,530028: free resources on early exit in nlua_exec_file #33502 - 079159410143 coverity/530033: free lp->sl_info to fix resource leak #36198 - 0ed5e00077dc coverity/532324: free skip_until to prevent leak #36109 - 3e303231350e coverity/554963: preallocate msg.items to avoid FORWARD_NULL #34484 - 501a21f33390 coverity/637363: out-of-bounds write #37878 - c5b8ed870b8e coverity/644326: NULL ptr deref in socket_address_is_tcp #38010 - 20b2dd39ccfe decor: clamp last column by decor provider range - ca16b54c866b decor: enable decoration provider in on_start #33337 - 6adf48b66d52 decor: extmark highlight not applied (#33858) - 9492df027d07 defaults: 'guifont' "monospace" fallback, trim spaces #37930 - 57b4fb5c5318 defaults: enable :terminal [[,]] motion in operator-pending mode #33217 - 3ebde5ea147c defaults: keywordprg=:help on Windows #33336 - 9567fb050795 defaults: silent `gx` if no `textDocument/documentLink` support #37969 - dc6fc11b8753 defaults: start exrc search from parent directory - cb247e06f0ba defaults: visual-mode [[,]] for :terminal shell prompts #33201 - 1c96b72dfa41 deps: make script/bump_deps.lua update build.zig.zon versions in sync - 6e12ef4a7b4c desktop: cannot open filename with spaces using OS file manager #33161 - 2e0158650a3b diagnostic: accept multiple namespace in `open_float()` (#34073) - c681336e3c35 diagnostic: accept multiple namespaces when setting loclist/qflist (#33982) - d567f899efb7 diagnostic: allow virtual_{lines,text} cursor exclusivity #33517 - 3ac76977bca5 diagnostic: check for extmark in get_logical_pos #37127 - 68eece8b849d diagnostic: check if the buffer is loaded #35125 - dbe17da1206d diagnostic: deprecate `float` in `vim.diagnostic.Opts.Jump` (#34037) - efa6d91132c7 diagnostic: display 1-based related information line/col numbers (#37093) - 2b21c9c23f88 diagnostic: ensure autocmd always is always sent diagnostics - e34e2289c228 diagnostic: fix flaky error - 583308f5991c diagnostic: handle stale diagnostic extmark ids #38060 - 88a72efb465c diagnostic: open_float() handles config.float function #31577 - 09266830bdf4 diagnostic: show diagnostics on buffer load #35866 - 9833f0da5f35 diagnostic: unstable sorting by severity #37154 - f7b573f80a33 diagnostics: assert adjusted diagnostic position #37210 - 7a051a4c3894 diagnostics: avoid jumping to diagnostics in deleted ranges #35088 - 9641ad9369f6 diagnostics: diagnostic just after EOL is not highlighted #34085 - e4a100a1e1c0 diagnostics: extend conversion support from/to quickfix format (#34006) - 19efabafc568 diagnostics: fixed virtual_text cursormoved autocmd error (#34017) - 0a113013fb85 diagnostics: position diagnostics using extmarks #34014 - a1bc5d0ae6a9 diagnostics: showing stale diagnostics in handlers #35890 - 3594c213a7fe diagnostics: validate opts.signs #34565 - 60d0b7d0c3f7 diff: fix incorrect item size of dout_ga (#34338) - 0b8a9bde0eee diff: set default diff flags properly (#35450) - aaec3e5b0dab difftool: add check for window number when cleaning up layout #36161 - c1e60f36f3fb difftool: don't reset quickfix list when closing quickfix window #38088 - c9b74f8b7e38 difftool: ensure split layout, use systemlist #36145 - c6113da5a999 difftool: fully resolve symlinks when comparing paths #36147 - a88c7962a82f difftool: handle "no differences found" #36671 - d59064462096 difftool: silence :only command in setup_layout #36168 - 97a625944252 display: adjust setting winline info for concealed lines (#33717) - cb2ca54331cd display: cursor moves when searching with "n", "*" #29446 - ce0c0c31a089 display: scroll logic does not take into account concealed topline (#33054) - 5b1561bb717e display: scroll redrawing doesn't account for virt_lines above fold #33374 - 7e8b7bba21cf display: wrong cursor column with 'concealcursor' = "n" and virt_text (#33218) - 5582005ac766 docs: add `--clean` arg to LSP bug report (#36530) - e74753a221f8 docs: callback annotation for `vim.ui.input` #34507 - 4a910a2a4ed6 docs: dev.txt is "new layout" - 9da316fcc45c docs: force blank line after numbered list items #35950 - 4397c4b117d1 docs: improve adjacent list items - 8a76129d9f61 docs: include `?` in list items #35945 - b2722181b001 edit: clear showcmd after clearing last put char (#34517) - 9a864d0a3c91 edit: handle cindent properly with completion (#36711) - 3647b821ea69 editor: respect [+cmd] when executing :drop #33339 - 966b1da1831e editorconfig: a custom property is treated as a section (#34445) - b618511ef906 editorconfig: use 4 spaces indentation for zig files - fd973c0a4ec0 env.c: drop envmap, free os_getenv() result #32683 - df9e4a037ad6 eval: 0 should mean current tabpage in gettabvar() (#36891) - 8156eece2413 eval: fix crash with :breakadd expr when calling user func - 981d4ba45ed1 eval: winnr('$') counts non-current hidden/unfocusable windows #34207 - 1e1619de830e eval: winnrs of unfocusable/hidden windows #35474 - 57c6b61cf2d1 event-loop: don't call uv_stop() when loop isn't running (#37984) - 1dbede5b932f events: avoid superfluous CursorMovedI on first autocmd (#33588) - 0b61bc898230 events: crash on SIGTSTP (Ctrl-Z) #33258 - 0a0c349b6fee events: crash on WinScrolled #35995 - 29494f042c28 ex: error handling for `:lsp` #37061 - 2f352217742c excmd: :trust executed even when inside false condition (#36032) - c1f142322b20 excmd: correct :connect abbreviation - 781ea5b41b2d exit: stop listening before closing channels (#38480) - ed9abb1851e3 exrc: ensure consistent 'exrc' loading sequence #35148 - f7c939fa7af9 exrc: exrc knows its own location (#34638) - a39334767321 extmark: adjust invalidate range by one for deleted lines #37897 - 589232c0e065 extmark: wrong eol_right_align width calculation (#37034) - 6dee1672ccc9 extui: "box" window width calculated on last line (#33881) - ff95d7ff9a04 extui: adjust "more" window routing (#34251) - cc78f882012b extui: adjust which messages are sent to "more" window - 9784bc134624 extui: append consecutive :echon messages - e512efe3696b extui: attempt to perform arithmetic on field 'last_emsg' (#35047) - 70eb4164591e extui: better message highlighting after carriage return (#34034) - 9e968635efc4 extui: check if buffers/windows exist before deleting (#34886) - 3c7c824bdc08 extui: check option values after VimEnter (#33768) - 5046ef4c8f8d extui: clear cmdline buffer for first message (#34490) - db702782e016 extui: close cmdwin to enter "more" window (#33860) - c916bdf32986 extui: close message window with `q` - 39a5b7f239fb extui: cmdline visibility, cmdheight cursor position (#33774) - 5e4700152b79 extui: copy window config to new tabpage (#34308) - 8c6ea76ebcdf extui: disable cmdline highlighter when showing a message (#34887) - 9efdd4fe98e7 extui: drop "more" window that is no longer floating #33861 - be5a4851eaa5 extui: ensure temporary cmdline config is not restored #35301 - 1256daeead27 extui: ensure windows are valid in scheduled on_key (#35106) - cd7cf4bd16e7 extui: error on :call input('') (#35515) - 4d56dc43c0ea extui: handle carriage return in messages - f1295fe76f49 extui: hide inactive "more" window (#33831) - 3828856233d9 extui: incorrect cmdline cursor position (#34201) - a59b052857ca extui: map wincmd instead of remapped key (#34151) - d4ecfc423495 extui: message may overwrite active cmdline #33846 - 76f76fb08391 extui: only append messages exceeding 'cmdheight' to "more" - 33b0a004eb20 extui: properly setup "more" window for changed buffer - 5e83d0f5ad4a extui: reposition "more" window after entering cmdwin - 7077c5929529 extui: reset message state after "search_cmd" message (#34119) - 7e787f6a4f16 extui: route interactive messages to more-window (#33885) - b2a5105c66e1 extui: search highlighting in extui "more" pager #33792 - d0aedd36dfe0 extui: set 'modifiable', 'noswapfile' for buffers (#34582) - 56709ca1689a extui: setup buffers after activating `eventignorewin` (#35915) - 8e8f4523c687 extui: translate <Tab> in cmdline text (#34055) - cb036cae5fb1 extui: use visible to determine active "more" (#34327) - a96665cf4867 extui: using tracked message column in cleared buffer (#34154) - c973c7ae6f56 extui: write each message chunk pattern separately (#34188) - 8af28ab9cb9a filetype: error when `vim.filetype.match{buf=fn.bufadd('a.sh')}` #34155 - 7500f76e6131 filetype: fix typo (#37286) - 095b9f98f3e3 filetype: handle invalid `bufnr` in _getlines(), _getline() #36272 - e2cb67570522 filetype: move fallback logic to vim.filetype.match() #30141 - d131d67e67a8 float: clamp floating window above cmdline #37899 - 3ccba4cdffb8 float: crash from nasty :fclose autocmds (#36134) - d4f2b9050dc6 float: cursor visible in "hidden" floating window #30866 - 66e4784f5ace float: ensure relative window grid is allocated (#34459) - eb3201c77210 float: null pointer dereference, redundant call #36727 - 3b6e8e484edf float: prevent truncation of title that fits exactly #36880 - 31c814a0ed0e float: respect statusline=3, don't inherit local 'statusline' #36716 - 5943a81fe79a float: style=minimal leaks into normal windows #25185 - cb171ee7cba0 float: tail truncate long title #28387 - 9269a1da355b floatwin: handle viewport width properly at end of window (#35490) - 66dddd8b515a folds: adjust filler text drawing for transparent folds - 1d9990daac37 folds: avoid unnecessary loop with horizontal scrolling (#33932) - d73cfefed5e4 folds: error when deleting lines at end of buffer #35396 - 19715e6e8a71 fs: expand drive-relative paths on Windows #37084 - d22fcf291746 gO: use non-breaking space #34197 - ac6cf5b03ba0 gen: alias /doc/user/helptag.html to /doc/user/helptag/ #38156 - 805dd5d04780 gen: prevent "make doc" failure due to temporary files - 67fede0fc94b gen_help_html: ASCII art rendering in docs #35262 - a49bf5e1d3c8 gen_help_html: parser override - 4b02d1f6f6e2 gen_vimdoc: unnecessary assert for non-source files - d2ca90d87e32 glob: handle numeric literals in pattern matching (#37257) - 3991f146215b glob: handling commas in letter pattern #34170 - aeebc5185171 grid: assert crash during extreme resize layouts #36847 - 1ad9cdd4036b grid: check allocated grid size when suspicious scrolling - 856391bc7fa9 health: "q" keymap not set when health.style=float #37007 - a33284c2c068 health: accept TERM=tmux-direct #35511 - c28113dd9d09 health: add back `vim.cmd.redraw()` call (#37576) - 3fb53abe2a7f health: attempt to concatenate table value #36369 - 8a901a52e1f0 health: avoid silent failure - 2422fbdd5f90 health: bad format() call #34904 - 672f6e60c165 health: bug-report formatting, version check #36809 - 61678811d8d3 health: check more "old" files #38028 - 31cb37687a03 health: check shell performance using vim.fn.system() #36980 - 16c8a908ef67 health: check stable release for non-nightly build #36715 - d927a87ed607 health: checkhealth float opens extra empty buffer #33648 - f19653e3706d health: emit Progress message #37123 - cfe10b4014ec health: errors in :checkhealth with pyenv-virtualenv #35865 - bd37348939a7 health: expecting nonexistent "inotifywait" function #33312 - 28b7c2df5217 health: floating window closes when opening TOC (gO) #34794 - e4ce0c7270e5 health: git check and autocmd clean #36713 - 6152bcf42ef0 health: hard fail on invalid "python-*" bin #35382 - 6942dec9b29d health: highlight group conflicts with help #34616 - bfc7bae421fe health: improve version check for nightly builds #38147 - 07f048a8d764 health: message should mention "vim.provider" #33095 - e9d03b92b67c health: redraw after emitting progress message #37567 - 06e4b159ed08 health: show full curl output - f311c96973a5 health: update advice for Python #35564 - ae93639ec440 health: use FileType autocmd for bug report winbar #37486 - 1c52e90cd57c help: :help can focus unfocusable/hide window #34442 - 4a4de7304306 help: better align local-additions #38097 - 25322a3a3b22 help: only set url for help files in $VIMRUNTIME #36165 - e49a59259507 help: retry once if async parsing fails #36592 - 62d3a2110df4 help: wrong tag url in third-party help docs #36115 - 625c59fe5fc2 highlight: Normal-linked groups shouldn't override CursorLine #35026 - 64966ba52cea highlight: allow ephemeral extmarks past final newline #35888 - e23c083d133b highlight: avoid null deref, misc issues #38164 - 444c195edb33 highlight: blend underline check and use struct key for attr cache - d5a8c9d76667 highlight: correct change detection in do_highlight for gui colors - e3c36f31e3a0 highlight: ensure extmark range is within buffer bounds #35928 - a7177e34c318 highlight: link HLF_8 to something more prominent #34910 - 3af43cffa028 highlight: no match highlight during :substitute prompt #33262 - 336b46a87945 highlight: preserve background transparency in 'winblend' #34302 - 5803994a1c4a highlight: preserve bg transparency with winblend=100 #34825 - bd12aef78476 highlight: refresh highlight attrs before message output #25737 - 6af89580555f highlight: respect 'winhighlight' in CursorLine Normal check #36927 - f8d59cfab958 highlight: setting 'winhl' doesn't work with global ns (#37868) - 64753b5c37cf highlight: spurious underline in 'winblend' floating window #34614 - a26cdcb20e68 inccommand: skip input() during preview #35272 - f348c0ebba2c incsearch: include compsing characters with Ctrl-L - a04c73cc17f5 input: discard following keys when discarding <Cmd>/K_LUA (#36498) - 592582ba4886 input: don't exit on EOF when peeking for input with -es (#36948) - 29c8dabd414c insexpand: update showmode when updating the screen (#34466) - e0308dc14730 install: only install "tee" on Windows #36629 - cd7122125098 intro: crash on small screen #38397 - 4fe51dfdae84 iter: ArrayIter:last returns nil when filtered to empty #34697 - eaa9aca1308b jobs: jobstart(term=true) accepts width/height #33904 - 11e82c108da6 l10n: update Ukrainian translations #37654 - 16c133439958 langmap: assert failure on mapping to char >= 256 (#37291) - 14fe37056436 logging: don't overwrite NameBuff (#38004) - ea5007b37fbe lps: separate namespaces for pull/push diagnostics #37938 - bf4710d8c398 lsp: "attempt to index nil config" #36189 - f068386c9f70 lsp: "bold" border for vim.lsp.buf.hover #33395 - a9b8a8dc6c1f lsp: _cancel_all_requests() tries to cancel completed requests #34105 - 97ab24b9c7d9 lsp: _get_workspace_folders does not handle root_dir() function #36071 - a03ab03a10ad lsp: `:lsp restart` restarts on client exit #37125 - 6005fcf6719b lsp: `opts.wrap` always `true` - 4b0700c618bf lsp: `vim.Range` check in `document_color.color_presentation()` (#38374) - d6fffe6b321e lsp: access correct client capability path in `supports_registration` - 3eaa6c5a6659 lsp: add `RequestFailed` error code constant #34645 - c3589753a0e1 lsp: add `vim.deprecate` call to `vim.lsp.with` (#37960) - bd41f6eb6c66 lsp: add deprecation comment to `gen_lsp` (#36185) - 9f99bf48ea8d lsp: add missing argument validations (#34519) - 378435968f64 lsp: adjust codelens position based on the server-provided range - 35756022cbcd lsp: advertise supported fold kinds (#34461) - 4db58f78b49f lsp: announce `normalizesLineEndings` capability (#34175) - bac133e4b6ea lsp: announce diagnostic tag support (#34436) - fed9069b8da1 lsp: avoid `foldclose()` after current window-buffer changed #33901 - 2debe2f30a45 lsp: avoid automatic request after leaving insert mode (#35767) - fde0b487fb61 lsp: avoid re-enabling `document_color` on `registerCapability` (#35774) - 6f733f4a9bf0 lsp: avoid scheduling client deletion before LspNotify #37685 - 2ee896201c46 lsp: better handling of "*" configs - 0501c5fd0959 lsp: call `on_list` before reading `loclist` #37645 - 653871da1b55 lsp: check `nvim.lsp.enable` before `doautoall` #36518 - e94d8f03b959 lsp: check for lens range in `vim.lsp.codelens.run()` (#35294) - 1bc85d29c135 lsp: check for non-nil buffer state on reset (#36519) - bbfcde3ab20e lsp: check if buffer is valid in scheduled client:on_attach() #35672 - c789d799663d lsp: check if buffer is valid when resolving code lenses (#35092) - 0862c1036a8e lsp: check if client is stopping before reuse #33796 - 42f244bf18a1 lsp: check whether buffer is valid when scheduled #35461 - 0dc900d74443 lsp: clear document_color autocmds #34573 - ace254c9fff1 lsp: close floating preview window correctly #34946 - a702534c501f lsp: close timer when client exits (#36795) - b4ba27c238ec lsp: codelens extmark line out of range (#35070) - f2d0b06ecbb5 lsp: completion word includes leading space from label #38435 - 3342aead1df9 lsp: consistent use of `vim.notify`/logging with unsupported methods - 55e3a75217d9 lsp: convert the encoded position to line byte (#34824) - 8165427b4d92 lsp: correct capability checks for dynamic registration (#36932) - 82d0883c2d96 lsp: correct diagnostic data support and related info capabilities (#34454) - 2822c38f2e73 lsp: correct iteration through attached buffers (#36517) - 213360c389de lsp: custom 'winborder' in make_floating_popup_options() #34868 - 342974773c53 lsp: cycling signatures with the default `config.focusable` - 40aef0d02e1a lsp: decode 'null' in server responses as vim.NIL #34849 - b67eff38fe19 lsp: deduplicate completion items #36166 - e62dd13f83a2 lsp: default ClientConfig.exit_timeout to false #36811 - 70ea589d79f6 lsp: deprecate `vim.lsp.get_buffers_by_client_id` (#36449) - b938638d2d06 lsp: deprecate `vim.lsp.protocol.Methods` (#35998) - f7802dd5d572 lsp: deprecate vim.lsp.set_log_level, vim.lsp.get_log_path #35274 - 83156974497d lsp: detect if Client:request resolved synchronously #33624 - 0cc4f53b4066 lsp: do not clear the codelens on the last line #38226 - 18e8839c804e lsp: don't create an `'LspAttach'` `document_color` autocommand - 90abd2613d7f lsp: don't empty server start-boundary by next client response #37665 - 0472119fe61a lsp: don't immediately force shutdown when using a timeout (#36455) - c2c5a0297e00 lsp: don't overlay insertion-style inline completions (#36477) - afebbd0f34ca lsp: don't override `config.title` in `vim.lsp.buf.signature_help()` #35075 - 729111d3a3cd lsp: don't treat MarkedString[] with language id as empty #35518 - ff792f8e6908 lsp: enable insertReplaceSupport for use in adjust_start_col #36569 - 8495d9623809 lsp: ensure `bufstate` when calling `vim.lsp.document_color.is_enabled` - f168d215cfa2 lsp: ensure augroup before querying autocmds #38254 - e239179871c4 lsp: ensure bufnr is passed for buffer-local requests (#36325) - 40dc2d02a851 lsp: ensure the codelens on the first line is visible - 9f77124b78ec lsp: error on omnifunc completion (#37790) - 82b844fefef5 lsp: fallback to empty `capability_path` in `supports_registration` - 927927e143bd lsp: fix error with InsertReplaceEdit events #33973 - 23f4fab0bdfe lsp: fix incorrect params because of typo (#36871) - 34116bbd9b61 lsp: fix nil-index error for `:lsp enable` (#37411) - 20a392fe3843 lsp: fix window to set cursor for inline completion (#36444) - 4ee2e365a583 lsp: fix workspace diagnostic request to follow spec (#34674) - 913b05bf630d lsp: format_item should return string (#36025) - 7c3df3e2ea13 lsp: get_namespace signature (#38449) - a8ffa6e323d8 lsp: guard dynamic capability attachment #38382 - abc96ba0ce30 lsp: handle `nil` buffer state in `documentColor` clear (#33746) - 8e48c0206155 lsp: handle array with empty string when checking empty hover (#35423) - 507cd63418ac lsp: handle completion/resolve response arriving after on_insert_leave - 1de77c608fa9 lsp: handle nil request in semantic tokens #36780 - 26cc42e426d7 lsp: handle nil response in references request #35139 - 5653b25e9b8f lsp: handle non-string documentation in completion items #38291 - 95dce376f330 lsp: handle providers without subcapabilities - eaacdc9bdffd lsp: ignore empty response on trigger completion #37663 - a0678a5849d3 lsp: ignore inline completions after leaving insert mode (#36476) - 7ebfc5077512 lsp: ignore invalid fold ranges (#36708) - 8bfb91accce7 lsp: ignore stale codelens resolve responses (#38153) - 5d1fd4aca58c lsp: improper diagnostic end_col computation - 1f558f8d0960 lsp: improve diagnostics handling and comments - ed562c296abe lsp: improve dynamic registration handling #37161 - 5c15df449a87 lsp: improve error completion message #33812 - cd06e0c9d6be lsp: include client ID when receiving unknown fold kind (#34535) - 6005bc68b29e lsp: include context for each client in multi-handler results (#34669) - b459bf5961fd lsp: include missing LSP methods and update type annotations - 18d6436ad2c6 lsp: inlineCompletion: ignore out-of-range items #35990 - 820fb89172b7 lsp: make thematic break parsing conform to GFM spec (#35162) - 13cf80deefe7 lsp: map all LSP methods to server capabilities (#37910) - 2f78ff816b03 lsp: misleading logs in non-applicable filetypes #35749 - d9768348649b lsp: nil error in ColorScheme autocmd - 3c4acc0f1a2b lsp: noisy log message when enabling server without config #36264 - 91e116f3a671 lsp: only auto-detach lsp.config clients #33834 - e5c5b563ec1e lsp: only auto-detach lsp.config enabled clients #34325 - eb90f5d9e3a6 lsp: only resolve LSP configs once (#38007) - 6926fc1615c9 lsp: opts.reuse_win does not jump if buf is already open #33476 - 4778a4c20179 lsp: prevent flicker in codelens virtual text #34888 - 9e93bfdb5fce lsp: prioritize showing active signature - b98aefc5841a lsp: properly handle `documentColor` from multiple servers #33656 - c39d18ee939c lsp: raise error when lsp config is invalid type (#37508) - addd408b3955 lsp: redraw codelens after request completed #38352 - 03032d1f73d8 lsp: remove `vim.lsp.diagnostic.reset()` (#35938) - 285ea2525fdf lsp: remove extra notify on empty hover - 34815777b280 lsp: remove side-effects if `vim.lsp.enable()` raises an error (#37571) - 181df6053382 lsp: remove unused `ns` field - 371ad48135ed lsp: replace `string` types with LSP method alias type annotations where appropriate. (#36180) - 6a49a277f517 lsp: request diagnostics from all registrations - 0da982767332 lsp: respect documentation markup kind in completion preview #38338 - 4ef562472988 lsp: restore Client:stop() force-stopping behavior (#35800) - 0db8efcbe4fc lsp: restore virtual document color visibility (#38407) - 4dd9137215f8 lsp: reuse_win prioritizes windows/tabs currently displayed #36486 - 70460d557c51 lsp: scope inline_completion autocmds to buffer (#35965) - 323d5527eed6 lsp: set 'linebreak' in floating windows (#36275) - 4b8980949cd4 lsp: set concealcursor='' in LSP floating windows #36596 - c3991b8ef4f0 lsp: show notification with empty hover response (#35014) - 5b1b46ea5a4f lsp: show title when global winborder is set (#35181) - 8a94daf80ead lsp: simplify semantic tokens range request logic #36950 - 4ed597389c33 lsp: snippet preview blocked completionItem/resolve request #38428 - 0197f13ed4fa lsp: sort items when completeopt include fuzzy #36974 - d53d542359de lsp: stop and close timer when `Capability` is destroyed - a768d0a95b52 lsp: stop repeatedly resuming dead coroutine #35743 - 1d8e9b5d070c lsp: store result id for unchanged diagnostic reports - 8b5d8dfc732e lsp: support `containerName` in symbol requests #35029 - 17c18efbe561 lsp: support v:count in selection_range() #34551 - a1895f024a4c lsp: support workspace/configuation with no section #27510 - bd225422a5b7 lsp: tests for :lsp, rename start/stop - e69b81ad94da lsp: treat 2-triggers-at-once as "last char wins" #35435 - 1f63735f175d lsp: treat nil inlay hint result as empty array (#35458) - f67306cc67e8 lsp: typos in method names #36077 - 29c6176f0842 lsp: unify LSP error logging prefixes #38354 - 9139c4f90ff8 lsp: update capability maps (#35227) - db1b7f74129e lsp: update completion items on `TextChangedP` - 7a8d31687940 lsp: update metamodel (#38174) - 6c3e9b557341 lsp: update on `CursorHoldI` cause users unable to `select()` - 848c7a789470 lsp: update window title when cycling through signatures #35407 - 006101360d6f lsp: use LSP method type in more places (#36069) - 36db6ff2c128 lsp: use LSP textEdit range for completion start boundary (#37491) - 34c769dd897d lsp: use `bufnr` when getting clients in `symbols_to_items` (#33760) - 807bc00dd68d lsp: use `vim.notify` with action-less `showMessage` requests (#34720) - 5fbc5ab81073 lsp: use correct `workspace.diagnostics` capability key (#35937) - 00ad477419f2 lsp: use correct deprecation function (#34518) - 6fe68abdf5a3 lsp: use entire line as completion word (#37949) - 1d7823451e2a lsp: use vim.notify for all message types #34489 - f90cd620c56b lsp: vim.lsp.completion clean up triggers on client detach (#38009) - 5c4b64aae59d lsp: wait for exit_timeout on quit #37597 - 6bb6b4793327 lsp: wait to display exit message #37925 - 5554fcc28683 lsp: warn on missing config in :checkhealth #33087 - 0cda01834514 lsp/diagnostic: key resultId by client and identifier - 7a5e9ef0aab8 lsp/diagnostic: use diagnostic provider identifier for code actions #38401 - f0c0c24ed777 lsp/health: always use vim.inspect to show root_markers (#34667) - 5ad01184f3c3 lsp/health: ensure valid table before concatenating (#34092) - 1906da52dbc9 lua: close vim.defer_fn() timer if vim.schedule() failed (#37647) - 103ddaf9ae80 lua: correct line number reporting for options set in coroutines (#37463) - b986fd96bc8d lua: coverity "unreachable" warning #35874 - 40f5115ac430 lua: disable `strict_indexing` when converting LSP positions - 1264d1156ce1 lua: don't leak timer when vim._watch.watch() fails (#35768) - c08139d790b7 lua: don't remove first char of non-file stacktrace source (#37008) - 9a5641b4b570 lua: drop support for boolean `buf` in `vim.keymap` #38432 - 66066d0f6a22 lua: extra CR (\r) in `nvim -l` output #38048 - b87bdef2a864 lua: relax `vim.wait()` timeout validation #36900 - 6a330f893bf1 lua: report error in Lua Funcref callback properly (#35555) - 1aa26f5d5555 lua: separate vim.{g,b,w,t} types #37081 - 94144d46787f lua: vim._with() doesn't save boolean options properly (#37354) - 89b946aa87d2 lua: vim.diff is nil in uv.new_work() thread #34909 - 40351bbbbe78 lua: vim.validate `message` param #33675 - bc0635a9fc9c lua: vim.wait(math.huge) fails #36885 - b3324be0d8a1 man.lua: :Man ignores section of gzipped manpage #38235 - 87bd16e470b2 man.lua: :Man slow/hangs if MANPAGER is set #36689 - 5333d6371bfa man.lua: E95 when piping to :Man #33068 - a8dd5c7e41dd man.lua: noisy "ENOENT" error on Windows #33409 - 46220afef806 man.lua: show_toc condition may cause infinite loop #36979 - b8763cb21525 man.lua: useless executability check #33438 - 84d3bbef23d0 map: use names like Map_key_value not Map_keyvalue - 218ea9fff775 mappings: always include replace_keycodes in mapping dicts (#37272) - 3341ab07764e marks: clamp conceal_lines corrected line number #33464 - 5773f0e99463 marks: make jumpoptions=view work with 'smoothscroll' (#38339) - 064ff74cdbe6 marks: wrong display after inserting/deleting lines #33389 - 033f1123cd91 marks: wrong line('w$', win) with conceal_lines (#37047) - 37c0efb21cfb marktree: fix edge case bug regarding changing intersections - 2154d325d526 memfile: avoid potential crash on OOM (#37946) - 5e470c7af556 menu: fix listing of submenus (#34315) - 8f9278d7c258 menu: right-click menu fails with E335 when using V after i_ctrl-o #37349 - b47b0caba858 message: concatenate multi-chunk nvim_echo({err}) for exception message #38131 - 3d5ef97a9829 message: no wait return for delayed exception error #35881 - 2de284e50b6d message: set replace_last for completion "scanning" messages #37967 - 3b85046ed5f2 messages: "list_cmd" kind for :command, :version (#34529) - ac670989980a messages: "list_cmd" kind for mark commands #33874 - dc3a30cfbb83 messages: 'exrc' / secure messages - 96e1acfa427f messages: add "list_cmd" kind to :colorscheme #37561 - 29f2cb89f01b messages: add append parameter to history entries (#34467) - 8bdfd286e584 messages: adjust msg_show "empty" kind logic (#37427) - 83037cf21857 messages: allocate message history kind string #38292 - c85313bac7e6 messages: always assign msg_id to msg_show events #37671 - bf1d4e9793fc messages: capture execute("messages") with ext_messages (#34342) - 276860b5380d messages: clear 'showmode' message after insert_expand #33607 - 1b2b715389c5 messages: disallow user-defined integer message-id #38359 - 81828e66b99a messages: emit empty msg_show event for :echo #38467 - 53aad276b62a messages: exclude "search hit BOTTOM" msg from history #36961 - 73157c994db4 messages: heap-buffer-overflow with shell command (#37855) - 7a490d65c57e messages: increment message ID without ext_messages #37714 - 912388f51786 messages: list_cmd kind for buffer line messages (#33855) - d86d4bacc14b messages: make swapfile attention message part of prompt (#34414) - 49c19a1fe3cb messages: message not flushed at end of command #37904 - 7c43f8e4336c messages: messages added to history missing from ext_messages "g<" #33907 - a81b059a45ba messages: non-fast and append for "shell_*" kinds #38188 - 10a03e83e357 messages: only msg_clear for UPD_CLEAR #34688 - e876a739eeb1 messages: recognize cmdline one_key/number prompt State (#34206) - 96957d80c6c3 messages: reinstate 'showmode' message delay #37992 - e63346dfe91b messages: reset redirection message column at message start #38068 - a5f236291c0c messages: single event for multi-expr :echo (#34393) - f1dcde6cba3b messages: single msg_show event for :global command #37728 - 986b92eb0713 messages: single msg_show event for multiple :set options #33555 - 3898f34c5a21 message