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