From fc7e5cf6c93fef08effc183087a2c8cc9bf0d75a Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Sun, 29 Mar 2026 18:16:17 +0200 Subject: [PATCH] NVIM v0.12.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Following is a list of commits (fixes/features only) in this release. See `:help news` in Nvim for release notes. BREAKING -------------------------------------------------------------------------------- - 9acb52c8f386 diagnostic: remove deprecated diagnostic APIs (#33072) - 79bfeecdb483 editor: insert-mode ctrl-r should work like paste #35477 - f72c13341afb lsp: pass entire entry to format function (#34166) - fe23168e2bc1 lsp: reimplement `textDocument/codeLens` as decoration provider - caa941935545 optwin.lua #36505 - c123b7245c43 path: support RFC3986 in path_with_url() #36564 - a57c7238f9c3 plugins: remove shellmenu #35815 - ade58885c478 provider: drop Python 3.7, 3.8 support #33088 - 59eadebe335f runtime: move "tohtml" to pack/dist/opt/ #34557 - 1d5b3b5b4c86 treesitter: apply `offset!` directive to all captures #34383 - fd1e019e90e7 treesitter: get_parser return nil on error #37276 - a728eb7af162 treesitter: remove "all" option of Query:iter_matches #33070 - 4369d7d9a780 ui: decouple ext_messages from message grid #27963 FEATURES -------------------------------------------------------------------------------- - 78f4994627b7 ":restart +cmd [cmd]" #34788 #35045 #35223 - b40ca5a01c39 channel: support :detach, :restart on Windows #37977 - ce2742313207 ":wall ++p" creates parent dirs for each buf #36121 - f3c2eb49bab3 vim.Pos, vim.Range #36397 - 9044d64af94d has('terminfo') - 70d797943956 render tuple types for API methods - 5151f635ca29 serverlist({peer=true}) returns peer addresses #34806 - 7ba043f0f31c api: add "max_height" argument to nvim_win_text_height (#32835) - e80d19142bdb api: add nvim_open_tabpage - 6ebeb07c5614 api: experimental nvim__exec_lua_fast #35758 - 1e7406fa38ee api: nvim_cmd supports plus ("+cmd", "++opt") flags #30103 - 8b171852a925 api: nvim_echo can emit Progress messages/events #34846 - 612b2e785087 api: nvim_get_commands returns function fields #36415 - 4d04d0123d25 api: nvim_set_hl{update:boolean} #37546 - 4998b8d7b5f9 api: nvim_win_set_config accepts unchanged "noautocmd" #36463 - e2a0748cb28f api: nvim_win_set_config can move floatwin to another tabpage - 094b297a3b33 api: nvim_win_set_config can move split to other tp as floatwin - 88774965e5c0 api: relax contract, allow return-type void => non-void #34811 - 85d33514f999 api: set nvim_echo() kind for ext_messages (#33998) - cf0f90fe14f5 async: add `vim._async` - e1ffa8d33b5e build: HAVE_UNIBILIUM - 1f004970f00b build: build.zig MVP: build and run functionaltests on linux - dc6cf3add95a build: build.zig windows support - e25b99c5b63c build: make build.zig run unittests - c4501e98f2c3 build: make build.zig use luajit on main plattforms - 8e0692cdc501 build: support full runtime distribution work - 6d9031390cfc build.zig: add option to use system dependencies - 5ec0c1ca07f9 build.zig: install parsers in install step - 75fe54050081 checkhealth: emoji for OK/WARN/ERROR #33172 - 63323a9c81a8 checkhealth: trigger FileType event after showing report #33677 - 9722bd7b1b47 clipboard: g:clipboard="foo" forces the "foo" clipboard tool #33235 - 3a35fdc3471e clipboard: wayclip primary clipboard and correct mimetype (#33990) - 6228acb74f94 cmdline: completion for :TOhtml #37045 - 3bdebfb87f11 defaults: don't enable treesitter query linter - 41cac54325e9 defaults: exclude temp dirs from 'shada' oldfiles #37631 - 5d06eade2599 defaults: map "grt" to LSP type_definition #34642 - 06befe1e348b defaults: map "grx" to vim.lsp.codelens.run() #37689 - 249f305bbcdd defaults: per-platform 'guifont' default #37175 - d77d961b350d defaults: shelltemp=false #33012 - b10cb0296ae2 defaults: store spellfile in stdpath('data') #33048 - 4fae013a21a9 diagnostic: add `enabled` filter (#33981) - 2f24ae8de471 diagnostic: add `format` option to `setloclist`/`setqflist` (#33977) - c65817774d66 diagnostic: add `on_jump` callback option - 7e09fedf43fa diagnostic: config.status #36693 - caf780859197 diagnostic: custom status format function #36696 - 01666aae64d1 diagnostic: fromqflist({merge_lines}) #37416 - 410744210386 diagnostic: highlights in diagnostic.status() #36685 - 68e316e3f910 diagnostic: jump to related info location from `open_float` #34837 - 2767eac320ef diagnostics: stack DiagnosticUnnecessary,DiagnosticDeprecated highlights #36590 - a5b8cf145d1f diff: merge adjacent blocks using inline:word (#37085) - 45b4bbac281b difftool: replace old "nvim -d" automatically #38057 - d5cfca5b768c docs: numbered listitems - 4dabeff30822 editor: 'autowriteall' on SIGHUP/SIGQUIT #32843 - 55a0843b7cf7 editor: :source can run Lua codeblock / ts injection #36799 - f5829957f25c env: remove VIM_VERSION_NODOT macro #34890 - 551bb63d449f events: MarkSet event, aucmd_defer() #35793 - 23bf4c0531ac exrc: search in parent directories (#33889) - 8d397fa458a9 exrc: stop searching in parent directories by unsetting 'exrc' - dc67ba948eec exrc: user must view and explicitly run ":trust" #35069 - bffca6e26bf3 extmark: support end_col=-1 if strict=false #28169 - 302e59f734ec extui: assign 'filetype' to extui windows (#33924) - f2988e05db45 extui: don't enter pager for routed message #34679 - 8defe1afb2d1 extui: route to "more" window if it is open (#34190) - 3c9484b550eb extui: show dismissed message in cmdline (#34745) - 94677318655e extui: support paging in the dialog window (#35310) - 7526fb449de3 extui: use winborder for msg window #34859 - 8a626e5c4a52 float: 'statusline' in floating windows #36521 - 216cc893bf1b float: 'winborder' "bold" style #33189 - dcbe5bdd9674 ftplugin: treesitter default highlighting for markdown - c1fa3c7c377b gen_help_html: generate helptags.json, helptag.html #35442 - 322a6d305d08 glob: new Glob implementation based on Peglob #33605 - 8c63d84be157 health: check `vim.ui.open()` tool #37569 - 13ed22505410 health: create a bug report #31842 - 043f5a291a7c health: show available queries for `treesitter` (#37005) - 5a94edad70f9 health: summary in section heading #33388 - 47b0a718c3d9 help: gx opens help tag in web browser #35778 - 16f7440cc7b5 help: super K (":help!") guesses tag at cursor #36205 - cb8c9186e6ff highlight: support more SGR attributes #37901 - 0aabe7ae7680 inspect: update to a8ca312 - 8a0cbf04d6a6 iter: peek(), skip(predicate) for non-list iterators #37604 - 448f15ca396a json: pretty-format (indent) with vim.json.encode() #35424 - a897cc17a5ee json: vim.json.encode() sort_keys #35574 - abfe6c9ef7f4 logging: rename ".nvimlog" => "nvim.log" #37935 - 4eed85f9bd0e logs: show full paths in lsp logs (#33886) - 7486c2f6aa6d lsp: mapping for signature help cycling #34039 - 903335a6d50b lsp: `Client:stop()` defaults to `exit_timeout` #36783 - 6577d72d819d lsp: `root_markers` can control priority #33485 - d6a6eed4f3bc lsp: attach to buftype=help buffers #38412 - 63abb1a88f2c lsp: builtin :lsp command - 7c9b865bdd1a lsp: deprecate `vim.lsp.stop_client` (#36459) - b877aa34cf36 lsp: detach LSP clients when 'filetype' changes #33707 - 371aa1c5663c lsp: diagnostic related documents support - 15ff45444325 lsp: display codelens as virtual lines, not virtual text #36469 - 63594ffa04cc lsp: do completionItem/resolve if completeopt=popup #32820 - c5c6ddba91b4 lsp: document method types (#35934) - d08b26511154 lsp: enable document_color by default #35086 - 66339e06412d lsp: generate method to client capability map - acfb9bc614ed lsp: graduate ClientConfig `exit_timeout` #36750 - 957093da0da9 lsp: handle deprecated document symbols (#34751) - 492ea28612b2 lsp: handle disabled code actions (#34453) - 8876413e2dcc lsp: highlighting the symbol being renamed (#37390) - d26db4bfbfd6 lsp: improve signature help display #35190 - f99e3a8a2a3f lsp: incremental selection via "textDocument/selectionRange" #34011 - e82aef2e22a5 lsp: incremental-selection operator-pending mode #36575 - a4b2192690d7 lsp: lsp.enable() auto-escalates forced shutdown #36458 - 4430c9a42477 lsp: migrate `document_color` to capability framework (#38344) - e855a23c02a7 lsp: on_accept can return item to customize behavior #37092 - 729e0acd269f lsp: pass client ID in code action filter (#36046) - 32f30c4874a0 lsp: pass resolved config to cmd() #34550 - 8ed68fda5014 lsp: semantic token range improvements #37451 - 23ddb2028bce lsp: semanticTokens/range #36705 - 3e8a4e10920d lsp: show color preview in completion items #32138 - 145548a24ae6 lsp: show snippet preview if completeopt=popup #32553 - 654303079baa lsp: skip invalid header lines #36402 - 4bc7bac88425 lsp: start/stop LSPs as necessary during vim.lsp.enable() #33702 - d75ffa59344b lsp: static registration support (#34371) - cc518cf9bab0 lsp: support CompletionItem.labelDetails #38403 - 8f5bd569c541 lsp: support `documentColor` dynamic registration #33800 - 4745270bf124 lsp: support `textDocument/colorPresentation` (#34823) - 9ff12396347b lsp: support `textDocument/documentColor` - 05bd4398c507 lsp: support `textDocument/documentLink` (#37644) - 0e70aa0e8687 lsp: support `textDocument/inlineCompletion` - 77e3efecee4e lsp: support `textDocument/onTypeFormatting` (#34637) - 03d6cf7aae4a lsp: support `version` in `textDocument/publishDiagnostics` #36754 - 965468fca1e7 lsp: support `workspace/codeLens/refresh` - 835f11595fb0 lsp: support annotated text edits (#34508) - 02cd56489650 lsp: support auto-force escalation in client stop (#36378) - 02067a989207 lsp: support diagnostic refresh request - 2031287e9329 lsp: support diagnostic related information (#34474) - 0f3e3c87b738 lsp: support dynamic registration for diagnostics (#36841) - c5167ffc185a lsp: support linked editing ranges #34388 - 76d213efbee8 lsp: support multiline semantic tokens #34458 - 9278f792c374 lsp: support range + full semantic token requests #37611 - 016335a7d09f lsp: support refreshing workspace diagnostics - 7cc07e838332 lsp: support signature help noActiveParameterSupport #34838 - d7e0d46ffa8f lsp: use stricter types for methods - c22b03c77166 lsp: user-specified sorting of lsp.completion multi-server results #36401 - e406c4efd620 lsp: vim.lsp.get_configs() #37237 - 6888f65be177 lsp: vim.lsp.inline_completion on_accept #35507 - 03d378fda68f lsp: vim.lsp.is_enabled() #33703 - 054eaf8493cb lsp: warn about unknown filetype #36910 - cb4559bc3204 lsp: workspace diagnostic support (#34262) - 90d15227c55c lsp: workspace_required #31824 - a8edf6e4459d lsp.util: deprecate vim.lsp.util.stylize_markdown - 98f8224c1948 lua: `vim.pos`/`vim.range` - 0c46ea7d38dc lua: add `Iter:unique()` (#37592) - cf9b36f3d97b lua: add vim.list.unique() - 7499c9f9a754 lua: conversion between cursor positions - 62b45b8fe4ce lua: conversion between extmark positions - 9f5b309d824a lua: conversion between vim and lsp position/range - 047a10bfde53 lua: function `behavior` for tbl_extend, tbl_deep_extend #33819 - 4d3a67cd6201 lua: replace `buffer` with `buf` in vim.keymap.set/del #38360 - 6e1745e96e3d lua: support vim.Range:has(vim.pos) #37879 - 7ed8cbd09580 lua: vim.list.bisect() #35108 - d8a88256794f lua: vim.wait() returns callback results #35588 - f68a5c40f01d messages: add "prev_cmd" argument to msg_history_show (#34779) - fc2dee17368d messages: cleanup Lua error messages - 0d13945bbb0e messages: drop hardcoded 'showmode' delay #38029 - 0741d2520dd7 messages: hl-StderrMsg, hl-StdoutMsg #33429 - 0ee5a4d48155 meta: vendor luv meta files - 7cd5356a6f89 net: vim.net.request(), :edit [url] #34140 - f29b3b5d458b net: vim.net.request(outbuf) writes response to buffer #36164 - fb0dc825e9bb option: custom chars in 'winborder' #33772 - 28e31f5d3d16 options: default statusline expression #33036 - 5973328edaed options: per-buffer 'busy' status #34493 - 0412527a4078 outline: smaller indentation #34005 - 2728b4efe030 pack: add `[[` and `]]` mappings in confirmation buffer - a9db6ec6fa12 pack: add `active` field to `PackChanged` event data - d21b8c949ad7 pack: add built-in plugin manager `vim.pack` - 4a637107d071 pack: add checkhealth - 98e3a571ddf4 pack: add code actions in confirmation buffer - d7db552394ea pack: add initial lockfile tracking - 8c28507fcf6f pack: allow choosing update target in `update()` - dd828690c747 pack: allow function `opts.load` in `add()` - c9965491d01f pack: allow running `update()` without Internet connection - acff86601efd pack: allow skip install confirmation in `add()` - a41703d107da pack: confirm "Always" to install all plugins #35733 - c339b83a4ab9 pack: hint in confirmation buffer that plugin is not active - dc8235c48c8b pack: prefer using revision from lockfile during install - c522cb0e96da pack: support user-defined `data` in plugin spec #35360 - 2e533e364e2d pack: update `add()` to handle source change for installed plugin - 069be911064d pack: use `nvim_echo{kind=progress}` to report progress #35625 - a20396153505 pack: use colored `nvim_echo` chunks to show progress report - 7853cde29a08 pack: vim.pack.get() gets VCS info #35631 - fec02ae8e411 plugins: nvim.difftool can compare directories #35448 - 8a12a0146665 progress: better default format + history sync #35533 - 7b7e8cc72458 progress: disable cmdline progress msg via messagesopt' #36730 - 4b643d7068e8 progress: set Progress-event pattern to "source" #38495 - 24684f90eac2 progress: status api, 'statusline' integration #35428 - 286371b4d22a prompt: multiline prompt input #33371 - 8ab511bba524 prompt: plugins can update prompt during user input #37743 - a940b77cb25a prompt: prompt_appendbuf() appends to prompt buffer #37763 - 5ae41ddde350 prompt: prompt_getinput() gets current input #34491 - 5f8d4a248a97 provider: detect venv python via "pynvim-python" tool #35273 - f01419f3d563 runtime: accept predicates in take and skip (#34657) - 8c81ed86786a runtime: revert cfilter, ccomplete to legacy Vim - 9e1d3f487070 runtime: undotree #35627 - c9d846802030 search: increase `MAX_COUNT` to 999 - 6ba32713ada1 secure: allow 'path' parameter for trust action 'allow' (#38001) - 71455173b482 shada: don't store jumplist if '0 in 'shada' - 840cdb958969 shada: shada should not store nobuflisted buffers #21818 - 701258921ed1 snippet: highlight active tabstop (#35378) - 4e1644d4d3cb spell: opt-out of confirm when downloading spellfiles #36836 - 1d40f677760d ssh: SSH configuration parser #35027 - cf874cee330d startup: provide v:argf for file arguments #35889 - 32aee065a898 startup: warn if NVIM_LOG_FILE is inaccessible #38070 - 4719b944437b statusline: option to specify stacking highlight groups #37153 - b79ff967ac91 statusline: vim.diagnostic.status() #33723 - 72a63346d866 stdlib: vim.fs.ext() returns file extension #36997 - 6b4ec2264e1d stdlib: vim.json.decode() can allow comments #37795 - eac2f0443e03 tag: respect jumpoptions=view when popping tagstack (#37021) - a94568644489 term: increase max scrollback to 1000000 - 6bc0b8ae870c terminal: detect suspended PTY process (#37845) - 03377b955233 terminal: include sequence terminator in TermRequest event (#37152) - 71f3a9c5900f terminal: parse current buffer contents in nvim_open_term() (#33720) - 2368a9edbd6c terminal: support SGR dim, overline attributes #37997 - c8693051a8b6 terminal: surface exit code via virttext + nvim_get_chan_info #37987 - b38173e49333 terminal: synchronized output (mode 2026) #38284 - 72d3a57f270f treesitter: incremental selection - 586b1b2d9bcf tui: add nvim_ui_send (#35406) - 981ea41abbec tui: ghostty builtin terminfo #36963 - 8eb096453788 tui: native progress bars for Progress events #35973 - de87ceb3beaa tui: support APC queries in TermResponse (#34426) - 977e91b424f4 tui: use DA1 response to determine OSC 52 support - abb40ecedd92 ui: "append" parameter for "msg_show" UI events - fafc329bbd1e ui: 'pumborder' (popup menu border) #25541 - 649bb372f665 ui: :connect command #34586 - 7ba0f623d75a ui: avoid setting 'cmdheight' with vim.ui_attach() - 2b4c1127ad1c ui: emit "msg_clear" event after clearing the screen (#34035) - 2c1c0b7af50b ui: ext_cmdline/messages for the TUI #27855 - f29856d03444 ui: include compositor info with multigrid - 9bbbeb60e355 ui: no delay for errors with ext_messages (#33693) - 07d0da64ed51 ui: overlay scrollbar on 'pumborder' #36273 - a2b92a5efbb4 ui: show "empty" cursor behind unfocused floatwin #37624 - 97549ad7cf23 ui: specify whether msg_show event comes from typed command - 8ae9a44d3841 ui: support grid=0 in nvim_input_mouse #32535 - 08c484f2ca4b ui: use builtin completion popupmenu with ext_cmdline (#31269) - fbac2e5edc8b ui2: configure maximum window heights #38392 - 32e0d05d53f4 ui2: configure targets per message kind #38091 - 9fc985bc9868 ui2: more predictable routing #35028 - db2a54996ecf ui2: replace message by its ID #37672 - e268760e46ae ui2: show active paging keys in dialog float title #37919 - 875212c5b3b8 ui2: support routing "typed_cmd" trigger to target - 81d2d88f70e0 undotree: set 'filetype' #36091 - 9595f074255c ux: sexy intro #38378 - 51961625402b version: support multiple Vim versions - 361671870e14 vim-patch.sh: -M lists all ported patches - 7fe02126f948 vim-patch.sh: add n flag to list possible N/A patches (#36431) - 2f0fbdaa480c vim.fs: root() can specify "equal priority" #34276 - eae2d3b145c7 vim.hl: allow multiple timed highlights simultaneously #33283 - ea124068f246 vim.pack: lockfile support #35827 - 773075b2bce8 vim.version: add `vim.version.intersect()` - aeb8bca12ddf vim.version: make `tostring()` return human-readable version range - e42050f4aed5 vimscript: log function name in "fast" message #32616 - 6edae880528b vimscript: scripts can detect 'android', 'termux' #38218 FIXES -------------------------------------------------------------------------------- - b233f71b1bd6 :ball w_locked check, reset b_nwindows in free_all_mem() #38484 - f2e60d000ed3 `fn.exists()` typos (#34390) - 379c37fa0b1b bug in stylize_markdown - 2c9d21f722f9 cursor shape don't resume after `:append` - 7fdf9f739923 define `vim.mpack` - bc4bddbb214f don't use logical diagnostic position in `get_prev` and `get_next` #35282 - 3567b7d75175 ignore Nvim local config #37805 - fd45bc8caba2 lsp.enable() don't work correctly inside FileType event #37538 - 0694ca8822b5 map wincmd instead of remap #34635 - eeba0dc2ed4e memory leak from double buffer initialization in read_stdin #35413 - dfa5d79d05d8 misc typos #37471 - cd4c98fded94 nvim_open_tabpage cleanup, fixes, more tests - 874e2149931f remove exec permission from .gitattributes #33140 - bcc9242bc75e remove quotes around `nil` deprecation alternatives (#36047) - 7b99e1f0c307 remove typo from buffer-local LSP docs (#35841) - e991133058f2 remove unnecessary `nvim -l` from `gen` command #33676 - 92b2a2677239 resolve all remaining LuaLS warnings in `src/` - 431004dda2bb screenchar()/screenstring() with hidden floating windows #35560 - 1999c4cdc11c screenchar()/screenstring() with multigrid #32494 - 9204b7541d27 silence LuaLS's `no-unknown` warnings in `src/` - 020d5e0f7e7f stale lines("w$") after nvim_win_set_height when splitkeep=screen #36056 - 2e68e9c051dc temporarily disable 0.12 deprecation tests - 3b6084ddf4f0 type fixes - 38aac21083a5 type of nvim_echo - d21e2463fd98 update deps hash for zig 0.14.0 - fa8e4e65caeb update lua types for commands - 9170178ee5af use correct window dimension for range estimation - 62ba6e8a76f3 use nvim namespace convention #34010 - 28157738e3de vim.lsp.omnifunc should not throw away other items #35346 - 71a22e20ad15 vim.ui_attach handles messages during `-l`/`--headless` #36884 - 9c5ade9212d8 wait() checks condition twice on each interval (#37837) - 9287c73df9f5 :connect: don't use freed memory (#38512) - 7cd22e916bbb :connect: formalize connect event #38543 - 49d7f694a850 :ls: check for finished terminal properly (#37303) - 6af1b7e5e8da :print: don't use schar_from_ascii() for illegal byte (#34046) - 5cfbc35aa838 api: add missing nargs field to user command Lua callbacks #34210 - eeacd7bd718a api: adjust fix for reconfiguring float "relative" (#34287) - 3cb462a9608f api: autocmds mess up nvim_get_option_value's dummy buffer - 612cd99a0017 api: buffer overflow in nvim_buf_get_extmarks overlap #37184 - 006361fc6b98 api: buffer updates in quickfix buffer #31105 - 76d0206342a2 api: count parameter in nvim_parse_cmd, nvim_cmd #34253 - c553008e74e5 api: crash when moving curwin to other tabpage #35679 - b7070778b98a api: cterm type in highlight keyset #37802 - 853eea859fd3 api: disallow moving window between tabpages in more cases - 0bef1c88f362 api: do not allow opening float to closing buffer - ef084b5c225c api: don't config split as floatwin relative to itself - 4362132b101a api: don't re-apply minimal style if unchanged #38152 - 3165e94a64b0 api: ensure win_get_config() "border" is reciprocal (#34322) - c7c3f9fc9c3a api: fix crash in command preview with % #35228 - 7b9512e613e1 api: fix not capturing output in cmdline mode (#35322) - d788864cdea7 api: ignore split_disallowed when opening a float - 3115e3d0d11e api: improve external window validation - d707ccf98808 api: inconsistent scrolling when deleting before topline (#36301) - 137d5ab01dfa api: merge split window config only on success - 22df6492101f api: nvim_create_user_command addr option should allow ranges #35077 - 6f12663de56b api: nvim_get_option_value FileType autocmd handling #37414 - 7e2e11634369 api: nvim_get_option_value dummy buffer crashes - 0c1ed63c05fe api: nvim_open_tabpage "after" like :[count]tab - 97b064c9ac84 api: nvim_open_tabpage positional "enter" - d7472c061759 api: nvim_open_win default to half-size for splits (#36088) - 19f5f05ac2b9 api: nvim_open_win respects requested split window size (#35601) - 652c3e76c712 api: nvim_parse_cmd "range" when ea.addr_count=0 #33536 - 72b0bfa1fb7e api: nvim_parse_cmd handle nextcmd for commands without EX_TRLBAR (#36055) - f3ec657ebc02 api: nvim_parse_cmd on range-only, modifier-only commands #36665 - c7f38e3bc8fb api: nvim_parse_cmd parses :map incorrectly #34068 - 63cbc95d4517 api: nvim_set_current_win doesn't reset Visual mode (#37340) - 9383a096eb7e api: nvim_set_hl boolean false corrupts underline styles (#38504) - d19dc6339de7 api: nvim_set_hl crashes when url= key is passed - ec18ebcb417b api: nvim_set_keymap() throws error even in pcall() #33228 - 7da4d6abe249 api: on_bytes gets stale data on :substitute #36487 - 2211953266f7 api: on_detach consistently before buf_freeall autocmds - a2b97209395e api: open_win leak from naughty autocommands - 5226801be264 api: parse_expression crash with ident and curly - a5e5ec8910ea api: parse_expression crash with unopened ] and node - d523750de0b3 api: populate lhsrawalt in nvim_get_keymap response - 88dc44260f83 api: preserve WinConfig style when converting float to split #37264 - 963308439a5d api: reconfiguring float "relative" does not clear "win" (#34271) - e13e85051751 api: redraw after setting minimal style - 7be4ae796faa api: relax config validation for "win" - 1901832f26fa api: return "style" in nvim_win_get_config() #38122 - 15d57ab0ba5e api: single-line visual block insert triggers extra on_lines #35098 - f5d03ec93089 api: style=minimal not applied immediately for unmoved split - 0ee8323f2b5c api: unnecessary errors when not moving split - af82f36108ce api: update topline when flushing with nvim__redraw() (#34346) - 99529577cc9f api: use E226 instead of E227 for duplicate abbreviation (#33159) - 0d73ec583465 api: use original LHS in keymap error message #33135 - 680d25e5b3c1 api: use standard error messages - 1ec74fa7b1ba api: win_config `border` type #38030 - c924c2a7b316 api: win_config_float_tp grid removal, redraw - da39966a3a0a api: win_set_config error message for splitting from a float #35650 - 65170e8dad90 api: wrong return value with reverse range + overlap #32956 - 285c04e2d0e3 api,lsp: call on_detach before wiping out the buffer #35355 - acecdbff1f57 api,lua: handle converting NULL funcref/partial (#37060) - 4daa8eb5abca appimage: wrong $ARCH used by linuxdeploy #36712 - 5871d2677909 autocmd: 'cmdheight' OptionSet with valid window grids (#34619) - 19379d125555 autocmd: deferred TermResponse lacks "data", may not fire (#37778) - 05a83265f9a4 autocmd: fire TabClosed after freeing tab page - f36dd7557a98 autocmd: heap UAF with :bwipe in Syntax autocmd - 6d2330f50d07 autocmd: parsing of comma-separated buflocal patterns - d945a93d69c9 autocmd: potential TabClosed UAF, always set abuf - 1cde71233fcf autocmd: skip empty comma-separated patterns properly - f9ef1a4cab74 buffer: defer w_buffer clearing to prevent dict watcher crash #36748 - 14d65dae91b1 buffer: don't allow changedtick watcher to delete buffer (#36764) - 23aa4853b3fd buffer: don't reuse 1-line terminal buffer (#37261) - 2700f6642aef buffer: switching buffer should respect jumpoptions+=view (#36969) - fa24df32641c bufwrite.c: handle invalid byte sequences #37363 - c26f989b2fe1 build: also check os_win sources with uncrustify in CI - 8069df266150 build: build.zig: use luajit for windows - 576e8f62c262 build: disable problematic marktree assert in RelWithDebInfo builds - 88b45614e945 build: gen_help_html fails #36359 - f0d981544b38 build: glibc 2.43 happened - e69beb9b1aba build: invalid help tags cause reports to fail #36356 - 3268f51d202f build: musl libc build.zig - f98b5ee61921 build: remove .tar.gz workaround for bug fixed in zig 0.15.2 - a2b0be19bf8f build: remove deprecated aliases in build.zig removed for zig 0.15 - b4db223d33e7 build: treesitter parsers are not ReleaseSafe - 921f8b0df728 build: use correct cmake expression for $ - ec8a0c73402b build: workaround errors in zig build due to stale cache - 6741c134e17f build: zig build can has git version - 41bc3020c46f build.zig: format build.zig to keep lines under 100 chars - 565cfa04eb00 build.zig: replace slashes in filepaths #37111 - 64ce5382bd53 channel: crash on failed sockconnect() (#37811) - 886efcb8535e channel: possible hang after connecting with TCP times out (#37813) - 4399250e9063 channel: unreference list after callback finishes (#37358) - 5f9f5bc04d0b checkhealth: check g:loaded_xx_provider for all providers #33168 - e87d2ae3836c checkhealth: check outdated pynvim version properly #33175 - 78d2e0b43e7a checkhealth: don't override user "q" keymap #33132 - 16fbde83c46f checkhealth: don't wrap command in cmd.exe (#38158) - bd45e2be634b checkhealth: wrong ABI version for treesitter parsers #35327 - ad22d0ace996 cjson: fix `strbuf_set_length` incorrectness #35565 - f5cbf1164421 client: avoid :connect race with server detach - 2483d5ad8af7 clint.py: replace deprecated codecs.open #36593 - 41199c45d6bb clipboard: avoid using stale register width (#36178) - 95dfb063daa7 clipboard: correct blockwise register width computation (#35038) - ac12dc49cc35 clipboard: enable cache for function providers #34470 - 310d01d8faa5 clipboard: tmux clipboard data may be stale #36787 - d00f680c0d2c clipboard: use tmux only in a tmux session #36407 - 8aacce90b4b6 cmake: linker flags, doc generation for cross-compilation #38215 - 9763834170dd cmake: use host nlua0 binary when cross-compiling #38089 - 69cae6259e91 cmd: :update does not write new, unmodified buffer #35929 - fcf752476a33 cmd: :update writes new file buffers only for real files #35939 - a5c55d200b18 cmd: bar "|" not allowed after :fclose #34613 - 5de2ec76a3b0 cmdline: :checkhealth completion with multiple args (#35060) - f4ee0ab2f1a1 cmdline: avoid empty @: register after : (#33126) - fde1c07891e0 cmdline: cmdline_block events for :lua debug.debug() #38171 - 0015a105ca7c cmdline: do not move UI cursor when entering cmdline #33729 - 236d831d77d6 cmdline: don't treat c_CTRL-D as wildmenu (#36067) - 95ab723995f1 cmdline: empty ext_cmdline block events for : #33118 - 7f2298ad32a6 cmdline: fix inconsistent behavior with ext_popupmenu (#35688) - 677446c70f8c cmdline: make sure pum is removed on leave (#36608) - dc05598d0201 cmdline: set search cursor after ui_flush() (#34418) - 5977bdba0566 cmdline: trigger CmdlineChanged after command preview (#35254) - efd0fa55c8b1 cmdline: validate 'incsearch' cursor for "cmdline_show" redraw (#34630) - 28ff4deda7a0 colorscheme: adjust `StatusLine[NC]` for diagnostics #36719 - 4a706a709282 column: don't count signs on lines beyond eob #33410 - b40e658717b3 column: missing redraw with virt_lines_leftcol (#34650) - 8f78591f9ac0 column: wrong alignment and highlight with empty 'display' (#35495) - 69419f8b3e76 completion: CompleteDone reason="discard" when candidate text remains #38169 - 51caf0a3af59 completion: avoid freeing uninitialized value (#33459) - b25838217697 completion: complete drive-letter filepath on Windows #36353 - 634f6424aaac completion: set 'wrap' and scrolloff=0 in preview window (#37327) - 3f10bb87efad completion: wrong CompleteDone reason for auto-inserted sole match #38280 - e1b3ca66291a compositor: clear old position with last known dimensions #38229 - 6f632a8615e0 compositor: don't blend uninitialized background cells #34364 - 150490d365a3 conceal: assert tripped during startup #36136 - ad8bce667496 conceal: check for concealed lines on invalid row (#36084) - ab72799841c8 coverity/530026,530028: free resources on early exit in nlua_exec_file #33502 - 079159410143 coverity/530033: free lp->sl_info to fix resource leak #36198 - 0ed5e00077dc coverity/532324: free skip_until to prevent leak #36109 - 3e303231350e coverity/554963: preallocate msg.items to avoid FORWARD_NULL #34484 - 501a21f33390 coverity/637363: out-of-bounds write #37878 - c5b8ed870b8e coverity/644326: NULL ptr deref in socket_address_is_tcp #38010 - 20b2dd39ccfe decor: clamp last column by decor provider range - ca16b54c866b decor: enable decoration provider in on_start #33337 - 6adf48b66d52 decor: extmark highlight not applied (#33858) - 9492df027d07 defaults: 'guifont' "monospace" fallback, trim spaces #37930 - 57b4fb5c5318 defaults: enable :terminal [[,]] motion in operator-pending mode #33217 - 3ebde5ea147c defaults: keywordprg=:help on Windows #33336 - 9567fb050795 defaults: silent `gx` if no `textDocument/documentLink` support #37969 - dc6fc11b8753 defaults: start exrc search from parent directory - cb247e06f0ba defaults: visual-mode [[,]] for :terminal shell prompts #33201 - 1c96b72dfa41 deps: make script/bump_deps.lua update build.zig.zon versions in sync - 6e12ef4a7b4c desktop: cannot open filename with spaces using OS file manager #33161 - 2e0158650a3b diagnostic: accept multiple namespace in `open_float()` (#34073) - c681336e3c35 diagnostic: accept multiple namespaces when setting loclist/qflist (#33982) - d567f899efb7 diagnostic: allow virtual_{lines,text} cursor exclusivity #33517 - 3ac76977bca5 diagnostic: check for extmark in get_logical_pos #37127 - 68eece8b849d diagnostic: check if the buffer is loaded #35125 - dbe17da1206d diagnostic: deprecate `float` in `vim.diagnostic.Opts.Jump` (#34037) - efa6d91132c7 diagnostic: display 1-based related information line/col numbers (#37093) - 2b21c9c23f88 diagnostic: ensure autocmd always is always sent diagnostics - e34e2289c228 diagnostic: fix flaky error - 583308f5991c diagnostic: handle stale diagnostic extmark ids #38060 - 88a72efb465c diagnostic: open_float() handles config.float function #31577 - 09266830bdf4 diagnostic: show diagnostics on buffer load #35866 - 9833f0da5f35 diagnostic: unstable sorting by severity #37154 - f7b573f80a33 diagnostics: assert adjusted diagnostic position #37210 - 7a051a4c3894 diagnostics: avoid jumping to diagnostics in deleted ranges #35088 - 9641ad9369f6 diagnostics: diagnostic just after EOL is not highlighted #34085 - e4a100a1e1c0 diagnostics: extend conversion support from/to quickfix format (#34006) - 19efabafc568 diagnostics: fixed virtual_text cursormoved autocmd error (#34017) - 0a113013fb85 diagnostics: position diagnostics using extmarks #34014 - a1bc5d0ae6a9 diagnostics: showing stale diagnostics in handlers #35890 - 3594c213a7fe diagnostics: validate opts.signs #34565 - 60d0b7d0c3f7 diff: fix incorrect item size of dout_ga (#34338) - 0b8a9bde0eee diff: set default diff flags properly (#35450) - aaec3e5b0dab difftool: add check for window number when cleaning up layout #36161 - c1e60f36f3fb difftool: don't reset quickfix list when closing quickfix window #38088 - c9b74f8b7e38 difftool: ensure split layout, use systemlist #36145 - c6113da5a999 difftool: fully resolve symlinks when comparing paths #36147 - a88c7962a82f difftool: handle "no differences found" #36671 - d59064462096 difftool: silence :only command in setup_layout #36168 - 97a625944252 display: adjust setting winline info for concealed lines (#33717) - cb2ca54331cd display: cursor moves when searching with "n", "*" #29446 - ce0c0c31a089 display: scroll logic does not take into account concealed topline (#33054) - 5b1561bb717e display: scroll redrawing doesn't account for virt_lines above fold #33374 - 7e8b7bba21cf display: wrong cursor column with 'concealcursor' = "n" and virt_text (#33218) - 5582005ac766 docs: add `--clean` arg to LSP bug report (#36530) - e74753a221f8 docs: callback annotation for `vim.ui.input` #34507 - 4a910a2a4ed6 docs: dev.txt is "new layout" - 9da316fcc45c docs: force blank line after numbered list items #35950 - 4397c4b117d1 docs: improve adjacent list items - 8a76129d9f61 docs: include `?` in list items #35945 - b2722181b001 edit: clear showcmd after clearing last put char (#34517) - 9a864d0a3c91 edit: handle cindent properly with completion (#36711) - 3647b821ea69 editor: respect [+cmd] when executing :drop #33339 - 966b1da1831e editorconfig: a custom property is treated as a section (#34445) - b618511ef906 editorconfig: use 4 spaces indentation for zig files - fd973c0a4ec0 env.c: drop envmap, free os_getenv() result #32683 - df9e4a037ad6 eval: 0 should mean current tabpage in gettabvar() (#36891) - 8156eece2413 eval: fix crash with :breakadd expr when calling user func - 981d4ba45ed1 eval: winnr('$') counts non-current hidden/unfocusable windows #34207 - 1e1619de830e eval: winnrs of unfocusable/hidden windows #35474 - 57c6b61cf2d1 event-loop: don't call uv_stop() when loop isn't running (#37984) - 1dbede5b932f events: avoid superfluous CursorMovedI on first autocmd (#33588) - 0b61bc898230 events: crash on SIGTSTP (Ctrl-Z) #33258 - 0a0c349b6fee events: crash on WinScrolled #35995 - 29494f042c28 ex: error handling for `:lsp` #37061 - 2f352217742c excmd: :trust executed even when inside false condition (#36032) - c1f142322b20 excmd: correct :connect abbreviation - 781ea5b41b2d exit: stop listening before closing channels (#38480) - ed9abb1851e3 exrc: ensure consistent 'exrc' loading sequence #35148 - f7c939fa7af9 exrc: exrc knows its own location (#34638) - a39334767321 extmark: adjust invalidate range by one for deleted lines #37897 - 589232c0e065 extmark: wrong eol_right_align width calculation (#37034) - 6dee1672ccc9 extui: "box" window width calculated on last line (#33881) - ff95d7ff9a04 extui: adjust "more" window routing (#34251) - cc78f882012b extui: adjust which messages are sent to "more" window - 9784bc134624 extui: append consecutive :echon messages - e512efe3696b extui: attempt to perform arithmetic on field 'last_emsg' (#35047) - 70eb4164591e extui: better message highlighting after carriage return (#34034) - 9e968635efc4 extui: check if buffers/windows exist before deleting (#34886) - 3c7c824bdc08 extui: check option values after VimEnter (#33768) - 5046ef4c8f8d extui: clear cmdline buffer for first message (#34490) - db702782e016 extui: close cmdwin to enter "more" window (#33860) - c916bdf32986 extui: close message window with `q` - 39a5b7f239fb extui: cmdline visibility, cmdheight cursor position (#33774) - 5e4700152b79 extui: copy window config to new tabpage (#34308) - 8c6ea76ebcdf extui: disable cmdline highlighter when showing a message (#34887) - 9efdd4fe98e7 extui: drop "more" window that is no longer floating #33861 - be5a4851eaa5 extui: ensure temporary cmdline config is not restored #35301 - 1256daeead27 extui: ensure windows are valid in scheduled on_key (#35106) - cd7cf4bd16e7 extui: error on :call input('') (#35515) - 4d56dc43c0ea extui: handle carriage return in messages - f1295fe76f49 extui: hide inactive "more" window (#33831) - 3828856233d9 extui: incorrect cmdline cursor position (#34201) - a59b052857ca extui: map wincmd instead of remapped key (#34151) - d4ecfc423495 extui: message may overwrite active cmdline #33846 - 76f76fb08391 extui: only append messages exceeding 'cmdheight' to "more" - 33b0a004eb20 extui: properly setup "more" window for changed buffer - 5e83d0f5ad4a extui: reposition "more" window after entering cmdwin - 7077c5929529 extui: reset message state after "search_cmd" message (#34119) - 7e787f6a4f16 extui: route interactive messages to more-window (#33885) - b2a5105c66e1 extui: search highlighting in extui "more" pager #33792 - d0aedd36dfe0 extui: set 'modifiable', 'noswapfile' for buffers (#34582) - 56709ca1689a extui: setup buffers after activating `eventignorewin` (#35915) - 8e8f4523c687 extui: translate in cmdline text (#34055) - cb036cae5fb1 extui: use visible to determine active "more" (#34327) - a96665cf4867 extui: using tracked message column in cleared buffer (#34154) - c973c7ae6f56 extui: write each message chunk pattern separately (#34188) - 8af28ab9cb9a filetype: error when `vim.filetype.match{buf=fn.bufadd('a.sh')}` #34155 - 7500f76e6131 filetype: fix typo (#37286) - 095b9f98f3e3 filetype: handle invalid `bufnr` in _getlines(), _getline() #36272 - e2cb67570522 filetype: move fallback logic to vim.filetype.match() #30141 - d131d67e67a8 float: clamp floating window above cmdline #37899 - 3ccba4cdffb8 float: crash from nasty :fclose autocmds (#36134) - d4f2b9050dc6 float: cursor visible in "hidden" floating window #30866 - 66e4784f5ace float: ensure relative window grid is allocated (#34459) - eb3201c77210 float: null pointer dereference, redundant call #36727 - 3b6e8e484edf float: prevent truncation of title that fits exactly #36880 - 31c814a0ed0e float: respect statusline=3, don't inherit local 'statusline' #36716 - 5943a81fe79a float: style=minimal leaks into normal windows #25185 - cb171ee7cba0 float: tail truncate long title #28387 - 9269a1da355b floatwin: handle viewport width properly at end of window (#35490) - 66dddd8b515a folds: adjust filler text drawing for transparent folds - 1d9990daac37 folds: avoid unnecessary loop with horizontal scrolling (#33932) - d73cfefed5e4 folds: error when deleting lines at end of buffer #35396 - 19715e6e8a71 fs: expand drive-relative paths on Windows #37084 - d22fcf291746 gO: use non-breaking space #34197 - ac6cf5b03ba0 gen: alias /doc/user/helptag.html to /doc/user/helptag/ #38156 - 805dd5d04780 gen: prevent "make doc" failure due to temporary files - 67fede0fc94b gen_help_html: ASCII art rendering in docs #35262 - a49bf5e1d3c8 gen_help_html: parser override - 4b02d1f6f6e2 gen_vimdoc: unnecessary assert for non-source files - d2ca90d87e32 glob: handle numeric literals in pattern matching (#37257) - 3991f146215b glob: handling commas in letter pattern #34170 - aeebc5185171 grid: assert crash during extreme resize layouts #36847 - 1ad9cdd4036b grid: check allocated grid size when suspicious scrolling - 856391bc7fa9 health: "q" keymap not set when health.style=float #37007 - a33284c2c068 health: accept TERM=tmux-direct #35511 - c28113dd9d09 health: add back `vim.cmd.redraw()` call (#37576) - 3fb53abe2a7f health: attempt to concatenate table value #36369 - 8a901a52e1f0 health: avoid silent failure - 2422fbdd5f90 health: bad format() call #34904 - 672f6e60c165 health: bug-report formatting, version check #36809 - 61678811d8d3 health: check more "old" files #38028 - 31cb37687a03 health: check shell performance using vim.fn.system() #36980 - 16c8a908ef67 health: check stable release for non-nightly build #36715 - d927a87ed607 health: checkhealth float opens extra empty buffer #33648 - f19653e3706d health: emit Progress message #37123 - cfe10b4014ec health: errors in :checkhealth with pyenv-virtualenv #35865 - bd37348939a7 health: expecting nonexistent "inotifywait" function #33312 - 28b7c2df5217 health: floating window closes when opening TOC (gO) #34794 - e4ce0c7270e5 health: git check and autocmd clean #36713 - 6152bcf42ef0 health: hard fail on invalid "python-*" bin #35382 - 6942dec9b29d health: highlight group conflicts with help #34616 - bfc7bae421fe health: improve version check for nightly builds #38147 - 07f048a8d764 health: message should mention "vim.provider" #33095 - e9d03b92b67c health: redraw after emitting progress message #37567 - 06e4b159ed08 health: show full curl output - f311c96973a5 health: update advice for Python #35564 - ae93639ec440 health: use FileType autocmd for bug report winbar #37486 - 1c52e90cd57c help: :help can focus unfocusable/hide window #34442 - 4a4de7304306 help: better align local-additions #38097 - 25322a3a3b22 help: only set url for help files in $VIMRUNTIME #36165 - e49a59259507 help: retry once if async parsing fails #36592 - 62d3a2110df4 help: wrong tag url in third-party help docs #36115 - 625c59fe5fc2 highlight: Normal-linked groups shouldn't override CursorLine #35026 - 64966ba52cea highlight: allow ephemeral extmarks past final newline #35888 - e23c083d133b highlight: avoid null deref, misc issues #38164 - 444c195edb33 highlight: blend underline check and use struct key for attr cache - d5a8c9d76667 highlight: correct change detection in do_highlight for gui colors - e3c36f31e3a0 highlight: ensure extmark range is within buffer bounds #35928 - a7177e34c318 highlight: link HLF_8 to something more prominent #34910 - 3af43cffa028 highlight: no match highlight during :substitute prompt #33262 - 336b46a87945 highlight: preserve background transparency in 'winblend' #34302 - 5803994a1c4a highlight: preserve bg transparency with winblend=100 #34825 - bd12aef78476 highlight: refresh highlight attrs before message output #25737 - 6af89580555f highlight: respect 'winhighlight' in CursorLine Normal check #36927 - f8d59cfab958 highlight: setting 'winhl' doesn't work with global ns (#37868) - 64753b5c37cf highlight: spurious underline in 'winblend' floating window #34614 - a26cdcb20e68 inccommand: skip input() during preview #35272 - f348c0ebba2c incsearch: include compsing characters with Ctrl-L - a04c73cc17f5 input: discard following keys when discarding /K_LUA (#36498) - 592582ba4886 input: don't exit on EOF when peeking for input with -es (#36948) - 29c8dabd414c insexpand: update showmode when updating the screen (#34466) - e0308dc14730 install: only install "tee" on Windows #36629 - cd7122125098 intro: crash on small screen #38397 - 4fe51dfdae84 iter: ArrayIter:last returns nil when filtered to empty #34697 - eaa9aca1308b jobs: jobstart(term=true) accepts width/height #33904 - 11e82c108da6 l10n: update Ukrainian translations #37654 - 16c133439958 langmap: assert failure on mapping to char >= 256 (#37291) - 14fe37056436 logging: don't overwrite NameBuff (#38004) - ea5007b37fbe lps: separate namespaces for pull/push diagnostics #37938 - bf4710d8c398 lsp: "attempt to index nil config" #36189 - f068386c9f70 lsp: "bold" border for vim.lsp.buf.hover #33395 - a9b8a8dc6c1f lsp: _cancel_all_requests() tries to cancel completed requests #34105 - 97ab24b9c7d9 lsp: _get_workspace_folders does not handle root_dir() function #36071 - a03ab03a10ad lsp: `:lsp restart` restarts on client exit #37125 - 6005fcf6719b lsp: `opts.wrap` always `true` - 4b0700c618bf lsp: `vim.Range` check in `document_color.color_presentation()` (#38374) - d6fffe6b321e lsp: access correct client capability path in `supports_registration` - 3eaa6c5a6659 lsp: add `RequestFailed` error code constant #34645 - c3589753a0e1 lsp: add `vim.deprecate` call to `vim.lsp.with` (#37960) - bd41f6eb6c66 lsp: add deprecation comment to `gen_lsp` (#36185) - 9f99bf48ea8d lsp: add missing argument validations (#34519) - 378435968f64 lsp: adjust codelens position based on the server-provided range - 35756022cbcd lsp: advertise supported fold kinds (#34461) - 4db58f78b49f lsp: announce `normalizesLineEndings` capability (#34175) - bac133e4b6ea lsp: announce diagnostic tag support (#34436) - fed9069b8da1 lsp: avoid `foldclose()` after current window-buffer changed #33901 - 2debe2f30a45 lsp: avoid automatic request after leaving insert mode (#35767) - fde0b487fb61 lsp: avoid re-enabling `document_color` on `registerCapability` (#35774) - 6f733f4a9bf0 lsp: avoid scheduling client deletion before LspNotify #37685 - 2ee896201c46 lsp: better handling of "*" configs - 0501c5fd0959 lsp: call `on_list` before reading `loclist` #37645 - 653871da1b55 lsp: check `nvim.lsp.enable` before `doautoall` #36518 - e94d8f03b959 lsp: check for lens range in `vim.lsp.codelens.run()` (#35294) - 1bc85d29c135 lsp: check for non-nil buffer state on reset (#36519) - bbfcde3ab20e lsp: check if buffer is valid in scheduled client:on_attach() #35672 - c789d799663d lsp: check if buffer is valid when resolving code lenses (#35092) - 0862c1036a8e lsp: check if client is stopping before reuse #33796 - 42f244bf18a1 lsp: check whether buffer is valid when scheduled #35461 - 0dc900d74443 lsp: clear document_color autocmds #34573 - ace254c9fff1 lsp: close floating preview window correctly #34946 - a702534c501f lsp: close timer when client exits (#36795) - b4ba27c238ec lsp: codelens extmark line out of range (#35070) - f2d0b06ecbb5 lsp: completion word includes leading space from label #38435 - 3342aead1df9 lsp: consistent use of `vim.notify`/logging with unsupported methods - 55e3a75217d9 lsp: convert the encoded position to line byte (#34824) - 8165427b4d92 lsp: correct capability checks for dynamic registration (#36932) - 82d0883c2d96 lsp: correct diagnostic data support and related info capabilities (#34454) - 2822c38f2e73 lsp: correct iteration through attached buffers (#36517) - 213360c389de lsp: custom 'winborder' in make_floating_popup_options() #34868 - 342974773c53 lsp: cycling signatures with the default `config.focusable` - 40aef0d02e1a lsp: decode 'null' in server responses as vim.NIL #34849 - b67eff38fe19 lsp: deduplicate completion items #36166 - e62dd13f83a2 lsp: default ClientConfig.exit_timeout to false #36811 - 70ea589d79f6 lsp: deprecate `vim.lsp.get_buffers_by_client_id` (#36449) - b938638d2d06 lsp: deprecate `vim.lsp.protocol.Methods` (#35998) - f7802dd5d572 lsp: deprecate vim.lsp.set_log_level, vim.lsp.get_log_path #35274 - 83156974497d lsp: detect if Client:request resolved synchronously #33624 - 0cc4f53b4066 lsp: do not clear the codelens on the last line #38226 - 18e8839c804e lsp: don't create an `'LspAttach'` `document_color` autocommand - 90abd2613d7f lsp: don't empty server start-boundary by next client response #37665 - 0472119fe61a lsp: don't immediately force shutdown when using a timeout (#36455) - c2c5a0297e00 lsp: don't overlay insertion-style inline completions (#36477) - afebbd0f34ca lsp: don't override `config.title` in `vim.lsp.buf.signature_help()` #35075 - 729111d3a3cd lsp: don't treat MarkedString[] with language id as empty #35518 - ff792f8e6908 lsp: enable insertReplaceSupport for use in adjust_start_col #36569 - 8495d9623809 lsp: ensure `bufstate` when calling `vim.lsp.document_color.is_enabled` - f168d215cfa2 lsp: ensure augroup before querying autocmds #38254 - e239179871c4 lsp: ensure bufnr is passed for buffer-local requests (#36325) - 40dc2d02a851 lsp: ensure the codelens on the first line is visible - 9f77124b78ec lsp: error on omnifunc completion (#37790) - 82b844fefef5 lsp: fallback to empty `capability_path` in `supports_registration` - 927927e143bd lsp: fix error with InsertReplaceEdit events #33973 - 23f4fab0bdfe lsp: fix incorrect params because of typo (#36871) - 34116bbd9b61 lsp: fix nil-index error for `:lsp enable` (#37411) - 20a392fe3843 lsp: fix window to set cursor for inline completion (#36444) - 4ee2e365a583 lsp: fix workspace diagnostic request to follow spec (#34674) - 913b05bf630d lsp: format_item should return string (#36025) - 7c3df3e2ea13 lsp: get_namespace signature (#38449) - a8ffa6e323d8 lsp: guard dynamic capability attachment #38382 - abc96ba0ce30 lsp: handle `nil` buffer state in `documentColor` clear (#33746) - 8e48c0206155 lsp: handle array with empty string when checking empty hover (#35423) - 507cd63418ac lsp: handle completion/resolve response arriving after on_insert_leave - 1de77c608fa9 lsp: handle nil request in semantic tokens #36780 - 26cc42e426d7 lsp: handle nil response in references request #35139 - 5653b25e9b8f lsp: handle non-string documentation in completion items #38291 - 95dce376f330 lsp: handle providers without subcapabilities - eaacdc9bdffd lsp: ignore empty response on trigger completion #37663 - a0678a5849d3 lsp: ignore inline completions after leaving insert mode (#36476) - 7ebfc5077512 lsp: ignore invalid fold ranges (#36708) - 8bfb91accce7 lsp: ignore stale codelens resolve responses (#38153) - 5d1fd4aca58c lsp: improper diagnostic end_col computation - 1f558f8d0960 lsp: improve diagnostics handling and comments - ed562c296abe lsp: improve dynamic registration handling #37161 - 5c15df449a87 lsp: improve error completion message #33812 - cd06e0c9d6be lsp: include client ID when receiving unknown fold kind (#34535) - 6005bc68b29e lsp: include context for each client in multi-handler results (#34669) - b459bf5961fd lsp: include missing LSP methods and update type annotations - 18d6436ad2c6 lsp: inlineCompletion: ignore out-of-range items #35990 - 820fb89172b7 lsp: make thematic break parsing conform to GFM spec (#35162) - 13cf80deefe7 lsp: map all LSP methods to server capabilities (#37910) - 2f78ff816b03 lsp: misleading logs in non-applicable filetypes #35749 - d9768348649b lsp: nil error in ColorScheme autocmd - 3c4acc0f1a2b lsp: noisy log message when enabling server without config #36264 - 91e116f3a671 lsp: only auto-detach lsp.config clients #33834 - e5c5b563ec1e lsp: only auto-detach lsp.config enabled clients #34325 - eb90f5d9e3a6 lsp: only resolve LSP configs once (#38007) - 6926fc1615c9 lsp: opts.reuse_win does not jump if buf is already open #33476 - 4778a4c20179 lsp: prevent flicker in codelens virtual text #34888 - 9e93bfdb5fce lsp: prioritize showing active signature - b98aefc5841a lsp: properly handle `documentColor` from multiple servers #33656 - c39d18ee939c lsp: raise error when lsp config is invalid type (#37508) - addd408b3955 lsp: redraw codelens after request completed #38352 - 03032d1f73d8 lsp: remove `vim.lsp.diagnostic.reset()` (#35938) - 285ea2525fdf lsp: remove extra notify on empty hover - 34815777b280 lsp: remove side-effects if `vim.lsp.enable()` raises an error (#37571) - 181df6053382 lsp: remove unused `ns` field - 371ad48135ed lsp: replace `string` types with LSP method alias type annotations where appropriate. (#36180) - 6a49a277f517 lsp: request diagnostics from all registrations - 0da982767332 lsp: respect documentation markup kind in completion preview #38338 - 4ef562472988 lsp: restore Client:stop() force-stopping behavior (#35800) - 0db8efcbe4fc lsp: restore virtual document color visibility (#38407) - 4dd9137215f8 lsp: reuse_win prioritizes windows/tabs currently displayed #36486 - 70460d557c51 lsp: scope inline_completion autocmds to buffer (#35965) - 323d5527eed6 lsp: set 'linebreak' in floating windows (#36275) - 4b8980949cd4 lsp: set concealcursor='' in LSP floating windows #36596 - c3991b8ef4f0 lsp: show notification with empty hover response (#35014) - 5b1b46ea5a4f lsp: show title when global winborder is set (#35181) - 8a94daf80ead lsp: simplify semantic tokens range request logic #36950 - 4ed597389c33 lsp: snippet preview blocked completionItem/resolve request #38428 - 0197f13ed4fa lsp: sort items when completeopt include fuzzy #36974 - d53d542359de lsp: stop and close timer when `Capability` is destroyed - a768d0a95b52 lsp: stop repeatedly resuming dead coroutine #35743 - 1d8e9b5d070c lsp: store result id for unchanged diagnostic reports - 8b5d8dfc732e lsp: support `containerName` in symbol requests #35029 - 17c18efbe561 lsp: support v:count in selection_range() #34551 - a1895f024a4c lsp: support workspace/configuation with no section #27510 - bd225422a5b7 lsp: tests for :lsp, rename start/stop - e69b81ad94da lsp: treat 2-triggers-at-once as "last char wins" #35435 - 1f63735f175d lsp: treat nil inlay hint result as empty array (#35458) - f67306cc67e8 lsp: typos in method names #36077 - 29c6176f0842 lsp: unify LSP error logging prefixes #38354 - 9139c4f90ff8 lsp: update capability maps (#35227) - db1b7f74129e lsp: update completion items on `TextChangedP` - 7a8d31687940 lsp: update metamodel (#38174) - 6c3e9b557341 lsp: update on `CursorHoldI` cause users unable to `select()` - 848c7a789470 lsp: update window title when cycling through signatures #35407 - 006101360d6f lsp: use LSP method type in more places (#36069) - 36db6ff2c128 lsp: use LSP textEdit range for completion start boundary (#37491) - 34c769dd897d lsp: use `bufnr` when getting clients in `symbols_to_items` (#33760) - 807bc00dd68d lsp: use `vim.notify` with action-less `showMessage` requests (#34720) - 5fbc5ab81073 lsp: use correct `workspace.diagnostics` capability key (#35937) - 00ad477419f2 lsp: use correct deprecation function (#34518) - 6fe68abdf5a3 lsp: use entire line as completion word (#37949) - 1d7823451e2a lsp: use vim.notify for all message types #34489 - f90cd620c56b lsp: vim.lsp.completion clean up triggers on client detach (#38009) - 5c4b64aae59d lsp: wait for exit_timeout on quit #37597 - 6bb6b4793327 lsp: wait to display exit message #37925 - 5554fcc28683 lsp: warn on missing config in :checkhealth #33087 - 0cda01834514 lsp/diagnostic: key resultId by client and identifier - 7a5e9ef0aab8 lsp/diagnostic: use diagnostic provider identifier for code actions #38401 - f0c0c24ed777 lsp/health: always use vim.inspect to show root_markers (#34667) - 5ad01184f3c3 lsp/health: ensure valid table before concatenating (#34092) - 1906da52dbc9 lua: close vim.defer_fn() timer if vim.schedule() failed (#37647) - 103ddaf9ae80 lua: correct line number reporting for options set in coroutines (#37463) - b986fd96bc8d lua: coverity "unreachable" warning #35874 - 40f5115ac430 lua: disable `strict_indexing` when converting LSP positions - 1264d1156ce1 lua: don't leak timer when vim._watch.watch() fails (#35768) - c08139d790b7 lua: don't remove first char of non-file stacktrace source (#37008) - 9a5641b4b570 lua: drop support for boolean `buf` in `vim.keymap` #38432 - 66066d0f6a22 lua: extra CR (\r) in `nvim -l` output #38048 - b87bdef2a864 lua: relax `vim.wait()` timeout validation #36900 - 6a330f893bf1 lua: report error in Lua Funcref callback properly (#35555) - 1aa26f5d5555 lua: separate vim.{g,b,w,t} types #37081 - 94144d46787f lua: vim._with() doesn't save boolean options properly (#37354) - 89b946aa87d2 lua: vim.diff is nil in uv.new_work() thread #34909 - 40351bbbbe78 lua: vim.validate `message` param #33675 - bc0635a9fc9c lua: vim.wait(math.huge) fails #36885 - b3324be0d8a1 man.lua: :Man ignores section of gzipped manpage #38235 - 87bd16e470b2 man.lua: :Man slow/hangs if MANPAGER is set #36689 - 5333d6371bfa man.lua: E95 when piping to :Man #33068 - a8dd5c7e41dd man.lua: noisy "ENOENT" error on Windows #33409 - 46220afef806 man.lua: show_toc condition may cause infinite loop #36979 - b8763cb21525 man.lua: useless executability check #33438 - 84d3bbef23d0 map: use names like Map_key_value not Map_keyvalue - 218ea9fff775 mappings: always include replace_keycodes in mapping dicts (#37272) - 3341ab07764e marks: clamp conceal_lines corrected line number #33464 - 5773f0e99463 marks: make jumpoptions=view work with 'smoothscroll' (#38339) - 064ff74cdbe6 marks: wrong display after inserting/deleting lines #33389 - 033f1123cd91 marks: wrong line('w$', win) with conceal_lines (#37047) - 37c0efb21cfb marktree: fix edge case bug regarding changing intersections - 2154d325d526 memfile: avoid potential crash on OOM (#37946) - 5e470c7af556 menu: fix listing of submenus (#34315) - 8f9278d7c258 menu: right-click menu fails with E335 when using V after i_ctrl-o #37349 - b47b0caba858 message: concatenate multi-chunk nvim_echo({err}) for exception message #38131 - 3d5ef97a9829 message: no wait return for delayed exception error #35881 - 2de284e50b6d message: set replace_last for completion "scanning" messages #37967 - 3b85046ed5f2 messages: "list_cmd" kind for :command, :version (#34529) - ac670989980a messages: "list_cmd" kind for mark commands #33874 - dc3a30cfbb83 messages: 'exrc' / secure messages - 96e1acfa427f messages: add "list_cmd" kind to :colorscheme #37561 - 29f2cb89f01b messages: add append parameter to history entries (#34467) - 8bdfd286e584 messages: adjust msg_show "empty" kind logic (#37427) - 83037cf21857 messages: allocate message history kind string #38292 - c85313bac7e6 messages: always assign msg_id to msg_show events #37671 - bf1d4e9793fc messages: capture execute("messages") with ext_messages (#34342) - 276860b5380d messages: clear 'showmode' message after insert_expand #33607 - 1b2b715389c5 messages: disallow user-defined integer message-id #38359 - 81828e66b99a messages: emit empty msg_show event for :echo #38467 - 53aad276b62a messages: exclude "search hit BOTTOM" msg from history #36961 - 73157c994db4 messages: heap-buffer-overflow with shell command (#37855) - 7a490d65c57e messages: increment message ID without ext_messages #37714 - 912388f51786 messages: list_cmd kind for buffer line messages (#33855) - d86d4bacc14b messages: make swapfile attention message part of prompt (#34414) - 49c19a1fe3cb messages: message not flushed at end of command #37904 - 7c43f8e4336c messages: messages added to history missing from ext_messages "g<" #33907 - a81b059a45ba messages: non-fast and append for "shell_*" kinds #38188 - 10a03e83e357 messages: only msg_clear for UPD_CLEAR #34688 - e876a739eeb1 messages: recognize cmdline one_key/number prompt State (#34206) - 96957d80c6c3 messages: reinstate 'showmode' message delay #37992 - e63346dfe91b messages: reset redirection message column at message start #38068 - a5f236291c0c messages: single event for multi-expr :echo (#34393) - f1dcde6cba3b messages: single msg_show event for :global command #37728 - 986b92eb0713 messages: single msg_show event for multiple :set options #33555 - 3898f34c5a21 messages: spurious newline with --headless + cmdheight=0 #38494 - 41336a35905b messages: swedish translation #37395 - 39c4e0f33667 messages: unwanted ext_messages newlines for confirm() #38045 - 4260f73e1396 messages: unwanted newlines with ext_messages #37733 - 98f5aa2564c3 messages: verbose message emitted without kind #33305 - 18fa61049a9e mouse: crash with click on win-separator in statusline (#33091) - 7432781e7184 mouse: do not fetch clipboard twice when pasting with middle button #33494 - 2f8fb4f28ab9 mouse: mouseclick after conceal_lines is miscalculated #33451 - 32325a66ca0d move: adjust for concealed lines above topline after scrolling up (#33211) - 6ce2877327b1 move: consume skipcol before revealing filler lines (#34143) - 2069be281c72 mpack: boundary values for negative integer encoding #37255 - b8ee354f127c msgpack: flush incomplete big UI event before packing RPC event - 7f2d5d6883b5 msgpack: use fixstr encoding for strings of length 20-31 #36737 - 41068c77aa1b normal: assertion failure with "gk" in narrow window (#37444) - 911337eb3c4c normal: crash using :norm from vim.ui_attach shell message event #38283 - 4485e715fb6a options: deprecate 'gdefault', 'magic' - c2136e359008 options: increase t_Co buffer size (#35859) - 9910445125bb options: make 'cdhome' take effect on any platform - f4f1149292aa options: vim.opt fails for 'fillchars' #37141 - 1f2883e87976 outline: use 2-space indent instead of 1-space - 3d37aa3116ab pack: account for Git's "insteadOf" in `:checkhealth` #38393 - bac4cde9cd43 pack: actually checkout proper version of submodules - b02d1303b80f pack: add trailing newline to lockfile #38469 - 46648c38677d pack: close confirmation buffer's tabpage by ID #34971 - 0f73873d4f42 pack: close confirmation buffer, not tabpage #37756 - ee3239fcb682 pack: consistently use "revision" instead of "state" - f00abc6a5669 pack: ensure `data` spec is passed in events during lockfile sync #38139 - d3bea4ace94a pack: ensure consistent order of changelog during update - ed73ed828374 pack: ensure explicit default `version` in events (where possible) - 14003bd1c563 pack: ensure plugin directory is created during first usage attempt - 539b8027a309 pack: explicitly close confirmation window #37861 - fa3920282da0 pack: handle Git environment variables #35626 - 3b860653ca0c pack: handle lockfile in case of install errors #36064 - 3f34f083db06 pack: ignore 'loadplugins' when sourcing 'after/plugin' scripts - 28e2a5c1513d pack: improve `vim.pack.add()` input validation - 89a72f11e5fe pack: make newer version suggestions more robust - 2e62f3576f7f pack: open confirmation buffer in tabpage after the current one - e4e660594366 pack: relax minimal Git version to be 2.0 #36573 - f492f62c3d5f pack: rename confirmation buffer to again use `nvim-pack://` scheme - 0fa96585dc1d pack: set `source` in progress report #38511 - 474e9e9408e3 pack: show more informative error message if no `git` executable - 5468e6a45272 pack: skip :redraw! if headless #37782 - 8f0b8a2c279f pack: skip `git stash` during install - b337c6e0fc0a pack: update `add()` to have default `load=false` during startup - 1ee18b406114 pack: use 'coxpcall.lua' on non-LuaJIT - 8200223ee7a8 pack: use `vim.pack:` as message/progress prefix - f3f509563084 pack: use full hashes in lockfile and revision description - eff01b7620cf pack: use more correct URI for confirmation buffer name - 267bbe64cb4f pack: validate installed plugins in `update()` and `del()` - a5d69326860f paste: don't use :echo immediately before :redraw (#35773) - 42aae632beb0 plines: count 'showbreak' in EOL inline virt_text in line size (#35921) - 6291256868f0 process: avoid buffering unnecessary UI event with PTY CWD (#37582) - 19a3b6778979 process: avoid unexpected behavior when PTY chdir failed (#37614) - e05171890809 process: don't limit PTY master remaining data size - 97509aa2be00 process: handle poll() interrupted by a signal (#38024) - 8a4719e11744 process: use poll() to drain PTY master on Linux (#38005) - 974bc1b0444b process: wrong exit code for SIGHUP on Windows (#38242) - e5ba875a956c progress: memory leak on progress-message with history=false - 2415d8f4247e progress: message-id not sent to ui with history set to false - 7bf83cc2a651 progress: require "source" for progress-message #38514 - 0af01948f30a progress: show progress-status only in curwin #38458 - bc6737250d61 progress: simplify ui-event, introduce default presentation #35527 - 25000be8457f prompt: "%" prefix repeated on newlines with formatoptions+=r #34584 - ed4c549ea243 prompt: also store column info in ': mark #36194 - a5eb023a5393 prompt: clear undo when changing/appending prompt - 807a65b2da53 prompt: cursor on prompt line, disallow ":edit" #34736 - 689a149b0890 prompt: don't implicitly set 'modified' #38118 - dbb3986f331f prompt: ensure prompt-mark col gets reseted properly #37669 - 1349233cd150 prompt: heap-buffer-overflow in prompt_setprompt - 4afbc2543282 prompt: heap-buffer-overflows with invalid ': col - bf9d3e4bf8d3 prompt: lnum update via nvim_buf_set_lines if buf != curbuf #34833 - b3096b5860ca prompt: ml_get error with invalid ': lnum - ed7ff848a02d prompt: prompt mark not placed after text edits correctly #34671 - 602cbbe1d930 prompt: prompt_setprompt cursor col adjustment - 3a10405214ac prompt: prompt_setprompt does not adjust extmarks, no on_bytes - 2a5d687cc92b prompt: prompt_setprompt sets cursor col unnecessarily - 16bf7652b7b2 prompt: prompt_setprompt with unloaded buffer, ': with lnum 0 - 51dc752e6cfa prompt: wrong changed lnum in init_prompt - 7641177c5f98 prompt: wrong cursor col after prompt_setprompt, no on_lines - 466b2ac1929a prompt: wrong cursor position with cursor keys (#36196) - acb99b8a6572 prompt_buffer: plugins can't set `':` mark #35624 - b4906577c9f1 provider: misleading :checkhealth if user sets g:loaded_python3_provider=1 #32696 - 51aa64488ddd provider: support python3.14 #38419 - 7be4e4dd6596 pty: prevent orphan conhost.exe on Windows 10 #38244 - ef0386fe9ae2 pum: adjust info window column offset when scrollbar is present (#37069) - 76fdd9b88248 pum: crash when resizing grid with pumborder set (#36404) - 2681e1fce3c4 pum: fix heap-buffer-overflow with 'rightleft' (#33146) - 7d569abb2067 pum: handle RightDrag on parent grid properly (#33626) - 922816877feb pum: hide info floating window when insufficient space (#37107) - d87972f92000 pum: keep info window aligned with pum when above #38251 - 445cb751e6cb pum: pumborder=shadow not blending properly (#37328) - 0712a9c87bfe pum: separate scrollbar from shadow border (#37448) - 686e7aca40b8 pum: simplify 'pummaxwidth' truncation and avoid crash - 5a6532168443 pum: text overflows into border on truncation (#37438) - 106cacc93be1 pumblend: do not apply special highlight attrs from bg layer #36186 - c80bb5b63e0a pumborder: wrong layout with pumborder=none #36208 - 6256adde2f8b quickfix: always split from current window #33807 - 69c379dc4411 quickfix: use correct lnume when appending (#34611) - 7ed8e969941c redraw: update curswant for Visual selection (#34241) - a141fd2c4d21 remote: remote-ui connect timeout on slow networks #36800 - 39d8aa0a1ac1 rpc: don't overwrite already received results on error (#37339) - abd0c882b37a rpc: handle more cases when identifying loopback #36100 - e142e01d570c rpc: include write failure reason in log (#37959) - db2b774a1641 runtime: 'includeexpr' with non-Nvim-style Lua modules #33867 - 9076fdc1238c runtime: add "Added", "Changed", "Removed" to "vim" colorscheme (#35704) - f048298e9abc runtime: conceal paths in help, man ToC loclist #33764 - 09f9d72c2495 runtime: coverity STRING_NULL #569464 (#34795) - 923efaea28ff runtime: cpoptions is reset in Lua file #33671 - 76f6868e0a40 runtime: no conceal in qf on :lopen #34854 - 59c45b22d961 runtime: remove erroneously added syntax tests - 39bb5d7ca233 runtime: stop treesitter highlight in b:undo_ftplugin #38459 - c4c2112b5d6b runtimepath: crash in :packadd splice optimization #38129 - d995142dbdd5 scripts: collect_typos.lua: show commit message on failure - 9f9099293442 scripts: gen_terminfo clears Windows terminfo definitions #36736 - 130ef73e39ee scripts: release.sh - d04cbb65b948 scripts: use right syntax for choosing ref in "zig fetch" - 7a7123539906 server: serverlist({peer=true}) does not find peer servers #35506 - fc21433167fe session: spacebar heater not warm enough #38434 - 2d3dc070ce6b session: window sizes not stored with float windows (#37344) - 0dcdd65dcc08 shada: check return value is 0 - 36dbd2686f45 shada: don't add '0' mark if f0 in 'shada' - 1f503ac7c0df shada: don't store empty replacement string - a6591950f6bc shada: don't store search and sub patterns if /0 in 'shada' - 198c9e9bca75 shada: preserve marks after delete across sessions (#35795) - b98eefd8030c shada: prevent 'nobuflisted' buffers in v:oldfiles #34373 - 6bee2f686fcf shada: prevent use-after-free when mapping file marks (#34446) - 5581a53437c7 shell: ceci n'est pas une pipe - 6f904cfef15b snippet: adjacent tabstops without placeholders (#35167) - ecded994c173 snippet: early return for final tabstop #35115 - 628d569a594c snippet: jumping backwards to choice node (#35062) - dff78f580dfa snippet: setting end_right_gravity (#35061) - 196802900323 snippet: sync tabstop text also if pmenu is visible (#35250) - 019b2050e135 snippet: use call cursor() for visual range - d077a24f5c0b socket: avoid stack-use-after-return after timeout (#36405) - bfe9fa0f8e93 socket: remove stale socket files (#37378) - 44f1dbee0da3 spell: save spell files to stdpath('data')/site/spell #33528 - 9436e7c9785b spell: wrong VimEnter autocommands (#36339) - 0f64f0f5b66b startup: crash in read_stdin #35699 - 30dae87de4c6 startup: file buf is lost if stdin is empty and "-" is last #35402 - c8c78b531bdb startup: make startup windows if there are only floating windows (#34349) - 5c51b45a8223 startup: respect $NVIM_APPNAME in $XDG_CONFIG_DIRS paths - c785d5cdf062 startup: source init.lua from XDG_CONFIG_DIRS - 5cbb9d613bf6 startup: wait for bg detection before user config #37075 - 32d3dd06504e statusline: broken statusline on error #38000 - c3a4d125296c statusline: check buf valid before redraw #35123 - 8305af9bd2eb statusline: clear ruler when it is no longer drawn #33765 - ad330e99d1fe statusline: diagnostics spacing #36897 - 1af5ec5b51a1 statusline: don't require'vim.diagnostic' unless already used - 0ca9849387cf statusline: missing info/hint diagnostics #38307 - af0f7b59b1fc statusline: redraw if Visual selection other end changes (#36281) - e9b6474ae7ea statusline: scope truncation bookkeeping - 63ece2b151e3 swapfile: don't use uninitialized memory (#35813) - cbfa7f0d7b55 swapfile: handle newlines in swapfile list message #35802 - 8b9500c886bd system: don't treat NUL at start as no input (#34167) - 6e2b514813f4 system: handle SIGINT in --headless mode #36557 - d6d1bfd20da0 term: terminal attr index may exceed TERM_ATTRS_MAX #34318 - 3e6db5b2ec6f termdebug: use mark `:` to get prompt line in prompt buffer #37336 - 295fb3fdb2a3 terminal: :edit should respect 'bufhidden' with exited job (#37301) - 196df35cca7d terminal: should be no-op (#37494) - ad1dfc92a0fc terminal: add various missing redraws - 520568f40f22 terminal: adjust marks when deleting scrollback lines (#36294) - 379e307148e0 terminal: also don't propagate $COLORTERM on Windows (#37699) - 1519a34e43df terminal: autocmds leave terminal open to wiped buffer - 61217e361821 terminal: avoid events messing up topline of focused terminal - 366251a5d2eb terminal: avoid multiple terminals writing to same buffer (#37219) - 5e521c3b5ac3 terminal: avoid tailed cursor in focused terminal in events - 16da47f4749b terminal: changing height may lead to wrong scrollback (#37824) - 747da13f44ef terminal: check `buf` before deleting extmark #38314 - d07cbb2f4225 terminal: check size when creating new tabpage - e56292071a4b terminal: check size when switching buffers - f3feae0bbfd4 terminal: crash after deleting buffer lines (#37921) - 7297e9d339c6 terminal: crash when TermClose deletes other buffers - ad85871ca133 terminal: crash when TermClose switches back to terminal buffer - b67ac8cc6b5e terminal: crash with race between buffer close and OSC 2 (#37225) - 459cffc55f76 terminal: deleting from wrong buffer (#36289) - b4039ec0b026 terminal: don't allow b:term_title watcher to delete buffer - 3cd07709ba57 terminal: don't always leave if enter autocmds delete buffer #38324 - 6a71239cd5ea terminal: don't disable scrolloff for non-terminal buffers (#34451) - 7d6b6b2d14e5 terminal: don't poll for output during scrollback refresh (#38365) - 875958c9a1d1 terminal: don't refresh for sync flush when exiting (#38363) - 6a409e050717 terminal: don't trigger TextChangedT for unrelated redraws - ee143aaf65a0 terminal: emit Termrequest for all OSC sequences #33181 - b5aef05b8f65 terminal: fix OSC 8 parsing (#34424) - a2f01953b878 terminal: free the "[Process exited]" msg extmark #38246 - e254688016a4 terminal: handle ED 3 (clear scrollback) properly (#21412) - 40bf38fefc72 terminal: handle OSC 8 split into multiple fragments - f6ca9262b89c terminal: handle closing terminal with pending TermRequest (#37227) - e6fae6445445 terminal: handle opening terminal on unloaded buffer (#37894) - 814f2629cbcf terminal: handle split composing chars at right edge (#37694) - 1c57e4cb4f17 terminal: heap UAF from autocmds when entering #38316 - b40880f88ffb terminal: heap UAF if buffer deleted during TermRequest (#37612) - 3621af9b970c terminal: inconsistent mode change when switching buffer (#37215) - 4ef7aa83c4c6 terminal: keep last cursor if it's on the last row - df21ac729cf6 terminal: losing output if BufFile* poll for events (#37580) - b6befc7b0333 terminal: losing scrollback when TermOpen polls for events (#37573) - 9cbc430cfb92 terminal: missing refresh with partial mappings (#37839) - c845f1923d0f terminal: patch various autocommand-related holes - 9540e7470beb terminal: possible heap-use-after-free during Nvim exit - 72ac9ac9a108 terminal: possible memory leak on exit (#37532) - 238d4fa71ad9 terminal: possible missing refresh with buffer updates (#38388) - e6ba78919c22 terminal: possibly wrong wrow/wcol in active terminal - 99e754ae0289 terminal: remove condition that buf is curbuf (#33721) - ba6440c106f9 terminal: reset `w_leftcol` after resizing terminal - 25ce44845d2a terminal: restore options properly when switching buffer (#37485) - 1a1a60bd0526 terminal: resuming doesn't work with command in fish (#37857) - cc7022c5444c terminal: scrollback may still be wrong on height increase (#37835) - 1b627f6c5999 terminal: set b_locked when setting &buftype (#37787) - b28bbee53962 terminal: skip setting `string_initial` to false on no-op (#34176) - 4f6b3e5c15ff terminal: spurious buffer update with empty buf (#37920) - 756751afa370 terminal: stack overflow when too many csi args (#34012) - 5c156fdc6421 terminal: update size after closing window - b7124ae7684d terminal: update winopts and focus when switching terminals - b88b7f95912b terminal: wrong colors with nvim_open_term() in non-curbuf (#37579) - 67832710a5d3 terminal: wrong row in TermRequest with full scrollback (#36298) - 97d9b85bf985 terminal: wrong scrollback with BufFile* autocommand (#37601) - 54468c1c3c2e terminal: wrong scrollback with nvim_open_term() on buffer (#37791) - 8707ec264462 termkey: out-of-bounds write in array #33868 - 272e04178060 tests: don't surpress stderr output - e702f97518cd tests: ignore vector math types - 2d4b028d02c1 tests: use correct include path for unittest - d84e786112fd tests: use correct signature for unpacker_teardown() - c81af9428c08 tests: use uv.spawn instead of io.popen for unittest helpers - 61f166ec409b textformat: don't swallow "space" with auto-formatting enabled (#38181) - e5c2ce590580 treesitter: ":EditQuery [lang]" with injected languages #34914 - 08f4811061c9 treesitter: :InspectTree wrong title for non-relative path #37965 - 16aab4cb48e1 treesitter: InspectTree only show the largest injection #37906 - 60af1a1db285 treesitter: clear parse options state #33437 - 5a2edc483dff treesitter: close `:InspectTree` with `q` - b4016f4525dd treesitter: don't add final newline if not present #35970 - 28eaec5e1526 treesitter: don't memoize modified headings (#33186) - 8d75910ef968 treesitter: eliminate flicker for single windows #33842 - 5fe582448c41 treesitter: enable a gc for wasmtime - 168bf0024ece treesitter: ensure TSLuaTree is always immutable - 99e629481943 treesitter: ensure TSNode's tree is immutable - 58d85cd03dc8 treesitter: ensure window is valid in async parsing #34385 - d8e03d5d5ae1 treesitter: escape hyphen in lua pattern - 284b0e4fa25c treesitter: fix `:InspectTree` incorrect injections - 86c939ba91e9 treesitter: fix spell navigation on first line (#37361) - d0822bbd1557 treesitter: highlight group for EditQuery captures #36265 - ea878f456a8b treesitter: ignore stale fold refresh callbacks - 18e0301e1f6d treesitter: inconsistent highlight of multiline combined injection #32619 - 0977f70f4dd3 treesitter: injected lang ranges may cross capture boundaries #32549 - 2aa794826611 treesitter: invalidate conceal_lines cache earlier #33875 - 927453261558 treesitter: invalidate conceal_lines marks #33828 - 4e2ed1d03c08 treesitter: missing `nowait` for :InspectTree keymaps #36804 - 63737e6e73d4 treesitter: no injection highlighting on last line #36951 - 01817eb6f335 treesitter: normalize language aliases - cf59631f6539 treesitter: not refreshing virtualtext contents #33361 - f82219c490a5 treesitter: parser metadata annotations - de45b8e2754f treesitter: proper tree `contains()` logic with combined injections - baabc3598745 treesitter: properly clip nested injections - f2bfde9140ca treesitter: reset next_col when performing intermediate highlights - 3ec63cdab848 treesitter: run FileType autocmds in the context of `` - faae1e72a27b treesitter: scope highlight state per window #34347 - 3eab5bd38a56 treesitter: set local values of window options - 29c5559ce10c treesitter: show capture-level priorities in :Inspect #35443 - 8b41df185c30 treesitter: support multiple `@injection.content` captures - f8ac713448c9 treesitter: use metadata in :EditQuery captures #37116 - 5119c03be7a9 treesitter: use subpriorities for tree ordering - 756e1eb017aa treesitter.foldexpr: duplicate callbacks #37048 - b15b22fc73be trust: :trust command on Windows #36509 - 272dba7f07f8 trust: support for trusting directories #33617 - 03eb331abf90 tui: CSI is not ESC (sync mode) - fb5a51e77570 tui: avoid memory leak and compiler warning on Windows (#34225) - 1949452bd360 tui: avoid using uv_pipe_t as uv_tty_t (#37479) - 5048d9aa2ab2 tui: call tcdrain() on stdout and stderr on exit (#38154) - e65c0a0810cb tui: check for title support correctly (#34866) - 17e13ce3b65a tui: clear primary device callback before invoking it (#34032) - 218ff601c48b tui: do not emit resize screen sequence after host terminal is resized (#35335) - b1679f0ab6a3 tui: do not remove SIGWINCH handler when resize events are enabled (#35221) - 69bddc089fb8 tui: don't call tinput_init() twice (#36386) - 331de6afa6ff tui: don't crash when nvim__screenshot() is called with bad path (#34594) - c35dde03c800 tui: don't process UI events when suspending or stopping (#33710) - df23952ce950 tui: don't treat remote TUI as GUI (#36319) - adbd33027f5f tui: don't try to add unsupported modifiers (#33799) - 4a69847df45d tui: don't wait for DA1 response when stdin is closed (#35745) - d62bbe24cbe5 tui: enable vtpcon strikethrough feature #36762 - 82f08f33c101 tui: ensure all pending escape sequences are processed before exiting #32151 - 142f9140897e tui: feature detect vsplit scrolling in xterm-like terminals - 4b5364b42318 tui: forward C0 control codes literally (#33759) - f64475a22693 tui: handle sequence larger than entire buffer - 50a38d9698e6 tui: heap-use-after-free when resuming (#36387) - 1f0dbfea2f2e tui: log chdir failure properly #37591 - bb6f5c3b318b tui: reset cursor style on exit (#36261) - 5b5b7eb8d4b9 tui: reset cursor to default style when guicursor is disabled #38219 - 16680e57baca tui: use 0x7f as Backspace on Windows with VT input (#37679) - 460738e02de0 tui: use the correct offset for invisible cursor after sync - 2dba5abcb2ee tui: wait for embedded server's exit code - b80d390765b0 tui: wrong default input key encoding (#36440) - bff7d3fd9f20 tutor: cannot find tutors in pack/*/start/* #34689 - 4143bcbd3757 tutor: escape tutor filename #36539 - e5665754d1b2 tutor: l:lang is undefined - f2691199fadd tutor: use invalidate field in nvim_buf_set_extmark() #34989 - db1542af3d03 tutor: use legacy syntax for lesson 3.1 #34996 - 9988d7142d65 types: add missing @return annotations - ef48104c3120 types: nvim_get_win_config return type #35639 - 1427b94200d6 typval: allocated dynamic size must be at least the static size - 072f126453e8 ui: 'pumborder' parsing, shadow #36127 - 027b7d6bbb4f ui: :intro not displayed with ui2 #37472 - 531442ddd8df ui: apply 'pumborder' to mouse menu, fix overflow #36193 - 5f9f7064622c ui: check for cmdline mode properly (#35202) - 8aec33e3221f ui: clear msg_ruler event with 'rulerformat' #37675 - a8a0bba2f8e0 ui: close outdated cmdline pum on redraw (#36815) - a33e5fb1bbce ui: cmdline_block events for exmode #37751 - 8d6963a6a0f0 ui: cmdline_show is not fired after clearing the screen (#36451) - f02484118c85 ui: correct condition for "wrap" flag in a floating grid - 7ca3a56258b9 ui: don't crash if maximum UI count reached (#37636) - ad438b6b14af ui: exclude hidden windows from tabline window count #36779 - d01b2611a6d5 ui: exclude unfocusable windows from 'complete' "w" completion - c1648cf820ed ui: forward 'rulerformat' to msg_ruler event #35707 - d909de2dc271 ui: ignore textlock for vim.ui_attach() callbacks #36278 - 1a3d3b77bb8d ui: no empty message for substitution match with ext_messages #37600 - d30d91f3a49e ui: only internal messages are unsafe #37462 - 3277dc3b4ee7 ui: postpone UI callbacks during textlock #36803 - 7b8deacc3f1d ui: preview float doesn't respond to mouse scroll #38270 - 61b6553ee94b ui: proper event ordering for nested cmdline_block events (#35344) - 506dd7252a8c ui: remember cursor shape when obscured #37704 - 6657cc36712d ui: repaint separator connectors after all window updates #37852 - 424d30fe97a8 ui: send multigrid message position and size when the UI is refreshed - 1d57374c41e6 ui: textlock still causes issues for UI callbacks #37513 - 703f4037c475 ui: wincmd _ should not increase 'cmdheight' above 0 (#33056) - c87d92c3b4a9 ui.open: use "start" instead of deprecated "rundll32" #36731 - ae2829ee35c1 ui2: ENTER may focus pager in insert/terminal mode #38497 - e19803714800 ui2: always route to dialog when cmdline is open #37730 - 8c7bbfba3d02 ui2: callbacks reference stale message-window handles #37673 - 9655bd560f6c ui2: don't adjust dialog pos for pum wildmenu (#37695) - 29a46a11aa08 ui2: don't change configured message target implicitly #37924 - d8cea8d45d66 ui2: don't scroll beyond eob in dialog window #36116 - b9451dfd4c06 ui2: emit FileType event after setting default pager options #36315 - b6c020eb593a ui2: ensure expanded cmdline is closed after : (#38187) - ba6fc90b6fb7 ui2: hide search highlights in msg window #36626 - 6275f533d1a3 ui2: immediately open target windows on new tabpage (#38170) - 179e7fccd74b ui2: incomplete :echon message in g< pager #37819 - 4ef217e272c4 ui2: leftover empty lines in msg window #38059 - dff3028fe7df ui2: move windows to current tabpage - 844caca881f8 ui2: multiline/color replaced message, expanded cmdline, error messages #38044 - d80d7a3eb448 ui2: no paging in dialog below expanded cmdline #38489 - 72a557c61b42 ui2: only copy highlight marks when expanding cmdline #37709 - 301c7065cacf ui2: only highlight Ex command lines in the cmdline #38182 - c4ac36bfd9bc ui2: only redraw when necessary #36457 - 16495e686371 ui2: only set dialog on_key callback once #37905 - b2adfe775d5e ui2: show messages in dialog window when entering expanded cmdline #38465 - c94b7b93c0d9 ui2: start treesitter after deleting cmdline buffer (#36274) - ea70d2ad8581 ui2: unset Search highlighting (#36633) - 52dd62aa6ecc ui2: use pager to list consecutively typed commands #38272 - 3038f0191e9d ui2: wildmenu hidden behind dialog window #37684 - e58a84274977 ui2: wrong condition used to detect active pager - ce9dbd398b4a undo: u_savecommon uses wrong buffer - 382963891c9b undotree: check foldmethod before invoking fold (#36192) - f40672be9935 undotree: clear autocmd correctly #36124 - 645206e87f64 undotree: error on `undotree.open()` with title as string #36085 - 26bd9bfab8ce undotree: highlight extmarks like normal text #36087 - 4598305e0b65 undotree: mark title field annotation as optional (#36102) - 9c89212de1ea undotree: sync scroll pos with undo #36117 - af5ac7c7eaf2 unittests: use -1ULL to mean UNSIGNED MATH.MAX - c82f83abb0e3 ux: drop "Sorry" from messages #38318 - d93e15088855 vim-patch: add N/A files and re-sort (#37544) - d2517acdc5fb vim-patch.sh: 'vim-patch:' token for 'non-patch' commits #36534 - 8bce9342d101 vim-patch.sh: don't treat 1-file runtime-only patch as N/A (#36525) - 533cc0ab354d vim.diagnostic: improve typing - 1f9d9cb2e56c vim.fs: abspath(".") returns "/…/." #36583 - 825e182139ee vim.fs: avoid fn.fnamemodify in fs.root #37162 - dc5d313d66c6 vim.fs: joinpath() should ignore empty items #38077 - 14c708634efe vim.fs: make `rm()` work with symlink to a directory - f11f8546e7fe vim.fs: root() should always return absolute path #36466 - 28e819018520 vim.hl: nvim_buf_del_extmark on invalid buffer #33331 - da650de277b0 vim.json: fix truncation of decoded numbers outside lua_Integer's range #35702 - 7a69fefdb95d vim.json: loss of precision on integers >14 digits #34876 - 78bbe53f7615 vim.loader: randomized AppImage path pollutes luac cache #35636 - 1363ef7d50bb vim.loader: randomized AppImage path pollutes luac cache #36944 - 1fb0126a086d vim.lsp.enable: don't eagerly enable LSP configs during startup #33762 - 49756ebc70dc vim.lsp.inlay_hint: requesting inlay_hints even when disabled #32999 - 10ca09a2cbe4 vim.net: always pass response body to on_response #38460 - 69b286c3bfb3 vim.net: filetype detection, mark unmodified #36297 - 12689c73d882 vim.pack: add() stops unexpectedly on package load error #34787 - 89d26d61d271 vim.pack: increase default timeout #36992 - 8e740db70c04 vim.pack: skip checkout on bad `version` #36038 - 731e616a79d0 vim.system: clear_env=true gives an invalid env to uv.spawn #33955 - 4eebc4693000 vim.system: env=nil passes env=nil to uv.spawn - 532610388bb0 vim.system: improve error message when cwd does not exist - 223ac7782e24 vim.system: unclear non-executable message #33455 - 649ff924d990 vim.version: improve construction of '<=a.b.c' and '>a.b.c' ranges - 092962b07c57 vim.version: vim.VersionRange:has() (#33324) - e40c5cb06d1c vterm: handle split UTF-8 after ASCII properly (#37721) - d9d8c660fd55 watch: invalid joined path #37973 - bc814cfb2cfa winblend: treat braille blank (\u2800) as whitespace #32741 - de950f827236 window: avoid referencing cmdline_win after it is closed #35617 - c14de47f1a12 window: crash closing only non-float if autocmds :tabonly (#37218) - df62cb3e6944 window: crash closing split if autocmds close other splits (#37233) - 0e7479bb7637 window: crash on negative window height with 'winbar' #33250 - 4fadc21e3854 window: disallow closing autocmd window in other tabpage - bf5f7c1591d0 window: don't add a hsep when out of room if global stl is off - 0d658660c29e window: don't enter unfocusable or hidden prevwin (#34486) - b4e3461e3fdf window: don't leak fold memory with style=minimal #38287 - c7fd0c17b12f window: don't make hidden/unfocusable previous window current #36142 - 7f5b5d34cfeb window: don't store invalid height in window config (#34885) - 3a36df9b13a5 window: handle closing the only non-float in other tabpage - 9813c00dd376 window: restore b_nwindows if win_close_othertab keeps window - 403fcacfc16f window: skip unfocusable and hidden floats with "{count}w" #33810 - 84d84e9b5bef window: style=minimal window loses local options when switching buffers #38138 - da8de99d0bdc window: use real last buffer of closed window - d1189ea508c8 window: win_move_after UAF from naughty autocmds (#37065) - 52991d8728c8 windows: don't set window icon on SIGHUP #34260 - 2c04ae9fcc9c windows: wrong RT_MANIFEST ID in nvim.rc #36406 - 3325536150ed winfloat: last_status when changing split to floatwin PERFORMANCE -------------------------------------------------------------------------------- - 5edbabdbec0a add on_range in treesitter highlighting - f9ce939bf53b scheduler priority clamping on macOS #35488 - 14e94f46177d api: reduce redundant `win_find_tabpage` calls (#35643) - 4adfc4b7bcd1 events: skip Progress prep if there are no subscribers #35871 - bfe42c84de05 extui: delay creating windows, buffers and parser (#34665) - babdab2f704e filetype: vim.filetype.get_option cache miss when option value is false #37593 - f9d2115a359c highlight: allow decoration providers to skip ranges without data - 1629493f72e8 lsp: avoid textDocument/definition requests during tag completion (#37260) - f486f1742e54 lsp: include `previousResultId` in `DocumentDiagnosticParams` #32887 - 42657e70b8a8 lsp: optimize content length extraction from rpc headers - f517fcd14847 lsp: use string.buffer for rpc loop - 92e7d5eaf2a9 pack: reduce number of 'opt/' directory computations - 3aa04f7ee4b0 runtime: hardware accelerated "packadd opt_package" - 5e64d9241173 runtime: vim.trim for long only whitespace strings - d3e495ce03e3 snippet: use "[count]|" to move cursor #33571 - 098da1fc2c9b treesitter: parse multiple ranges in languagetree, eliminate flickering #36503 - e656d7be2ee1 tui: faster implementation of terminfo BUILD -------------------------------------------------------------------------------- - 4f97239661eb USE_BUNDLED_UNIBILIUM=0 fails #36623 - fb2d736481ee add script to collect typo PRs (#35824) - 813457d5a6fe adjust parallel functionaltest target names (#38144) - 8e922c657c2d allow comments in deps.txt #35765 - 3f416ef524a0 bump lua-bitop to 1.0.3 #35063 - 374e869504ed distclean: remove zig-related dirs #38013 - d589ce28b002 drop BUNDLED_CMAKE_FLAG, BUNDLED_LUA_CMAKE_FLAG - 0ddba68607a9 ensure toolchain is passed to bundled deps #37587 - 10c11c4644e3 haiku os support #36639 - 8a7c9c971f93 ignore out-of-source build folder #33191 - 8c5bd841edff lint decorations_spec etc. with lintlua (#34182) - 6b936002cc1a make build.zig generate helptags without running "nvim" binary - 1d70c96e5b39 move shared.lua to _core/ - f51c54ace654 noisy readability-implicit-bool-conversion warning #38282 - a053186aa71d redundant variable in cmake/Deps.cmake #35924 - 6063ecb64921 remove reference to runtime/indent/Makefile (#35935) - 20e77c5d886a ship "_core/*" as bytecode (built-into Nvim binary) - 1bf9a07b3e77 slience new clang-tidy warnings #34539 - 845cb5a527d2 slience some unwanted clang-tidy warnings - c56734017173 support Cygwin + bundled luajit #36417 - e91224bfaa04 support static build #34728 - 20225fc330a4 suppress -Wfree-nonheap-object false positives in lua_cjson #37250 - 092e49d020ae unset $TMUX when running tests (#34178) - 3dbba90ba764 update-alternatives during deb install #37980 - 19ba5899460f contrib: add bash completion for nvim #35843 - 4b2cbc21544f desktop: declare "Development" category #37794 - d73f2d9657ff emmyrc.json: use StyLua formatter in .emmyrc.json #35196 - 0980617c0df7 msvc: suppress msvc build warning for different enum types (#34591) - ceb7eb523049 windows: restore tee.exe on Windows #36363 - 5bb8734fb639 windows: vendor xxd.c #36746 VIM PATCHES -------------------------------------------------------------------------------- - e27e4052c852 2566a9f: check.vim: Improve po message checks - 5e6f0e58ed16 32a5faa: check.vim complains about overlong comment lines - cae4fbf973de 3456303: check.vim: Use silent command modifier - 5f86b4b70d98 4105ef1: Drop superfluous execute permissions for readable files - 282a794febc4 41adebe: check.vim: detect trailing whitespace - fc4188ded870 6f585da: Overlong translation files may cause repo to become "dirty" - c2e0fd1c35c2 7.4.1886 (#36945) - 8a4977e286fa 7a734b7: tests: fix typo in comment (after v9.1.1511) - 5299967551f2 8.0.0287: debug mode: cannot access function arguments (#36772) - c6f0a1920630 8.1.0425: ml_get error and crash with appendbufline() - 5a14a2679d6a 8.1.0579: cannot attach properties to text - 36fc266e8689 8.1.0636: line2byte() gives wrong values with text properties - b5e20d7dff32 8.1.0654: when deleting a line text property flags are not adjusted - 76729a204469 8.1.0655: when appending a line text property flags are not added - ef522420f2f5 8.1.0753: printf format not checked for semsg() (#37248) - 441d222c0df7 8.1.0857: indent functionality is not separated - 1e81b5407542 8.1.0977: blob not tested with Ruby - 0c0ef489f95f 8.1.1136: decoding of mouse click escape sequence is not tested (#35551) - b3d29f396d7d 8.1.1259: crash when exiting early (#35552) - 00c2e7d89c28 8.1.1526: no numerical value for the patchlevel - 4765d4e05997 8.1.1584: the evalfunc.c file is getting too big - 83f38800e7f9 8.1.1681: insert stray "{" when listener gets buffer line - c9b35360ac42 8.1.1700: listener callback called for the wrong buffer - 750c350be86b 8.1.1711: listener callback called at the wrong moment - b79ed66e4a21 8.1.1736: viminfo support is spread out - 89e2f346a8e1 8.1.1751: when redrawing popups plines_win() may be called often - 582e0714b5fc 8.1.1752: resizing hashtable is inefficient (#35563) - 85bd0b6a0374 8.1.1891: functions used in one file are global - f7c86742e7bf 8.1.1920: cannot always close a popup when filter consumes all events - b38ce04283e3 8.1.1939: code for handling v: variables in generic eval file (#36312) - 681ec17b507a 8.1.1940: script tests fail - 4aac5908edae 8.1.1957: more code can be moved to evalvars.c - f89e1eb036f1 8.1.1964: crash when using nested map() and filter() (#35715) - ed0f46af6280 8.1.1978: the eval.c file is too big - 183f8cc59d85 8.1.1979: code for handling file names is spread out (#36176) - 3051e8bbb11f 8.1.1981: the evalfunc.c file is too big - d06fdecb974e 8.1.2008: error for invalid range when using listener and undo - 860a7e4d210a 8.1.2021: some global functions can be local to the file - 406f9e3c8c66 8.1.2077: the ops.c file is too big - fadbc0e71734 8.1.2127: the indent.c file is a bit big - 5f3d00a5a609 8.1.2371: FEAT_TEXT_PROP is a confusing name (#35466) - c81f7aeee2d8 8.2.0098: exe stack length can be wrong without being detected (#37136) - 7048c36ba8d1 8.2.0115: byte2line() does not work correctly with text properties - 0c24ddb4d82f 8.2.0200: Vim9 script commands not sufficiently tested - 3fc3f5f194da 8.2.0223: some instructions not yet tested - d632ffa24366 8.2.0307: Python 3 vim.eval not well tested - 992eaac08218 8.2.0370: the typebuf_was_filled flag is sometimes not reset (#37404) - f3cfe9a94bd5 8.2.0371: crash with combination of terminal popup and autocmd (#37433) - f2df98e849b7 8.2.0443: clipboard code is spread out #35949 - 758e6db06c0b 8.2.0512: Vim9: no optional arguments in func type - ed012b817d70 8.2.0844: text properties crossing lines not handled correctly - 088ba835ed5f 8.2.0845: text properties crossing lines not handled correctly (#35483) - dc2d4b07a89f 8.2.0853: ml_delete() often called with FALSE argument - 474c47713420 8.2.1123: Python 3 test is old style - b95413f60198 8.2.1555: not all tests are executed on Github Actions - d65f5a06fe2b 8.2.1618: Vim9: cannot pass "true" to setloclist() - ffb45263767d 8.2.1667: local function name cannot shadow a global function name - 865a28155e7b 8.2.1672: v_lock is used when it is not initialized (#35416) - 8d3742ae8da4 8.2.1679: ":*" is not recognized as a range (#37052) - b95848a8f11d 8.2.1756: Vim9: :let will soon be disallowed (#37063) - 7ae8860674e2 8.2.1912: with Python 3.9 some tests fail - d6607dae41ed 8.2.1939: invalid memory access in Ex mode with global command - 1b1a8895bdd8 8.2.1941: Ex mode test fails on MS-Windows with GUI - 3694fcec2867 8.2.1983: ml_get error when using to open a terminal (#34759) - ff8edbaa6ce8 8.2.2198: ml_get error when resizing window and using text property - b3490536b923 8.2.2403: Vim9: profiling if/elseif/endif not correct - 1ae7c11392eb 8.2.2404: Vim9: profiling try/catch not correct - ffdee3a2e1bd 8.2.2409: Vim9: profiling only works for one function - 8b79c3273586 8.2.2411: profile test fails on MS-Windows - b764a1ba932a 8.2.2423: missing error message - 7995e7a89bfe 8.2.2456: Coverity warning for strcpy() into fixed size array - dccc35e6e93d 8.2.2571: test may leave file behind - d7cf1b31d5ca 8.2.2834: Vim9: :cexpr does not work with local variables - 9a5b3a39f32b 8.2.2905: no error when defaults.vim cannot be loaded - 525c348c29a6 8.2.2992: Vim9: completion for :disassemble is incomplete - b480b0cd5d12 8.2.3159: cursor displayed in wrong position after deleting line - e77d15cc5d63 8.2.3348: line2byte() returns wrong value after adding textprop - cd25ca5e0caf 8.2.3377: Vim9: :disass completion does not understand "s:" - 4f71d9ce355d 8.2.3383: Vim9: completion for :disassemble adds parenthesis - e0dcdef1810b 8.2.3431: completion for :disas sorts local functions first - cba2f65ee4da 8.2.3602: Python3 test fails with Python 3.10 on MS-Windows - 398cf6d8d39e 8.2.3657: Vim9: debug text misses one line of return statement - a331d187ba75 8.2.3662: illegal memory access if malloc() fails (#36939) - 9f84e01dfb0d 8.2.3673: crash when allocating signal stack fails - f15c28ed7a85 8.2.3766: converting a funcref to a string leaves out "g:" - a274bdf2d16b 8.2.3767: crash when using NULL partial - 15d3a83999db 8.2.3795: too many #ifdefs - 992543c36163 8.2.3841: Vim9: outdated TODO items, disabled tests that work (#37900) - f211af3ab747 8.2.3962: build fails for missing error message - 24675ffa97d4 8.2.3968: build failure - 09964b7ef0e3 8.2.4379: an empty change is reported to a listener - 08eb133c3f7c 8.2.4474: memory allocation failures not tested in quickfix code - ce0599082303 8.2.4528: crash when using null_function for a partial - 7ce17cd2a265 8.2.4529: Vim9: comparing partial with function fails - 2ba44af7e05d 8.2.4548: script-local function is deleted when used in a funcref - 0c70fbf0d639 8.2.4633: Visual range does not work before command modifiers - 78292dcc3d0e 8.2.4636: not using Visual range - 0fa678c02f56 8.2.4637: warning for using uninitialized variable - cc95a7d8b8a5 8.2.4738: Esc on commandline executes command instead of abandoning it - cd543d618dcf 8.2.4763: using invalid pointer with "V:" in Ex mode - ffdb316491a1 8.2.4772: old Coverity warning for not checking ftell() return value - e96c61d92d4f 8.2.4773: build failure without the +eval feature - a979a6237e63 8.2.4785: Visual mode not stopped if win_gotoid() goes to other buffer (#37073) - 90b1202cfb66 8.2.4851: compiler warning for uninitialized variable - b6d0c391fc12 8.2.4878: valgrind warning for using uninitialized variable - eb67f3a6ba52 8.2.5017: gcc 12.1 warns for uninitialized variable - edd99f09c7ac 8.2.5092: using "'<,'>" in Ex mode may compare unrelated pointers - f4a33929d9cd 8.2.5161: might still access invalid memory - 26641c0c5614 9.0.0010: returning 0 for has('patch-9.0.0') is inconsistent - 2c560d85447f 9.0.0025: accessing beyond allocated memory with the cmdline window - 0d3ee2686092 9.0.0057: has('patch-xxx') returns true - 96a514ed464d 9.0.0106: illegal byte regexp test doesn't fail when fix is reversed - d4a8d169a297 9.0.0113: has() is not strict about parsing the patch version - 899ec829be85 9.0.0145: substitute that joins lines drops text properties (#37108) - efacb1070926 9.0.0154: text properties wrong after splitting a line - 27eb0aba3c1b 9.0.0433: Coverity warns for not checking allocation failure - 9b15d4c756a6 9.0.0688: debugger does not display the whole command - 58ee249c2cd9 9.0.0729: the rightleft and arabic features are disabled - f60051e00d1a 9.0.0874: using freed memory when executing unmenu at more prompt - e51f5e17e184 9.0.0909: error message for layout change does not match action (#37436) - 72d3506ce945 9.0.1033: tiny build fails because of conflicting typedef - 3ac981e83810 9.0.1066: test function name is wrong - 69bed0431c4d 9.0.1427: warning for uninitialized variable - 08e193633b76 9.0.1480: using popup menu may leave text in the command line - 827cfe4a7644 9.0.1653: Amiga: default 'viewdir' may not work - bd0555ecd497 9.0.1654: MS-Windows: test for default 'viewdir' fails - b869cf8ddc9c 9.0.1689: python 3.12 produces warnings and fails test - 53fd3657ccf5 9.0.1758: vim9 no class identifiers in stack dumps - 1afdcb8f2b3b 9.0.1899: potential buffer overflow in PBYTE macro - 7c38f428f445 9.0.2023: need more tests for :cq - d6e5286d2c53 9.1.0059: No event triggered before creating a window - 3e655d3e42ee 9.1.0063: GTK code can be improved - 4544cec168e0 9.1.0117: Stop split-moving from firing WinNew and WinNewPre autocommands - 60a0e3d0a0f7 9.1.0151: ml_get_buf_len() does not consider text properties (#37094) - 2a28149efc70 9.1.0359: MS-Windows: relative import in a script sourced from a buffer doesn't work - 453dfbf7d668 9.1.0535: newline escape wrong in ex mode - 6ce964aed6aa 9.1.0539: Not enough tests for what v9.1.0535 fixed - 17601e709f5d 9.1.0546: vim-tiny fails on CTRL-X/CTRL-A - d5a6040967d8 9.1.0598: fuzzy completion does not work with default completion - a9aedfbc5880 9.1.0605: internal error with fuzzy completion - 9757b11aaf58 9.1.0631: wrong completion list displayed with non-existing dir + fuzzy completion - d9f4c1db23bf 9.1.0634: Ctrl-P not working by default - f4ddbaeb9e3d 9.1.0654: completion does not respect completeslash with fuzzy - 786c5fbdec79 9.1.0671: Problem: crash with WinNewPre autocommand - 69a9a25fccd3 9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft' - 71662bbb4903 9.1.0695: tests: test_crash leaves Untitled file around - 50423942418b 9.1.0697: [security]: heap-buffer-overflow in ins_typebuf (#37372) - 532cc88604c6 9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone - 11b369925287 9.1.0700: crash with 2byte encoding and glob2regpat() - 0de85e322a83 9.1.0701: crash with NFA regex engine when searching for composing chars - 8c31b3eeac4e 9.1.0702: Patch 9.1.0700 broke CI - 094d3dd3d413 9.1.0703: crash with 2byte encoding and glob2regpat() - 767a52ba3086 9.1.0705: Sorting of fuzzy filename completion is not stable - 0eb708aa8a1a 9.1.0721: tests: test_mksession does not consider XDG_CONFIG_HOME - fbac2545110b 9.1.0733: keyword completion does not work with fuzzy - 70bb7999f7ec 9.1.0748: :keep* commmands are sometimes misidentified as :k - 62822d750d4e 9.1.0877: tests: missing test for termdebug + decimal signs - 94f7302e6696 9.1.0893: No test that undofile format does not regress (#37193) - c5dbee7910b1 9.1.0918: tiny Vim crashes with fuzzy buffer completion - 9cc93b6def0c 9.1.0974: typo in change of commit v9.1.0873 - 44f70b4be146 9.1.1006: PmenuMatch completion highlight can be combined - c17caca9b7a5 9.1.1008: tests: test for patch 9.1.1006 doesn't fail without the patch - 20a7e7444419 9.1.1043: [security]: segfault in win_line() - 30293575204b 9.1.1131: potential out-of-memory issue in search.c - 0af6d6ff5e0a 9.1.1147: preview-window does not scroll correctly - 90d59e6c8aa6 9.1.1178: not possible to generate completion candidates using fuzzy matching - 17db70f3af38 9.1.1181: Unnecessary STRLEN() calls in insexpand.c - 10fde593f177 9.1.1182: No cmdline completion for 'completefuzzycollect' - cd95ea5d48da 9.1.1185: endless loop with completefuzzycollect and no match found - 28f61994748e 9.1.1197: process_next_cpt_value() uses wrong condition - e39cdafed968 9.1.1201: 'completefuzzycollect' does not handle dictionary correctly - e3990f8643c9 9.1.1202: Missing TabClosedPre autocommand - 0d3ed7904a17 9.1.1211: TabClosedPre is triggered just before the tab is being freed - dc00b379658f 9.1.1212: filetype: logrotate'd pacmanlogs are not recognized (#33412) - 162edf7b30dd 9.1.1214: matchfuzzy() can be improved for camel case matches - f9280cde0ae1 9.1.1217: tests: typos in test_matchfuzzy.vim - 797195e0ea55 9.1.1219: Strange error with wrong type for matchfuzzy() "camelcase" - 750e1836afb4 9.1.1224: cannot :put while keeping indent (#33076) - 0af780e8df84 9.1.1228: completion: current position column wrong after got a match - 2331c52affe6 9.1.1243: diff mode is lacking for changes within lines - b20fc95c1a20 9.1.1245: need some more tests for curly braces evaluation - e2e0f92f17c8 9.1.1246: coverity complains about some changes in v9.1.1243 - ae98d0a560b0 9.1.1247: fragile setup to get (preferred) keys from key_name_entry (#33102) - e4172bcbdf1c 9.1.1249: tests: no test that 'listchars' "eol" doesn't affect "gM" - 62da4e2949cc 9.1.1250: cannot set the maximum popup menu width - cb31663663b9 9.1.1252: typos in code and docs related to 'diffopt' "inline:" (#33143) - 36d143e70722 9.1.1253: abort when closing window with attached quickfix data - 675ee057e065 9.1.1255: missing test condition for 'pummaxwidth' setting - 52b19e012474 9.1.1257: Mixing vim_strsize() with mb_ptr2cells() in pum_redraw() - 89bc9455543a 9.1.1258: regexp: max \U and \%U value is limited by INT_MAX (#33156) - 431c037709d1 9.1.1260: Hang when filtering buffer with NUL bytes (#33192) - e4f37481ff37 9.1.1261: No test for 'pummaxwidth' non-truncated items (#33193) - b64c2d763e8f 9.1.1262: heap-buffer-overflow with narrow 'pummaxwidth' value - 76cbe9c8f874 9.1.1263: string length wrong in get_last_inserted_save() (#33194) - 8a40213eb38d 9.1.1265: tests: no tests for typing normal char during completion (#33239) - e5ddf7ae7dbd 9.1.1266: MS-Windows: type conversion warnings (#33264) - 5cdfa3324f4c 9.1.1268: filetype: dax files are not recognized - 8cf413e450bf 9.1.1269: completion: compl_shown_match is updated when starting keyword completion - 4983fa45fcfb 9.1.1271: filetype: Power Query files are not recognized - b01921cb55d7 9.1.1272: completion: in keyword completion Ctrl_P cannot go back after Ctrl_N - e8785c2e9450 9.1.1276: inline word diff treats multibyte chars as word char (#33323) - 00eff4b19652 9.1.1283: quickfix stack is limited to 10 items - 1c723b2e6f51 9.1.1284: not possible to configure pum truncation char - 8af9f8ab5ecd 9.1.1286: filetype: help files not detected when 'iskeyword' includes ":" (#33377) - 454abde1aa99 9.1.1287: quickfix code can be further improved - c73a82756408 9.1.1288: Using wrong window in ll_resize_stack() (#33397) - 51a967d58acc 9.1.1289: tests: no test for matchparen plugin with WinScrolled event (#33411) - 7c15987444ff 9.1.1290: tests: missing cleanup in test_filetype.vim (#33420) - aba33c72f0d0 9.1.1291: too many strlen() calls in buffer.c - f3b38b46ebbe 9.1.1292: statusline not correctly evaluated - 6e5671b00df1 9.1.1296: completion: incorrect truncation logic - aa47c8efa90f 9.1.1297: Ctrl-D scrolling can get stuck #33453 - fd76646a95e3 9.1.1298: define_function() is too long (#33457) - 287955cfb401 9.1.1299: filetype: mbsyncrc files are not recognized - 9272dc959729 9.1.1300: wrong detection of -inf (#33474) - 7651c432525f 9.1.1301: completion: cannot configure completion functions with 'complete' - c249389adb8a 9.1.1302: Coverity warns about using uninitialized value - d2d1b5e944b5 9.1.1303: missing out-of-memory check in linematch.c (#33487) - 7da1639a14f9 9.1.1304: filetype: some man files are not recognized - b0f97177d470 9.1.1305: completion menu active after switching windows/tabs (#33488) - 54d605509828 9.1.1306: completion menu rendering can be improved - e3e8dfe99c89 9.1.1307: make syntax does not reliably detect different flavors (#33498) - 1de276bbcd8f 9.1.1308: completion: cannot order matches by distance to cursor (#33491) - afca5b564e76 9.1.1309: tests: no test for 'pummaxwidth' with non-truncated "kind" - f9f6dc4262ea 9.1.1310: completion: redundant check for preinsert effect (#33505) - b6acf6112bf6 9.1.1311: completion: not possible to limit number of matches - 95a255a54840 9.1.1312: tests: Test_backupskip() fails when HOME is defined (#33504) - 857ff5cae936 9.1.1313: compile warning about uninitialized value - ccdb37b075c6 9.1.1314: max allowed string width too small - b4c759716a9e 9.1.1315: completion: issue with fuzzy completion and 'completefuzzycollect' (#33520) - e2e6c159d3dc 9.1.1317: noisy error when restoring folds from session fails - 0251a25541a3 9.1.1318: tests: test_format fails - c67398d31bd9 9.1.1319: Various typos in the code, issue with test_inst_complete.vim (#33527) - 255bf6e5b11e 9.1.1320: filetype: alsoft config files are not recognized - 1b0dedb81c12 9.1.1321: filetype: MS ixx and mpp files are not recognized - dca8b3fede61 9.1.1322: small delete register cannot paste multi-line correctly (#33531) - 328640aed0ff 9.1.1323: b:undo_ftplugin not executed when re-using buffer - da20804a6abb 9.1.1325: tests: not checking error numbers properly - d3cded796c3b 9.1.1326: invalid cursor position after 'tagfunc' (#33556) - 9fafdcb99cc9 9.1.1327: filetype: nroff detection can be improved - 98ec3fdf744f 9.1.1328: too many strlen() calls in indent.c (#33563) - f3c4fec43ffe 9.1.1329: cannot get information about command line completion - 07d60e8f195c 9.1.1331: Leaking memory with cmdcomplete() - 63689deb4573 9.1.1337: Undo corrupted with 'completeopt' "preinsert" when switching buffer (#33600) - 3d126ec89f23 9.1.1338: Calling expand() interferes with cmdcomplete_info() - ac8ae1596cda 9.1.1340: cannot complete :filetype arguments (#33602) - fcabbc2283c5 9.1.1341: cannot define completion triggers - 41179a6bc125 9.1.1342: Shebang filetype detection can be improved - 4ddd31de14dc 9.1.1343: filetype: IPython files are not recognized - 31e31273bc03 9.1.1344: double free in f_complete_match() (after v9.1.1341) - 766cd01ff2ff 9.1.1346: missing out-of-memory check in textformat.c (#33639) - d75410b0918c 9.1.1349: CmdlineLeavePre may trigger twice - c64cada12e8c 9.1.1350: tests: typo in Test_CmdlineLeavePre_cabbr() - afcc4e95d5cb 9.1.1351: Return value of getcmdline() inconsistent in CmdlineLeavePre - d107375f0cb2 9.1.1353: missing change from v9.1.1350 - 65a4c8f3caf8 9.1.1357: Vim incorrectly escapes tags with "[" in a help buffer - 074a6abd55af 9.1.1359: filetype: GNU Radio config files are not recognized - da3eeb4b32bd 9.1.1360: filetype: GNU Radio companion files are not recognized - 627c648252e1 9.1.1361: [security]: possible use-after-free when closing a buffer (#33820) - 73f2286f08ca 9.1.1370: CI Tests favor GTK2 over GTK3 - 6b955af8755b 9.1.1373: 'completeopt' checking logic can be simplified - 15d31fe7a6c8 9.1.1374: completion: 'smartcase' not respected when filtering matches - 05dab80d8d8f 9.1.1375: [security]: possible heap UAF with quickfix dummy buffer - d95b0a5396ec 9.1.1376: quickfix dummy buffer may remain as dummy buffer - 8605f5655bd8 9.1.1378: sign without text overwrites number option (#33942) - ef5c5dc99b48 9.1.1380: 'eventignorewin' only checked for current buffer - 4b3a9ac4133c 9.1.1381: completion: cannot return to original text (#33966) - e4c4d672b581 9.1.1383: completion: 'isexpand' option does not handle space char correct (#33999) - e01f196e445a 9.1.1384: still some problem with the new tutors filetype plugin - d539a952da25 9.1.1385: inefficient loop for 'nosmoothscroll' scrolling (#33992) - 6b9665a507b1 9.1.1387: memory leak when buflist_new() fails to reuse curbuf - f87b6230f124 9.1.1388: Scrolling one line too far with 'nosmoothscroll' page scrolling (#34023) - f2aec4bc0579 9.1.1389: completion: still some issue when 'isexpand' contains a space (#34026) - 2fda267faf0b 9.1.1393: missing test for switching buffers and reusing curbuf - ec5f054dc957 9.1.1395: search_stat not reset when pattern differs in case (#34058) - 99384fcd9c29 9.1.1396: 'grepformat' is a global option (#34060) - dc6885dc24c9 9.1.1398: completion: trunc does not follow Pmenu highlighting attributes (#34084) - 153a91089768 9.1.1402: multi-byte mappings not properly stored in session file (#34131) - f791ae82e5b1 9.1.1404: wrong link to Chapter 2 in new-tutor - 071dcab68f81 9.1.1405: tests: no test for mapping with special keys in session file (#34146) - bd01bd656479 9.1.1407: Can't use getpos('v') in OptionSet when using setbufvar() (#34177) - f2373a89d783 9.1.1408: not easily possible to complete from register content (#34198) - eeff6ca8ff90 9.1.1409: using f-flag in 'complete' conflicts with Neovim - 2411f924a320 9.1.1410: out-of-bounds access with 'completefunc' - c4e52d604c9a 9.1.1413: spurious CursorHold triggered in GUI on startup (#34195) - bec1449cc510 9.1.1416: completion limits not respected for fuzzy completions - 6c4ddf607f0b 9.1.1417: missing info about register completion in complete_info() (#34219) - 2763d061008a 9.1.1419: It is difficult to ignore all but some events (#34245) - 0471cc75954d 9.1.1420: tests: could need some more tests for shebang lines - f1f106be3d24 9.1.1421: tests: need a test for the new-style tutor.tutor (#34267) - 9bfd0162dc11 9.1.1422: scheduling of complete function can be improved - 525c02a89f96 9.1.1424: PMenu selection broken with multi-line selection and limits - eb108528044d 9.1.1426: completion: register contents not completed - 97ca92f9ddd7 9.1.1428: completion: register completion needs cleanup - f89381e05cb5 9.1.1431: Hit-Enter Prompt when loading session files - 1c417b565ec8 9.1.1432: GTK GUI: Buffer menu does not handle unicode correctly (#34313) - 6171ab7f4ec6 9.1.1433: Unnecessary :if when writing session - 552983515f2a 9.1.1435: completion: various flaws in fuzzy completion (#34335) - 2b79d9ba1a03 9.1.1437: MS-Windows: internal compile error in uc_list() (#34379) - d2dad3089841 9.1.1439: Last diff folds not merged (#34380) - bcfc22853af1 9.1.1441: completion: code can be improved - 78e2f6251675 9.1.1442: tests: Test_diff_fold_redraw() is insufficient (#34407) - 7a58cf4b962c 9.1.1443: potential buffer underflow in insertchar() (#34408) - 72f4bb9ae861 9.1.1444: Unused assignment in set_fuzzy_score() - bcba067dc212 9.1.1445: negative matchfuzzy scores although there is a match (#34409) - 2c80b05cbd9a 9.1.1446: filetype: cuda-gdb config files are not recognized - ac772706cccb 9.1.1447: completion: crash when backspacing with fuzzy completion - 5075043823c0 9.1.1449: typo in pum_display() - 612f8e7c9e81 9.1.1450: Session has wrong arglist with :tcd and :arglocal (#34430) - 1abcd9fe28b1 9.1.1452: completion: redundant check for completion flags (#34434) - 3a2ac2300b7b 9.1.1454: tests: no test for pum at line break position (#34462) - 3e984cf02bdc 9.1.1463: Integer overflow in getmarklist() after linewise operation (#34532) - ae0981070e25 9.1.1464: gv does not work in operator-pending mode (#34534) - 5cf135f9a0ac 9.1.1466: filetype: not all lex files are recognized - fb8dba413f2b 9.1.1467: too many strlen() calls (#34572) - 487112d6749d 9.1.1468: filetype: bright(er)script files are not recognized - 8ed6f00ab06d 9.1.1471: completion: inconsistent ordering with CTRL-P (#34571) - ee2fc31b3664 9.1.1473: inconsistent range arg for :diffget/diffput (#34588) - 534ec8d44725 9.1.1475: completion: regression when "nearest" in 'completeopt' (#34607) - 7f3249fa0de0 9.1.1476: missing out-of-memory checks in cmdexpand.c (#34624) - 7138cdaef84b 9.1.1477: no easy way to deduplicate text - 11f8e8eb6316 9.1.1478: Unused assignment in ex_uniq() - a0f3fdba582f 9.1.1479: regression when displaying localized percentage position - 3bf27b2c74aa 9.1.1481: gcc complains about uninitialized variable - 0b91e9f83b88 9.1.1482: scrolling with 'splitkeep' and line() (#34670) - a565774bfc17 9.1.1483: not possible to translation position in buffer (#37099) - 504327020d6c 9.1.1484: tests: Turkish locale tests fails on Mac - dd707246fd83 9.1.1490: 'wildchar' does not work in search contexts - ee717447dd7e 9.1.1491: missing out-of-memory checks in cmdexpand.c - 9a44bbd57410 9.1.1493: manually comparing positions on buffer - 66f02ee1fea2 9.1.1498: completion: 'complete' funcs behave different to 'omnifunc' (#34718) - da42f99eb414 9.1.1501: filetype: flix files are not recognized - 18cfbf8fb2c7 9.1.1502: filetype: quickbms files are not recognized - 0a14ac326106 9.1.1503: filetype: haxe files are not recognized - fc1be07d28ac 9.1.1504: filetype: numbat files are not recognized - 6ebcb4a4d6ce 9.1.1505: not possible to return completion type for :ex command - eef62e815df0 9.1.1506: tests: missing cleanup in Test_search_cmdline_incsearch_highlight() (#34748) - bb75610d998c 9.1.1507: symlinks are resolved on :cd commands (#34758) - c48dea20f5ad 9.1.1508: string manipulation can be improved in cmdexpand.c (#34755) - 9c04eb02adde 9.1.1509: patch 9.1.1505 was not good - 46727a7feb15 9.1.1510: Search completion may use invalid memory - 11e967d5af19 9.1.1511: tests: two edit tests change v:testing from 1 to 0 - 85e6feedb0de 9.1.1512: completion: can only complete from keyword characters (#34798) - cf5506f0fde1 9.1.1516: tests: no test that 'incsearch' is updated after search completion (#34808) - 3177841bdf35 9.1.1517: filetype: autopkgtest files are not recognized - 6fd2a3040f7d 9.1.1518: getcompletiontype() may crash (#34819) - 842ca1fd5cfb 9.1.1519: tests: Test_termdebug_decimal_breakpoints() may fail - 27daeb0d688e 9.1.1520: completion: search completion doesn't handle 'smartcase' well (#34840) - c3c8d25293fd 9.1.1521: completion: pum does not reset scroll pos on reopen with 'noselect' (#34836) - ef0ec7edac5b 9.1.1526: completion: search completion match may differ in case - 5fe310c5e689 9.1.1528: completion: crash with getcompletion() - db7c2acbc610 9.1.1532: termdebug: not enough ways to configure breakpoints (#34851) - 00f8f94d5b06 9.1.1535: the maximum search count uses hard-coded value 99 (#34873) - d4074b812d0b 9.1.1538: tests: string options in gen_opt_test.vim not fully sorted (#34891) - f487ae90cfc4 9.1.1539: completion: messages don't respect 'shm' setting (#34923) - 7631302ad620 9.1.1544: :retab cannot be limited to indentation only (#34939) - 4195b82ec9ed 9.1.1548: filetype: OpenFGA files are not recognized - 8bccd0797252 9.1.1549: filetype: pkl files are not recognized - 8964ad45dab9 9.1.1550: defaults: 'showcmd' is not enabled in non-compatible mode on Unix - 5cfdd4d8b901 9.1.1551: [security]: path traversal issue in zip.vim (#34951) - 77c6cae25bc3 9.1.1552: [security]: path traversal issue in tar.vim - 436ae1d23e30 9.1.1554: crash when omni-completion opens command-line window - fcec1610e7ba 9.1.1555: completion: repeated insertion of leader (#34962) - e6ce067f02ed 9.1.1556: string handling in cmdexpand.c can be improved (#34966) - 4f0ab9877bef 9.1.1557: not possible to anchor specific lines in diff mode (#34967) - be3586431896 9.1.1559: tests: Test_popup_complete_info_01() fails when run alone - 9d1333a385fc 9.1.1563: completion: ruler may disappear (#34977) - b91613f42c33 9.1.1567: crash when using inline diff mode (#35005) - 0f9b5dd0b4b8 9.1.1570: Copilot suggested some improvements in cmdexpand.c (#35006) - bbc368dfce25 9.1.1571: CmdlineChanged triggered to often - b6b793634a63 9.1.1572: expanding $var does not escape whitespace for 'path' (#35010) - 22d1fb8c014f 9.1.1573: Memory leak when pressing Ctrl-D in cmdline mode - 9377db254509 9.1.1576: cannot easily trigger wildcard expansion (#35022) - f7af0cff359f 9.1.1590: cannot perform autocompletion (#35141) - e40199c6c6cd 9.1.1594: completion: search completion throws errors (#35198) - 5aaee7d2afdd 9.1.1596: tests: Test_search_wildmenu_iminsert() depends on help file (#35210) - 1f7ab25915f1 9.1.1598: filetype: waybar config file is not recognized - 53ac2ad20ab2 9.1.1599: :bnext doesn't go to unlisted help buffers (#35216) - 52c251909572 9.1.1600: using diff anchors with hidden buffers fails silently (#35218) - 7230296bdb71 9.1.1601: Patch v8.1.0425 was wrong - 62f2b10db3f3 9.1.1602: filetype: requirements-*.txt files are not recognized - b1e35cbd7b32 9.1.1603: completion: cannot use autoloaded funcs in 'complete' F{func} - 36361d6e4a18 9.1.1604: completion: incsearch highlight might be lost (#35236) - 798cb0f19a3b 9.1.1605: cannot specify scope for chdir() (#35239) - e3913c0fc22f 9.1.1606: filetype: a few more files are not recognized (#35268) - e7dfbf13439f 9.1.1607: :apple command detected as :append (#35237) - fe42c81f2e07 9.1.1608: No command-line completion for :unsilent {command} - 5f23aaba00dc 9.1.1609: complete: Heap-buffer overflow with complete function - 1969f685af98 9.1.1610: completion: hang or E684 when 'tagfunc' calls complete() (#35243) - 77500c5ad5c6 9.1.1611: possible undefined behaviour in mb_decompose() (#35275) - 1eca030fb2dd 9.1.1612: Ctrl-G/Ctrl-T do not ignore the end search delimiter - 9e8d551b1eef 9.1.1613: tests: test_search leaves a few swapfiles behind - f79430e2ce2e 9.1.1615: diff format erroneously detected (#35276) - f0d834198438 9.1.1618: completion: incorrect selected index returned from complete_info() (#35284) - dae79f2b67ba 9.1.1619: Incorrect E535 error message (#35285) - 47e3aecb78c7 9.1.1620: filetype: composer.lock and symfony.lock files not recognized (#35291) - dd306bd48abc 9.1.1621: flicker in popup menu during cmdline autocompletion - 9d85f086d9a9 9.1.1622: Patch v9.1.1432 causes performance regressions (#35288) - 013af17ed906 9.1.1623: Buffer menu does not handle unicode names correctly (#35353) - 50ceac4054fd 9.1.1625: Autocompletion slow with include- and tag-completion (#35318) - 35be59cc7b8d 9.1.1626: cindent: does not handle compound literals (#35319) - 869000e7ce4e 9.1.1627: fuzzy matching can be improved - 2619a749a532 9.1.1628: fuzzy.c has a few issues - e38e65b86c47 9.1.1630: tests: fuzzy bufname completion test doesn't match successfully - 7afcfb6c9ac5 9.1.1632: memory leak in fuzzy.c - 8d154e5927d7 9.1.1633: Search pattern shown incorrectly with negative offset (#35337) - 4019d3050d19 9.1.1638: completion: not possible to delay the autcompletion - 577f9fa1becf 9.1.1640: Unicode has deprecated some code-points (#35358) - 37119ad0d24f 9.1.1645: fuzzy.c can be further improved (#35371) - 43bf045005b0 9.1.1646: MS-Windows: completion cannot handle implicit drive letters - ba25f3e4d40f 9.1.1647: filetype: Cangjie files are not recognized - 3e57c5216fad 9.1.1648: MS-Windows: some style issues with patch v9.1.1646 - 25bc41847e49 9.1.1649: attrs allocation and fuzzy growarray could leak (#35383) - 6ef996a082e3 9.1.1657: Autocompletion adds delay - b9699d5701bb 9.1.1665: Outdated comment in eval.c (#35436) - 639f9f4cdaa3 9.1.1667: Another outdated comment in eval.c (#35438) - 963ead29d9f0 9.1.1670: completion: autocomplete breaks second completion - 810a234978d3 9.1.1672: completion: cannot add timeouts for 'cpt' sources (#35447) - 3b5337ab6c0a 9.1.1676: completion: long line shown twice - 29f30ad91c59 9.1.1679: unclear what key causes CmdlineLeave autocommand (#35677) - 523371b0447e 9.1.1681: tests: no test for actually moving cursor with 'acl' (#35452) - 821bfc02fbae 9.1.1685: Missing changes from PR 18068 (#35482) - dab31a363793 9.1.1687: filetype: autoconf filetype not always correct - 4263ec21c238 9.1.1688: potential buffer overrun in bufwrite.c (#35497) - c74192788314 9.1.1689: CmdlineChanged not triggered by (#35496) - b116ed7b126e 9.1.1690: Missing recursion guard in dos/unix_expandpath() (#35499) - 8a1afac65361 9.1.1693: tests: test_filetype fails in shadow dir - 117b129378be 9.1.1694: filetype: Buck eXtension Lang files are not recognized (#35504) - 3586e047e64d 9.1.1695: Need more Vim script specific tests (#35500) - 61712cbc3abc 9.1.1697: tests: no test for aclocal.m4 - 2ac00f13502f 9.1.1698: Some error numbers are not documented (#35522) - 24020ef2dd3d 9.1.1700: Multiline ignorecase specific pattern does not match with 'ignorecase' (#35520) - c96136140691 9.1.1701: tests: failure on CI with GUI and ASAN in test_edit.res - a3b115994950 9.1.1702: tests: test_edit still fails on CI - c333d64663d3 9.1.1709: filetype: kyaml files are not recognized - 68a2e0ef7821 9.1.1713: filetype: fvwm2m4 files are no longer detected - 1359578abbcf 9.1.1714: completion: wildmode=longest:full selects wrong item - 8fc1db043a50 9.1.1717: filetype: AWS cli alias file is not recognized #35581 - 06df3376170f 9.1.1718: filetype: kubectl config file is not recognized #35583 - c4c69c5012e2 9.1.1724: Compiler warning about ununitialized variable in ex_docmd. (#35595) - 17da1ad8f44f 9.1.1730: filetype: vivado journal/log files are not recognized (#35613) - 0bf4b7898cd6 9.1.1731: Not using const qualifier for opchars (#35634) - 0bafbe872b2f 9.1.1732: filetype: .inc file detection can be improved (#35635) - 51af2797c2fe 9.1.1734: Memory leak when allocating match fails (#35646) - f2bda1effc17 9.1.1737: Patch v9.1.1714 introduce a regression for wildmenu - b51eba927324 9.1.1738: cmdline-autocompletion breaks history navigation - d784ed7013b1 9.1.1739: Matches may be listed twice with wildmode=longest,list - 18f24b85c34a 9.1.1740: Memory leak with wildmode=longest,full and wildoptions=pum - eb19206e032a 9.1.1742: complete: preinsert does not work well with 'autocomplete' (#35692) - 223f9622df50 9.1.1744: tests: Test_skip_wildtrigger_hist_navigation() may fail - f6ed46c2a747 9.1.1747: completion: redo (.) broken with preinsert and autocompletion (#35698) - 5a7586a10960 9.1.1750: completion: preinserted text highlighed using ComplMatchIns - e084a99040db 9.1.1751: potential buffer-overflow in find_pattern_in_path() (#35705) - aa33ea86e1ce 9.1.1752: tests: need another test for v9.1.1750 behaviour - cf9b7a37cc3c 9.1.1753: defaults: 'diffopt' option value can be improved (#35727) - ae588c183f03 9.1.1754: :helptags doesn't skip examples with syntax - 7b8b9d270f6e 9.1.1758: Diff mode crashes when adding text property in autocommand (#35760) - 61d7d983d6b7 9.1.1761: 'ruler' is set in defaults.vim - 051b8b88c812 9.1.1762: completion: selected item not cleared on with 'ac' - 114336ac1d26 9.1.1763: filetype: kitty config files are not recognized - e7ff13270824 9.1.1764: filetype: CODEOWNERS file not recognized (#35789) - 95267b664cc1 9.1.1769: completion: "preinsert" insert wrong word with 'smartcase' and 'autocomplete' (#35834) - 0763a85f43fb 9.1.1771: complete: some redraw issues with 'autocomplete' - e2166661d483 9.1.1772: completion: inconsistent selection of first item with 'autocomplete' (#35835) - c9f62674028d 9.1.1773: Crash in BufLeave after BufUnload closes other windows (#35830) - 39a21d749d9f 9.1.1774: cannot calculate sha256 of a Blob - e3f15d5424ca 9.1.1775: filetype: Mamba configuration files are not recognized #35829 - f91d416403e9 9.1.1776: completion: "adding" expansion doesn't work with cfc=keyword (#35850) - d3bd1fba6acb 9.1.1777: Mouse click to open fold doesn't work with utf-8 "foldclose" chars (#35851) - a5955e5cc533 9.1.1778: sha256() treats empty blob and null blob differently - a70997442e0c 9.1.1779: completion: 'autocomplete' cannot be enabled per buffer (#35853) - e887602eb545 9.1.1780: mbyte contains overlapping list of utf_classes table (#35869) - 0f01cc85bdee 9.1.1781: some functions could be defined static - 7cdf3bb68a15 9.1.1783: ins_compl_leader() too far away from ins_compl_leader_len() - 0c23b863f472 9.1.1787: filetype: not all Sway config files are recognized - d9fa4956084e 9.1.1790: completion: Enter does not insert match with "noinsert" (#35917) - 7b9c063d1160 9.1.1797: completion: autocompletion can be improved - 2aab242a0110 9.1.1798: Wrong display with 'sms' and long wrapped virt text at EOL (#35930) - 35fc4fda999f 9.1.1799: completion: crash with autcompletion (#35963) - f30a33858f23 9.1.1800: completion: strange behaviour with 'ac' completeopt=longest,preinsert - 0fa0717d4ed7 9.1.1802: 'nowrap' in a modeline may hide malicious code (#35946) - ff564237d248 9.1.1807: :set doesn't clear local insecure flag like :setlocal does - 42f1864b62be 9.1.1808: Option insecure flags not copied when splitting window - 756e55dc490d 9.1.1810: completion: "longest" doesn't work for manual completion with 'ac' - c881bc537eac 9.1.1817: popup: there are some position logic bugs (#36075) - df0b9e7a5dc8 9.1.1818: possible crash when calculating topline in diff.c - b6b80824cc71 9.1.1819: Cannot configure the inner foldlevel indicator (#36010) - 8151fc59cf28 9.1.1820: completion: some issues with 'acl' (#36007) - 2c76a50e20de 9.1.1821: filetype: Not all PKL files are recognized (#36008) - 0fca343d641c 9.1.1823: diff: w_topline may be invalidated (#36018) - 94bd212dbcdf 9.1.1824: tests: no test for displaying 'foldcolumn' with Unicode "foldinner" (#36019) - f8b50bf3b0f6 9.1.1825: completion: flicker when LSP server is slow (#36020) - fbaf48cb2322 9.1.1827: completion: v9.1.1797 broke Ctrl-Y behaviour (#36040) - a4a88381780a 9.1.1829: filetype: KerML and SysML files are not recognized (#36042) - 7923e847ca5d 9.1.1831: stray vseps in right-most 'winfixwidth' window - d9153d620ade 9.1.1833: completion: fuzzy candidates are not sorted (#36062) - e47529ab567b 9.1.1834: MS-Windows: not possible to highlight the title bar - ba47cb7edab3 9.1.1836: 'culopt' "screenline" not redrawn with line("w0") and :retab - 28355050a878 9.1.1839: Window may have wrong height if resized from another tabpage (#36093) - b1c41a332d18 9.1.1843: tests: Test_search_stat_option() may fail on slow systems (#36110) - 92b834fc7a66 9.1.1849: CTRL-F and CTRL-B don't work in more prompt - 83c7193c119f 9.1.1850: completion: not triggered after i_Ctrl-W/i_Ctrl-U (#36156) - 93d1473732e0 9.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol - d78215f6a221 9.1.1854: unnecessary code in optionstr.c (#36170) - aeeadddac43b 9.1.1858: v:register not reset after Visual mode command (#36215) - a08aa77e4084 9.1.1859: completion: whitespace not cleared with 'ai' (#36218) - 68a54bfda65f 9.1.1868: v:register is wrong in v_: command (#36238) - 737dd83d1fca 9.1.1869: tests: test failures with Python 3.14 and test_python3 (#36310) - fb6fd17f26a6 9.1.1870: :Tutor may not work as expected (#36343) - 5db35449917d 9.1.1871: Wrong 'showcmd' in the cmdwin (#36320) - 2407833ba163 9.1.1872: Cmdline history not updated when mapping and (#36334) - 070f4d3da08c 9.1.1875: username parsing bug in netrw plugin (#36348) - 155efabb1513 9.1.1876: pre-inserted text not exposed in complete_info() (#36342) - f0cf4886981e 9.1.1877: cindent: wrong indentation after an array declaration (#36340) - 35d04394aa0a 9.1.1878: filetype: Soy files are not recognized (#36346) - 21ea0537e0d6 9.1.1880: Allocation error with complete_info() (#36360) - c2781d3db3ef 9.1.1883: Wrong display with 'smoothscroll' with -diff (#36372) - 3fb56ff8af5b 9.1.1885: Wrong restored cursor pos when re-entering buffer after changes - 3c1464689619 9.1.1886: filetype: Android aconfig files are not recognized (#36374) - c75f5478390e 9.1.1888: Wrong display with cpo+=$, matchparen and wrapped line (#36385) - 1fddd74da742 9.1.1889: filetype: not all AppleScript files are recognized (#36411) - d4106bade78b 9.1.1890: %P in 'statusline' doesn't behave as documented - b92b95e2c26d 9.1.1891: g does not move to last non-blank in visual mode (#36354) - 003b429a8671 9.1.1892: Not possible to know once Vim is done with sourcing vimrc (#36429) - d847548a1cf1 9.1.1893: ICCF charity will dissolve (#36427) - 97cb0d55717f 9.1.1906: filetype: not all Ruby files are recognized (#36526) - 02760a30ce34 9.1.1908: tests: test_crash.vim times out in CI ASAN builds - 756043760b59 9.1.1909: filetype: .mom files recognized as nroff files (#36543) - 16e9c21d8d81 9.1.1913: Error message with :unlet! and non-existing dictionary item (#36549) - dc682bcbcf2a 9.1.1915: :breaklist accepts unprocessed arguments. (#36561) - 8d72d1ceb4b2 9.1.1916: WinEnter autocommand confuses Vim when closing tabpage (#36567) - ef0c522077ab 9.1.1918: completion: crash with fuzzy completion (#36578) - a8b9660ca345 9.1.1920: tests: not enough testing for wildtrigger() pum redrawing (#36642) - 1eec08d1a24e 9.1.1922: Wrong virtcol('$') with virtual text at EOL (#36643) - 30a09bdd7e96 9.1.1923: wrong error when assigning to read-only register (#36644) - 4dc337cda86f 9.1.1924: 'commentstring' requires +folding feature (#36645) - a212fc7745ce 9.1.1929: completion: spell completion wrong with fuzzy (#36709) - 812186e2dce3 9.1.1930: completion: 'completefuzzycollect' is too obscure - 19d5b289774d 9.1.1931: completion: wrong item selected with fuzzy and noinsert (#36725) - 2c6469aca451 9.1.1933: completion: complete_match() is not useful (#36726) - da6edcb91b82 9.1.1934: filetype: not all starlark files are recognized (#36743) - 8310f2052636 9.1.1935: filetype: not all Erlang files are recognized - 3f8e51cee792 9.1.1936: filetype: Erlang lexical files are not recognized - 3c605982397f 9.1.1937: tests: Test_matchfuzzy_initialized() fails - c9f63d13b602 9.1.1938: tests: excessive wait in Test_matchfuzzy_initialized - d13e8f1a34bf 9.1.1939: tests: test_matchfuzzy() leaves swapfiles behind - 7452a8a56892 9.1.1941: tests: Test_execute_register() leaves swapfile behind - b64e36cef099 9.1.1943: Memory leak with :breakadd expr - e8fdc7ef9ac6 9.1.1944: getwininfo() does not return if statusline is visible (#36828) - c3c8a18af789 9.1.1945: tests: Test_getbufwintabinfo() leaves swapfiles behind - ac3e2ca67565 9.1.1947: [security]: Windows: Vim may execute commands from current directory - bfe007a1872a 9.1.1948: Windows: Vim adds current directory to search path - 69f4fd84aaa8 9.1.1949: :stag does not use 'swichtbuf' option - 132567c71f41 9.1.1950: tests: Test_tagjump.vim leaves swapfiles behind - c758423cf215 9.1.1951: tests: Test_windows_external_cmd_in_cwd() only run in huge builds - ffdc632ea1d2 9.1.1952: tests: need better tests for tf files - 4450a454662a 9.1.1954: Setting a byte in a blob, accepts values outside 0-255 - d6be2b33125d 9.1.1957: filetype: bpftrace files are not recognized (#36838) - 647f11e6ae79 9.1.1958: Wrong display with sign_unplace() and setline() in CursorMoved (#36851) - ff90032aa5e8 9.1.1961: :0tab behaves like :tab for :stag when 'swb' contains "newtab" - 2f9f77cd722a 9.1.1962: filetype: Erlang application resource files are not recognized (#36868) - 3bc9a5b5d273 9.1.1963: diff: missing diff size limit for xdiff (#36877) - 5235f3663fb4 9.1.1964: Wrong display when using setline() at hit-enter prompt (#36878) - 747cf30c373f 9.1.1965: q can accidentally start recording at more prompt (#36879) - 08d7744e13bc 9.1.1967: if_python: 64bit numbers truncated (#37245) - 18642a63be4f 9.1.1969: Wrong cursor position after formatting with long 'formatprg' (#36918) - 2b02dfa0202c 9.1.1970: visual end column returns wrong value after block edit (#36923) - e9da68effe35 9.1.1971: Crash when buffer gets deleted inside charconvert during save - 384a039db789 9.1.1974: tests: missing cleanup in Test_bwipe_during_save() - f494ce77f133 9.1.1978: tests: Test_smoothscroll_number() may fail (#36965) - 3985257496f4 9.1.1979: :helpclose allows range and counts (#36966) - f5e39560ff61 9.1.1980: filetype: N-Quads files are not recognized (#36967) - 7a866e6b2008 9.1.1981: tests: test suite may stop on error in gen_opt_test.vim (#36988) - 6061169183c0 9.1.1983: Vim9: class_name definition can be improved - 4cce77e54775 9.1.1984: terminal OSC52 support can be improved (#37543) - 544bde3accf3 9.1.1987: assert_equal() prepends unnecessary ':' when typed - 3264dfee7574 9.1.1989: Vim intro screen shows register message - c172fd9f464d 9.1.1991: :setlocal changes effective global 'omnifunc' (#37013) - 2860d1e018c8 9.1.1998: tests: not enough tests for :setlocal omnifunc (#37023) - f89558848b11 9.1.2001: cursor may end up in wrong window after :botright copen (#37056) - 92910a8ab875 9.1.2007: filetype: bpftrace hashbang lines are not recognized - 471be48d5612 9.1.2008: filetype: hylo files are not recognized - 49b1a6540f50 9.1.2009: tests: "Xm4" test directory may not be deleted - 2a2c366a3e48 9.1.2016: cindent wrong indentation after do-while loop (#37087) - d7b882697b5d 9.1.2017: getregionpos() depends on 'linebreak' setting (#37088) - e53accf8ec5a 9.1.2019: inconsistent cursor encoding past EOL with ve=all - 7b5276b382ac 9.1.2020: tests: test_virtualedit.vim leaves swapfiles behind (#37115) - c11153b3204a 9.1.2021: filetype: fluent files are not recognized (#37117) - 6fa2ebec6b24 9.1.2023: [security]: Use-after-free in alist_add() with nasty autocmd - 1e44a001ecdb 9.1.2024: 'fsync' option cannot be set per buffer (#37129) - f4eabcca4f14 9.1.2026: tests: patch 9.1.2019 not tested properly - 7f1d7271d5d3 9.1.2027: filetype: bicep filetype used for 2 bicep file types (#37130) - 444e1ffe3e9c 9.1.2028: [security]: Buffer-overflow with incomplete multi-byte chars (#37133) - e916f0327728 9.1.2030: inefficient use of ga_concat() (#37151) - 8e80e544784e 9.1.2034: filetype: Fennel fnml files are not recognized (#37176) - bd10f781b842 9.1.2035: filetype: filetype: Fennel fnlm files are not recognized (#37178) - acc3554439e5 9.1.2037: undo: cursor position not correctly restored (#37195) - 01177619bc9f 9.1.2038: tests: test_marks.vim leaves swapfiles behind - 6deb1c1bf3e0 9.1.2040: :tlunmenu incorrectly accepts a range (#37206) - b7efbbec5115 9.1.2041: tests: test_menu.vim leaves swapfiles behind - ca731d2e55f8 9.1.2042: filetype: systemd quadlet files are not recognized (#37208) - 067b5743f543 9.1.2043: filetype: kos files are not reconized - 6c3502d85ab4 9.1.2050: tests: Test_cd_completion may fail - 0dfac6892877 9.1.2051: tests: fix Test_cd_completion fails in Appveyor (#37266) - 97bfc0c99b33 9.1.2055: Division by zero in :file after failing to wipe buffer (#37268) - 661455cc4757 9.1.2056: tests: inconsistent indent and line breaking in Test_maparg() (#37269) - 5f871007d7a8 9.1.2058: b_locked_split is not checked for :sbuffer - b075656279db 9.1.2059: filetype: Nickel files are not recognized - a6df0db11f55 9.1.2060: filetype: Rasi include files are not recognized - 0bbbe236aa23 9.1.2061: filetype: Koka files are not recognized - a84bf386d241 9.1.2062: filetype: djot files are not recognized - 885426f1bfe7 9.1.2064: completion: segfault during file name completion (#37316) - 681d00654998 9.1.2066: :wqall! doesn't close a terminal like :qall! does (#37314) - e002e4d7fcee 9.1.2068: :bd/bw may try to switch to a closing buffer - aa959f7b8584 9.1.2069: Search wrap indicator not shown w/out 'shm-S' (#37332) - 930817f1009d 9.1.2070: completion: autocomplete breaks with large dict (#37331) - 562bc0b37117 9.1.2071: tests: test_ins_complete.vim leaves swapfiles behind - 2ae56fbb39e7 9.1.2075: tests: wrong change to test_ins_complete.vim - e790c87cd8bf 9.1.2078: A few more typos in various files (#37368) - aed1f8c37730 9.1.2079: use-after-free with 'qftf' wiping buffer (#37364) - 40fb2818b636 9.1.2085: Use-after-free in winframe_remove() - ba1d50fdc37f 9.1.2086: Memory leak when skipping invalid literal dict - eb5a7cc0ddf0 9.1.2087: Crash when using :tabonly in BufUnload - 03494ad04879 9.1.2088: Redundant NULL checks in find_pattern_in_path() (#37432) - 960cba7b3bf9 9.1.2090: Last buffer not freed with EXITFREE - 30bcb25341b7 9.1.2093: heap-use-after-free when wiping buffer in TabClosedPre - c52f6eb49a95 9.1.2094: filetype: tiger files are not recognized - b4e602dde544 9.1.2095: :wqall! doesn't quit when using :quit in BufWritePost - 7470e6326068 9.1.2097: TabClosedPre may be triggered twice for the same tab page - 64057d266c29 9.1.2098: Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A (#37466) - 87276db7f9b2 9.1.2100: filetype: tiltfiles are not recognized (#37477) - b3242af1872e 9.1.2102: foldtext not reversed and cut off in 'rightleft' mode - cd624f24f69b 9.1.2103: tests: test_fold.vim leaves swapfiles behind - e0b724de09c2 9.1.2105: tests: not enough tests for using plain_vgetc() (#37521) - f10a1dcf4d73 9.1.2107: :normal may change cmdline history (#37523) - 5a354db7fa2f 9.1.2108: tests: Test_foldtextresult_rightleft() does not restore 'columns' - 798ee6428776 9.1.2109: filetype: NetLinx fires are not recognized - d982c0084677 9.1.2110: filetype: skhd files are not recognized - a8a097d17841 9.1.2112: long statusline may crash if using singlebyte encoding (#37605) - ebfbe4db498c 9.1.2116: crash when using 'tagfunc' (#37627) - 47ce93ad6d71 9.1.2118: 'cursorline' missing after :diffput to empty buf (#37628) - 5e1a3df5ae0c 9.1.2119: tests: Test_language_cmd fails on OpenBSD (#37503) - 270c7b46afab 9.1.2123: using NOT with a float returns a float in legacy script (#37639) - fede56869291 9.1.2128: Heap use after free in buf_check_timestamp() - bdd886622d4d 9.1.2130: Page scrolling in Insert mode beeps (#37710) - db133879b2a1 9.1.2132: [security]: buffer-overflow in 'helpfile' option handling (#37735) - 15061d322dcd 9.1.2133: Another case of buffer overflow with 'helpfile' (#37746) - 6dd0a7d60a28 9.1.2135: tests: tar plugin does not consider 'nowrapscan' (#37752) - e70452990935 9.1.2136: :tab sbuffer may close old tabpage (#37765) - ed8fbd2e2992 9.1.2138: win_execute() and 'autochdir' can corrupt buffer name (#37767) - 39d8a9c353d6 9.1.2146: filetype: cel files are not recognized (#37834) - ff142a7a7403 9.1.2147: Compile warning in strings.c (#37842) - 8605b0b7a9f2 9.1.{1755,1759} (#35787) - 7d8653575f2a 9.2.0004: Changing hidden prompt buffer cancels :startinsert/:stopinsert (#37881) - b59eba3ada13 9.2.0007: cindent: recognizing labels within commented lines - 77d396caf409 9.2.0009: tests: test_cindent are not ordered - ac84a3f3b6ee 9.2.0020: Wrong shortened buffer after :cd with duplicate slashes (#37955) - 134782b99eff 9.2.0023: fix integer overflow in ml_append_int() for long lines - fadf5fc8dbf9 9.2.0024: Reading files with very long lines crashes with a segfault - e98a6979eee8 9.2.0025: filetype: cshtml incorrectly recognized (#37957) - c78e276881eb 9.2.0027: filetype: yara files are not recognized - 785ac9f2285a 9.2.0028: matchadd() conceal may use unrelated syntax cchar (#37974) - 08b8fe5ab36e 9.2.0030: completion: non-prefix matches shown when leader is NULL - b3a3028fd9bb 9.2.0031: Inefficient use of ga_concat() - 6e8a1a898856 9.2.0032: completion: hang with line completion and fuzzy - 93a8acb1b804 9.2.0033: filetype: sh filetype used for env files - 30d9970cd74d 9.2.0036: completion: thesaurus completion incorrect with "longest/fuzzy" (#37996) - 3f4ef487da80 9.2.0040: completion: preinsert wrong with register completion (#38003) - b775c722dd4f 9.2.0041: Not always using GA_CONCAT_LITERAL - 327dcb897024 9.2.0046: filetype: neon files are not recoginzed (#38049) - a89b9750ee88 9.2.0050: WM_SETFOCUS not handled immediately - 1fe1b2525f7e 9.2.0054: eval_addblob() is inefficient (#38067) - 9288357d59d2 9.2.0055: memory leak in ExpandFromContext() (#38066) - 7852993f4927 9.2.0061: Not possible to know when a session will be loaded (#38071) - cd4c7850d05f 9.2.0070: tests: various tests leave swapfiles around - 95ddabdb2b09 9.2.0074: [security]: Crash with overlong emacs tag file - e85fc92a6ba4 9.2.0075: [security]: Buffer underflow with emacs tag file - 7e8bdd348c3b 9.2.0077: [security]: Crash when recovering a corrupted swap file (#38104) - a416494e648b 9.2.0078: [security]: stack-buffer-overflow in build_stl_str_hl() (#38102) - 563f9ef7994a 9.2.0081: Failed "z=" does not reset 'nospell' setting (#38109) - 3e8107229345 9.2.0088: cannot display tabs for indentation - 518aa46158c5 9.2.0090: "leadtab" behavior inconsistent on line with only TABs - 0cfeedb088ee 9.2.0091: missing out-of-memory checks in quickfix.c - 0676503ab551 9.2.0097: Memory leak in qf_push_dir() - 6ddcc84a6cd7 9.2.0102: 'listchars' "leadtab" not used in :list (#38142) - a22c699ecb4e 9.2.0106: memory leak in expand_findfunc() - 843bc1aa8d15 9.2.0108: byteidx_common() and f_utf16idx() call ptr2len() twice (#38159) - f1e65bde0222 9.2.0120: tests: test_normal fails - 9a9b9c581ccd 9.2.0121: patch memory leak in list_extend_func() in list.c (#38205) - f21c56da845f 9.2.0125: tests: test_textformat.vim leaves swapfiles behind - 9734a6ce473c 9.2.0130: missing range flags for the :tab command (#38216) - c1dcb8dac2f9 9.2.0131: potential buffer overflow in regdump() (#38217) - 3a7ade847f10 9.2.0132: tests: Test_recover_corrupted_swap_file1 fails on be systems (#38238) - e5667b9c157a 9.2.0137: [security]: crash with composing char in collection range (#38261) - f847aa620881 9.2.0140: file reading performance can be improved (#38266) - 6dd634b02541 9.2.0143: termdebug: no support for thread and condition in :Break - 878c9739e13d 9.2.0147: blob: concatenation can be improved (#38276) - d3bca3b7fab4 9.2.0152: concatenating strings is slow (#38286) - f58d24040a32 9.2.0155: filetype: ObjectScript are not recognized (#38288) - 80684a418b50 9.2.0159: Crash when reading quickfix line - 1aaa8e8e3ac9 9.2.0162: tests: unnecessary CheckRunVimInTerminal in test_quickfix - 0082cd313485 9.2.0165: tests: perleval fails in the sandbox - 9ab6c607ccc7 9.2.0180: possible crash with winminheight=0 (#38335) - 33b357d01fd0 9.2.0182: autocmds may leave windows with w_locked set #38332 - e2c3106b85ed 9.2.0201: filetype: Wireguard config files not recognized - f577e055221e 9.2.0202: [security]: command injection via newline in glob() (#38385) - a18d51a9580e 9.2.0204: filetype: cps files are not recognized - d36e7787c1e7 9.2.0209: freeze during wildmenu completion (#38386) - 0655a359ae73 9.2.0217: filetype: cto files are not recognized (#38400) - a969e922497d 9.2.0219: call stack can be corrupted (#38406) - 11b9ec38d267 9.2.0222: "zb" scrolls incorrectly with cursor on fold (#38423) - e51f217be700 9.2.0223: Option handling for key:value suboptions is limited (#38426) - fae782557c8e 9.2.0226: No 'incsearch' highlighting support for :uniq (#38425) - 416e5429927f 9.2.0233: Compiler warning in strings.c (#38450) - 1de1c0821007 9.2.0235: filetype: wks files are not recognized (#38451) - 6dfcb2b78463 9.2.0237: filetype: ObjectScript routines are not recognized (#38479) - f806c773918d 9.2.0239: signcolumn may cause flicker (#38477) - 5a7df03b428f 9.2.0265: unnecessary restrictions for defining dictionary function names (#38524) - ba89354a4543 9.2.0270: test: trailing spaces used in tests - 965f54cf5027 96dab9c: check.vim: Further improve po message checks - 5a83f23430bf 98a0cbf: patch 9.1.1971: crash with invalid positional argument 0 in printf() (#36919) - 95b6215f0a9d c858382: Problem: Commit 6f585d breaks CI - 1244fe157f9f ecf90b9: CI: make dependabot monitor `.github/actions` directory (#38383) - 96e9041a7886 partial:8.1.1939: code for handling v: variables in generic eval file (#35968) - 2a267d1cbfc3 partial:8.2.1328: no space allowed before comma in list - e31cfc5eac47 partial:8.2.2400: Vim9: compiled functions are not profiled - df65f87fd771 partial:8.2.3149: some plugins have a problem with the error check - 00bec1fd90a3 partial:8f7256a (#34368) - 50efe61c3cf6 partial:9.0.0323: using common name in tests leads to flaky tests - 5671b61327bf partial:9.0.0877: using freed memory with :comclear while listing commands - 92596a37e721 partial:9.0.0907: restoring window after WinScrolled may fail - 62de643b897c partial:9.0.1570: some tests are slow - dff515205c34 partial:9.1.0613: tests: termdebug test may fail and leave file around - 3f62fe4bd891 partial:9.1.0973: too many strlen() calls in fileio.c - 42640c62d1a3 partial:9.1.1004: tests: a few termdebug tests are flaky - dfd3ac6f4832 partial:9.1.1110: Vim tests are slow and flaky - 5c4d9261a421 partial:9.1.1110: Vim tests are slow and flaky - ab5c15610f50 partial:9.1.1371: style: indentation and brace issues in insexpand.c - a16064ff298b partial:9.1.1639: completion: popup may be misplaced - cbec4603a041 partial:9.1.1668: items() does not work for Blobs - 4edeaaa6e2c1 partial:9.1.1708: tests: various tests can be improved (#35548) - 7468db518730 partial:9.1.1847: No cmdline completion for :echoconsole and :echowindow (#36157) - c70e8ef9b7fc partial:9.1.1887: string handling in strings.c can be improved - 5370b7a2e0a0 partial:9.1.1955: sort() does not handle large numbers correctly (#36840) - 147190d8e7dd partial:9.1.2044: Inefficient use of ga_concat() (#37209) - 72eb9fe87ce9 partial:9.1.2137: test: Update tests for OpenBSD (#37766) - 18c5f06c9f60 partial:9.2.0068: Inefficient use of list_append_string() (#38083) - b23d00ce9909 partial:9.2.0096: has() function is slow due to linear feature scan (#38135) - 29fa072b34ac partial:9.2.0126: String handling can be improved (#38214) - 4c48f19e5163 partial:9.2.0193: using copy_option_part() can be improved (#38369) --- CMakeLists.txt | 4 ++-- runtime/nvim.appdata.xml | 8 ++++++++ src/gen/gen_vimdoc.lua | 2 +- test/functional/fixtures/api_level_14.mpack | Bin 0 -> 31898 bytes 4 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 test/functional/fixtures/api_level_14.mpack diff --git a/CMakeLists.txt b/CMakeLists.txt index bbb93a6659..7263b67ed6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -148,12 +148,12 @@ endif() set(NVIM_VERSION_MAJOR 0) set(NVIM_VERSION_MINOR 12) set(NVIM_VERSION_PATCH 0) -set(NVIM_VERSION_PRERELEASE "-dev") # for package maintainers +set(NVIM_VERSION_PRERELEASE "") # for package maintainers # API level set(NVIM_API_LEVEL 14) # Bump this after any API/stdlib change. set(NVIM_API_LEVEL_COMPAT 0) # Adjust this after a _breaking_ API change. -set(NVIM_API_PRERELEASE true) +set(NVIM_API_PRERELEASE false) # We _want_ assertions in RelWithDebInfo build-type. if(CMAKE_C_FLAGS_RELWITHDEBINFO MATCHES DNDEBUG) diff --git a/runtime/nvim.appdata.xml b/runtime/nvim.appdata.xml index cacc8a7a3a..713598001d 100644 --- a/runtime/nvim.appdata.xml +++ b/runtime/nvim.appdata.xml @@ -26,6 +26,14 @@ + + + + + + + + diff --git a/src/gen/gen_vimdoc.lua b/src/gen/gen_vimdoc.lua index 9ad60580a6..dab97ac33d 100755 --- a/src/gen/gen_vimdoc.lua +++ b/src/gen/gen_vimdoc.lua @@ -807,7 +807,7 @@ local function render_fun(fun, classes, cfg) if internal or fun.since then local since = assert(tonumber(fun.since or (internal and 0)), 'invalid @since on ' .. fun.name) - local nvim_api = nvim_api_info() + local nvim_api = nil -- nvim_api_info() _ = nvim_api -- Disable prerelease "WARNING" doc, in preparation for for upcoming release. if diff --git a/test/functional/fixtures/api_level_14.mpack b/test/functional/fixtures/api_level_14.mpack new file mode 100644 index 0000000000000000000000000000000000000000..df0e96e5be52f616eb13192cc14e103344a9f703 GIT binary patch literal 31898 zcmZo$UY1%^oSC23u{1X^E5C?gX>Mj-ei6^og2a;K42D$&MX5!pIjM=osfSi37G%cf zq?V=T@T~(elk;;65=%0Za#9(Y~(=(xSZhlFEYArH(~KiIrH)n>1;ee^ORza>>%vvedj1T&8aZo1R>h znplzwvjExr<(_#Zsp+XjSZtU$2`0HHGX=%T8^DI9q~>5VaY zMKJSFf&iC+lO`<-E-A{)O9uxdkpYlilwVpvaR6*X3IMQ)@ky2OnJLKT;&Syw6j!4J z>ke$Df|3X^<`S76Hi7L(tw>EK7}ks^sdt%EX6u$iHBH*8MP35*Mt26vNy4$ zBr!Py#ZIU>SnQmLW+yZb(9KLqC156U_)I}F6P|UJ7MCOzmB6`+Q}a^beq3K%Qk0oo z5}%oul3J0OmyY5PNJN1=2Pzss0gI9;P|5{lmrSLGOC~{#UtN@1kdv64nwy$eg2Qpe zsU_f8M{yi-+Gj_K?P<8&wh|ml@kRON@Q{KECFkeBg_eVo1hN{i07wM^=R%5DP*{ST zTasFVl01=Ji(F#U%(WQhASCG_TnUPCbXP*W2u;qcNP#*DSD-Ehrz@0rL*!JD75Qmt z#i=MkftFK|(-np_$b~P8C6L+y6xtw5$`Xr^^Ch&>g8G9A$sc&LC8TJCnVFoCn3tZK zQj(dRjchiW>zR=Z$Ladq{FGD_*P{kec4}pAB1(OM5)W)hR$yd2SO9^nfED_Sb25tI z?4pcfTtyqg6`&N0=?dgDi|h!D@)VaNaQGQir{lK`IZfcS4OD5t+b3m-Ii;v!j7T9M z-=U=tWUnDxhBFF5mZ5kDVLZq?L>iAb`JrY_kcG(U4jRVLG)S2!+hz z__D+t)Fu_0i#d=oABKyeaRP3ipd=226`;hCn^=TegrGJXkgdR(zd?}&ucMZLYHB!d zF{pCF5qJoPfMT40Ly$v|9KV7}VstA|N;16Bzs#pJF(@@{aaw5}N?5LiH^7n;b8?Vl zAGMh0LX9a%t9@~CNfBo82k8^70~=hBSX7)EpPY-5Y{8)kO|z)xf@Kyb=ceE?bp_Z| zH1nVd1!^L4{XZF2P=gZ@tTAO z*zuq=ORAw5ZBwY1iS!nvak2+&J*WaE(`&@1+MRH#i1jUUkAjGPHZ(#|o2;PDIW!R< z8;9X+a4JLY#Y4ge5Ni8T!O-?LHO^FAO5pY9>3efT&EQ=H+!+Q(M z@=Hq!N@4AANIqE!4k}P@4mou};}_E|c8Fcbg$X>x!O}G}gG0=RG((`iiHA6V6r0eR zU=Uv|NzPA6h4wI(Bo?Kk4u?Q0Z;+QtOH$)=N)u7+gA93K`iu#y&xq-=f}$(0G&d;~ zrI`wAN@CiCB@8h#7))N9LQBj1ua6>I=QHI`#a4|G7V;KWO^#m-2F+D+iJY!@lXc~p&YiMJ7DRM^| z;)Zq5fCRY#t)C0kL{t!B3z{1IsmW5~LrR0|{D+g2Xd;}_)U@dKI z{)H%yr`*4|tw;4Q)Iy5=yF4T@sUR^ub$JPdCf3L6q3S93GF}&;cp7deg}z3cpn;}H zEYZ3eGy_IqoWdKj;5>ukAF%PH_ytRw9FOr^z>RQFO_N^$ngEQ?%uCBhDetjY=ulgb zTjNBB7-ZxH6l4%PQLF<^z+vWlEY{)i6vP6Ar;sgxMkG;I5L2{3+PsiP3aHgcxviv^ zr|52=G-xN`E8(E26WPx4%slWMFlKa;656DftLSbZ$=^JX1|o6_o(Qcrmx4xwP}_iz zo*hU$KCvV}H!~SIP2sBWvGiu(sTMNx4Gm0ag$T}z#idEb$wiq-C`}3+wK0hnKs-^J zM=dKrqhMHkkY8F7UtW}nWk?k>*WvR44&zgcifCgzBzWM)=j0*BG5#1p9sz+5y)Diy zPKWnKSLWoWLsn+s8sS?Fj{dy-lFYP9WSgOR2s*yQgVdpcm$;C`gs1HR8BQ^Z0f$emYsYQ?OVAY(?*@ib7&r??;ywHXZS;b1X$0!pfZ6rP}h6K)R9 z;VtBVCU)pzQ6`oFPe|FZ3moRKayzx61T@Z!*{g+QaHvO+oq)T?0U14k#vQc(0p)=k z^WbhPp`kdagHS?)Y`4JT12WJ6qC{{zte_~rEHedlU=P_MT+&uWhBJqIHCX} zY(ULmBa}!6wS%GNqqZ5)`zFw`4U(K8!-=qdP)=rXNql)`9_|c{Z1ki_=tiS-yin|c zWE+@0puoc3!^Pr*$@s0oTB|@jhiWM(rqL`#j$rEe3{)r(X~{$ke-Q|=@=TN(AKJ@@ zh8SwSiy1MHKKbJEOw?IM%pgLu1y>LeaQ$|0#f2Q-xaR?&K0uBD0;WT<1I%#EkC&wrLX~e3Th^DfQ%0^4K2Mf(a4^aPvWB5+vG@lM=G|s0)x_ zt&%0_MM!gBO9}f3k{>}0Y`Bl&L1qwREn=-QG`*sP6{H3!&5SQ7%>~CPBu(Qo7`Yyu zGHIz>PJUtu)cp_+)DEcBV$hOAhyiP)K=nph?B6|dG9Jmt4;z&@12cEYAwcSCDH00ocMJm)_|0Vlz;dqacSdaxH{&u>d6Z zLL3{9+SWh|3gk5?h*St^t)jRMVkE?EXhtGCk7)BCT|T&Z@o9<0m=kNza78Yr5beuQvjQ}Bk#h~A9|O_^9gM?VWdVsv&?*ZYODv#9V~`2SZL5X1$E3o>0aY|+pisvEiQ&2`sE-flb%`1sd$wXO9f}FjPjYJIqgxg@o zpwHr>#yYY|h-?PZgW@`fvB<6iDM5}RQk)0sJK%C2E^`o$14Rys;~=#dC_d0SB+%Y5 zmQ;fl)lh|yZZsCNK^{jln{0Q2JWsh}%u# zV=}aifUTE-RRPO0GK)*{iz*=vf8_N0{FKXu+*(npzCZAC91;kur52Bfi>_OB-2umBwKoOUU*vPcJIJpS4j}pZm$P6NM zbQ^EnASXwR`9g3*4>S2e5)h=Ln_85M9PwyX4yx%e$t9pYB(Pe0NlIc#B8uZ7#)H(v zgEpce8;=}3$bpU;dywuED4bv&adHwlWE~)K8X&D#k8_LylGY){BPRtc#v}U|IXNKO zk)Y6n*SSlQi*nN7Ew7~o8HvTP%^wg;A??0`#A4LREm+!u=2v8!ra+4*$htCkq=B}_ z!mVAJm6l@_FZ29A{coctmpx=Y9gV@oCo zv(PphffGNL5W(4RfwW#B=H-E!X(%ZdY5WyAd|{@gWG167FNTbRfVPgrgZrSU`{q!~ zdgQHKsD6ahNgy|Y`WUzz#Edljg$R6*4wOiQlqw*@Ft;h8wB3+B2ydQ4dO6T`6yd#C zkOT{{5|m3Ytwc^f$TlJ>Y>*FNNfu-y7Tq#zH1OJfWpkk*G-!5{2N>7-S0Wq8PUkkW>sdqBN5@0}$R? zT!6NN9#MuA6y+z!Cud~lq!gv1jGg0*J3Pih90>|6kg>=q0X4HCC)FwN!g@(&Nop>< zL|q11tBc^LW#(lTXF$>lW`zuy1};v`Nlh+^FUT(_EyzvHD~$&kiR=#KB!IlT3X$b8 zItdU@fiekbW*ONqSZNO}A(72PWI&L4xEu{J8WdjWMx%s2R)fJ^eQ@r;3=Bw4NG(eQ zua_?=Eyn0`AthVX!8BOmR9uvd%hiw?6x4Yqa(WGFCe|$;kS-W>iwAPxBF7YR`Gbh5 z)QSSso-njeP?m@?_=cMFkd1;z(xS9HXdRC^Q~@afz{`eUM{FQF6V-I&{5u&oy1fKc zvB63;d{#lmAi!3Ew8WEaA9RBYC}3drEltZwOfQD#qLuLN5GbV_q?Zoa@CMSIS`0d@ z1lgb9lm<=c$k~_dsUk?)2e+WnIsm903uMbMR<(g$g*p)hnb(AjPJ&jofhtbOOcjcE zkOmBqZNSlWK{phXWw98Fl&g@_8D2vnO(u{_L5AY(s30$tzz7Oxe-qmQ83-#tfq`ZP zo_q$G5QVOhhNc&+AyHaXoR2c(gi?GV2L*<+Au1OaiqjFcfSitD3oe&qSOG2a z!Oc4q3lM1$l-$t$6FjgN@7?v7vvXbg4Plt z7hRAXgC&jPH5bw(fSHS>pN(g79v`z&3Y*LI;U!5kPB9*!-%qk zcwfP61O+3yjl_o{QJ%tAP}0a(pm4`AOa3aJcWE}%42F`5g=_Co_1Y9n;(E9K!#Zr@=e)CH9K8J?0Ldwih2ge0Z4 z;G{~zelaZh0-yQoLFSXTT@0TMpg~7W_mi?)jC9jeN!Tn#lIa^jVN;Y^kY7|1pITIe zI)Xt;)eP%8!8TVzLkN1*sB<%*h1)pRNE793r1huZ;SzWs3w2}&n%z;B7o&s}uA_ypBx%Id zH)vHOY@`=5xd`i>;#fkt29)M;uAn5!!|>u}3CMP6T8DUVCCGH}+C^lq!P-1TnGT;T z1r;@jVQcc1GHwOAhnSU&L^%!NaZnc)#pB>$#kc;DC<{;%<~ESy!4rP4#ez5%Bobvd z-0_&}2SN6LrX|x;K`RGSlR?X_kmHZ|q7c;sTR;YbiXYfYCQvUD*``toJov#4EfnX2kB0yS6Gf#oG%PWV2PaLi@f4Vk8nNI;1;|K9 z^Pb%54AoF@at9d-3v7ttDCq@qpc=911)>^tLIhGyf$c(0F_?Cdn`Yo)Ls?Z%AZ#Fp zql67fH7(Y0R~%u3X&1R+18#7Eq8M70QzzkUM=xferXzYH|V_42lP^q4C%jeUV`*Ja%!f z1R}~*c!*#f69Si(&@mz8;2rBBXI)FB~BCVyJ1n8m4Y66O)RY|4Am5>u3ajIDfRg+(UQ^^YOCcF6jJe(?4LRF-t;Z(93?0ZNb z3P}-Sz#1eE9~b~_5KN8FOsPQe&yu9noE#+0sJ>lYmRSrsAr`NqrD-{(#Thuw0Bz*W zOHD38QUI@OR~M%im8BNNC#IwnL7c@0iHqe$so*(9teQZ*)6_gHnu<${3sUn^kTjus zXCxB$iUWstr8NG>5X0EVJ{ zDR>$SNjF-$NX^fQ$FF2HwA@I~FUdzT2jL2g{k13#SPNeOi5AxrC#?dlK*-F`ODw8f z3R+^0S|}|pD8-tVK;u*>Hf#hX)#Bu${G6QlqSW+Elr)Q2?Yy`ozW`n&EKbTtT+*~8 zCp8VhTUrD<{{qE^Wf0Sme2<8)rQqwYP?T>Nr=!qH;V_*YObZmg=055usM@#3p9D*a&L*1|v zY$9m<4arZ4mX%dxSFy}9;0^j8YcgRZ6rIe^b&>9!z z4mFrqa()gZeM7wp>IuZBR+OX`|v!Xb)AU-)G5fMeWgA~P^Ye3E}%Sns0!jHLr~=8QMJNKxl1q!g=>a;p1X-p6u2SHptbuqg zJ|#7$BoX3RXd`M1vSZ_O6N}O_^GMB2DAnS!r2LYS{9L%zxNAme+iEq)1<(@*kwObS z(vY(dECL}*BH>mo2d!!X-=Y8w3P=RQIPfIR1*taHA+{V9XXKY7**z87-&qRUii9Y# zRzS8Yfp#&&%migkm}@}ig23GZj$%kiL)&;r)}iGA)b`W{BxixQMj<&2kz3$yLA9eK zF$t77;vvmXB%M!E&JQj(Zd47(3-9aJtJGWY~lvK+#Lmex@3tVzyI0b7L@ zcGF>+z}r9b5RD?xpb#u?ElbNRDlSQea|?>{a|;kkmx0PDB&|!qck9B#7IIexipN*O zT!UH;BT6Q)?XZ}Fn1^D(7MKCh<5j>pA1VCc^S28T*Xt}T&d5Y=^?_Z9Vk$h4&|)0n zE{Id$9qy%xN%=)3C}wPexhyFsKRG)dEx6%_CxhYwHHP3`f@n-EK)P_noD@*EAE(p6xd_Ei>k)cLP2vda@VaURxGF%+*3)6>ZAo@!9&Ahl)_sFV!5Y}) zb53G0(y=?Rvn^ng^~)gP3F}~j8pF_gWjNo1|(Dor1r|l zFHg=z?uEmm3Fc5pKtlDb0T~NQ5}?rvq~wZM6WA?9r8%jny7iFd}tO^6&IS4*I7Q|;< z3Rcw&9jk8wDOpxfl$w@V0om#ZI@cFkmw_Z1Q6xcCA#7X_B+CSqg=~R<4kE?_02@tG A5C8xG literal 0 HcmV?d00001