mirror of
https://github.com/neovim/neovim.git
synced 2026-03-31 04:42:03 +00:00
Following is a list of commits (fixes/features only) in this release. See `:help news` in Nvim for release notes. BREAKING -------------------------------------------------------------------------------- -9acb52c8f3diagnostic: remove deprecated diagnostic APIs (#33072) -79bfeecdb4editor: insert-mode ctrl-r should work like paste #35477 -f72c13341alsp: pass entire entry to format function (#34166) -fe23168e2blsp: reimplement `textDocument/codeLens` as decoration provider -caa9419355optwin.lua #36505 -c123b7245cpath: support RFC3986 in path_with_url() #36564 -a57c7238f9plugins: remove shellmenu #35815 -ade58885c4provider: drop Python 3.7, 3.8 support #33088 -59eadebe33runtime: move "tohtml" to pack/dist/opt/ #34557 -1d5b3b5b4ctreesitter: apply `offset!` directive to all captures #34383 -fd1e019e90treesitter: get_parser return nil on error #37276 -a728eb7af1treesitter: remove "all" option of Query:iter_matches #33070 -4369d7d9a7ui: decouple ext_messages from message grid #27963 FEATURES -------------------------------------------------------------------------------- -78f4994627":restart +cmd [cmd]" #34788 #35045 #35223 -b40ca5a01cchannel: support :detach, :restart on Windows #37977 -ce27423132":wall ++p" creates parent dirs for each buf #36121 -f3c2eb49bavim.Pos, vim.Range #36397 -9044d64af9has('terminfo') -70d7979439render tuple types for API methods -5151f635caserverlist({peer=true}) returns peer addresses #34806 -7ba043f0f3api: add "max_height" argument to nvim_win_text_height (#32835) -e80d19142bapi: add nvim_open_tabpage -6ebeb07c56api: experimental nvim__exec_lua_fast #35758 -1e7406fa38api: nvim_cmd supports plus ("+cmd", "++opt") flags #30103 -8b171852a9api: nvim_echo can emit Progress messages/events #34846 -612b2e7850api: nvim_get_commands returns function fields #36415 -4d04d0123dapi: nvim_set_hl{update:boolean} #37546 -4998b8d7b5api: nvim_win_set_config accepts unchanged "noautocmd" #36463 -e2a0748cb2api: nvim_win_set_config can move floatwin to another tabpage -094b297a3bapi: nvim_win_set_config can move split to other tp as floatwin -88774965e5api: relax contract, allow return-type void => non-void #34811 -85d33514f9api: set nvim_echo() kind for ext_messages (#33998) -cf0f90fe14async: add `vim._async` -e1ffa8d33bbuild: HAVE_UNIBILIUM -1f004970f0build: build.zig MVP: build and run functionaltests on linux -dc6cf3add9build: build.zig windows support -e25b99c5b6build: make build.zig run unittests -c4501e98f2build: make build.zig use luajit on main plattforms -8e0692cdc5build: support full runtime distribution work -6d9031390cbuild.zig: add option to use system dependencies -5ec0c1ca07build.zig: install parsers in install step -75fe540500checkhealth: emoji for OK/WARN/ERROR #33172 -63323a9c81checkhealth: trigger FileType event after showing report #33677 -9722bd7b1bclipboard: g:clipboard="foo" forces the "foo" clipboard tool #33235 -3a35fdc347clipboard: wayclip primary clipboard and correct mimetype (#33990) -6228acb74fcmdline: completion for :TOhtml #37045 -3bdebfb87fdefaults: don't enable treesitter query linter -41cac54325defaults: exclude temp dirs from 'shada' oldfiles #37631 -5d06eade25defaults: map "grt" to LSP type_definition #34642 -06befe1e34defaults: map "grx" to vim.lsp.codelens.run() #37689 -249f305bbcdefaults: per-platform 'guifont' default #37175 -d77d961b35defaults: shelltemp=false #33012 -b10cb0296adefaults: store spellfile in stdpath('data') #33048 -4fae013a21diagnostic: add `enabled` filter (#33981) -2f24ae8de4diagnostic: add `format` option to `setloclist`/`setqflist` (#33977) -c65817774ddiagnostic: add `on_jump` callback option -7e09fedf43diagnostic: config.status #36693 -caf7808591diagnostic: custom status format function #36696 -01666aae64diagnostic: fromqflist({merge_lines}) #37416 -4107442103diagnostic: highlights in diagnostic.status() #36685 -68e316e3f9diagnostic: jump to related info location from `open_float` #34837 -2767eac320diagnostics: stack DiagnosticUnnecessary,DiagnosticDeprecated highlights #36590 -a5b8cf145ddiff: merge adjacent blocks using inline:word (#37085) -45b4bbac28difftool: replace old "nvim -d" automatically #38057 -d5cfca5b76docs: numbered listitems -4dabeff308editor: 'autowriteall' on SIGHUP/SIGQUIT #32843 -55a0843b7ceditor: :source can run Lua codeblock / ts injection #36799 -f5829957f2env: remove VIM_VERSION_NODOT macro #34890 -551bb63d44events: MarkSet event, aucmd_defer() #35793 -23bf4c0531exrc: search in parent directories (#33889) -8d397fa458exrc: stop searching in parent directories by unsetting 'exrc' -dc67ba948eexrc: user must view and explicitly run ":trust" #35069 -bffca6e26bextmark: support end_col=-1 if strict=false #28169 -302e59f734extui: assign 'filetype' to extui windows (#33924) -f2988e05dbextui: don't enter pager for routed message #34679 -8defe1afb2extui: route to "more" window if it is open (#34190) -3c9484b550extui: show dismissed message in cmdline (#34745) -9467731865extui: support paging in the dialog window (#35310) -7526fb449dextui: use winborder for msg window #34859 -8a626e5c4afloat: 'statusline' in floating windows #36521 -216cc893bffloat: 'winborder' "bold" style #33189 -dcbe5bdd96ftplugin: treesitter default highlighting for markdown -c1fa3c7c37gen_help_html: generate helptags.json, helptag.html #35442 -322a6d305dglob: new Glob implementation based on Peglob #33605 -8c63d84be1health: check `vim.ui.open()` tool #37569 -13ed225054health: create a bug report #31842 -043f5a291ahealth: show available queries for `treesitter` (#37005) -5a94edad70health: summary in section heading #33388 -47b0a718c3help: gx opens help tag in web browser #35778 -16f7440cc7help: super K (":help!") guesses tag at cursor #36205 -cb8c9186e6highlight: support more SGR attributes #37901 -0aabe7ae76inspect: update to a8ca312 -8a0cbf04d6iter: peek(), skip(predicate) for non-list iterators #37604 -448f15ca39json: pretty-format (indent) with vim.json.encode() #35424 -a897cc17a5json: vim.json.encode() sort_keys #35574 -abfe6c9ef7logging: rename ".nvimlog" => "nvim.log" #37935 -4eed85f9bdlogs: show full paths in lsp logs (#33886) -7486c2f6aalsp: <Plug> mapping for signature help cycling #34039 -903335a6d5lsp: `Client:stop()` defaults to `exit_timeout` #36783 -6577d72d81lsp: `root_markers` can control priority #33485 -d6a6eed4f3lsp: attach to buftype=help buffers #38412 -63abb1a88flsp: builtin :lsp command -7c9b865bddlsp: deprecate `vim.lsp.stop_client` (#36459) -b877aa34cflsp: detach LSP clients when 'filetype' changes #33707 -371aa1c566lsp: diagnostic related documents support -15ff454443lsp: display codelens as virtual lines, not virtual text #36469 -63594ffa04lsp: do completionItem/resolve if completeopt=popup #32820 -c5c6ddba91lsp: document method types (#35934) -d08b265111lsp: enable document_color by default #35086 -66339e0641lsp: generate method to client capability map -acfb9bc614lsp: graduate ClientConfig `exit_timeout` #36750 -957093da0dlsp: handle deprecated document symbols (#34751) -492ea28612lsp: handle disabled code actions (#34453) -8876413e2dlsp: highlighting the symbol being renamed (#37390) -d26db4bfbflsp: improve signature help display #35190 -f99e3a8a2alsp: incremental selection via "textDocument/selectionRange" #34011 -e82aef2e22lsp: incremental-selection operator-pending mode #36575 -a4b2192690lsp: lsp.enable() auto-escalates forced shutdown #36458 -4430c9a424lsp: migrate `document_color` to capability framework (#38344) -e855a23c02lsp: on_accept can return item to customize behavior #37092 -729e0acd26lsp: pass client ID in code action filter (#36046) -32f30c4874lsp: pass resolved config to cmd() #34550 -8ed68fda50lsp: semantic token range improvements #37451 -23ddb2028blsp: semanticTokens/range #36705 -3e8a4e1092lsp: show color preview in completion items #32138 -145548a24alsp: show snippet preview if completeopt=popup #32553 -654303079blsp: skip invalid header lines #36402 -4bc7bac884lsp: start/stop LSPs as necessary during vim.lsp.enable() #33702 -d75ffa5934lsp: static registration support (#34371) -cc518cf9balsp: support CompletionItem.labelDetails #38403 -8f5bd569c5lsp: support `documentColor` dynamic registration #33800 -4745270bf1lsp: support `textDocument/colorPresentation` (#34823) -9ff1239634lsp: support `textDocument/documentColor` -05bd4398c5lsp: support `textDocument/documentLink` (#37644) -0e70aa0e86lsp: support `textDocument/inlineCompletion` -77e3efeceelsp: support `textDocument/onTypeFormatting` (#34637) -03d6cf7aaelsp: support `version` in `textDocument/publishDiagnostics` #36754 -965468fca1lsp: support `workspace/codeLens/refresh` -835f11595flsp: support annotated text edits (#34508) -02cd564896lsp: support auto-force escalation in client stop (#36378) -02067a9892lsp: support diagnostic refresh request -2031287e93lsp: support diagnostic related information (#34474) -0f3e3c87b7lsp: support dynamic registration for diagnostics (#36841) -c5167ffc18lsp: support linked editing ranges #34388 -76d213efbelsp: support multiline semantic tokens #34458 -9278f792c3lsp: support range + full semantic token requests #37611 -016335a7d0lsp: support refreshing workspace diagnostics -7cc07e8383lsp: support signature help noActiveParameterSupport #34838 -d7e0d46ffalsp: use stricter types for methods -c22b03c771lsp: user-specified sorting of lsp.completion multi-server results #36401 -e406c4efd6lsp: vim.lsp.get_configs() #37237 -6888f65be1lsp: vim.lsp.inline_completion on_accept #35507 -03d378fda6lsp: vim.lsp.is_enabled() #33703 -054eaf8493lsp: warn about unknown filetype #36910 -cb4559bc32lsp: workspace diagnostic support (#34262) -90d15227c5lsp: workspace_required #31824 -a8edf6e445lsp.util: deprecate vim.lsp.util.stylize_markdown -98f8224c19lua: `vim.pos`/`vim.range` -0c46ea7d38lua: add `Iter:unique()` (#37592) -cf9b36f3d9lua: add vim.list.unique() -7499c9f9a7lua: conversion between cursor positions -62b45b8fe4lua: conversion between extmark positions -9f5b309d82lua: conversion between vim and lsp position/range -047a10bfdelua: function `behavior` for tbl_extend, tbl_deep_extend #33819 -4d3a67cd62lua: replace `buffer` with `buf` in vim.keymap.set/del #38360 -6e1745e96elua: support vim.Range:has(vim.pos) #37879 -7ed8cbd095lua: vim.list.bisect() #35108 -d8a8825679lua: vim.wait() returns callback results #35588 -f68a5c40f0messages: add "prev_cmd" argument to msg_history_show (#34779) -fc2dee1736messages: cleanup Lua error messages -0d13945bbbmessages: drop hardcoded 'showmode' delay #38029 -0741d2520dmessages: hl-StderrMsg, hl-StdoutMsg #33429 -0ee5a4d481meta: vendor luv meta files -7cd5356a6fnet: vim.net.request(), :edit [url] #34140 -f29b3b5d45net: vim.net.request(outbuf) writes response to buffer #36164 -fb0dc825e9option: custom chars in 'winborder' #33772 -28e31f5d3doptions: default statusline expression #33036 -5973328edaoptions: per-buffer 'busy' status #34493 -0412527a40outline: smaller indentation #34005 -2728b4efe0pack: add `[[` and `]]` mappings in confirmation buffer -a9db6ec6fapack: add `active` field to `PackChanged` event data -d21b8c949apack: add built-in plugin manager `vim.pack` -4a637107d0pack: add checkhealth -98e3a571ddpack: add code actions in confirmation buffer -d7db552394pack: add initial lockfile tracking -8c28507fcfpack: allow choosing update target in `update()` -dd828690c7pack: allow function `opts.load` in `add()` -c9965491d0pack: allow running `update()` without Internet connection -acff86601epack: allow skip install confirmation in `add()` -a41703d107pack: confirm "Always" to install all plugins #35733 -c339b83a4apack: hint in confirmation buffer that plugin is not active -dc8235c48cpack: prefer using revision from lockfile during install -c522cb0e96pack: support user-defined `data` in plugin spec #35360 -2e533e364epack: update `add()` to handle source change for installed plugin -069be91106pack: use `nvim_echo{kind=progress}` to report progress #35625 -a203961535pack: use colored `nvim_echo` chunks to show progress report -7853cde29apack: vim.pack.get() gets VCS info #35631 -fec02ae8e4plugins: nvim.difftool can compare directories #35448 -8a12a01466progress: better default format + history sync #35533 -7b7e8cc724progress: disable cmdline progress msg via messagesopt' #36730 -4b643d7068progress: set Progress-event pattern to "source" #38495 -24684f90eaprogress: status api, 'statusline' integration #35428 -286371b4d2prompt: multiline prompt input #33371 -8ab511bba5prompt: plugins can update prompt during user input #37743 -a940b77cb2prompt: prompt_appendbuf() appends to prompt buffer #37763 -5ae41ddde3prompt: prompt_getinput() gets current input #34491 -5f8d4a248aprovider: detect venv python via "pynvim-python" tool #35273 -f01419f3d5runtime: accept predicates in take and skip (#34657) -8c81ed8678runtime: revert cfilter, ccomplete to legacy Vim -9e1d3f4870runtime: undotree #35627 -c9d8468020search: increase `MAX_COUNT` to 999 -6ba32713adsecure: allow 'path' parameter for trust action 'allow' (#38001) -71455173b4shada: don't store jumplist if '0 in 'shada' -840cdb9589shada: shada should not store nobuflisted buffers #21818 -701258921esnippet: highlight active tabstop (#35378) -4e1644d4d3spell: opt-out of confirm when downloading spellfiles #36836 -1d40f67776ssh: SSH configuration parser #35027 -cf874cee33startup: provide v:argf for file arguments #35889 -32aee065a8startup: warn if NVIM_LOG_FILE is inaccessible #38070 -4719b94443statusline: option to specify stacking highlight groups #37153 -b79ff967acstatusline: vim.diagnostic.status() #33723 -72a63346d8stdlib: vim.fs.ext() returns file extension #36997 -6b4ec2264estdlib: vim.json.decode() can allow comments #37795 -eac2f0443etag: respect jumpoptions=view when popping tagstack (#37021) -a945686444term: increase max scrollback to 1000000 -6bc0b8ae87terminal: detect suspended PTY process (#37845) -03377b9552terminal: include sequence terminator in TermRequest event (#37152) -71f3a9c590terminal: parse current buffer contents in nvim_open_term() (#33720) -2368a9edbdterminal: support SGR dim, overline attributes #37997 -c8693051a8terminal: surface exit code via virttext + nvim_get_chan_info #37987 -b38173e493terminal: synchronized output (mode 2026) #38284 -72d3a57f27treesitter: incremental selection -586b1b2d9btui: add nvim_ui_send (#35406) -981ea41abbtui: ghostty builtin terminfo #36963 -8eb0964537tui: native progress bars for Progress events #35973 -de87ceb3betui: support APC queries in TermResponse (#34426) -977e91b424tui: use DA1 response to determine OSC 52 support -abb40eceddui: "append" parameter for "msg_show" UI events -fafc329bbdui: 'pumborder' (popup menu border) #25541 -649bb372f6ui: :connect command #34586 -7ba0f623d7ui: avoid setting 'cmdheight' with vim.ui_attach() -2b4c1127adui: emit "msg_clear" event after clearing the screen (#34035) -2c1c0b7af5ui: ext_cmdline/messages for the TUI #27855 -f29856d034ui: include compositor info with multigrid -9bbbeb60e3ui: no delay for errors with ext_messages (#33693) -07d0da64edui: overlay scrollbar on 'pumborder' #36273 -a2b92a5efbui: show "empty" cursor behind unfocused floatwin #37624 -97549ad7cfui: specify whether msg_show event comes from typed command -8ae9a44d38ui: support grid=0 in nvim_input_mouse #32535 -08c484f2caui: use builtin completion popupmenu with ext_cmdline (#31269) -fbac2e5edcui2: configure maximum window heights #38392 -32e0d05d53ui2: configure targets per message kind #38091 -9fc985bc98ui2: more predictable routing #35028 -db2a54996eui2: replace message by its ID #37672 -e268760e46ui2: show active paging keys in dialog float title #37919 -875212c5b3ui2: support routing "typed_cmd" trigger to target -81d2d88f70undotree: set 'filetype' #36091 -9595f07425ux: sexy intro #38378 -5196162540version: support multiple Vim versions -361671870evim-patch.sh: -M lists all ported patches -7fe02126f9vim-patch.sh: add n flag to list possible N/A patches (#36431) -2f0fbdaa48vim.fs: root() can specify "equal priority" #34276 -eae2d3b145vim.hl: allow multiple timed highlights simultaneously #33283 -ea124068f2vim.pack: lockfile support #35827 -773075b2bcvim.version: add `vim.version.intersect()` -aeb8bca12dvim.version: make `tostring()` return human-readable version range -e42050f4aevimscript: log function name in "fast" message #32616 -6edae88052vimscript: scripts can detect 'android', 'termux' #38218 FIXES -------------------------------------------------------------------------------- -b233f71b1b:ball w_locked check, reset b_nwindows in free_all_mem() #38484 -f2e60d000e`fn.exists()` typos (#34390) -379c37fa0bbug in stylize_markdown -2c9d21f722cursor shape don't resume after `:append` -7fdf9f7399define `vim.mpack` -bc4bddbb21don't use logical diagnostic position in `get_prev` and `get_next` #35282 -3567b7d751ignore Nvim local config #37805 -fd45bc8cablsp.enable() don't work correctly inside FileType event #37538 -0694ca8822map wincmd instead of remap #34635 -eeba0dc2edmemory leak from double buffer initialization in read_stdin #35413 -dfa5d79d05misc typos #37471 -cd4c98fdednvim_open_tabpage cleanup, fixes, more tests -874e214993remove exec permission from .gitattributes #33140 -bcc9242bc7remove quotes around `nil` deprecation alternatives (#36047) -7b99e1f0c3remove typo from buffer-local LSP docs (#35841) -e991133058remove unnecessary `nvim -l` from `gen` command #33676 -92b2a26772resolve all remaining LuaLS warnings in `src/` -431004dda2screenchar()/screenstring() with hidden floating windows #35560 -1999c4cdc1screenchar()/screenstring() with multigrid #32494 -9204b7541dsilence LuaLS's `no-unknown` warnings in `src/` -020d5e0f7estale lines("w$") after nvim_win_set_height when splitkeep=screen #36056 -2e68e9c051temporarily disable 0.12 deprecation tests -3b6084ddf4type fixes -38aac21083type of nvim_echo -d21e2463fdupdate deps hash for zig 0.14.0 -fa8e4e65caupdate lua types for commands -9170178ee5use correct window dimension for range estimation -62ba6e8a76use nvim namespace convention #34010 -28157738e3vim.lsp.omnifunc should not throw away other items #35346 -71a22e20advim.ui_attach handles messages during `-l`/`--headless` #36884 -9c5ade9212wait() checks condition twice on each interval (#37837) -9287c73df9:connect: don't use freed memory (#38512) -7cd22e916b:connect: formalize connect event #38543 -49d7f694a8:ls: check for finished terminal properly (#37303) -6af1b7e5e8:print: don't use schar_from_ascii() for illegal byte (#34046) -5cfbc35aa8api: add missing nargs field to user command Lua callbacks #34210 -eeacd7bd71api: adjust fix for reconfiguring float "relative" (#34287) -3cb462a960api: autocmds mess up nvim_get_option_value's dummy buffer -612cd99a00api: buffer overflow in nvim_buf_get_extmarks overlap #37184 -006361fc6bapi: buffer updates in quickfix buffer #31105 -76d0206342api: count parameter in nvim_parse_cmd, nvim_cmd #34253 -c553008e74api: crash when moving curwin to other tabpage #35679 -b7070778b9api: cterm type in highlight keyset #37802 -853eea859fapi: disallow moving window between tabpages in more cases -0bef1c88f3api: do not allow opening float to closing buffer -ef084b5c22api: don't config split as floatwin relative to itself -4362132b10api: don't re-apply minimal style if unchanged #38152 -3165e94a64api: ensure win_get_config() "border" is reciprocal (#34322) -c7c3f9fc9capi: fix crash in command preview with % #35228 -7b9512e613api: fix not capturing output in cmdline mode (#35322) -d788864cdeapi: ignore split_disallowed when opening a float -3115e3d0d1api: improve external window validation -d707ccf988api: inconsistent scrolling when deleting before topline (#36301) -137d5ab01dapi: merge split window config only on success -22df649210api: nvim_create_user_command addr option should allow ranges #35077 -6f12663de5api: nvim_get_option_value FileType autocmd handling #37414 -7e2e116343api: nvim_get_option_value dummy buffer crashes -0c1ed63c05api: nvim_open_tabpage "after" like :[count]tab -97b064c9acapi: nvim_open_tabpage positional "enter" -d7472c0617api: nvim_open_win default to half-size for splits (#36088) -19f5f05ac2api: nvim_open_win respects requested split window size (#35601) -652c3e76c7api: nvim_parse_cmd "range" when ea.addr_count=0 #33536 -72b0bfa1fbapi: nvim_parse_cmd handle nextcmd for commands without EX_TRLBAR (#36055) -f3ec657ebcapi: nvim_parse_cmd on range-only, modifier-only commands #36665 -c7f38e3bc8api: nvim_parse_cmd parses :map incorrectly #34068 -63cbc95d45api: nvim_set_current_win doesn't reset Visual mode (#37340) -9383a096ebapi: nvim_set_hl boolean false corrupts underline styles (#38504) -d19dc6339dapi: nvim_set_hl crashes when url= key is passed -ec18ebcb41api: nvim_set_keymap() throws error even in pcall() #33228 -7da4d6abe2api: on_bytes gets stale data on :substitute #36487 -2211953266api: on_detach consistently before buf_freeall autocmds -a2b9720939api: open_win leak from naughty autocommands -5226801be2api: parse_expression crash with ident and curly -a5e5ec8910api: parse_expression crash with unopened ] and node -d523750de0api: populate lhsrawalt in nvim_get_keymap response -88dc44260fapi: preserve WinConfig style when converting float to split #37264 -963308439aapi: reconfiguring float "relative" does not clear "win" (#34271) -e13e850517api: redraw after setting minimal style -7be4ae796fapi: relax config validation for "win" -1901832f26api: return "style" in nvim_win_get_config() #38122 -15d57ab0baapi: single-line visual block insert triggers extra on_lines #35098 -f5d03ec930api: style=minimal not applied immediately for unmoved split -0ee8323f2bapi: unnecessary errors when not moving split -af82f36108api: update topline when flushing with nvim__redraw() (#34346) -99529577ccapi: use E226 instead of E227 for duplicate abbreviation (#33159) -0d73ec5834api: use original LHS in keymap error message #33135 -680d25e5b3api: use standard error messages -1ec74fa7b1api: win_config `border` type #38030 -c924c2a7b3api: win_config_float_tp grid removal, redraw -da39966a3aapi: win_set_config error message for splitting from a float #35650 -65170e8dadapi: wrong return value with reverse range + overlap #32956 -285c04e2d0api,lsp: call on_detach before wiping out the buffer #35355 -acecdbff1fapi,lua: handle converting NULL funcref/partial (#37060) -4daa8eb5abappimage: wrong $ARCH used by linuxdeploy #36712 -5871d26779autocmd: 'cmdheight' OptionSet with valid window grids (#34619) -19379d1255autocmd: deferred TermResponse lacks "data", may not fire (#37778) -05a83265f9autocmd: fire TabClosed after freeing tab page -f36dd7557aautocmd: heap UAF with :bwipe in Syntax autocmd -6d2330f50dautocmd: parsing of comma-separated buflocal patterns -d945a93d69autocmd: potential TabClosed UAF, always set abuf -1cde71233fautocmd: skip empty comma-separated patterns properly -f9ef1a4cabbuffer: defer w_buffer clearing to prevent dict watcher crash #36748 -14d65dae91buffer: don't allow changedtick watcher to delete buffer (#36764) -23aa4853b3buffer: don't reuse 1-line terminal buffer (#37261) -2700f6642abuffer: switching buffer should respect jumpoptions+=view (#36969) -fa24df3264bufwrite.c: handle invalid byte sequences #37363 -c26f989b2fbuild: also check os_win sources with uncrustify in CI -8069df2661build: build.zig: use luajit for windows -576e8f62c2build: disable problematic marktree assert in RelWithDebInfo builds -88b45614e9build: gen_help_html fails #36359 -f0d981544bbuild: glibc 2.43 happened -e69beb9b1abuild: invalid help tags cause reports to fail #36356 -3268f51d20build: musl libc build.zig -f98b5ee619build: remove .tar.gz workaround for bug fixed in zig 0.15.2 -a2b0be19bfbuild: remove deprecated aliases in build.zig removed for zig 0.15 -b4db223d33build: treesitter parsers are not ReleaseSafe -921f8b0df7build: use correct cmake expression for $<CONFIG> -ec8a0c7340build: workaround errors in zig build due to stale cache -6741c134e1build: zig build can has git version -41bc3020c4build.zig: format build.zig to keep lines under 100 chars -565cfa04ebbuild.zig: replace slashes in filepaths #37111 -64ce5382bdchannel: crash on failed sockconnect() (#37811) -886efcb853channel: possible hang after connecting with TCP times out (#37813) -4399250e90channel: unreference list after callback finishes (#37358) -5f9f5bc04dcheckhealth: check g:loaded_xx_provider for all providers #33168 -e87d2ae383checkhealth: check outdated pynvim version properly #33175 -78d2e0b43echeckhealth: don't override user "q" keymap #33132 -16fbde83c4checkhealth: don't wrap command in cmd.exe (#38158) -bd45e2be63checkhealth: wrong ABI version for treesitter parsers #35327 -ad22d0ace9cjson: fix `strbuf_set_length` incorrectness #35565 -f5cbf11644client: avoid :connect race with server detach -2483d5ad8aclint.py: replace deprecated codecs.open #36593 -41199c45d6clipboard: avoid using stale register width (#36178) -95dfb063daclipboard: correct blockwise register width computation (#35038) -ac12dc49ccclipboard: enable cache for function providers #34470 -310d01d8faclipboard: tmux clipboard data may be stale #36787 -d00f680c0dclipboard: use tmux only in a tmux session #36407 -8aacce90b4cmake: linker flags, doc generation for cross-compilation #38215 -9763834170cmake: use host nlua0 binary when cross-compiling #38089 -69cae6259ecmd: :update does not write new, unmodified buffer #35929 -fcf752476acmd: :update writes new file buffers only for real files #35939 -a5c55d200bcmd: bar "|" not allowed after :fclose #34613 -5de2ec76a3cmdline: :checkhealth completion with multiple args (#35060) -f4ee0ab2f1cmdline: avoid empty @: register after :<CR> (#33126) -fde1c07891cmdline: cmdline_block events for :lua debug.debug() #38171 -0015a105cacmdline: do not move UI cursor when entering cmdline #33729 -236d831d77cmdline: don't treat c_CTRL-D as wildmenu (#36067) -95ab723995cmdline: empty ext_cmdline block events for :<CR> #33118 -7f2298ad32cmdline: fix inconsistent behavior with ext_popupmenu (#35688) -677446c70fcmdline: make sure pum is removed on leave (#36608) -dc05598d02cmdline: set search cursor after ui_flush() (#34418) -5977bdba05cmdline: trigger CmdlineChanged after command preview (#35254) -efd0fa55c8cmdline: validate 'incsearch' cursor for "cmdline_show" redraw (#34630) -28ff4deda7colorscheme: adjust `StatusLine[NC]` for diagnostics #36719 -4a706a7092column: don't count signs on lines beyond eob #33410 -b40e658717column: missing redraw with virt_lines_leftcol (#34650) -8f78591f9acolumn: wrong alignment and highlight with empty 'display' (#35495) -69419f8b3ecompletion: CompleteDone reason="discard" when candidate text remains #38169 -51caf0a3afcompletion: avoid freeing uninitialized value (#33459) -b258382176completion: complete drive-letter filepath on Windows #36353 -634f6424aacompletion: set 'wrap' and scrolloff=0 in preview window (#37327) -3f10bb87efcompletion: wrong CompleteDone reason for auto-inserted sole match #38280 -e1b3ca6629compositor: clear old position with last known dimensions #38229 -6f632a8615compositor: don't blend uninitialized background cells #34364 -150490d365conceal: assert tripped during startup #36136 -ad8bce6674conceal: check for concealed lines on invalid row (#36084) -ab72799841coverity/530026,530028: free resources on early exit in nlua_exec_file #33502 -0791594101coverity/530033: free lp->sl_info to fix resource leak #36198 -0ed5e00077coverity/532324: free skip_until to prevent leak #36109 -3e30323135coverity/554963: preallocate msg.items to avoid FORWARD_NULL #34484 -501a21f333coverity/637363: out-of-bounds write #37878 -c5b8ed870bcoverity/644326: NULL ptr deref in socket_address_is_tcp #38010 -20b2dd39ccdecor: clamp last column by decor provider range -ca16b54c86decor: enable decoration provider in on_start #33337 -6adf48b66ddecor: extmark highlight not applied (#33858) -9492df027ddefaults: 'guifont' "monospace" fallback, trim spaces #37930 -57b4fb5c53defaults: enable :terminal [[,]] motion in operator-pending mode #33217 -3ebde5ea14defaults: keywordprg=:help on Windows #33336 -9567fb0507defaults: silent `gx` if no `textDocument/documentLink` support #37969 -dc6fc11b87defaults: start exrc search from parent directory -cb247e06f0defaults: visual-mode [[,]] for :terminal shell prompts #33201 -1c96b72dfadeps: make script/bump_deps.lua update build.zig.zon versions in sync -6e12ef4a7bdesktop: cannot open filename with spaces using OS file manager #33161 -2e0158650adiagnostic: accept multiple namespace in `open_float()` (#34073) -c681336e3cdiagnostic: accept multiple namespaces when setting loclist/qflist (#33982) -d567f899efdiagnostic: allow virtual_{lines,text} cursor exclusivity #33517 -3ac76977bcdiagnostic: check for extmark in get_logical_pos #37127 -68eece8b84diagnostic: check if the buffer is loaded #35125 -dbe17da120diagnostic: deprecate `float` in `vim.diagnostic.Opts.Jump` (#34037) -efa6d91132diagnostic: display 1-based related information line/col numbers (#37093) -2b21c9c23fdiagnostic: ensure autocmd always is always sent diagnostics -e34e2289c2diagnostic: fix flaky error -583308f599diagnostic: handle stale diagnostic extmark ids #38060 -88a72efb46diagnostic: open_float() handles config.float function #31577 -09266830bddiagnostic: show diagnostics on buffer load #35866 -9833f0da5fdiagnostic: unstable sorting by severity #37154 -f7b573f80adiagnostics: assert adjusted diagnostic position #37210 -7a051a4c38diagnostics: avoid jumping to diagnostics in deleted ranges #35088 -9641ad9369diagnostics: diagnostic just after EOL is not highlighted #34085 -e4a100a1e1diagnostics: extend conversion support from/to quickfix format (#34006) -19efabafc5diagnostics: fixed virtual_text cursormoved autocmd error (#34017) -0a113013fbdiagnostics: position diagnostics using extmarks #34014 -a1bc5d0ae6diagnostics: showing stale diagnostics in handlers #35890 -3594c213a7diagnostics: validate opts.signs #34565 -60d0b7d0c3diff: fix incorrect item size of dout_ga (#34338) -0b8a9bde0ediff: set default diff flags properly (#35450) -aaec3e5b0ddifftool: add check for window number when cleaning up layout #36161 -c1e60f36f3difftool: don't reset quickfix list when closing quickfix window #38088 -c9b74f8b7edifftool: ensure split layout, use systemlist #36145 -c6113da5a9difftool: fully resolve symlinks when comparing paths #36147 -a88c7962a8difftool: handle "no differences found" #36671 -d590644620difftool: silence :only command in setup_layout #36168 -97a6259442display: adjust setting winline info for concealed lines (#33717) -cb2ca54331display: cursor moves when searching with "n", "*" #29446 -ce0c0c31a0display: scroll logic does not take into account concealed topline (#33054) -5b1561bb71display: scroll redrawing doesn't account for virt_lines above fold #33374 -7e8b7bba21display: wrong cursor column with 'concealcursor' = "n" and virt_text (#33218) -5582005ac7docs: add `--clean` arg to LSP bug report (#36530) -e74753a221docs: callback annotation for `vim.ui.input` #34507 -4a910a2a4edocs: dev.txt is "new layout" -9da316fcc4docs: force blank line after numbered list items #35950 -4397c4b117docs: improve adjacent list items -8a76129d9fdocs: include `?` in list items #35945 -b2722181b0edit: clear showcmd after clearing last put char (#34517) -9a864d0a3cedit: handle cindent properly with completion (#36711) -3647b821eaeditor: respect [+cmd] when executing :drop #33339 -966b1da183editorconfig: a custom property is treated as a section (#34445) -b618511ef9editorconfig: use 4 spaces indentation for zig files -fd973c0a4eenv.c: drop envmap, free os_getenv() result #32683 -df9e4a037aeval: 0 should mean current tabpage in gettabvar() (#36891) -8156eece24eval: fix crash with :breakadd expr when calling user func -981d4ba45eeval: winnr('$') counts non-current hidden/unfocusable windows #34207 -1e1619de83eval: winnrs of unfocusable/hidden windows #35474 -57c6b61cf2event-loop: don't call uv_stop() when loop isn't running (#37984) -1dbede5b93events: avoid superfluous CursorMovedI on first autocmd (#33588) -0b61bc8982events: crash on SIGTSTP (Ctrl-Z) #33258 -0a0c349b6fevents: crash on WinScrolled #35995 -29494f042cex: error handling for `:lsp` #37061 -2f35221774excmd: :trust executed even when inside false condition (#36032) -c1f142322bexcmd: correct :connect abbreviation -781ea5b41bexit: stop listening before closing channels (#38480) -ed9abb1851exrc: ensure consistent 'exrc' loading sequence #35148 -f7c939fa7aexrc: exrc knows its own location (#34638) -a393347673extmark: adjust invalidate range by one for deleted lines #37897 -589232c0e0extmark: wrong eol_right_align width calculation (#37034) -6dee1672ccextui: "box" window width calculated on last line (#33881) -ff95d7ff9aextui: adjust "more" window routing (#34251) -cc78f88201extui: adjust which messages are sent to "more" window -9784bc1346extui: append consecutive :echon messages -e512efe369extui: attempt to perform arithmetic on field 'last_emsg' (#35047) -70eb416459extui: better message highlighting after carriage return (#34034) -9e968635efextui: check if buffers/windows exist before deleting (#34886) -3c7c824bdcextui: check option values after VimEnter (#33768) -5046ef4c8fextui: clear cmdline buffer for first message (#34490) -db702782e0extui: close cmdwin to enter "more" window (#33860) -c916bdf329extui: close message window with `q` -39a5b7f239extui: cmdline visibility, cmdheight cursor position (#33774) -5e4700152bextui: copy window config to new tabpage (#34308) -8c6ea76ebcextui: disable cmdline highlighter when showing a message (#34887) -9efdd4fe98extui: drop "more" window that is no longer floating #33861 -be5a4851eaextui: ensure temporary cmdline config is not restored #35301 -1256daeeadextui: ensure windows are valid in scheduled on_key (#35106) -cd7cf4bd16extui: error on :call input('') (#35515) -4d56dc43c0extui: handle carriage return in messages -f1295fe76fextui: hide inactive "more" window (#33831) -3828856233extui: incorrect cmdline cursor position (#34201) -a59b052857extui: map wincmd instead of remapped key (#34151) -d4ecfc4234extui: message may overwrite active cmdline #33846 -76f76fb083extui: only append messages exceeding 'cmdheight' to "more" -33b0a004ebextui: properly setup "more" window for changed buffer -5e83d0f5adextui: reposition "more" window after entering cmdwin -7077c59295extui: reset message state after "search_cmd" message (#34119) -7e787f6a4fextui: route interactive messages to more-window (#33885) -b2a5105c66extui: search highlighting in extui "more" pager #33792 -d0aedd36dfextui: set 'modifiable', 'noswapfile' for buffers (#34582) -56709ca168extui: setup buffers after activating `eventignorewin` (#35915) -8e8f4523c6extui: translate <Tab> in cmdline text (#34055) -cb036cae5fextui: use visible to determine active "more" (#34327) -a96665cf48extui: using tracked message column in cleared buffer (#34154) -c973c7ae6fextui: write each message chunk pattern separately (#34188) -8af28ab9cbfiletype: error when `vim.filetype.match{buf=fn.bufadd('a.sh')}` #34155 -7500f76e61filetype: fix typo (#37286) -095b9f98f3filetype: handle invalid `bufnr` in _getlines(), _getline() #36272 -e2cb675705filetype: move fallback logic to vim.filetype.match() #30141 -d131d67e67float: clamp floating window above cmdline #37899 -3ccba4cdfffloat: crash from nasty :fclose autocmds (#36134) -d4f2b9050dfloat: cursor visible in "hidden" floating window #30866 -66e4784f5afloat: ensure relative window grid is allocated (#34459) -eb3201c772float: null pointer dereference, redundant call #36727 -3b6e8e484efloat: prevent truncation of title that fits exactly #36880 -31c814a0edfloat: respect statusline=3, don't inherit local 'statusline' #36716 -5943a81fe7float: style=minimal leaks into normal windows #25185 -cb171ee7cbfloat: tail truncate long title #28387 -9269a1da35floatwin: handle viewport width properly at end of window (#35490) -66dddd8b51folds: adjust filler text drawing for transparent folds -1d9990daacfolds: avoid unnecessary loop with horizontal scrolling (#33932) -d73cfefed5folds: error when deleting lines at end of buffer #35396 -19715e6e8afs: expand drive-relative paths on Windows #37084 -d22fcf2917gO: use non-breaking space #34197 -ac6cf5b03bgen: alias /doc/user/helptag.html to /doc/user/helptag/ #38156 -805dd5d047gen: prevent "make doc" failure due to temporary files -67fede0fc9gen_help_html: ASCII art rendering in docs #35262 -a49bf5e1d3gen_help_html: parser override -4b02d1f6f6gen_vimdoc: unnecessary assert for non-source files -d2ca90d87eglob: handle numeric literals in pattern matching (#37257) -3991f14621glob: handling commas in letter pattern #34170 -aeebc51851grid: assert crash during extreme resize layouts #36847 -1ad9cdd403grid: check allocated grid size when suspicious scrolling -856391bc7fhealth: "q" keymap not set when health.style=float #37007 -a33284c2c0health: accept TERM=tmux-direct #35511 -c28113dd9dhealth: add back `vim.cmd.redraw()` call (#37576) -3fb53abe2ahealth: attempt to concatenate table value #36369 -8a901a52e1health: avoid silent failure -2422fbdd5fhealth: bad format() call #34904 -672f6e60c1health: bug-report formatting, version check #36809 -61678811d8health: check more "old" files #38028 -31cb37687ahealth: check shell performance using vim.fn.system() #36980 -16c8a908efhealth: check stable release for non-nightly build #36715 -d927a87ed6health: checkhealth float opens extra empty buffer #33648 -f19653e370health: emit Progress message #37123 -cfe10b4014health: errors in :checkhealth with pyenv-virtualenv #35865 -bd37348939health: expecting nonexistent "inotifywait" function #33312 -28b7c2df52health: floating window closes when opening TOC (gO) #34794 -e4ce0c7270health: git check and autocmd clean #36713 -6152bcf42ehealth: hard fail on invalid "python-*" bin #35382 -6942dec9b2health: highlight group conflicts with help #34616 -bfc7bae421health: improve version check for nightly builds #38147 -07f048a8d7health: message should mention "vim.provider" #33095 -e9d03b92b6health: redraw after emitting progress message #37567 -06e4b159edhealth: show full curl output -f311c96973health: update advice for Python #35564 -ae93639ec4health: use FileType autocmd for bug report winbar #37486 -1c52e90cd5help: :help can focus unfocusable/hide window #34442 -4a4de73043help: better align local-additions #38097 -25322a3a3bhelp: only set url for help files in $VIMRUNTIME #36165 -e49a592595help: retry once if async parsing fails #36592 -62d3a2110dhelp: wrong tag url in third-party help docs #36115 -625c59fe5fhighlight: Normal-linked groups shouldn't override CursorLine #35026 -64966ba52chighlight: allow ephemeral extmarks past final newline #35888 -e23c083d13highlight: avoid null deref, misc issues #38164 -444c195edbhighlight: blend underline check and use struct key for attr cache -d5a8c9d766highlight: correct change detection in do_highlight for gui colors -e3c36f31e3highlight: ensure extmark range is within buffer bounds #35928 -a7177e34c3highlight: link HLF_8 to something more prominent #34910 -3af43cffa0highlight: no match highlight during :substitute prompt #33262 -336b46a879highlight: preserve background transparency in 'winblend' #34302 -5803994a1chighlight: preserve bg transparency with winblend=100 #34825 -bd12aef784highlight: refresh highlight attrs before message output #25737 -6af8958055highlight: respect 'winhighlight' in CursorLine Normal check #36927 -f8d59cfab9highlight: setting 'winhl' doesn't work with global ns (#37868) -64753b5c37highlight: spurious underline in 'winblend' floating window #34614 -a26cdcb20einccommand: skip input() during preview #35272 -f348c0ebbaincsearch: include compsing characters with Ctrl-L -a04c73cc17input: discard following keys when discarding <Cmd>/K_LUA (#36498) -592582ba48input: don't exit on EOF when peeking for input with -es (#36948) -29c8dabd41insexpand: update showmode when updating the screen (#34466) -e0308dc147install: only install "tee" on Windows #36629 -cd71221250intro: crash on small screen #38397 -4fe51dfdaeiter: ArrayIter:last returns nil when filtered to empty #34697 -eaa9aca130jobs: jobstart(term=true) accepts width/height #33904 -11e82c108dl10n: update Ukrainian translations #37654 -16c1334399langmap: assert failure on mapping to char >= 256 (#37291) -14fe370564logging: don't overwrite NameBuff (#38004) -ea5007b37flps: separate namespaces for pull/push diagnostics #37938 -bf4710d8c3lsp: "attempt to index nil config" #36189 -f068386c9flsp: "bold" border for vim.lsp.buf.hover #33395 -a9b8a8dc6clsp: _cancel_all_requests() tries to cancel completed requests #34105 -97ab24b9c7lsp: _get_workspace_folders does not handle root_dir() function #36071 -a03ab03a10lsp: `:lsp restart` restarts on client exit #37125 -6005fcf671lsp: `opts.wrap` always `true` -4b0700c618lsp: `vim.Range` check in `document_color.color_presentation()` (#38374) -d6fffe6b32lsp: access correct client capability path in `supports_registration` -3eaa6c5a66lsp: add `RequestFailed` error code constant #34645 -c3589753a0lsp: add `vim.deprecate` call to `vim.lsp.with` (#37960) -bd41f6eb6clsp: add deprecation comment to `gen_lsp` (#36185) -9f99bf48ealsp: add missing argument validations (#34519) -378435968flsp: adjust codelens position based on the server-provided range -35756022cblsp: advertise supported fold kinds (#34461) -4db58f78b4lsp: announce `normalizesLineEndings` capability (#34175) -bac133e4b6lsp: announce diagnostic tag support (#34436) -fed9069b8dlsp: avoid `foldclose()` after current window-buffer changed #33901 -2debe2f30alsp: avoid automatic request after leaving insert mode (#35767) -fde0b487fblsp: avoid re-enabling `document_color` on `registerCapability` (#35774) -6f733f4a9blsp: avoid scheduling client deletion before LspNotify #37685 -2ee896201clsp: better handling of "*" configs -0501c5fd09lsp: call `on_list` before reading `loclist` #37645 -653871da1blsp: check `nvim.lsp.enable` before `doautoall` #36518 -e94d8f03b9lsp: check for lens range in `vim.lsp.codelens.run()` (#35294) -1bc85d29c1lsp: check for non-nil buffer state on reset (#36519) -bbfcde3ab2lsp: check if buffer is valid in scheduled client:on_attach() #35672 -c789d79966lsp: check if buffer is valid when resolving code lenses (#35092) -0862c1036alsp: check if client is stopping before reuse #33796 -42f244bf18lsp: check whether buffer is valid when scheduled #35461 -0dc900d744lsp: clear document_color autocmds #34573 -ace254c9fflsp: close floating preview window correctly #34946 -a702534c50lsp: close timer when client exits (#36795) -b4ba27c238lsp: codelens extmark line out of range (#35070) -f2d0b06ecblsp: completion word includes leading space from label #38435 -3342aead1dlsp: consistent use of `vim.notify`/logging with unsupported methods -55e3a75217lsp: convert the encoded position to line byte (#34824) -8165427b4dlsp: correct capability checks for dynamic registration (#36932) -82d0883c2dlsp: correct diagnostic data support and related info capabilities (#34454) -2822c38f2elsp: correct iteration through attached buffers (#36517) -213360c389lsp: custom 'winborder' in make_floating_popup_options() #34868 -342974773clsp: cycling signatures with the default `config.focusable` -40aef0d02elsp: decode 'null' in server responses as vim.NIL #34849 -b67eff38felsp: deduplicate completion items #36166 -e62dd13f83lsp: default ClientConfig.exit_timeout to false #36811 -70ea589d79lsp: deprecate `vim.lsp.get_buffers_by_client_id` (#36449) -b938638d2dlsp: deprecate `vim.lsp.protocol.Methods` (#35998) -f7802dd5d5lsp: deprecate vim.lsp.set_log_level, vim.lsp.get_log_path #35274 -8315697449lsp: detect if Client:request resolved synchronously #33624 -0cc4f53b40lsp: do not clear the codelens on the last line #38226 -18e8839c80lsp: don't create an `'LspAttach'` `document_color` autocommand -90abd2613dlsp: don't empty server start-boundary by next client response #37665 -0472119fe6lsp: don't immediately force shutdown when using a timeout (#36455) -c2c5a0297elsp: don't overlay insertion-style inline completions (#36477) -afebbd0f34lsp: don't override `config.title` in `vim.lsp.buf.signature_help()` #35075 -729111d3a3lsp: don't treat MarkedString[] with language id as empty #35518 -ff792f8e69lsp: enable insertReplaceSupport for use in adjust_start_col #36569 -8495d96238lsp: ensure `bufstate` when calling `vim.lsp.document_color.is_enabled` -f168d215cflsp: ensure augroup before querying autocmds #38254 -e239179871lsp: ensure bufnr is passed for buffer-local requests (#36325) -40dc2d02a8lsp: ensure the codelens on the first line is visible -9f77124b78lsp: error on omnifunc completion (#37790) -82b844fefelsp: fallback to empty `capability_path` in `supports_registration` -927927e143lsp: fix error with InsertReplaceEdit events #33973 -23f4fab0bdlsp: fix incorrect params because of typo (#36871) -34116bbd9blsp: fix nil-index error for `:lsp enable` (#37411) -20a392fe38lsp: fix window to set cursor for inline completion (#36444) -4ee2e365a5lsp: fix workspace diagnostic request to follow spec (#34674) -913b05bf63lsp: format_item should return string (#36025) -7c3df3e2ealsp: get_namespace signature (#38449) -a8ffa6e323lsp: guard dynamic capability attachment #38382 -abc96ba0celsp: handle `nil` buffer state in `documentColor` clear (#33746) -8e48c02061lsp: handle array with empty string when checking empty hover (#35423) -507cd63418lsp: handle completion/resolve response arriving after on_insert_leave -1de77c608flsp: handle nil request in semantic tokens #36780 -26cc42e426lsp: handle nil response in references request #35139 -5653b25e9blsp: handle non-string documentation in completion items #38291 -95dce376f3lsp: handle providers without subcapabilities -eaacdc9bdflsp: ignore empty response on trigger completion #37663 -a0678a5849lsp: ignore inline completions after leaving insert mode (#36476) -7ebfc50775lsp: ignore invalid fold ranges (#36708) -8bfb91accclsp: ignore stale codelens resolve responses (#38153) -5d1fd4aca5lsp: improper diagnostic end_col computation -1f558f8d09lsp: improve diagnostics handling and comments -ed562c296alsp: improve dynamic registration handling #37161 -5c15df449alsp: improve error completion message #33812 -cd06e0c9d6lsp: include client ID when receiving unknown fold kind (#34535) -6005bc68b2lsp: include context for each client in multi-handler results (#34669) -b459bf5961lsp: include missing LSP methods and update type annotations -18d6436ad2lsp: inlineCompletion: ignore out-of-range items #35990 -820fb89172lsp: make thematic break parsing conform to GFM spec (#35162) -13cf80deeflsp: map all LSP methods to server capabilities (#37910) -2f78ff816blsp: misleading logs in non-applicable filetypes #35749 -d976834864lsp: nil error in ColorScheme autocmd -3c4acc0f1alsp: noisy log message when enabling server without config #36264 -91e116f3a6lsp: only auto-detach lsp.config clients #33834 -e5c5b563eclsp: only auto-detach lsp.config enabled clients #34325 -eb90f5d9e3lsp: only resolve LSP configs once (#38007) -6926fc1615lsp: opts.reuse_win does not jump if buf is already open #33476 -4778a4c201lsp: prevent flicker in codelens virtual text #34888 -9e93bfdb5flsp: prioritize showing active signature -b98aefc584lsp: properly handle `documentColor` from multiple servers #33656 -c39d18ee93lsp: raise error when lsp config is invalid type (#37508) -addd408b39lsp: redraw codelens after request completed #38352 -03032d1f73lsp: remove `vim.lsp.diagnostic.reset()` (#35938) -285ea2525flsp: remove extra notify on empty hover -34815777b2lsp: remove side-effects if `vim.lsp.enable()` raises an error (#37571) -181df60533lsp: remove unused `ns` field -371ad48135lsp: replace `string` types with LSP method alias type annotations where appropriate. (#36180) -6a49a277f5lsp: request diagnostics from all registrations -0da9827673lsp: respect documentation markup kind in completion preview #38338 -4ef5624729lsp: restore Client:stop() force-stopping behavior (#35800) -0db8efcbe4lsp: restore virtual document color visibility (#38407) -4dd9137215lsp: reuse_win prioritizes windows/tabs currently displayed #36486 -70460d557clsp: scope inline_completion autocmds to buffer (#35965) -323d5527eelsp: set 'linebreak' in floating windows (#36275) -4b8980949clsp: set concealcursor='' in LSP floating windows #36596 -c3991b8ef4lsp: show notification with empty hover response (#35014) -5b1b46ea5alsp: show title when global winborder is set (#35181) -8a94daf80elsp: simplify semantic tokens range request logic #36950 -4ed597389clsp: snippet preview blocked completionItem/resolve request #38428 -0197f13ed4lsp: sort items when completeopt include fuzzy #36974 -d53d542359lsp: stop and close timer when `Capability` is destroyed -a768d0a95blsp: stop repeatedly resuming dead coroutine #35743 -1d8e9b5d07lsp: store result id for unchanged diagnostic reports -8b5d8dfc73lsp: support `containerName` in symbol requests #35029 -17c18efbe5lsp: support v:count in selection_range() #34551 -a1895f024alsp: support workspace/configuation with no section #27510 -bd225422a5lsp: tests for :lsp, rename start/stop -e69b81ad94lsp: treat 2-triggers-at-once as "last char wins" #35435 -1f63735f17lsp: treat nil inlay hint result as empty array (#35458) -f67306cc67lsp: typos in method names #36077 -29c6176f08lsp: unify LSP error logging prefixes #38354 -9139c4f90flsp: update capability maps (#35227) -db1b7f7412lsp: update completion items on `TextChangedP` -7a8d316879lsp: update metamodel (#38174) -6c3e9b5573lsp: update on `CursorHoldI` cause users unable to `select()` -848c7a7894lsp: update window title when cycling through signatures #35407 -006101360dlsp: use LSP method type in more places (#36069) -36db6ff2c1lsp: use LSP textEdit range for completion start boundary (#37491) -34c769dd89lsp: use `bufnr` when getting clients in `symbols_to_items` (#33760) -807bc00dd6lsp: use `vim.notify` with action-less `showMessage` requests (#34720) -5fbc5ab810lsp: use correct `workspace.diagnostics` capability key (#35937) -00ad477419lsp: use correct deprecation function (#34518) -6fe68abdf5lsp: use entire line as completion word (#37949) -1d7823451elsp: use vim.notify for all message types #34489 -f90cd620c5lsp: vim.lsp.completion clean up triggers on client detach (#38009) -5c4b64aae5lsp: wait for exit_timeout on quit #37597 -6bb6b47933lsp: wait to display exit message #37925 -5554fcc286lsp: warn on missing config in :checkhealth #33087 -0cda018345lsp/diagnostic: key resultId by client and identifier -7a5e9ef0aalsp/diagnostic: use diagnostic provider identifier for code actions #38401 -f0c0c24ed7lsp/health: always use vim.inspect to show root_markers (#34667) -5ad01184f3lsp/health: ensure valid table before concatenating (#34092) -1906da52dblua: close vim.defer_fn() timer if vim.schedule() failed (#37647) -103ddaf9aelua: correct line number reporting for options set in coroutines (#37463) -b986fd96bclua: coverity "unreachable" warning #35874 -40f5115ac4lua: disable `strict_indexing` when converting LSP positions -1264d1156clua: don't leak timer when vim._watch.watch() fails (#35768) -c08139d790lua: don't remove first char of non-file stacktrace source (#37008) -9a5641b4b5lua: drop support for boolean `buf` in `vim.keymap` #38432 -66066d0f6alua: extra CR (\r) in `nvim -l` output #38048 -b87bdef2a8lua: relax `vim.wait()` timeout validation #36900 -6a330f893blua: report error in Lua Funcref callback properly (#35555) -1aa26f5d55lua: separate vim.{g,b,w,t} types #37081 -94144d4678lua: vim._with() doesn't save boolean options properly (#37354) -89b946aa87lua: vim.diff is nil in uv.new_work() thread #34909 -40351bbbbelua: vim.validate `message` param #33675 -bc0635a9fclua: vim.wait(math.huge) fails #36885 -b3324be0d8man.lua: :Man ignores section of gzipped manpage #38235 -87bd16e470man.lua: :Man slow/hangs if MANPAGER is set #36689 -5333d6371bman.lua: E95 when piping to :Man #33068 -a8dd5c7e41man.lua: noisy "ENOENT" error on Windows #33409 -46220afef8man.lua: show_toc condition may cause infinite loop #36979 -b8763cb215man.lua: useless executability check #33438 -84d3bbef23map: use names like Map_key_value not Map_keyvalue -218ea9fff7mappings: always include replace_keycodes in mapping dicts (#37272) -3341ab0776marks: clamp conceal_lines corrected line number #33464 -5773f0e994marks: make jumpoptions=view work with 'smoothscroll' (#38339) -064ff74cdbmarks: wrong display after inserting/deleting lines #33389 -033f1123cdmarks: wrong line('w$', win) with conceal_lines (#37047) -37c0efb21cmarktree: fix edge case bug regarding changing intersections -2154d325d5memfile: avoid potential crash on OOM (#37946) -5e470c7af5menu: fix listing of submenus (#34315) -8f9278d7c2menu: right-click menu fails with E335 when using V after i_ctrl-o #37349 -b47b0caba8message: concatenate multi-chunk nvim_echo({err}) for exception message #38131 -3d5ef97a98message: no wait return for delayed exception error #35881 -2de284e50bmessage: set replace_last for completion "scanning" messages #37967 -3b85046ed5messages: "list_cmd" kind for :command, :version (#34529) -ac67098998messages: "list_cmd" kind for mark commands #33874 -dc3a30cfbbmessages: 'exrc' / secure messages -96e1acfa42messages: add "list_cmd" kind to :colorscheme #37561 -29f2cb89f0messages: add append parameter to history entries (#34467) -8bdfd286e5messages: adjust msg_show "empty" kind logic (#37427) -83037cf218messages: allocate message history kind string #38292 -c85313bac7messages: always assign msg_id to msg_show events #37671 -bf1d4e9793messages: capture execute("messages") with ext_messages (#34342) -276860b538messages: clear 'showmode' message after insert_expand #33607 -1b2b715389messages: disallow user-defined integer message-id #38359 -81828e66b9messages: emit empty msg_show event for :echo #38467 -53aad276b6messages: exclude "search hit BOTTOM" msg from history #36961 -73157c994dmessages: heap-buffer-overflow with shell command (#37855) -7a490d65c5messages: increment message ID without ext_messages #37714 -912388f517messages: list_cmd kind for buffer line messages (#33855) -d86d4bacc1messages: make swapfile attention message part of prompt (#34414) -49c19a1fe3messages: message not flushed at end of command #37904 -7c43f8e433messages: messages added to history missing from ext_messages "g<" #33907 -a81b059a45messages: non-fast and append for "shell_*" kinds #38188 -10a03e83e3messages: only msg_clear for UPD_CLEAR #34688 -e876a739eemessages: recognize cmdline one_key/number prompt State (#34206) -96957d80c6messages: reinstate 'showmode' message delay #37992 -e63346dfe9messages: reset redirection message column at message start #38068 -a5f236291cmessages: single event for multi-expr :echo (#34393) -f1dcde6cbamessages: single msg_show event for :global command #37728 -986b92eb07messages: single msg_show event for multiple :set options #33555 -3898f34c5amessages: spurious newline with --headless + cmdheight=0 #38494 -41336a3590messages: swedish translation #37395 -39c4e0f336messages: unwanted ext_messages newlines for confirm() #38045 -4260f73e13messages: unwanted newlines with ext_messages #37733 -98f5aa2564messages: verbose message emitted without kind #33305 -18fa61049amouse: crash with click on win-separator in statusline (#33091) -7432781e71mouse: do not fetch clipboard twice when pasting with middle button #33494 -2f8fb4f28amouse: mouseclick after conceal_lines is miscalculated #33451 -32325a66camove: adjust for concealed lines above topline after scrolling up (#33211) -6ce2877327move: consume skipcol before revealing filler lines (#34143) -2069be281cmpack: boundary values for negative integer encoding #37255 -b8ee354f12msgpack: flush incomplete big UI event before packing RPC event -7f2d5d6883msgpack: use fixstr encoding for strings of length 20-31 #36737 -41068c77aanormal: assertion failure with "gk" in narrow window (#37444) -911337eb3cnormal: crash using :norm from vim.ui_attach shell message event #38283 -4485e715fboptions: deprecate 'gdefault', 'magic' -c2136e3590options: increase t_Co buffer size (#35859) -9910445125options: make 'cdhome' take effect on any platform -f4f1149292options: vim.opt fails for 'fillchars' #37141 -1f2883e879outline: use 2-space indent instead of 1-space -3d37aa3116pack: account for Git's "insteadOf" in `:checkhealth` #38393 -bac4cde9cdpack: actually checkout proper version of submodules -b02d1303b8pack: add trailing newline to lockfile #38469 -46648c3867pack: close confirmation buffer's tabpage by ID #34971 -0f73873d4fpack: close confirmation buffer, not tabpage #37756 -ee3239fcb6pack: consistently use "revision" instead of "state" -f00abc6a56pack: ensure `data` spec is passed in events during lockfile sync #38139 -d3bea4ace9pack: ensure consistent order of changelog during update -ed73ed8283pack: ensure explicit default `version` in events (where possible) -14003bd1c5pack: ensure plugin directory is created during first usage attempt -539b8027a3pack: explicitly close confirmation window #37861 -fa3920282dpack: handle Git environment variables #35626 -3b860653capack: handle lockfile in case of install errors #36064 -3f34f083dbpack: ignore 'loadplugins' when sourcing 'after/plugin' scripts -28e2a5c151pack: improve `vim.pack.add()` input validation -89a72f11e5pack: make newer version suggestions more robust -2e62f3576fpack: open confirmation buffer in tabpage after the current one -e4e6605943pack: relax minimal Git version to be 2.0 #36573 -f492f62c3dpack: rename confirmation buffer to again use `nvim-pack://` scheme -0fa96585dcpack: set `source` in progress report #38511 -474e9e9408pack: show more informative error message if no `git` executable -5468e6a452pack: skip :redraw! if headless #37782 -8f0b8a2c27pack: skip `git stash` during install -b337c6e0fcpack: update `add()` to have default `load=false` during startup -1ee18b4061pack: use 'coxpcall.lua' on non-LuaJIT -8200223ee7pack: use `vim.pack:` as message/progress prefix -f3f5095630pack: use full hashes in lockfile and revision description -eff01b7620pack: use more correct URI for confirmation buffer name -267bbe64cbpack: validate installed plugins in `update()` and `del()` -a5d6932686paste: don't use :echo immediately before :redraw (#35773) -42aae632beplines: count 'showbreak' in EOL inline virt_text in line size (#35921) -6291256868process: avoid buffering unnecessary UI event with PTY CWD (#37582) -19a3b67789process: avoid unexpected behavior when PTY chdir failed (#37614) -e051718908process: don't limit PTY master remaining data size -97509aa2beprocess: handle poll() interrupted by a signal (#38024) -8a4719e117process: use poll() to drain PTY master on Linux (#38005) -974bc1b044process: wrong exit code for SIGHUP on Windows (#38242) -e5ba875a95progress: memory leak on progress-message with history=false -2415d8f424progress: message-id not sent to ui with history set to false -7bf83cc2a6progress: require "source" for progress-message #38514 -0af01948f3progress: show progress-status only in curwin #38458 -bc6737250dprogress: simplify ui-event, introduce default presentation #35527 -25000be845prompt: "%" prefix repeated on newlines with formatoptions+=r #34584 -ed4c549ea2prompt: also store column info in ': mark #36194 -a5eb023a53prompt: clear undo when changing/appending prompt -807a65b2daprompt: cursor on prompt line, disallow ":edit" #34736 -689a149b08prompt: don't implicitly set 'modified' #38118 -dbb3986f33prompt: ensure prompt-mark col gets reseted properly #37669 -1349233cd1prompt: heap-buffer-overflow in prompt_setprompt -4afbc25432prompt: heap-buffer-overflows with invalid ': col -bf9d3e4bf8prompt: lnum update via nvim_buf_set_lines if buf != curbuf #34833 -b3096b5860prompt: ml_get error with invalid ': lnum -ed7ff848a0prompt: prompt mark not placed after text edits correctly #34671 -602cbbe1d9prompt: prompt_setprompt cursor col adjustment -3a10405214prompt: prompt_setprompt does not adjust extmarks, no on_bytes -2a5d687cc9prompt: prompt_setprompt sets cursor col unnecessarily -16bf7652b7prompt: prompt_setprompt with unloaded buffer, ': with lnum 0 -51dc752e6cprompt: wrong changed lnum in init_prompt -7641177c5fprompt: wrong cursor col after prompt_setprompt, no on_lines -466b2ac192prompt: wrong cursor position with cursor keys (#36196) -acb99b8a65prompt_buffer: plugins can't set `':` mark #35624 -b4906577c9provider: misleading :checkhealth if user sets g:loaded_python3_provider=1 #32696 -51aa64488dprovider: support python3.14 #38419 -7be4e4dd65pty: prevent orphan conhost.exe on Windows 10 #38244 -ef0386fe9apum: adjust info window column offset when scrollbar is present (#37069) -76fdd9b882pum: crash when resizing grid with pumborder set (#36404) -2681e1fce3pum: fix heap-buffer-overflow with 'rightleft' (#33146) -7d569abb20pum: handle RightDrag on parent grid properly (#33626) -922816877fpum: hide info floating window when insufficient space (#37107) -d87972f920pum: keep info window aligned with pum when above #38251 -445cb751e6pum: pumborder=shadow not blending properly (#37328) -0712a9c87bpum: separate scrollbar from shadow border (#37448) -686e7aca40pum: simplify 'pummaxwidth' truncation and avoid crash -5a65321684pum: text overflows into border on truncation (#37438) -106cacc93bpumblend: do not apply special highlight attrs from bg layer #36186 -c80bb5b63epumborder: wrong layout with pumborder=none #36208 -6256adde2fquickfix: always split from current window #33807 -69c379dc44quickfix: use correct lnume when appending (#34611) -7ed8e96994redraw: update curswant for Visual selection (#34241) -a141fd2c4dremote: remote-ui connect timeout on slow networks #36800 -39d8aa0a1arpc: don't overwrite already received results on error (#37339) -abd0c882b3rpc: handle more cases when identifying loopback #36100 -e142e01d57rpc: include write failure reason in log (#37959) -db2b774a16runtime: 'includeexpr' with non-Nvim-style Lua modules #33867 -9076fdc123runtime: add "Added", "Changed", "Removed" to "vim" colorscheme (#35704) -f048298e9aruntime: conceal paths in help, man ToC loclist #33764 -09f9d72c24runtime: coverity STRING_NULL #569464 (#34795) -923efaea28runtime: cpoptions is reset in Lua file #33671 -76f6868e0aruntime: no conceal in qf on :lopen #34854 -59c45b22d9runtime: remove erroneously added syntax tests -39bb5d7ca2runtime: stop treesitter highlight in b:undo_ftplugin #38459 -c4c2112b5druntimepath: crash in :packadd splice optimization #38129 -d995142dbdscripts: collect_typos.lua: show commit message on failure -9f90992934scripts: gen_terminfo clears Windows terminfo definitions #36736 -130ef73e39scripts: release.sh -d04cbb65b9scripts: use right syntax for choosing ref in "zig fetch" -7a71235399server: serverlist({peer=true}) does not find peer servers #35506 -fc21433167session: spacebar heater not warm enough #38434 -2d3dc070cesession: window sizes not stored with float windows (#37344) -0dcdd65dccshada: check return value is 0 -36dbd2686fshada: don't add '0' mark if f0 in 'shada' -1f503ac7c0shada: don't store empty replacement string -a6591950f6shada: don't store search and sub patterns if /0 in 'shada' -198c9e9bcashada: preserve marks after delete across sessions (#35795) -b98eefd803shada: prevent 'nobuflisted' buffers in v:oldfiles #34373 -6bee2f686fshada: prevent use-after-free when mapping file marks (#34446) -5581a53437shell: ceci n'est pas une pipe -6f904cfef1snippet: adjacent tabstops without placeholders (#35167) -ecded994c1snippet: early return for final tabstop #35115 -628d569a59snippet: jumping backwards to choice node (#35062) -dff78f580dsnippet: setting end_right_gravity (#35061) -1968029003snippet: sync tabstop text also if pmenu is visible (#35250) -019b2050e1snippet: use <cmd>call cursor() for visual range -d077a24f5csocket: avoid stack-use-after-return after timeout (#36405) -bfe9fa0f8esocket: remove stale socket files (#37378) -44f1dbee0dspell: save spell files to stdpath('data')/site/spell #33528 -9436e7c978spell: wrong VimEnter autocommands (#36339) -0f64f0f5b6startup: crash in read_stdin #35699 -30dae87de4startup: file buf is lost if stdin is empty and "-" is last #35402 -c8c78b531bstartup: make startup windows if there are only floating windows (#34349) -5c51b45a82startup: respect $NVIM_APPNAME in $XDG_CONFIG_DIRS paths -c785d5cdf0startup: source init.lua from XDG_CONFIG_DIRS -5cbb9d613bstartup: wait for bg detection before user config #37075 -32d3dd0650statusline: broken statusline on error #38000 -c3a4d12529statusline: check buf valid before redraw #35123 -8305af9bd2statusline: clear ruler when it is no longer drawn #33765 -ad330e99d1statusline: diagnostics spacing #36897 -1af5ec5b51statusline: don't require'vim.diagnostic' unless already used -0ca9849387statusline: missing info/hint diagnostics #38307 -af0f7b59b1statusline: redraw if Visual selection other end changes (#36281) -e9b6474ae7statusline: scope truncation bookkeeping -63ece2b151swapfile: don't use uninitialized memory (#35813) -cbfa7f0d7bswapfile: handle newlines in swapfile list message #35802 -8b9500c886system: don't treat NUL at start as no input (#34167) -6e2b514813system: handle SIGINT in --headless mode #36557 -d6d1bfd20dterm: terminal attr index may exceed TERM_ATTRS_MAX #34318 -3e6db5b2ectermdebug: use mark `:` to get prompt line in prompt buffer #37336 -295fb3fdb2terminal: :edit should respect 'bufhidden' with exited job (#37301) -196df35ccaterminal: <Ignore> should be no-op (#37494) -ad1dfc92a0terminal: add various missing redraws -520568f40fterminal: adjust marks when deleting scrollback lines (#36294) -379e307148terminal: also don't propagate $COLORTERM on Windows (#37699) -1519a34e43terminal: autocmds leave terminal open to wiped buffer -61217e3618terminal: avoid events messing up topline of focused terminal -366251a5d2terminal: avoid multiple terminals writing to same buffer (#37219) -5e521c3b5aterminal: avoid tailed cursor in focused terminal in events -16da47f474terminal: changing height may lead to wrong scrollback (#37824) -747da13f44terminal: check `buf` before deleting extmark #38314 -d07cbb2f42terminal: check size when creating new tabpage -e56292071aterminal: check size when switching buffers -f3feae0bbfterminal: crash after deleting buffer lines (#37921) -7297e9d339terminal: crash when TermClose deletes other buffers -ad85871ca1terminal: crash when TermClose switches back to terminal buffer -b67ac8cc6bterminal: crash with race between buffer close and OSC 2 (#37225) -459cffc55fterminal: deleting from wrong buffer (#36289) -b4039ec0b0terminal: don't allow b:term_title watcher to delete buffer -3cd07709baterminal: don't always leave if enter autocmds delete buffer #38324 -6a71239cd5terminal: don't disable scrolloff for non-terminal buffers (#34451) -7d6b6b2d14terminal: don't poll for output during scrollback refresh (#38365) -875958c9a1terminal: don't refresh for sync flush when exiting (#38363) -6a409e0507terminal: don't trigger TextChangedT for unrelated redraws -ee143aaf65terminal: emit Termrequest for all OSC sequences #33181 -b5aef05b8fterminal: fix OSC 8 parsing (#34424) -a2f01953b8terminal: free the "[Process exited]" msg extmark #38246 -e254688016terminal: handle ED 3 (clear scrollback) properly (#21412) -40bf38fefcterminal: handle OSC 8 split into multiple fragments -f6ca9262b8terminal: handle closing terminal with pending TermRequest (#37227) -e6fae64454terminal: handle opening terminal on unloaded buffer (#37894) -814f2629cbterminal: handle split composing chars at right edge (#37694) -1c57e4cb4fterminal: heap UAF from autocmds when entering #38316 -b40880f88fterminal: heap UAF if buffer deleted during TermRequest (#37612) -3621af9b97terminal: inconsistent mode change when switching buffer (#37215) -4ef7aa83c4terminal: keep last cursor if it's on the last row -df21ac729cterminal: losing output if BufFile* poll for events (#37580) -b6befc7b03terminal: losing scrollback when TermOpen polls for events (#37573) -9cbc430cfbterminal: missing refresh with partial mappings (#37839) -c845f1923dterminal: patch various autocommand-related holes -9540e7470bterminal: possible heap-use-after-free during Nvim exit -72ac9ac9a1terminal: possible memory leak on exit (#37532) -238d4fa71aterminal: possible missing refresh with buffer updates (#38388) -e6ba78919cterminal: possibly wrong wrow/wcol in active terminal -99e754ae02terminal: remove condition that buf is curbuf (#33721) -ba6440c106terminal: reset `w_leftcol` after resizing terminal -25ce44845dterminal: restore options properly when switching buffer (#37485) -1a1a60bd05terminal: resuming doesn't work with command in fish (#37857) -cc7022c544terminal: scrollback may still be wrong on height increase (#37835) -1b627f6c59terminal: set b_locked when setting &buftype (#37787) -b28bbee539terminal: skip setting `string_initial` to false on no-op (#34176) -4f6b3e5c15terminal: spurious buffer update with empty buf (#37920) -756751afa3terminal: stack overflow when too many csi args (#34012) -5c156fdc64terminal: update size after closing window -b7124ae768terminal: update winopts and focus when switching terminals -b88b7f9591terminal: wrong colors with nvim_open_term() in non-curbuf (#37579) -67832710a5terminal: wrong row in TermRequest with full scrollback (#36298) -97d9b85bf9terminal: wrong scrollback with BufFile* autocommand (#37601) -54468c1c3cterminal: wrong scrollback with nvim_open_term() on buffer (#37791) -8707ec2644termkey: out-of-bounds write in array #33868 -272e041780tests: don't surpress stderr output -e702f97518tests: ignore vector math types -2d4b028d02tests: use correct include path for unittest -d84e786112tests: use correct signature for unpacker_teardown() -c81af9428ctests: use uv.spawn instead of io.popen for unittest helpers -61f166ec40textformat: don't swallow "space" with auto-formatting enabled (#38181) -e5c2ce5905treesitter: ":EditQuery [lang]" with injected languages #34914 -08f4811061treesitter: :InspectTree wrong title for non-relative path #37965 -16aab4cb48treesitter: InspectTree only show the largest injection #37906 -60af1a1db2treesitter: clear parse options state #33437 -5a2edc483dtreesitter: close `:InspectTree` with `q` -b4016f4525treesitter: don't add final newline if not present #35970 -28eaec5e15treesitter: don't memoize modified headings (#33186) -8d75910ef9treesitter: eliminate flicker for single windows #33842 -5fe582448ctreesitter: enable a gc for wasmtime -168bf0024etreesitter: ensure TSLuaTree is always immutable -99e6294819treesitter: ensure TSNode's tree is immutable -58d85cd03dtreesitter: ensure window is valid in async parsing #34385 -d8e03d5d5atreesitter: escape hyphen in lua pattern -284b0e4fa2treesitter: fix `:InspectTree` incorrect injections -86c939ba91treesitter: fix spell navigation on first line (#37361) -d0822bbd15treesitter: highlight group for EditQuery captures #36265 -ea878f456atreesitter: ignore stale fold refresh callbacks -18e0301e1ftreesitter: inconsistent highlight of multiline combined injection #32619 -0977f70f4dtreesitter: injected lang ranges may cross capture boundaries #32549 -2aa7948266treesitter: invalidate conceal_lines cache earlier #33875 -9274532615treesitter: invalidate conceal_lines marks #33828 -4e2ed1d03ctreesitter: missing `nowait` for :InspectTree keymaps #36804 -63737e6e73treesitter: no injection highlighting on last line #36951 -01817eb6f3treesitter: normalize language aliases -cf59631f65treesitter: not refreshing virtualtext contents #33361 -f82219c490treesitter: parser metadata annotations -de45b8e275treesitter: proper tree `contains()` logic with combined injections -baabc35987treesitter: properly clip nested injections -f2bfde9140treesitter: reset next_col when performing intermediate highlights -3ec63cdab8treesitter: run FileType autocmds in the context of `<abuf>` -faae1e72a2treesitter: scope highlight state per window #34347 -3eab5bd38atreesitter: set local values of window options -29c5559ce1treesitter: show capture-level priorities in :Inspect #35443 -8b41df185ctreesitter: support multiple `@injection.content` captures -f8ac713448treesitter: use metadata in :EditQuery captures #37116 -5119c03be7treesitter: use subpriorities for tree ordering -756e1eb017treesitter.foldexpr: duplicate callbacks #37048 -b15b22fc73trust: :trust command on Windows #36509 -272dba7f07trust: support for trusting directories #33617 -03eb331abftui: CSI is not ESC (sync mode) -fb5a51e775tui: avoid memory leak and compiler warning on Windows (#34225) -1949452bd3tui: avoid using uv_pipe_t as uv_tty_t (#37479) -5048d9aa2atui: call tcdrain() on stdout and stderr on exit (#38154) -e65c0a0810tui: check for title support correctly (#34866) -17e13ce3b6tui: clear primary device callback before invoking it (#34032) -218ff601c4tui: do not emit resize screen sequence after host terminal is resized (#35335) -b1679f0ab6tui: do not remove SIGWINCH handler when resize events are enabled (#35221) -69bddc089ftui: don't call tinput_init() twice (#36386) -331de6afa6tui: don't crash when nvim__screenshot() is called with bad path (#34594) -c35dde03c8tui: don't process UI events when suspending or stopping (#33710) -df23952ce9tui: don't treat remote TUI as GUI (#36319) -adbd33027ftui: don't try to add unsupported modifiers (#33799) -4a69847df4tui: don't wait for DA1 response when stdin is closed (#35745) -d62bbe24cbtui: enable vtpcon strikethrough feature #36762 -82f08f33c1tui: ensure all pending escape sequences are processed before exiting #32151 -142f914089tui: feature detect vsplit scrolling in xterm-like terminals -4b5364b423tui: forward C0 control codes literally (#33759) -f64475a226tui: handle sequence larger than entire buffer -50a38d9698tui: heap-use-after-free when resuming (#36387) -1f0dbfea2ftui: log chdir failure properly #37591 -bb6f5c3b31tui: reset cursor style on exit (#36261) -5b5b7eb8d4tui: reset cursor to default style when guicursor is disabled #38219 -16680e57batui: use 0x7f as Backspace on Windows with VT input (#37679) -460738e02dtui: use the correct offset for invisible cursor after sync -2dba5abcb2tui: wait for embedded server's exit code -b80d390765tui: wrong default input key encoding (#36440) -bff7d3fd9ftutor: cannot find tutors in pack/*/start/* #34689 -4143bcbd37tutor: escape tutor filename #36539 -e5665754d1tutor: l:lang is undefined -f2691199fatutor: use invalidate field in nvim_buf_set_extmark() #34989 -db1542af3dtutor: use legacy syntax for lesson 3.1 #34996 -9988d7142dtypes: add missing @return annotations -ef48104c31types: nvim_get_win_config return type #35639 -1427b94200typval: allocated dynamic size must be at least the static size -072f126453ui: 'pumborder' parsing, shadow #36127 -027b7d6bbbui: :intro not displayed with ui2 #37472 -531442ddd8ui: apply 'pumborder' to mouse menu, fix overflow #36193 -5f9f706462ui: check for cmdline mode properly (#35202) -8aec33e322ui: clear msg_ruler event with 'rulerformat' #37675 -a8a0bba2f8ui: close outdated cmdline pum on redraw (#36815) -a33e5fb1bbui: cmdline_block events for exmode #37751 -8d6963a6a0ui: cmdline_show is not fired after clearing the screen (#36451) -f02484118cui: correct condition for "wrap" flag in a floating grid -7ca3a56258ui: don't crash if maximum UI count reached (#37636) -ad438b6b14ui: exclude hidden windows from tabline window count #36779 -d01b2611a6ui: exclude unfocusable windows from 'complete' "w" completion -c1648cf820ui: forward 'rulerformat' to msg_ruler event #35707 -d909de2dc2ui: ignore textlock for vim.ui_attach() callbacks #36278 -1a3d3b77bbui: no empty message for substitution match with ext_messages #37600 -d30d91f3a4ui: only internal messages are unsafe #37462 -3277dc3b4eui: postpone UI callbacks during textlock #36803 -7b8deacc3fui: preview float doesn't respond to mouse scroll #38270 -61b6553ee9ui: proper event ordering for nested cmdline_block events (#35344) -506dd7252aui: remember cursor shape when obscured #37704 -6657cc3671ui: repaint separator connectors after all window updates #37852 -424d30fe97ui: send multigrid message position and size when the UI is refreshed -1d57374c41ui: textlock still causes issues for UI callbacks #37513 -703f4037c4ui: wincmd _ should not increase 'cmdheight' above 0 (#33056) -c87d92c3b4ui.open: use "start" instead of deprecated "rundll32" #36731 -ae2829ee35ui2: ENTER may focus pager in insert/terminal mode #38497 -e198037148ui2: always route to dialog when cmdline is open #37730 -8c7bbfba3dui2: callbacks reference stale message-window handles #37673 -9655bd560fui2: don't adjust dialog pos for pum wildmenu (#37695) -29a46a11aaui2: don't change configured message target implicitly #37924 -d8cea8d45dui2: don't scroll beyond eob in dialog window #36116 -b9451dfd4cui2: emit FileType event after setting default pager options #36315 -b6c020eb59ui2: ensure expanded cmdline is closed after :<Esc> (#38187) -ba6fc90b6fui2: hide search highlights in msg window #36626 -6275f533d1ui2: immediately open target windows on new tabpage (#38170) -179e7fccd7ui2: incomplete :echon message in g< pager #37819 -4ef217e272ui2: leftover empty lines in msg window #38059 -dff3028fe7ui2: move windows to current tabpage -844caca881ui2: multiline/color replaced message, expanded cmdline, error messages #38044 -d80d7a3eb4ui2: no paging in dialog below expanded cmdline #38489 -72a557c61bui2: only copy highlight marks when expanding cmdline #37709 -301c7065caui2: only highlight Ex command lines in the cmdline #38182 -c4ac36bfd9ui2: only redraw when necessary #36457 -16495e6863ui2: only set dialog on_key callback once #37905 -b2adfe775dui2: show messages in dialog window when entering expanded cmdline #38465 -c94b7b93c0ui2: start treesitter after deleting cmdline buffer (#36274) -ea70d2ad85ui2: unset Search highlighting (#36633) -52dd62aa6eui2: use pager to list consecutively typed commands #38272 -3038f0191eui2: wildmenu hidden behind dialog window #37684 -e58a842749ui2: wrong condition used to detect active pager -ce9dbd398bundo: u_savecommon uses wrong buffer -382963891cundotree: check foldmethod before invoking fold (#36192) -f40672be99undotree: clear autocmd correctly #36124 -645206e87fundotree: error on `undotree.open()` with title as string #36085 -26bd9bfab8undotree: highlight extmarks like normal text #36087 -4598305e0bundotree: mark title field annotation as optional (#36102) -9c89212de1undotree: sync scroll pos with undo #36117 -af5ac7c7eaunittests: use -1ULL to mean UNSIGNED MATH.MAX -c82f83abb0ux: drop "Sorry" from messages #38318 -d93e150888vim-patch: add N/A files and re-sort (#37544) -d2517acdc5vim-patch.sh: 'vim-patch:<hash>' token for 'non-patch' commits #36534 -8bce9342d1vim-patch.sh: don't treat 1-file runtime-only patch as N/A (#36525) -533cc0ab35vim.diagnostic: improve typing -1f9d9cb2e5vim.fs: abspath(".") returns "/…/." #36583 -825e182139vim.fs: avoid fn.fnamemodify in fs.root #37162 -dc5d313d66vim.fs: joinpath() should ignore empty items #38077 -14c708634evim.fs: make `rm()` work with symlink to a directory -f11f8546e7vim.fs: root() should always return absolute path #36466 -28e8190185vim.hl: nvim_buf_del_extmark on invalid buffer #33331 -da650de277vim.json: fix truncation of decoded numbers outside lua_Integer's range #35702 -7a69fefdb9vim.json: loss of precision on integers >14 digits #34876 -78bbe53f76vim.loader: randomized AppImage path pollutes luac cache #35636 -1363ef7d50vim.loader: randomized AppImage path pollutes luac cache #36944 -1fb0126a08vim.lsp.enable: don't eagerly enable LSP configs during startup #33762 -49756ebc70vim.lsp.inlay_hint: requesting inlay_hints even when disabled #32999 -10ca09a2cbvim.net: always pass response body to on_response #38460 -69b286c3bfvim.net: filetype detection, mark unmodified #36297 -12689c73d8vim.pack: add() stops unexpectedly on package load error #34787 -89d26d61d2vim.pack: increase default timeout #36992 -8e740db70cvim.pack: skip checkout on bad `version` #36038 -731e616a79vim.system: clear_env=true gives an invalid env to uv.spawn #33955 -4eebc46930vim.system: env=nil passes env=nil to uv.spawn -532610388bvim.system: improve error message when cwd does not exist -223ac7782evim.system: unclear non-executable message #33455 -649ff924d9vim.version: improve construction of '<=a.b.c' and '>a.b.c' ranges -092962b07cvim.version: vim.VersionRange:has(<prerelease>) (#33324) -e40c5cb06dvterm: handle split UTF-8 after ASCII properly (#37721) -d9d8c660fdwatch: invalid joined path #37973 -bc814cfb2cwinblend: treat braille blank (\u2800) as whitespace #32741 -de950f8272window: avoid referencing cmdline_win after it is closed #35617 -c14de47f1awindow: crash closing only non-float if autocmds :tabonly (#37218) -df62cb3e69window: crash closing split if autocmds close other splits (#37233) -0e7479bb76window: crash on negative window height with 'winbar' #33250 -4fadc21e38window: disallow closing autocmd window in other tabpage -bf5f7c1591window: don't add a hsep when out of room if global stl is off -0d658660c2window: don't enter unfocusable or hidden prevwin (#34486) -b4e3461e3fwindow: don't leak fold memory with style=minimal #38287 -c7fd0c17b1window: don't make hidden/unfocusable previous window current #36142 -7f5b5d34cfwindow: don't store invalid height in window config (#34885) -3a36df9b13window: handle closing the only non-float in other tabpage -9813c00dd3window: restore b_nwindows if win_close_othertab keeps window -403fcacfc1window: skip unfocusable and hidden floats with "{count}<C-W>w" #33810 -84d84e9b5bwindow: style=minimal window loses local options when switching buffers #38138 -da8de99d0bwindow: use real last buffer of closed window -d1189ea508window: win_move_after UAF from naughty autocmds (#37065) -52991d8728windows: don't set window icon on SIGHUP #34260 -2c04ae9fccwindows: wrong RT_MANIFEST ID in nvim.rc #36406 -3325536150winfloat: last_status when changing split to floatwin PERFORMANCE -------------------------------------------------------------------------------- -5edbabdbecadd on_range in treesitter highlighting -f9ce939bf5scheduler priority clamping on macOS #35488 -14e94f4617api: reduce redundant `win_find_tabpage` calls (#35643) -4adfc4b7bcevents: skip Progress prep if there are no subscribers #35871 -bfe42c84deextui: delay creating windows, buffers and parser (#34665) -babdab2f70filetype: vim.filetype.get_option cache miss when option value is false #37593 -f9d2115a35highlight: allow decoration providers to skip ranges without data -1629493f72lsp: avoid textDocument/definition requests during tag completion (#37260) -f486f1742elsp: include `previousResultId` in `DocumentDiagnosticParams` #32887 -42657e70b8lsp: optimize content length extraction from rpc headers -f517fcd148lsp: use string.buffer for rpc loop -92e7d5eaf2pack: reduce number of 'opt/' directory computations -3aa04f7ee4runtime: hardware accelerated "packadd opt_package" -5e64d92411runtime: vim.trim for long only whitespace strings -d3e495ce03snippet: use "[count]|" to move cursor #33571 -098da1fc2ctreesitter: parse multiple ranges in languagetree, eliminate flickering #36503 -e656d7be2etui: faster implementation of terminfo BUILD -------------------------------------------------------------------------------- -4f97239661USE_BUNDLED_UNIBILIUM=0 fails #36623 -fb2d736481add script to collect typo PRs (#35824) -813457d5a6adjust parallel functionaltest target names (#38144) -8e922c657callow comments in deps.txt #35765 -3f416ef524bump lua-bitop to 1.0.3 #35063 -374e869504distclean: remove zig-related dirs #38013 -d589ce28b0drop BUNDLED_CMAKE_FLAG, BUNDLED_LUA_CMAKE_FLAG -0ddba68607ensure toolchain is passed to bundled deps #37587 -10c11c4644haiku os support #36639 -8a7c9c971fignore out-of-source build folder #33191 -8c5bd841edlint decorations_spec etc. with lintlua (#34182) -6b936002ccmake build.zig generate helptags without running "nvim" binary -1d70c96e5bmove shared.lua to _core/ -f51c54ace6noisy readability-implicit-bool-conversion warning #38282 -a053186aa7redundant variable in cmake/Deps.cmake #35924 -6063ecb649remove reference to runtime/indent/Makefile (#35935) -20e77c5d88ship "_core/*" as bytecode (built-into Nvim binary) -1bf9a07b3eslience new clang-tidy warnings #34539 -845cb5a527slience some unwanted clang-tidy warnings -c567340171support Cygwin + bundled luajit #36417 -e91224bfaasupport static build #34728 -20225fc330suppress -Wfree-nonheap-object false positives in lua_cjson #37250 -092e49d020unset $TMUX when running tests (#34178) -3dbba90ba7update-alternatives during deb install #37980 -19ba589946contrib: add bash completion for nvim #35843 -4b2cbc2154desktop: declare "Development" category #37794 -d73f2d9657emmyrc.json: use StyLua formatter in .emmyrc.json #35196 -0980617c0dmsvc: suppress msvc build warning for different enum types (#34591) -ceb7eb5230windows: restore tee.exe on Windows #36363 -5bb8734fb6windows: vendor xxd.c #36746 VIM PATCHES -------------------------------------------------------------------------------- -e27e4052c82566a9f: check.vim: Improve po message checks -5e6f0e58ed32a5faa: check.vim complains about overlong comment lines -cae4fbf9733456303: check.vim: Use silent command modifier -5f86b4b70d4105ef1: Drop superfluous execute permissions for readable files -282a794feb41adebe: check.vim: detect trailing whitespace -fc4188ded86f585da: Overlong translation files may cause repo to become "dirty" -c2e0fd1c357.4.1886 (#36945) -8a4977e2867a734b7: tests: fix typo in comment (after v9.1.1511) -52999675518.0.0287: debug mode: cannot access function arguments (#36772) -c6f0a192068.1.0425: ml_get error and crash with appendbufline() -5a14a2679d8.1.0579: cannot attach properties to text -36fc266e868.1.0636: line2byte() gives wrong values with text properties -b5e20d7dff8.1.0654: when deleting a line text property flags are not adjusted -76729a20448.1.0655: when appending a line text property flags are not added -ef522420f28.1.0753: printf format not checked for semsg() (#37248) -441d222c0d8.1.0857: indent functionality is not separated -1e81b540758.1.0977: blob not tested with Ruby -0c0ef489f98.1.1136: decoding of mouse click escape sequence is not tested (#35551) -b3d29f396d8.1.1259: crash when exiting early (#35552) -00c2e7d89c8.1.1526: no numerical value for the patchlevel -4765d4e0598.1.1584: the evalfunc.c file is getting too big -83f38800e78.1.1681: insert stray "{" when listener gets buffer line -c9b35360ac8.1.1700: listener callback called for the wrong buffer -750c350be88.1.1711: listener callback called at the wrong moment -b79ed66e4a8.1.1736: viminfo support is spread out -89e2f346a88.1.1751: when redrawing popups plines_win() may be called often -582e0714b58.1.1752: resizing hashtable is inefficient (#35563) -85bd0b6a038.1.1891: functions used in one file are global -f7c86742e78.1.1920: cannot always close a popup when filter consumes all events -b38ce042838.1.1939: code for handling v: variables in generic eval file (#36312) -681ec17b508.1.1940: script tests fail -4aac5908ed8.1.1957: more code can be moved to evalvars.c -f89e1eb0368.1.1964: crash when using nested map() and filter() (#35715) -ed0f46af628.1.1978: the eval.c file is too big -183f8cc59d8.1.1979: code for handling file names is spread out (#36176) -3051e8bbb18.1.1981: the evalfunc.c file is too big -d06fdecb978.1.2008: error for invalid range when using listener and undo -860a7e4d218.1.2021: some global functions can be local to the file -406f9e3c8c8.1.2077: the ops.c file is too big -fadbc0e7178.1.2127: the indent.c file is a bit big -5f3d00a5a68.1.2371: FEAT_TEXT_PROP is a confusing name (#35466) -c81f7aeee28.2.0098: exe stack length can be wrong without being detected (#37136) -7048c36ba88.2.0115: byte2line() does not work correctly with text properties -0c24ddb4d88.2.0200: Vim9 script commands not sufficiently tested -3fc3f5f1948.2.0223: some instructions not yet tested -d632ffa2438.2.0307: Python 3 vim.eval not well tested -992eaac0828.2.0370: the typebuf_was_filled flag is sometimes not reset (#37404) -f3cfe9a94b8.2.0371: crash with combination of terminal popup and autocmd (#37433) -f2df98e8498.2.0443: clipboard code is spread out #35949 -758e6db06c8.2.0512: Vim9: no optional arguments in func type -ed012b817d8.2.0844: text properties crossing lines not handled correctly -088ba835ed8.2.0845: text properties crossing lines not handled correctly (#35483) -dc2d4b07a88.2.0853: ml_delete() often called with FALSE argument -474c4771348.2.1123: Python 3 test is old style -b95413f6018.2.1555: not all tests are executed on Github Actions -d65f5a06fe8.2.1618: Vim9: cannot pass "true" to setloclist() -ffb45263768.2.1667: local function name cannot shadow a global function name -865a28155e8.2.1672: v_lock is used when it is not initialized (#35416) -8d3742ae8d8.2.1679: ":*" is not recognized as a range (#37052) -b95848a8f18.2.1756: Vim9: :let will soon be disallowed (#37063) -7ae88606748.2.1912: with Python 3.9 some tests fail -d6607dae418.2.1939: invalid memory access in Ex mode with global command -1b1a8895bd8.2.1941: Ex mode test fails on MS-Windows with GUI -3694fcec288.2.1983: ml_get error when using <Cmd> to open a terminal (#34759) -ff8edbaa6c8.2.2198: ml_get error when resizing window and using text property -b3490536b98.2.2403: Vim9: profiling if/elseif/endif not correct -1ae7c113928.2.2404: Vim9: profiling try/catch not correct -ffdee3a2e18.2.2409: Vim9: profiling only works for one function -8b79c327358.2.2411: profile test fails on MS-Windows -b764a1ba938.2.2423: missing error message -7995e7a89b8.2.2456: Coverity warning for strcpy() into fixed size array -dccc35e6e98.2.2571: test may leave file behind -d7cf1b31d58.2.2834: Vim9: :cexpr does not work with local variables -9a5b3a39f38.2.2905: no error when defaults.vim cannot be loaded -525c348c298.2.2992: Vim9: completion for :disassemble is incomplete -b480b0cd5d8.2.3159: cursor displayed in wrong position after deleting line -e77d15cc5d8.2.3348: line2byte() returns wrong value after adding textprop -cd25ca5e0c8.2.3377: Vim9: :disass completion does not understand "s:" -4f71d9ce358.2.3383: Vim9: completion for :disassemble adds parenthesis -e0dcdef1818.2.3431: completion for :disas sorts local functions first -cba2f65ee48.2.3602: Python3 test fails with Python 3.10 on MS-Windows -398cf6d8d38.2.3657: Vim9: debug text misses one line of return statement -a331d187ba8.2.3662: illegal memory access if malloc() fails (#36939) -9f84e01dfb8.2.3673: crash when allocating signal stack fails -f15c28ed7a8.2.3766: converting a funcref to a string leaves out "g:" -a274bdf2d18.2.3767: crash when using NULL partial -15d3a839998.2.3795: too many #ifdefs -992543c3618.2.3841: Vim9: outdated TODO items, disabled tests that work (#37900) -f211af3ab78.2.3962: build fails for missing error message -24675ffa978.2.3968: build failure -09964b7ef08.2.4379: an empty change is reported to a listener -08eb133c3f8.2.4474: memory allocation failures not tested in quickfix code -ce059908238.2.4528: crash when using null_function for a partial -7ce17cd2a28.2.4529: Vim9: comparing partial with function fails -2ba44af7e08.2.4548: script-local function is deleted when used in a funcref -0c70fbf0d68.2.4633: Visual range does not work before command modifiers -78292dcc3d8.2.4636: not using Visual range -0fa678c02f8.2.4637: warning for using uninitialized variable -cc95a7d8b88.2.4738: Esc on commandline executes command instead of abandoning it -cd543d618d8.2.4763: using invalid pointer with "V:" in Ex mode -ffdb3164918.2.4772: old Coverity warning for not checking ftell() return value -e96c61d92d8.2.4773: build failure without the +eval feature -a979a6237e8.2.4785: Visual mode not stopped if win_gotoid() goes to other buffer (#37073) -90b1202cfb8.2.4851: compiler warning for uninitialized variable -b6d0c391fc8.2.4878: valgrind warning for using uninitialized variable -eb67f3a6ba8.2.5017: gcc 12.1 warns for uninitialized variable -edd99f09c78.2.5092: using "'<,'>" in Ex mode may compare unrelated pointers -f4a33929d98.2.5161: might still access invalid memory -26641c0c569.0.0010: returning 0 for has('patch-9.0.0') is inconsistent -2c560d85449.0.0025: accessing beyond allocated memory with the cmdline window -0d3ee268609.0.0057: has('patch-xxx') returns true -96a514ed469.0.0106: illegal byte regexp test doesn't fail when fix is reversed -d4a8d169a29.0.0113: has() is not strict about parsing the patch version -899ec829be9.0.0145: substitute that joins lines drops text properties (#37108) -efacb107099.0.0154: text properties wrong after splitting a line -27eb0aba3c9.0.0433: Coverity warns for not checking allocation failure -9b15d4c7569.0.0688: debugger does not display the whole command -58ee249c2c9.0.0729: the rightleft and arabic features are disabled -f60051e00d9.0.0874: using freed memory when executing unmenu at more prompt -e51f5e17e19.0.0909: error message for layout change does not match action (#37436) -72d3506ce99.0.1033: tiny build fails because of conflicting typedef -3ac981e8389.0.1066: test function name is wrong -69bed0431c9.0.1427: warning for uninitialized variable -08e193633b9.0.1480: using popup menu may leave text in the command line -827cfe4a769.0.1653: Amiga: default 'viewdir' may not work -bd0555ecd49.0.1654: MS-Windows: test for default 'viewdir' fails -b869cf8ddc9.0.1689: python 3.12 produces warnings and fails test -53fd3657cc9.0.1758: vim9 no class identifiers in stack dumps -1afdcb8f2b9.0.1899: potential buffer overflow in PBYTE macro -7c38f428f49.0.2023: need more tests for :cq -d6e5286d2c9.1.0059: No event triggered before creating a window -3e655d3e429.1.0063: GTK code can be improved -4544cec1689.1.0117: Stop split-moving from firing WinNew and WinNewPre autocommands -60a0e3d0a09.1.0151: ml_get_buf_len() does not consider text properties (#37094) -2a28149efc9.1.0359: MS-Windows: relative import in a script sourced from a buffer doesn't work -453dfbf7d69.1.0535: newline escape wrong in ex mode -6ce964aed69.1.0539: Not enough tests for what v9.1.0535 fixed -17601e709f9.1.0546: vim-tiny fails on CTRL-X/CTRL-A -d5a60409679.1.0598: fuzzy completion does not work with default completion -a9aedfbc589.1.0605: internal error with fuzzy completion -9757b11aaf9.1.0631: wrong completion list displayed with non-existing dir + fuzzy completion -d9f4c1db239.1.0634: Ctrl-P not working by default -f4ddbaeb9e9.1.0654: completion does not respect completeslash with fuzzy -786c5fbdec9.1.0671: Problem: crash with WinNewPre autocommand -69a9a25fcc9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft' -71662bbb499.1.0695: tests: test_crash leaves Untitled file around -50423942419.1.0697: [security]: heap-buffer-overflow in ins_typebuf (#37372) -532cc886049.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone -11b36992529.1.0700: crash with 2byte encoding and glob2regpat() -0de85e322a9.1.0701: crash with NFA regex engine when searching for composing chars -8c31b3eeac9.1.0702: Patch 9.1.0700 broke CI -094d3dd3d49.1.0703: crash with 2byte encoding and glob2regpat() -767a52ba309.1.0705: Sorting of fuzzy filename completion is not stable -0eb708aa8a9.1.0721: tests: test_mksession does not consider XDG_CONFIG_HOME -fbac2545119.1.0733: keyword completion does not work with fuzzy -70bb7999f79.1.0748: :keep* commmands are sometimes misidentified as :k -62822d750d9.1.0877: tests: missing test for termdebug + decimal signs -94f7302e669.1.0893: No test that undofile format does not regress (#37193) -c5dbee79109.1.0918: tiny Vim crashes with fuzzy buffer completion -9cc93b6def9.1.0974: typo in change of commit v9.1.0873 -44f70b4be19.1.1006: PmenuMatch completion highlight can be combined -c17caca9b79.1.1008: tests: test for patch 9.1.1006 doesn't fail without the patch -20a7e744449.1.1043: [security]: segfault in win_line() -30293575209.1.1131: potential out-of-memory issue in search.c -0af6d6ff5e9.1.1147: preview-window does not scroll correctly -90d59e6c8a9.1.1178: not possible to generate completion candidates using fuzzy matching -17db70f3af9.1.1181: Unnecessary STRLEN() calls in insexpand.c -10fde593f19.1.1182: No cmdline completion for 'completefuzzycollect' -cd95ea5d489.1.1185: endless loop with completefuzzycollect and no match found -28f61994749.1.1197: process_next_cpt_value() uses wrong condition -e39cdafed99.1.1201: 'completefuzzycollect' does not handle dictionary correctly -e3990f86439.1.1202: Missing TabClosedPre autocommand -0d3ed7904a9.1.1211: TabClosedPre is triggered just before the tab is being freed -dc00b379659.1.1212: filetype: logrotate'd pacmanlogs are not recognized (#33412) -162edf7b309.1.1214: matchfuzzy() can be improved for camel case matches -f9280cde0a9.1.1217: tests: typos in test_matchfuzzy.vim -797195e0ea9.1.1219: Strange error with wrong type for matchfuzzy() "camelcase" -750e1836af9.1.1224: cannot :put while keeping indent (#33076) -0af780e8df9.1.1228: completion: current position column wrong after got a match -2331c52aff9.1.1243: diff mode is lacking for changes within lines -b20fc95c1a9.1.1245: need some more tests for curly braces evaluation -e2e0f92f179.1.1246: coverity complains about some changes in v9.1.1243 -ae98d0a5609.1.1247: fragile setup to get (preferred) keys from key_name_entry (#33102) -e4172bcbdf9.1.1249: tests: no test that 'listchars' "eol" doesn't affect "gM" -62da4e29499.1.1250: cannot set the maximum popup menu width -cb316636639.1.1252: typos in code and docs related to 'diffopt' "inline:" (#33143) -36d143e7079.1.1253: abort when closing window with attached quickfix data -675ee057e09.1.1255: missing test condition for 'pummaxwidth' setting -52b19e01249.1.1257: Mixing vim_strsize() with mb_ptr2cells() in pum_redraw() -89bc9455549.1.1258: regexp: max \U and \%U value is limited by INT_MAX (#33156) -431c0377099.1.1260: Hang when filtering buffer with NUL bytes (#33192) -e4f37481ff9.1.1261: No test for 'pummaxwidth' non-truncated items (#33193) -b64c2d763e9.1.1262: heap-buffer-overflow with narrow 'pummaxwidth' value -76cbe9c8f89.1.1263: string length wrong in get_last_inserted_save() (#33194) -8a40213eb39.1.1265: tests: no tests for typing normal char during completion (#33239) -e5ddf7ae7d9.1.1266: MS-Windows: type conversion warnings (#33264) -5cdfa3324f9.1.1268: filetype: dax files are not recognized -8cf413e4509.1.1269: completion: compl_shown_match is updated when starting keyword completion -4983fa45fc9.1.1271: filetype: Power Query files are not recognized -b01921cb559.1.1272: completion: in keyword completion Ctrl_P cannot go back after Ctrl_N -e8785c2e949.1.1276: inline word diff treats multibyte chars as word char (#33323) -00eff4b1969.1.1283: quickfix stack is limited to 10 items -1c723b2e6f9.1.1284: not possible to configure pum truncation char -8af9f8ab5e9.1.1286: filetype: help files not detected when 'iskeyword' includes ":" (#33377) -454abde1aa9.1.1287: quickfix code can be further improved -c73a8275649.1.1288: Using wrong window in ll_resize_stack() (#33397) -51a967d58a9.1.1289: tests: no test for matchparen plugin with WinScrolled event (#33411) -7c159874449.1.1290: tests: missing cleanup in test_filetype.vim (#33420) -aba33c72f09.1.1291: too many strlen() calls in buffer.c -f3b38b46eb9.1.1292: statusline not correctly evaluated -6e5671b00d9.1.1296: completion: incorrect truncation logic -aa47c8efa99.1.1297: Ctrl-D scrolling can get stuck #33453 -fd76646a959.1.1298: define_function() is too long (#33457) -287955cfb49.1.1299: filetype: mbsyncrc files are not recognized -9272dc95979.1.1300: wrong detection of -inf (#33474) -7651c432529.1.1301: completion: cannot configure completion functions with 'complete' -c249389adb9.1.1302: Coverity warns about using uninitialized value -d2d1b5e9449.1.1303: missing out-of-memory check in linematch.c (#33487) -7da1639a149.1.1304: filetype: some man files are not recognized -b0f97177d49.1.1305: completion menu active after switching windows/tabs (#33488) -54d60550989.1.1306: completion menu rendering can be improved -e3e8dfe99c9.1.1307: make syntax does not reliably detect different flavors (#33498) -1de276bbcd9.1.1308: completion: cannot order matches by distance to cursor (#33491) -afca5b564e9.1.1309: tests: no test for 'pummaxwidth' with non-truncated "kind" -f9f6dc42629.1.1310: completion: redundant check for preinsert effect (#33505) -b6acf6112b9.1.1311: completion: not possible to limit number of matches -95a255a5489.1.1312: tests: Test_backupskip() fails when HOME is defined (#33504) -857ff5cae99.1.1313: compile warning about uninitialized value -ccdb37b0759.1.1314: max allowed string width too small -b4c759716a9.1.1315: completion: issue with fuzzy completion and 'completefuzzycollect' (#33520) -e2e6c159d39.1.1317: noisy error when restoring folds from session fails -0251a255419.1.1318: tests: test_format fails -c67398d31b9.1.1319: Various typos in the code, issue with test_inst_complete.vim (#33527) -255bf6e5b19.1.1320: filetype: alsoft config files are not recognized -1b0dedb81c9.1.1321: filetype: MS ixx and mpp files are not recognized -dca8b3fede9.1.1322: small delete register cannot paste multi-line correctly (#33531) -328640aed09.1.1323: b:undo_ftplugin not executed when re-using buffer -da20804a6a9.1.1325: tests: not checking error numbers properly -d3cded796c9.1.1326: invalid cursor position after 'tagfunc' (#33556) -9fafdcb99c9.1.1327: filetype: nroff detection can be improved -98ec3fdf749.1.1328: too many strlen() calls in indent.c (#33563) -f3c4fec43f9.1.1329: cannot get information about command line completion -07d60e8f199.1.1331: Leaking memory with cmdcomplete() -63689deb459.1.1337: Undo corrupted with 'completeopt' "preinsert" when switching buffer (#33600) -3d126ec89f9.1.1338: Calling expand() interferes with cmdcomplete_info() -ac8ae1596c9.1.1340: cannot complete :filetype arguments (#33602) -fcabbc22839.1.1341: cannot define completion triggers -41179a6bc19.1.1342: Shebang filetype detection can be improved -4ddd31de149.1.1343: filetype: IPython files are not recognized -31e31273bc9.1.1344: double free in f_complete_match() (after v9.1.1341) -766cd01ff29.1.1346: missing out-of-memory check in textformat.c (#33639) -d75410b0919.1.1349: CmdlineLeavePre may trigger twice -c64cada12e9.1.1350: tests: typo in Test_CmdlineLeavePre_cabbr() -afcc4e95d59.1.1351: Return value of getcmdline() inconsistent in CmdlineLeavePre -d107375f0c9.1.1353: missing change from v9.1.1350 -65a4c8f3ca9.1.1357: Vim incorrectly escapes tags with "[" in a help buffer -074a6abd559.1.1359: filetype: GNU Radio config files are not recognized -da3eeb4b329.1.1360: filetype: GNU Radio companion files are not recognized -627c6482529.1.1361: [security]: possible use-after-free when closing a buffer (#33820) -73f2286f089.1.1370: CI Tests favor GTK2 over GTK3 -6b955af8759.1.1373: 'completeopt' checking logic can be simplified -15d31fe7a69.1.1374: completion: 'smartcase' not respected when filtering matches -05dab80d8d9.1.1375: [security]: possible heap UAF with quickfix dummy buffer -d95b0a53969.1.1376: quickfix dummy buffer may remain as dummy buffer -8605f5655b9.1.1378: sign without text overwrites number option (#33942) -ef5c5dc99b9.1.1380: 'eventignorewin' only checked for current buffer -4b3a9ac4139.1.1381: completion: cannot return to original text (#33966) -e4c4d672b59.1.1383: completion: 'isexpand' option does not handle space char correct (#33999) -e01f196e449.1.1384: still some problem with the new tutors filetype plugin -d539a952da9.1.1385: inefficient loop for 'nosmoothscroll' scrolling (#33992) -6b9665a5079.1.1387: memory leak when buflist_new() fails to reuse curbuf -f87b6230f19.1.1388: Scrolling one line too far with 'nosmoothscroll' page scrolling (#34023) -f2aec4bc059.1.1389: completion: still some issue when 'isexpand' contains a space (#34026) -2fda267faf9.1.1393: missing test for switching buffers and reusing curbuf -ec5f054dc99.1.1395: search_stat not reset when pattern differs in case (#34058) -99384fcd9c9.1.1396: 'grepformat' is a global option (#34060) -dc6885dc249.1.1398: completion: trunc does not follow Pmenu highlighting attributes (#34084) -153a9108979.1.1402: multi-byte mappings not properly stored in session file (#34131) -f791ae82e59.1.1404: wrong link to Chapter 2 in new-tutor -071dcab68f9.1.1405: tests: no test for mapping with special keys in session file (#34146) -bd01bd65649.1.1407: Can't use getpos('v') in OptionSet when using setbufvar() (#34177) -f2373a89d79.1.1408: not easily possible to complete from register content (#34198) -eeff6ca8ff9.1.1409: using f-flag in 'complete' conflicts with Neovim -2411f924a39.1.1410: out-of-bounds access with 'completefunc' -c4e52d604c9.1.1413: spurious CursorHold triggered in GUI on startup (#34195) -bec1449cc59.1.1416: completion limits not respected for fuzzy completions -6c4ddf607f9.1.1417: missing info about register completion in complete_info() (#34219) -2763d061009.1.1419: It is difficult to ignore all but some events (#34245) -0471cc75959.1.1420: tests: could need some more tests for shebang lines -f1f106be3d9.1.1421: tests: need a test for the new-style tutor.tutor (#34267) -9bfd0162dc9.1.1422: scheduling of complete function can be improved -525c02a89f9.1.1424: PMenu selection broken with multi-line selection and limits -eb108528049.1.1426: completion: register contents not completed -97ca92f9dd9.1.1428: completion: register completion needs cleanup -f89381e05c9.1.1431: Hit-Enter Prompt when loading session files -1c417b565e9.1.1432: GTK GUI: Buffer menu does not handle unicode correctly (#34313) -6171ab7f4e9.1.1433: Unnecessary :if when writing session -552983515f9.1.1435: completion: various flaws in fuzzy completion (#34335) -2b79d9ba1a9.1.1437: MS-Windows: internal compile error in uc_list() (#34379) -d2dad308989.1.1439: Last diff folds not merged (#34380) -bcfc22853a9.1.1441: completion: code can be improved -78e2f625169.1.1442: tests: Test_diff_fold_redraw() is insufficient (#34407) -7a58cf4b969.1.1443: potential buffer underflow in insertchar() (#34408) -72f4bb9ae89.1.1444: Unused assignment in set_fuzzy_score() -bcba067dc29.1.1445: negative matchfuzzy scores although there is a match (#34409) -2c80b05cbd9.1.1446: filetype: cuda-gdb config files are not recognized -ac772706cc9.1.1447: completion: crash when backspacing with fuzzy completion -50750438239.1.1449: typo in pum_display() -612f8e7c9e9.1.1450: Session has wrong arglist with :tcd and :arglocal (#34430) -1abcd9fe289.1.1452: completion: redundant check for completion flags (#34434) -3a2ac2300b9.1.1454: tests: no test for pum at line break position (#34462) -3e984cf02b9.1.1463: Integer overflow in getmarklist() after linewise operation (#34532) -ae0981070e9.1.1464: gv does not work in operator-pending mode (#34534) -5cf135f9a09.1.1466: filetype: not all lex files are recognized -fb8dba413f9.1.1467: too many strlen() calls (#34572) -487112d6749.1.1468: filetype: bright(er)script files are not recognized -8ed6f00ab09.1.1471: completion: inconsistent ordering with CTRL-P (#34571) -ee2fc31b369.1.1473: inconsistent range arg for :diffget/diffput (#34588) -534ec8d4479.1.1475: completion: regression when "nearest" in 'completeopt' (#34607) -7f3249fa0d9.1.1476: missing out-of-memory checks in cmdexpand.c (#34624) -7138cdaef89.1.1477: no easy way to deduplicate text -11f8e8eb639.1.1478: Unused assignment in ex_uniq() -a0f3fdba589.1.1479: regression when displaying localized percentage position -3bf27b2c749.1.1481: gcc complains about uninitialized variable -0b91e9f83b9.1.1482: scrolling with 'splitkeep' and line() (#34670) -a565774bfc9.1.1483: not possible to translation position in buffer (#37099) -504327020d9.1.1484: tests: Turkish locale tests fails on Mac -dd707246fd9.1.1490: 'wildchar' does not work in search contexts -ee717447dd9.1.1491: missing out-of-memory checks in cmdexpand.c -9a44bbd5749.1.1493: manually comparing positions on buffer -66f02ee1fe9.1.1498: completion: 'complete' funcs behave different to 'omnifunc' (#34718) -da42f99eb49.1.1501: filetype: flix files are not recognized -18cfbf8fb29.1.1502: filetype: quickbms files are not recognized -0a14ac32619.1.1503: filetype: haxe files are not recognized -fc1be07d289.1.1504: filetype: numbat files are not recognized -6ebcb4a4d69.1.1505: not possible to return completion type for :ex command -eef62e815d9.1.1506: tests: missing cleanup in Test_search_cmdline_incsearch_highlight() (#34748) -bb75610d999.1.1507: symlinks are resolved on :cd commands (#34758) -c48dea20f59.1.1508: string manipulation can be improved in cmdexpand.c (#34755) -9c04eb02ad9.1.1509: patch 9.1.1505 was not good -46727a7feb9.1.1510: Search completion may use invalid memory -11e967d5af9.1.1511: tests: two edit tests change v:testing from 1 to 0 -85e6feedb09.1.1512: completion: can only complete from keyword characters (#34798) -cf5506f0fd9.1.1516: tests: no test that 'incsearch' is updated after search completion (#34808) -3177841bdf9.1.1517: filetype: autopkgtest files are not recognized -6fd2a3040f9.1.1518: getcompletiontype() may crash (#34819) -842ca1fd5c9.1.1519: tests: Test_termdebug_decimal_breakpoints() may fail -27daeb0d689.1.1520: completion: search completion doesn't handle 'smartcase' well (#34840) -c3c8d252939.1.1521: completion: pum does not reset scroll pos on reopen with 'noselect' (#34836) -ef0ec7edac9.1.1526: completion: search completion match may differ in case -5fe310c5e69.1.1528: completion: crash with getcompletion() -db7c2acbc69.1.1532: termdebug: not enough ways to configure breakpoints (#34851) -00f8f94d5b9.1.1535: the maximum search count uses hard-coded value 99 (#34873) -d4074b812d9.1.1538: tests: string options in gen_opt_test.vim not fully sorted (#34891) -f487ae90cf9.1.1539: completion: messages don't respect 'shm' setting (#34923) -7631302ad69.1.1544: :retab cannot be limited to indentation only (#34939) -4195b82ec99.1.1548: filetype: OpenFGA files are not recognized -8bccd079729.1.1549: filetype: pkl files are not recognized -8964ad45da9.1.1550: defaults: 'showcmd' is not enabled in non-compatible mode on Unix -5cfdd4d8b99.1.1551: [security]: path traversal issue in zip.vim (#34951) -77c6cae25b9.1.1552: [security]: path traversal issue in tar.vim -436ae1d23e9.1.1554: crash when omni-completion opens command-line window -fcec1610e79.1.1555: completion: repeated insertion of leader (#34962) -e6ce067f029.1.1556: string handling in cmdexpand.c can be improved (#34966) -4f0ab9877b9.1.1557: not possible to anchor specific lines in diff mode (#34967) -be358643189.1.1559: tests: Test_popup_complete_info_01() fails when run alone -9d1333a3859.1.1563: completion: ruler may disappear (#34977) -b91613f42c9.1.1567: crash when using inline diff mode (#35005) -0f9b5dd0b49.1.1570: Copilot suggested some improvements in cmdexpand.c (#35006) -bbc368dfce9.1.1571: CmdlineChanged triggered to often -b6b793634a9.1.1572: expanding $var does not escape whitespace for 'path' (#35010) -22d1fb8c019.1.1573: Memory leak when pressing Ctrl-D in cmdline mode -9377db25459.1.1576: cannot easily trigger wildcard expansion (#35022) -f7af0cff359.1.1590: cannot perform autocompletion (#35141) -e40199c6c69.1.1594: completion: search completion throws errors (#35198) -5aaee7d2af9.1.1596: tests: Test_search_wildmenu_iminsert() depends on help file (#35210) -1f7ab259159.1.1598: filetype: waybar config file is not recognized -53ac2ad20a9.1.1599: :bnext doesn't go to unlisted help buffers (#35216) -52c25190959.1.1600: using diff anchors with hidden buffers fails silently (#35218) -7230296bdb9.1.1601: Patch v8.1.0425 was wrong -62f2b10db39.1.1602: filetype: requirements-*.txt files are not recognized -b1e35cbd7b9.1.1603: completion: cannot use autoloaded funcs in 'complete' F{func} -36361d6e4a9.1.1604: completion: incsearch highlight might be lost (#35236) -798cb0f19a9.1.1605: cannot specify scope for chdir() (#35239) -e3913c0fc29.1.1606: filetype: a few more files are not recognized (#35268) -e7dfbf13439.1.1607: :apple command detected as :append (#35237) -fe42c81f2e9.1.1608: No command-line completion for :unsilent {command} -5f23aaba009.1.1609: complete: Heap-buffer overflow with complete function -1969f685af9.1.1610: completion: hang or E684 when 'tagfunc' calls complete() (#35243) -77500c5ad59.1.1611: possible undefined behaviour in mb_decompose() (#35275) -1eca030fb29.1.1612: Ctrl-G/Ctrl-T do not ignore the end search delimiter -9e8d551b1e9.1.1613: tests: test_search leaves a few swapfiles behind -f79430e2ce9.1.1615: diff format erroneously detected (#35276) -f0d83419849.1.1618: completion: incorrect selected index returned from complete_info() (#35284) -dae79f2b679.1.1619: Incorrect E535 error message (#35285) -47e3aecb789.1.1620: filetype: composer.lock and symfony.lock files not recognized (#35291) -dd306bd48a9.1.1621: flicker in popup menu during cmdline autocompletion -9d85f086d99.1.1622: Patch v9.1.1432 causes performance regressions (#35288) -013af17ed99.1.1623: Buffer menu does not handle unicode names correctly (#35353) -50ceac40549.1.1625: Autocompletion slow with include- and tag-completion (#35318) -35be59cc7b9.1.1626: cindent: does not handle compound literals (#35319) -869000e7ce9.1.1627: fuzzy matching can be improved -2619a749a59.1.1628: fuzzy.c has a few issues -e38e65b86c9.1.1630: tests: fuzzy bufname completion test doesn't match successfully -7afcfb6c9a9.1.1632: memory leak in fuzzy.c -8d154e59279.1.1633: Search pattern shown incorrectly with negative offset (#35337) -4019d3050d9.1.1638: completion: not possible to delay the autcompletion -577f9fa1be9.1.1640: Unicode has deprecated some code-points (#35358) -37119ad0d29.1.1645: fuzzy.c can be further improved (#35371) -43bf0450059.1.1646: MS-Windows: completion cannot handle implicit drive letters -ba25f3e4d49.1.1647: filetype: Cangjie files are not recognized -3e57c5216f9.1.1648: MS-Windows: some style issues with patch v9.1.1646 -25bc41847e9.1.1649: attrs allocation and fuzzy growarray could leak (#35383) -6ef996a0829.1.1657: Autocompletion adds delay -b9699d57019.1.1665: Outdated comment in eval.c (#35436) -639f9f4cda9.1.1667: Another outdated comment in eval.c (#35438) -963ead29d99.1.1670: completion: autocomplete breaks second completion -810a2349789.1.1672: completion: cannot add timeouts for 'cpt' sources (#35447) -3b5337ab6c9.1.1676: completion: long line shown twice -29f30ad91c9.1.1679: unclear what key causes CmdlineLeave autocommand (#35677) -523371b0449.1.1681: tests: no test for actually moving cursor with 'acl' (#35452) -821bfc02fb9.1.1685: Missing changes from PR 18068 (#35482) -dab31a36379.1.1687: filetype: autoconf filetype not always correct -4263ec21c29.1.1688: potential buffer overrun in bufwrite.c (#35497) -c7419278839.1.1689: CmdlineChanged not triggered by <Del> (#35496) -b116ed7b129.1.1690: Missing recursion guard in dos/unix_expandpath() (#35499) -8a1afac6539.1.1693: tests: test_filetype fails in shadow dir -117b1293789.1.1694: filetype: Buck eXtension Lang files are not recognized (#35504) -3586e047e69.1.1695: Need more Vim script specific tests (#35500) -61712cbc3a9.1.1697: tests: no test for aclocal.m4 -2ac00f13509.1.1698: Some error numbers are not documented (#35522) -24020ef2dd9.1.1700: Multiline ignorecase specific pattern does not match with 'ignorecase' (#35520) -c9613614069.1.1701: tests: failure on CI with GUI and ASAN in test_edit.res -a3b11599499.1.1702: tests: test_edit still fails on CI -c333d646639.1.1709: filetype: kyaml files are not recognized -68a2e0ef789.1.1713: filetype: fvwm2m4 files are no longer detected -1359578abb9.1.1714: completion: wildmode=longest:full selects wrong item -8fc1db043a9.1.1717: filetype: AWS cli alias file is not recognized #35581 -06df3376179.1.1718: filetype: kubectl config file is not recognized #35583 -c4c69c50129.1.1724: Compiler warning about ununitialized variable in ex_docmd. (#35595) -17da1ad8f49.1.1730: filetype: vivado journal/log files are not recognized (#35613) -0bf4b7898c9.1.1731: Not using const qualifier for opchars (#35634) -0bafbe872b9.1.1732: filetype: .inc file detection can be improved (#35635) -51af2797c29.1.1734: Memory leak when allocating match fails (#35646) -f2bda1effc9.1.1737: Patch v9.1.1714 introduce a regression for wildmenu -b51eba92739.1.1738: cmdline-autocompletion breaks history navigation -d784ed70139.1.1739: Matches may be listed twice with wildmode=longest,list -18f24b85c39.1.1740: Memory leak with wildmode=longest,full and wildoptions=pum -eb19206e039.1.1742: complete: preinsert does not work well with 'autocomplete' (#35692) -223f9622df9.1.1744: tests: Test_skip_wildtrigger_hist_navigation() may fail -f6ed46c2a79.1.1747: completion: redo (.) broken with preinsert and autocompletion (#35698) -5a7586a1099.1.1750: completion: preinserted text highlighed using ComplMatchIns -e084a990409.1.1751: potential buffer-overflow in find_pattern_in_path() (#35705) -aa33ea86e19.1.1752: tests: need another test for v9.1.1750 behaviour -cf9b7a37cc9.1.1753: defaults: 'diffopt' option value can be improved (#35727) -ae588c183f9.1.1754: :helptags doesn't skip examples with syntax -7b8b9d270f9.1.1758: Diff mode crashes when adding text property in autocommand (#35760) -61d7d983d69.1.1761: 'ruler' is set in defaults.vim -051b8b88c89.1.1762: completion: selected item not cleared on <BS> with 'ac' -114336ac1d9.1.1763: filetype: kitty config files are not recognized -e7ff1327089.1.1764: filetype: CODEOWNERS file not recognized (#35789) -95267b664c9.1.1769: completion: "preinsert" insert wrong word with 'smartcase' and 'autocomplete' (#35834) -0763a85f439.1.1771: complete: some redraw issues with 'autocomplete' -e2166661d49.1.1772: completion: inconsistent selection of first item with 'autocomplete' (#35835) -c9f62674029.1.1773: Crash in BufLeave after BufUnload closes other windows (#35830) -39a21d749d9.1.1774: cannot calculate sha256 of a Blob -e3f15d54249.1.1775: filetype: Mamba configuration files are not recognized #35829 -f91d4164039.1.1776: completion: "adding" expansion doesn't work with cfc=keyword (#35850) -d3bd1fba6a9.1.1777: Mouse click to open fold doesn't work with utf-8 "foldclose" chars (#35851) -a5955e5cc59.1.1778: sha256() treats empty blob and null blob differently -a70997442e9.1.1779: completion: 'autocomplete' cannot be enabled per buffer (#35853) -e887602eb59.1.1780: mbyte contains overlapping list of utf_classes table (#35869) -0f01cc85bd9.1.1781: some functions could be defined static -7cdf3bb68a9.1.1783: ins_compl_leader() too far away from ins_compl_leader_len() -0c23b863f49.1.1787: filetype: not all Sway config files are recognized -d9fa4956089.1.1790: completion: Enter does not insert match with "noinsert" (#35917) -7b9c063d119.1.1797: completion: autocompletion can be improved -2aab242a019.1.1798: Wrong display with 'sms' and long wrapped virt text at EOL (#35930) -35fc4fda999.1.1799: completion: crash with autcompletion (#35963) -f30a33858f9.1.1800: completion: strange behaviour with 'ac' completeopt=longest,preinsert -0fa0717d4e9.1.1802: 'nowrap' in a modeline may hide malicious code (#35946) -ff564237d29.1.1807: :set doesn't clear local insecure flag like :setlocal does -42f1864b629.1.1808: Option insecure flags not copied when splitting window -756e55dc499.1.1810: completion: "longest" doesn't work for manual completion with 'ac' -c881bc537e9.1.1817: popup: there are some position logic bugs (#36075) -df0b9e7a5d9.1.1818: possible crash when calculating topline in diff.c -b6b80824cc9.1.1819: Cannot configure the inner foldlevel indicator (#36010) -8151fc59cf9.1.1820: completion: some issues with 'acl' (#36007) -2c76a50e209.1.1821: filetype: Not all PKL files are recognized (#36008) -0fca343d649.1.1823: diff: w_topline may be invalidated (#36018) -94bd212dbc9.1.1824: tests: no test for displaying 'foldcolumn' with Unicode "foldinner" (#36019) -f8b50bf3b09.1.1825: completion: flicker when LSP server is slow (#36020) -fbaf48cb239.1.1827: completion: v9.1.1797 broke Ctrl-Y behaviour (#36040) -a4a88381789.1.1829: filetype: KerML and SysML files are not recognized (#36042) -7923e847ca9.1.1831: stray vseps in right-most 'winfixwidth' window -d9153d620a9.1.1833: completion: fuzzy candidates are not sorted (#36062) -e47529ab569.1.1834: MS-Windows: not possible to highlight the title bar -ba47cb7eda9.1.1836: 'culopt' "screenline" not redrawn with line("w0") and :retab -28355050a89.1.1839: Window may have wrong height if resized from another tabpage (#36093) -b1c41a332d9.1.1843: tests: Test_search_stat_option() may fail on slow systems (#36110) -92b834fc7a9.1.1849: CTRL-F and CTRL-B don't work in more prompt -83c7193c119.1.1850: completion: not triggered after i_Ctrl-W/i_Ctrl-U (#36156) -93d14737329.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol -d78215f6a29.1.1854: unnecessary code in optionstr.c (#36170) -aeeadddac49.1.1858: v:register not reset after Visual mode command (#36215) -a08aa77e409.1.1859: completion: whitespace not cleared with 'ai' (#36218) -68a54bfda69.1.1868: v:register is wrong in v_: command (#36238) -737dd83d1f9.1.1869: tests: test failures with Python 3.14 and test_python3 (#36310) -fb6fd17f269.1.1870: :Tutor may not work as expected (#36343) -5db35449919.1.1871: Wrong 'showcmd' in the cmdwin (#36320) -2407833ba19.1.1872: Cmdline history not updated when mapping <Up> and <CR> (#36334) -070f4d3da09.1.1875: username parsing bug in netrw plugin (#36348) -155efabb159.1.1876: pre-inserted text not exposed in complete_info() (#36342) -f0cf4886989.1.1877: cindent: wrong indentation after an array declaration (#36340) -35d04394aa9.1.1878: filetype: Soy files are not recognized (#36346) -21ea0537e09.1.1880: Allocation error with complete_info() (#36360) -c2781d3db39.1.1883: Wrong display with 'smoothscroll' with -diff (#36372) -3fb56ff8af9.1.1885: Wrong restored cursor pos when re-entering buffer after changes -3c146468969.1.1886: filetype: Android aconfig files are not recognized (#36374) -c75f5478399.1.1888: Wrong display with cpo+=$, matchparen and wrapped line (#36385) -1fddd74da79.1.1889: filetype: not all AppleScript files are recognized (#36411) -d4106bade79.1.1890: %P in 'statusline' doesn't behave as documented -b92b95e2c29.1.1891: g<End> does not move to last non-blank in visual mode (#36354) -003b429a869.1.1892: Not possible to know once Vim is done with sourcing vimrc (#36429) -d847548a1c9.1.1893: ICCF charity will dissolve (#36427) -97cb0d55719.1.1906: filetype: not all Ruby files are recognized (#36526) -02760a30ce9.1.1908: tests: test_crash.vim times out in CI ASAN builds -756043760b9.1.1909: filetype: .mom files recognized as nroff files (#36543) -16e9c21d8d9.1.1913: Error message with :unlet! and non-existing dictionary item (#36549) -dc682bcbcf9.1.1915: :breaklist accepts unprocessed arguments. (#36561) -8d72d1ceb49.1.1916: WinEnter autocommand confuses Vim when closing tabpage (#36567) -ef0c5220779.1.1918: completion: crash with fuzzy completion (#36578) -a8b9660ca39.1.1920: tests: not enough testing for wildtrigger() pum redrawing (#36642) -1eec08d1a29.1.1922: Wrong virtcol('$') with virtual text at EOL (#36643) -30a09bdd7e9.1.1923: wrong error when assigning to read-only register (#36644) -4dc337cda89.1.1924: 'commentstring' requires +folding feature (#36645) -a212fc77459.1.1929: completion: spell completion wrong with fuzzy (#36709) -812186e2dc9.1.1930: completion: 'completefuzzycollect' is too obscure -19d5b289779.1.1931: completion: wrong item selected with fuzzy and noinsert (#36725) -2c6469aca49.1.1933: completion: complete_match() is not useful (#36726) -da6edcb91b9.1.1934: filetype: not all starlark files are recognized (#36743) -8310f205269.1.1935: filetype: not all Erlang files are recognized -3f8e51cee79.1.1936: filetype: Erlang lexical files are not recognized -3c605982399.1.1937: tests: Test_matchfuzzy_initialized() fails -c9f63d13b69.1.1938: tests: excessive wait in Test_matchfuzzy_initialized -d13e8f1a349.1.1939: tests: test_matchfuzzy() leaves swapfiles behind -7452a8a5689.1.1941: tests: Test_execute_register() leaves swapfile behind -b64e36cef09.1.1943: Memory leak with :breakadd expr -e8fdc7ef9a9.1.1944: getwininfo() does not return if statusline is visible (#36828) -c3c8a18af79.1.1945: tests: Test_getbufwintabinfo() leaves swapfiles behind -ac3e2ca6759.1.1947: [security]: Windows: Vim may execute commands from current directory -bfe007a1879.1.1948: Windows: Vim adds current directory to search path -69f4fd84aa9.1.1949: :stag does not use 'swichtbuf' option -132567c71f9.1.1950: tests: Test_tagjump.vim leaves swapfiles behind -c758423cf29.1.1951: tests: Test_windows_external_cmd_in_cwd() only run in huge builds -ffdc632ea19.1.1952: tests: need better tests for tf files -4450a454669.1.1954: Setting a byte in a blob, accepts values outside 0-255 -d6be2b33129.1.1957: filetype: bpftrace files are not recognized (#36838) -647f11e6ae9.1.1958: Wrong display with sign_unplace() and setline() in CursorMoved (#36851) -ff90032aa59.1.1961: :0tab behaves like :tab for :stag when 'swb' contains "newtab" -2f9f77cd729.1.1962: filetype: Erlang application resource files are not recognized (#36868) -3bc9a5b5d29.1.1963: diff: missing diff size limit for xdiff (#36877) -5235f3663f9.1.1964: Wrong display when using setline() at hit-enter prompt (#36878) -747cf30c379.1.1965: q can accidentally start recording at more prompt (#36879) -08d7744e139.1.1967: if_python: 64bit numbers truncated (#37245) -18642a63be9.1.1969: Wrong cursor position after formatting with long 'formatprg' (#36918) -2b02dfa0209.1.1970: visual end column returns wrong value after block edit (#36923) -e9da68effe9.1.1971: Crash when buffer gets deleted inside charconvert during save -384a039db79.1.1974: tests: missing cleanup in Test_bwipe_during_save() -f494ce77f19.1.1978: tests: Test_smoothscroll_number() may fail (#36965) -39852574969.1.1979: :helpclose allows range and counts (#36966) -f5e39560ff9.1.1980: filetype: N-Quads files are not recognized (#36967) -7a866e6b209.1.1981: tests: test suite may stop on error in gen_opt_test.vim (#36988) -60611691839.1.1983: Vim9: class_name definition can be improved -4cce77e5479.1.1984: terminal OSC52 support can be improved (#37543) -544bde3acc9.1.1987: assert_equal() prepends unnecessary ':' when typed -3264dfee759.1.1989: Vim intro screen shows register message -c172fd9f469.1.1991: :setlocal changes effective global 'omnifunc' (#37013) -2860d1e0189.1.1998: tests: not enough tests for :setlocal omnifunc (#37023) -f89558848b9.1.2001: cursor may end up in wrong window after :botright copen (#37056) -92910a8ab89.1.2007: filetype: bpftrace hashbang lines are not recognized -471be48d569.1.2008: filetype: hylo files are not recognized -49b1a6540f9.1.2009: tests: "Xm4" test directory may not be deleted -2a2c366a3e9.1.2016: cindent wrong indentation after do-while loop (#37087) -d7b882697b9.1.2017: getregionpos() depends on 'linebreak' setting (#37088) -e53accf8ec9.1.2019: inconsistent cursor encoding past EOL with ve=all -7b5276b3829.1.2020: tests: test_virtualedit.vim leaves swapfiles behind (#37115) -c11153b3209.1.2021: filetype: fluent files are not recognized (#37117) -6fa2ebec6b9.1.2023: [security]: Use-after-free in alist_add() with nasty autocmd -1e44a001ec9.1.2024: 'fsync' option cannot be set per buffer (#37129) -f4eabcca4f9.1.2026: tests: patch 9.1.2019 not tested properly -7f1d7271d59.1.2027: filetype: bicep filetype used for 2 bicep file types (#37130) -444e1ffe3e9.1.2028: [security]: Buffer-overflow with incomplete multi-byte chars (#37133) -e916f032779.1.2030: inefficient use of ga_concat() (#37151) -8e80e544789.1.2034: filetype: Fennel fnml files are not recognized (#37176) -bd10f781b89.1.2035: filetype: filetype: Fennel fnlm files are not recognized (#37178) -acc35544399.1.2037: undo: cursor position not correctly restored (#37195) -01177619bc9.1.2038: tests: test_marks.vim leaves swapfiles behind -6deb1c1bf39.1.2040: :tlunmenu incorrectly accepts a range (#37206) -b7efbbec519.1.2041: tests: test_menu.vim leaves swapfiles behind -ca731d2e559.1.2042: filetype: systemd quadlet files are not recognized (#37208) -067b5743f59.1.2043: filetype: kos files are not reconized -6c3502d85a9.1.2050: tests: Test_cd_completion may fail -0dfac689289.1.2051: tests: fix Test_cd_completion fails in Appveyor (#37266) -97bfc0c99b9.1.2055: Division by zero in :file after failing to wipe buffer (#37268) -661455cc479.1.2056: tests: inconsistent indent and line breaking in Test_maparg() (#37269) -5f871007d79.1.2058: b_locked_split is not checked for :sbuffer -b0756562799.1.2059: filetype: Nickel files are not recognized -a6df0db11f9.1.2060: filetype: Rasi include files are not recognized -0bbbe236aa9.1.2061: filetype: Koka files are not recognized -a84bf386d29.1.2062: filetype: djot files are not recognized -885426f1bf9.1.2064: completion: segfault during file name completion (#37316) -681d0065499.1.2066: :wqall! doesn't close a terminal like :qall! does (#37314) -e002e4d7fc9.1.2068: :bd/bw may try to switch to a closing buffer -aa959f7b859.1.2069: Search wrap indicator not shown w/out 'shm-S' (#37332) -930817f1009.1.2070: completion: autocomplete breaks with large dict (#37331) -562bc0b3719.1.2071: tests: test_ins_complete.vim leaves swapfiles behind -2ae56fbb399.1.2075: tests: wrong change to test_ins_complete.vim -e790c87cd89.1.2078: A few more typos in various files (#37368) -aed1f8c3779.1.2079: use-after-free with 'qftf' wiping buffer (#37364) -40fb2818b69.1.2085: Use-after-free in winframe_remove() -ba1d50fdc39.1.2086: Memory leak when skipping invalid literal dict -eb5a7cc0dd9.1.2087: Crash when using :tabonly in BufUnload -03494ad0489.1.2088: Redundant NULL checks in find_pattern_in_path() (#37432) -960cba7b3b9.1.2090: Last buffer not freed with EXITFREE -30bcb253419.1.2093: heap-use-after-free when wiping buffer in TabClosedPre -c52f6eb49a9.1.2094: filetype: tiger files are not recognized -b4e602dde59.1.2095: :wqall! doesn't quit when using :quit in BufWritePost -7470e632609.1.2097: TabClosedPre may be triggered twice for the same tab page -64057d266c9.1.2098: Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A (#37466) -87276db7f99.1.2100: filetype: tiltfiles are not recognized (#37477) -b3242af1879.1.2102: foldtext not reversed and cut off in 'rightleft' mode -cd624f24f69.1.2103: tests: test_fold.vim leaves swapfiles behind -e0b724de099.1.2105: tests: not enough tests for using plain_vgetc() (#37521) -f10a1dcf4d9.1.2107: :normal may change cmdline history (#37523) -5a354db7fa9.1.2108: tests: Test_foldtextresult_rightleft() does not restore 'columns' -798ee642879.1.2109: filetype: NetLinx fires are not recognized -d982c008469.1.2110: filetype: skhd files are not recognized -a8a097d1789.1.2112: long statusline may crash if using singlebyte encoding (#37605) -ebfbe4db499.1.2116: crash when using 'tagfunc' (#37627) -47ce93ad6d9.1.2118: 'cursorline' missing after :diffput to empty buf (#37628) -5e1a3df5ae9.1.2119: tests: Test_language_cmd fails on OpenBSD (#37503) -270c7b46af9.1.2123: using NOT with a float returns a float in legacy script (#37639) -fede5686929.1.2128: Heap use after free in buf_check_timestamp() -bdd886622d9.1.2130: Page scrolling in Insert mode beeps (#37710) -db133879b29.1.2132: [security]: buffer-overflow in 'helpfile' option handling (#37735) -15061d322d9.1.2133: Another case of buffer overflow with 'helpfile' (#37746) -6dd0a7d60a9.1.2135: tests: tar plugin does not consider 'nowrapscan' (#37752) -e7045299099.1.2136: :tab sbuffer may close old tabpage (#37765) -ed8fbd2e299.1.2138: win_execute() and 'autochdir' can corrupt buffer name (#37767) -39d8a9c3539.1.2146: filetype: cel files are not recognized (#37834) -ff142a7a749.1.2147: Compile warning in strings.c (#37842) -8605b0b7a99.1.{1755,1759} (#35787) -7d8653575f9.2.0004: Changing hidden prompt buffer cancels :startinsert/:stopinsert (#37881) -b59eba3ada9.2.0007: cindent: recognizing labels within commented lines -77d396caf49.2.0009: tests: test_cindent are not ordered -ac84a3f3b69.2.0020: Wrong shortened buffer after :cd with duplicate slashes (#37955) -134782b99e9.2.0023: fix integer overflow in ml_append_int() for long lines -fadf5fc8db9.2.0024: Reading files with very long lines crashes with a segfault -e98a6979ee9.2.0025: filetype: cshtml incorrectly recognized (#37957) -c78e2768819.2.0027: filetype: yara files are not recognized -785ac9f2289.2.0028: matchadd() conceal may use unrelated syntax cchar (#37974) -08b8fe5ab39.2.0030: completion: non-prefix matches shown when leader is NULL -b3a3028fd99.2.0031: Inefficient use of ga_concat() -6e8a1a89889.2.0032: completion: hang with line completion and fuzzy -93a8acb1b89.2.0033: filetype: sh filetype used for env files -30d9970cd79.2.0036: completion: thesaurus completion incorrect with "longest/fuzzy" (#37996) -3f4ef487da9.2.0040: completion: preinsert wrong with register completion (#38003) -b775c722dd9.2.0041: Not always using GA_CONCAT_LITERAL -327dcb89709.2.0046: filetype: neon files are not recoginzed (#38049) -a89b9750ee9.2.0050: WM_SETFOCUS not handled immediately -1fe1b2525f9.2.0054: eval_addblob() is inefficient (#38067) -9288357d599.2.0055: memory leak in ExpandFromContext() (#38066) -7852993f499.2.0061: Not possible to know when a session will be loaded (#38071) -cd4c7850d09.2.0070: tests: various tests leave swapfiles around -95ddabdb2b9.2.0074: [security]: Crash with overlong emacs tag file -e85fc92a6b9.2.0075: [security]: Buffer underflow with emacs tag file -7e8bdd348c9.2.0077: [security]: Crash when recovering a corrupted swap file (#38104) -a416494e649.2.0078: [security]: stack-buffer-overflow in build_stl_str_hl() (#38102) -563f9ef7999.2.0081: Failed "z=" does not reset 'nospell' setting (#38109) -3e810722939.2.0088: cannot display tabs for indentation -518aa461589.2.0090: "leadtab" behavior inconsistent on line with only TABs -0cfeedb0889.2.0091: missing out-of-memory checks in quickfix.c -0676503ab59.2.0097: Memory leak in qf_push_dir() -6ddcc84a6c9.2.0102: 'listchars' "leadtab" not used in :list (#38142) -a22c699ecb9.2.0106: memory leak in expand_findfunc() -843bc1aa8d9.2.0108: byteidx_common() and f_utf16idx() call ptr2len() twice (#38159) -f1e65bde029.2.0120: tests: test_normal fails -9a9b9c581c9.2.0121: patch memory leak in list_extend_func() in list.c (#38205) -f21c56da849.2.0125: tests: test_textformat.vim leaves swapfiles behind -9734a6ce479.2.0130: missing range flags for the :tab command (#38216) -c1dcb8dac29.2.0131: potential buffer overflow in regdump() (#38217) -3a7ade847f9.2.0132: tests: Test_recover_corrupted_swap_file1 fails on be systems (#38238) -e5667b9c159.2.0137: [security]: crash with composing char in collection range (#38261) -f847aa62089.2.0140: file reading performance can be improved (#38266) -6dd634b0259.2.0143: termdebug: no support for thread and condition in :Break -878c9739e19.2.0147: blob: concatenation can be improved (#38276) -d3bca3b7fa9.2.0152: concatenating strings is slow (#38286) -f58d24040a9.2.0155: filetype: ObjectScript are not recognized (#38288) -80684a418b9.2.0159: Crash when reading quickfix line -1aaa8e8e3a9.2.0162: tests: unnecessary CheckRunVimInTerminal in test_quickfix -0082cd31349.2.0165: tests: perleval fails in the sandbox -9ab6c607cc9.2.0180: possible crash with winminheight=0 (#38335) -33b357d01f9.2.0182: autocmds may leave windows with w_locked set #38332 -e2c3106b859.2.0201: filetype: Wireguard config files not recognized -f577e055229.2.0202: [security]: command injection via newline in glob() (#38385) -a18d51a9589.2.0204: filetype: cps files are not recognized -d36e7787c19.2.0209: freeze during wildmenu completion (#38386) -0655a359ae9.2.0217: filetype: cto files are not recognized (#38400) -a969e922499.2.0219: call stack can be corrupted (#38406) -11b9ec38d29.2.0222: "zb" scrolls incorrectly with cursor on fold (#38423) -e51f217be79.2.0223: Option handling for key:value suboptions is limited (#38426) -fae782557c9.2.0226: No 'incsearch' highlighting support for :uniq (#38425) -416e5429929.2.0233: Compiler warning in strings.c (#38450) -1de1c082109.2.0235: filetype: wks files are not recognized (#38451) -6dfcb2b7849.2.0237: filetype: ObjectScript routines are not recognized (#38479) -f806c773919.2.0239: signcolumn may cause flicker (#38477) -5a7df03b429.2.0265: unnecessary restrictions for defining dictionary function names (#38524) -ba89354a459.2.0270: test: trailing spaces used in tests -965f54cf5096dab9c: check.vim: Further improve po message checks -5a83f2343098a0cbf: patch 9.1.1971: crash with invalid positional argument 0 in printf() (#36919) -95b6215f0ac858382: Problem: Commit 6f585d breaks CI -1244fe157fecf90b9: CI: make dependabot monitor `.github/actions` directory (#38383) -96e9041a78partial:8.1.1939: code for handling v: variables in generic eval file (#35968) -2a267d1cbfpartial:8.2.1328: no space allowed before comma in list -e31cfc5eacpartial:8.2.2400: Vim9: compiled functions are not profiled -df65f87fd7partial:8.2.3149: some plugins have a problem with the error check -00bec1fd90partial:8f7256a (#34368) -50efe61c3cpartial:9.0.0323: using common name in tests leads to flaky tests -5671b61327partial:9.0.0877: using freed memory with :comclear while listing commands -92596a37e7partial:9.0.0907: restoring window after WinScrolled may fail -62de643b89partial:9.0.1570: some tests are slow -dff515205cpartial:9.1.0613: tests: termdebug test may fail and leave file around -3f62fe4bd8partial:9.1.0973: too many strlen() calls in fileio.c -42640c62d1partial:9.1.1004: tests: a few termdebug tests are flaky -dfd3ac6f48partial:9.1.1110: Vim tests are slow and flaky -5c4d9261a4partial:9.1.1110: Vim tests are slow and flaky -ab5c15610fpartial:9.1.1371: style: indentation and brace issues in insexpand.c -a16064ff29partial:9.1.1639: completion: popup may be misplaced -cbec4603a0partial:9.1.1668: items() does not work for Blobs -4edeaaa6e2partial:9.1.1708: tests: various tests can be improved (#35548) -7468db5187partial:9.1.1847: No cmdline completion for :echoconsole and :echowindow (#36157) -c70e8ef9b7partial:9.1.1887: string handling in strings.c can be improved -5370b7a2e0partial:9.1.1955: sort() does not handle large numbers correctly (#36840) -147190d8e7partial:9.1.2044: Inefficient use of ga_concat() (#37209) -72eb9fe87cpartial:9.1.2137: test: Update tests for OpenBSD (#37766) -18c5f06c9fpartial:9.2.0068: Inefficient use of list_append_string() (#38083) -b23d00ce99partial:9.2.0096: has() function is slow due to linear feature scan (#38135) -29fa072b34partial:9.2.0126: String handling can be improved (#38214) -4c48f19e51partial:9.2.0193: using copy_option_part() can be improved (#38369)