./editors/neovim, Vim fork focused on extensibility and usability

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.10.0, Package name: neovim-0.10.0, Maintainer: pkgsrc-users

Neovim is a project that seeks to aggressively refactor the "Vim"
text editor in order to:

* Simplify maintenance and encourage contributions
* Split the work between multiple developers
* Enable advanced UIs without modifications to the core
* Maximize extensibility


Master sites:

Filesize: 12492.221 KB

Version history: (Expand)


CVS history: (Expand)


   2024-08-17 17:43:33 by Benny Siegert | Files touched by this commit (2)
Log message:
neovim: add patches

I forgot to "cvs add" these before the last commit.
Still part of PR pkg/58294.
   2024-08-17 17:42:32 by Benny Siegert | Files touched by this commit (3) | Package updated
Log message:
neovim: update to 0.10.0

Newsletter is here: https://gpanders.com/blog/whats-new-in-neovim-0.10/
Features are described here: https://neovim.io/doc/user/news-0.10.html

Patch provided by Malte Dehling in PR pkg/58294, thank you!
   2024-04-30 20:30:52 by Thomas Klausner | Files touched by this commit (3)
Log message:
*: tree-sitter had an ABI bump without bumping its shared libraries

Bump ABI depends and bump PKGREVISIONs of users.
https://github.com/tree-sitter/tree-sitter/issues/3296
   2024-02-02 17:24:45 by Thomas Merkel | Files touched by this commit (4) | Package updated
Log message:
neovim: update to version 0.9.5

v0.9.5
======

This is a maintenance release, focusing on bugfixes.
Notably, fixes were made for issues with using and testing Nvim on less common \ 
platforms, like big endian platforms.

Bug Fixes
---------

- defaults: Set 'fsync' #26039
- Dont create data dir if it's a broken symlink
- Make InspectTree handle nested injection
- Remove nested for_each_tree in TSTreeView (#26331)
- api: Use a conditional stack for nvim_cmd
- change: Update fold after on_bytes
- deps: Bump libmpack from luarocks
- extmark_to_array: Convert conceal_char to bytes
- highlight: Apply 'winblend' to float border
- inccommand: Save and restore '[ and '] marks
- inccommand: Don't crash with "split" and 'n' flag
- lsp: Handle NUL bytes in popup text
- lua: Correct return value for on_key with no arguments
- lua: Crash in nlua_error
- man: Make :Man with a range work
- mappings: Fix mapset() not replacing map with backslash
- marks: Handle switching buffer properly
- mouse: Avoid dragging after click label popupmenu callback
- mouse: Avoid dragging when clicking next to popupmenu
- move: Check the correct buffer
- oldtest: Always use a 64-bit int for swapfile block number
- options: Setting 'scroll' with resized grid
- quickfix: Check if delete failed in qf_fill_buffer()
- set_bool_option: Use int value to make bool Object
- set_option_from_tv: Use v_bool to access boolean option
- terminal: Assign channel to terminal earlier
- terminal: Avoid Insert mode in Terminal buffer
- terminal: Don't lose focus on
- terminal: Keep focus when scrolling number column of another window
- terminal: Make backslashes in 'shell' work on Windows
- treesitter: Foldexpr tweaks
- treesitter: Remove incompatible c query (again)
- ui: Empty line before the next message after :silent command

Build System
------------

- Fix universal mac builds
- ci: Ensure correct headers are used on macOS

Documentation
-------------

- List NVIM_APPNAME as env on manpage
- starting.txt: Correct step number

Performance
-----------

- Remove redundant strlen in skipwhite

Testing
-------

- Fix dependencies between test cases and test flakiness

v0.9.4
======

Bug Fixes
---------

- build: Fix exporting symbols on macOS Sonoma
- api: Handle NUL in nvim_err_write() and nvim_out_write()
- autocmd: Api functions accepting garbage after event name
- clang: Null pointer dereference in parse_msgpack
- clipboard: Don't pass --foreground to wl-copy
- exception: Remember whether message is multiline
- float: Update position of anchored windows first
- float: Fix some other crashes with :unhide or :all
- lua: Not using global value in vim.opt_global
- lua: Show error message when failing to set variable
- mouse: Click on 'statuscolumn' with 'rightleft'
- path: Accept special characters on Windows
- provider: Fix python3 provider cannot detect python3.12
- provider/pythonx: Import the correct module
- rpc: Fix race condition
- runtime: Add commentstring for D ftplugin
- statuscolumn: Update number hl for each screen line
- terminal: Check terminal size at end of screen update
- treesitter: Remove more double recursion
- ui: "resize -1" with cmdheight=0
- unhide: Close floating windows first
- unittests: Ignore __s128 and __u128 types in ffi
- tutor: Clarify the meaning of ✗ and ✓

Build System
------------

- deps: Bump libmpack-lua to 1.0.11
- ci: fix mac release for Sonoma

v0.9.2
======

Breaking change
---------------

An adjustment was made to the grid_line event as part of the external UI protocol:
the cells array might now end with a [' ', attr, 0] item with a repeat count of
zero. This is needed by the TUI to disambiguate final spaces from a line from just
clearing the line, which will make a difference when copying text using the terminal
emulators' builtin primary selection support.

External UIs can safely ignore such an empty item and most UIs already handle \ 
this fine.
But it could break UIs which has an assert to validate the cell count to be bigger
than zero, or similar.

Features
--------

- tui: Support Super and Meta modifiers
- terminal: Forward more special keys and modifier-mouse combinations

Bug Fixes
---------

- lua: Always set arg0 to lua scripts
- api: Redundant error when using nvim_cmd
- api, lua: Make blank lines in a message work properly
- column: Fix bugs related to signs in 'statuscolumn'
- completion: Don't add backslash in runtime completion
- diff: Filler lines for hunks bigger than linematch limit
- edit: Fix K_EVENT interfering with 'digraph'
- editorconfig: Better validation and error handling
- events: Don't expand non-file as file name
- events: Trigger VimResume on next UI request
- extmarks: Wrong display when changing text with virt_lines
- folds: Update folds in Insert mode with fdm=indent
- helptags: Make multibyte help tags work properly
- highlight: Make CurSearch work properly with 'winhl'
- inccommand: Fix saving of undo info
- keycodes: Recognize <t_xx> as a key
- lsp: Do not assume client capability exists in watchfiles check (#24558)
- mouse: Handle folded lines with virt_lines attached to line above
- remote: Make --remote-expr print to stdout
- remote: Restore previous --remote-expr output formatting
- spell: Splice extmarks on :spellrepall
- startup: Don't truncate when printing with -l
- startup: Run embedded Nvim with real path
- statusline: Redraw when Visual submode changes
- statusline: Fill for double-width char after moving items
- treesitter: Updates to queries and injections
- treesitter: Fix TSNode:tree() double free
- ui: Propagate line wrapping state on grid_line events
- ui: Avoid ambiguity about chunk that clears part of line

Performance
-----------

- extmarks: Avoid unnecessary marktree traversal with folds
- substitute: Don't reallocate new_start every time

Build System
------------

- deps: Bump libvterm to 0.3.3
- deps: Bump LuaJIT to HEAD - 03c31124c
- deps: Bump libuv to v1.46.0
- deps: Bump Luv to 1.45.0-0
- deps: Bump tree-sitter-c to v0.20.5
- deps: Bump tree-sitter-lua to v0.0.18

v0.9.1
======

- checkhealth: Add shims for health functions (#23241)
- Add vim.lsp.buf.formatting_sync() to deprecated.txt
- treesitter: update parsers and queries
- api: Extmark highlight groups not always included in details
- api: Avoid assertion when autocmd group id is 0
- api: Don't change title when setting buffer in a window
- api: Nvim_get_hl should return default flag
- colorscheme: Try .lua files in 'rtp' before .vim files in 'pp'
- statuscolumn: fix issues when used with virt_lines and signs
- drawline: Make cursorlineopt=screenline work with resized grid
- eval: Prevent double-free in garbage collection
- extmarks: Don't show virt lines for end mark
- float: Make bufpos work properly with resized parent grid
- highlight: Add missing g: prefix for colors_name
- highlight: Combine ColorColumn with low-priority CursorLine
- highlight: Apply 'winblend' to NormalNC
- lua: Inspect_pos respect bufnr when get syntax info
- lua: Vim.split may trim inner empty items
- man.lua: Don't continue on command error
- man.lua: Return support of all sections
- mark: Properly init mark views
- messages: Ensure msg_grid is at top at more prompt
- mkspell: Prevent Unicode character overflow
- mouse: Cmdline click registered as statuscolumn
- mouse: Fix popup menu position check with winbar
- normal: Make "g$" work properly with resized grid
- pum: Show right-click menu above cmdline area
- pum: Position properly with multigrid and floats
- pum: Fix issues with with 'rightleft'
- redo: Make redo of Lua mappings in op-pending mode work
- redraw: Multibyte characters are wrapped at the end of a line
- redraw: Overwrite double-width char with virt_text properly
- ruler: Show ruler of curwin with no statusline in cmdline
- spell: Extmark with spell=false should disable spell
- statusline: Also allow right click when 'mousemodel' is "popup*"
- substitute: Properly check if preview is needed
- termdebug: Handle partial lines passed to callback
- tui: Position cursor at bottom-left before stopping
- tui: Redraw on SIGWINCH even if size didn't change
- tui: Grid_clear properly clears the screen
- tui: Fix title restore with title stack or altscreen
- ui: Send title to newly-attached UI
- windows: Set stdout to binary mode for --api-info
- windows: Revert installation context to per-machine
- build: Include
   2023-08-28 11:05:36 by Thomas Merkel | Files touched by this commit (1)
Log message:
neovim: dependency fix for MacOS

Use correct SHLIB (dylib) extension on MacOS for libvterm.
   2023-04-26 01:36:19 by Nikita | Files touched by this commit (4) | Package updated
Log message:
neomutt: update to version 0.9.0

Changelog (taken from https://github.com/neovim/neovim/releases/tag/v0.9.0):

NVIM 0.9.0
@github-actions github-actions released this 07 Apr 11:45
v0.9.0
040f145

NVIM v0.9.0
Build type: Release
LuaJIT 2.1.0-beta3

Notable changes

For a summary of notable changes, see runtime/doc/news.txt or just :help news \ 
within nvim.
Install
Windows
Zip

    Download nvim-win64.zip
    Extract the zip.
    Run nvim-qt.exe

MSI

    Download nvim-win64.msi
    Run the MSI
    Search and run nvim-qt.exe or run nvim.exe on your CLI of choice.

macOS

    Download nvim-macos.tar.gz
    Run xattr -c ./nvim-macos.tar.gz (to avoid "unknown developer" warning)
    Extract: tar xzvf nvim-macos.tar.gz
    Run ./nvim-macos/bin/nvim

Linux (x64)
AppImage

    Download nvim.appimage
    Run chmod u+x nvim.appimage && ./nvim.appimage
        If your system does not have FUSE you can extract the appimage:

        ./nvim.appimage --appimage-extract
        ./squashfs-root/usr/bin/nvim

Tarball

    Download nvim-linux64.tar.gz
    Extract: tar xzvf nvim-linux64.tar.gz
    Run ./nvim-linux64/bin/nvim

Other

    Install by package manager

SHA256 Checksums

fa93f06bec111fea6f316f186b96e19ba289a2dca2d0731e23597398b7397c8f  nvim-linux64.tar.gz
0e1e6d53c6c8055de23bdb33f60bb64af0baf11390669c1b40ecbbf2c7a34547  nvim.appimage
b53d0e2662a5003e335a410247ff2c1df7cb3c36c00db14e08551437e69bcca3  nvim.appimage.zsync
ba571c320c9ba98f1f78a9656b0b1fd21aa5833a61054f377c15c09366b96aca  nvim-macos.tar.gz
9efe2ff55a13edf32afcfe51194d8e85bb62be7f09ff86384ffb0b8eed2bf716  nvim-win64.zip
adc92c40ea4552dd57898a5f4ec1e635f65ba133340bc9b59c73165cc4cae1bb  nvim-win64.msi

Changes since 0.8.0
Breaking

    Remove hardcopy
    Make iconv a non-optional dep
    Remove has("debug") (#22060)
    Make libintl a required dependency
    Rename vim.pretty_print => vim.print
    Rename sanitizer options from CLANG_* to ENABLE_*
    Remove the .deb release (#22773)
    column: Ensure 'statuscolumn' works with virtual and wrapped lines
    cscope: Remove
    defaults: Change default 'commentstring' value to empty (#22862)
    edit: Remove old c implementation of hebrew keymap
    editorconfig: Change editorconfig_enable to editorconfig
    exepath: Prefers extensionless for powershell
    health: Remove deprecated health.lua
    lsp: Add rule-based sem token highlighting (#22022)
    lua: Execute Lua with "nvim -l"
    messages: Graduate the 'msgsep' feature
    options: Deprecate paste, remove pastetoggle (#22647)
    rpc: Preseve files when stdio channel is closed (#22137)
    runtime: Remove filetype.vim (#20428)
    treesitter: Remove g:ts_highlight_lua (#22257)
    treesitter: Remove silent option from language.add()
    treesitter: Consolidate query util functions
    treesitter: Remove deprecated show_tree func
    treesitter: Deprecate top level indexes to modules (#22761)
    treesitter: Rename help parser to vimdoc

Features

    Added support for @generic to lua2dox.lua
    Added support for optional params to lua2dox
    Added support for specifying types for lua2dox
    Mention ":help news" in intro #20674
    ":write ++p" creates parent dirs #20835
    Add vim.secure.read()
    vim.inspect_pos, vim.show_pos, :Inspect
    $NVIM_APPNAME #22128
    Try to recover from missing tempdir #22573
    Add vim.filetype.get_option()
    Add vim.treesitter.language.get_filetypes() (#22643)
    Allow function passed to defaulttable to take an argument (#22839)
    api: Nvim_select_popupmenu_item support cmdline pum (#20652)
    api: Add command name to Lua command callback opts
    api: Show more exception info
    api: More fields in nvim_list_uis
    api: Add filetype option nvim_get_option_value
    api: Add nvim_get_hl (#22693)
    api: Nvim_exec2(), deprecate nvim_exec() #19032
    api: Evaluate 'statuscolumn' with nvim_eval_statusline()
    api: Set statuscolumn line number in nvim_eval_statusline()
    aucmd_win: Allow crazy things with hidden buffers (#21250)
    checkhealth: Improve treesitter report
    checkhealth: Check runtime ($VIMRUNTIME)
    checkhealth: Use "help" syntax, avoid tabpage #20879
    clipboard: Copy to system clipboard in tmux when supported (#20936)
    clipboard: Added wayclip support (#21091)
    diagnostic: Add suffix option to open_float() (#21130)
    diagnostic: Add suffix option to virt_text config (#21140)
    diagnostic: Don't open quickfix/loclist if no diagnostics #21397
    diagnostic: Vim.diagnostic.is_disabled() #21527
    diagnostic: Add support for tags
    docs: Nested lists in HTML, update :help parser
    docs: Format parameters as a list #20485
    docs: Update parser, HTML gen #20720
    docs-html: Try to use tags for ToC headings
    editorconfig: Add builtin EditorConfig support
    editorconfig: Add editorconfig syntax file
    editorconfig: Allow editorconfig to be toggled dynamically
    exrc: Use vim.secure.read() for 'exrc' option
    exrc: Support .nvim.lua (#21436)
    extmarks: Allow preventing spellchecking with spell = false
    extmarks: Extend nvim_buf_get_extmarks()
    filetype: Fall back to file extension when matching from hashbang (#22140)
    float: Open float relative to mouse #21531
    fs: Add opts argument to vim.fs.dir()
    gen_help_html.lua: Remove old AWK scripts
    health: Detect tmux RGB support via client_termfeatures
    help: Highlighted codeblocks
    highlight: Add DiagnosticOk (and associated) highlight groups (#21286)
    highlight: Define the concept of altfont as a (c)term rendering attribute
    l10n: Update Turkish translations (#20444)
    l10n: Update zh_CN translations (#21085)
    lsp: Add bufnr option to lsp.start (#20473)
    lsp: Support window/showDocument (#19977)
    lsp: Run handler in coroutine to support async response (#21026)
    lsp: Support set title in lsp relate floatwindow (#21110)
    lsp: Support willSave & willSaveWaitUntil capability (#21315)
    lsp: Initial support for semantic token highlighting
    lsp: Highlight semantic token modifiers (#21390)
    lsp: Add function to get semantic tokens at cursor
    lsp: Add function to clear codelens (#21504)
    lsp: Show active clients in :checkhealth vim.lsp (#21670)
    lsp: Add triggerKind option for vim.lsp.buf.code_action (#21905)
    lsp: Implement workspace/didChangeWatchedFiles (#21293)
    lsp: Implement workspace/didChangeWatchedFiles (#22405)
    lsp: Overwrite omnifunc/tagfunc set by ftplugin #22267
    lsp: Render markdown in docs hover #22766
    lsp: Create default link from @lsp.type.comment to Comment (#22888)
    lua: Send "--" literally to Lua "-l" script
    lua: Exit 1 on Lua "-l" script error
    lua: Execute stdin ("-") as Lua
    lua: Store "nvim -l" scriptname in _G.arg[0]
    lua: Low-level interpreter mode (nvim -ll)
    lua: Make sure require'bit' always works, even with PUC lua 5.1
    lua: Add semver api
    lua: Omnifunc for builting lua interpreter
    lua: Use vim.empty_dict() for empty return value in new api functions (#22737)
    lua: Allow :=expr as a shorter version of :lua =expr
    lua: Add vim.loader
    lua-api: Avoid unnecessary allocations (#19877)
    man: Add health check
    man.lua: Support spaces in manpage names
    message: Avoid spam on failed os_msg
    packaging: Add start menu and desktop shortcuts on Windows
    provider: Add support for Yarn node modules on Windows (#21246)
    secure: Add :trust command and vim.secure.trust() (#21107)
    spell: Support nospell in treesitter queries
    spell: Also source spell/LANG.lua when setting spelllang (#22111)
    test: Add Lua forms for API methods (#20152)
    treesitter: Add vim.treesitter.show_tree() (#21322)
    treesitter: Add 'lang' option to show_tree() (#21341)
    treesitter: Show filetype associated with parser (#17633)
    treesitter: Allow capture text to be transformed
    treesitter: Add metadata option for get_node_text
    treesitter: Respect metadata[id].range for offset!
    treesitter: Playground improvements
    treesitter: Add filetype -> lang API
    treesitter: Upstream foldexpr from nvim-treesitter
    treesitter: Expand the API
    treesitter: Add :InspectTree command (#22477)
    treesitter: Bundle query parser and queries (#22483)
    treesitter: Use upstream format for injection queries
    tui: Run TUI as external process
    tui: Graduate the +tui feature
    tui: Support altfont mode in tui.c
    ui: Add support to display a title in the border of a float (#20184)
    ui: Add 'statuscolumn' option
    ui: Restore has('gui_running')
    ui: Add scroll_delta to win_viewport event #19270
    vim-patch: Mention original author #20772
    vim.diff: Allow passing an integer for linematch
    vim.fs: Pass path to find() predicate, lazy evaluate #22378
    vim.fs: Improve normalize
    vim.gsplit: Gain features of vim.split
    vim.version: More coercion with strict=false
    web: Syntax highlighting via highlight.js
    window/ui: Add splitkeep option (#19243)
    windows: Show icon in terminal titlebar, taskbar #20607

Performance

    column: Only build fold/sign column when present in 'statuscolumn'
    completion: Use one call to globpath() for .vim and .lua #21942
    diagnostic: Use api variable and improve validate (#21111)
    lsp: Update semantic tokens algorithm for parsing modifiers (#21383)
    lsp: Only redraw the windows containing LSP tokens
    lsp: Better binary search mid calculation in semantic token (#22607)
    statuscolumn: Only fill click defs array once per redraw (#21884)
    statusline: UI elements are always redrawn on K_EVENT
    treesitter: Smarter languagetree invalidation
    treesitter: More efficient foldexpr
    ui: Mitigate redraw latency regression from TUI refactor

Bug Fixes

    Make_filter_cmd for :! powershell
    :! pwsh redirection for command not found
    Find multibyte file name in line (#20519)
    Change did_emsg back to int
    'scroll' is not set correctly for floats with 'splitkeep'
    Setting tabline option not redrawing tabline
    Avoid unsigned overflow in home_replace() (#20854)
    Add lfs to luarc.json (#20979)
    Vim.ui.input always calls callback #21006
    Don't disable compositor widgets when a GUI with multigrid attaches
    Pvs warnings (#21145)
    Clang warnings (#21247)
    Vim.opt_local:append ignoring global option value (#21382)
    Issues with command line if ui elements are externalized
    Properly close builtin popup in ext_popupmenu
    Failing XDG test on Windows CI
    Pass value instead of pointer to isalpha (#21898)
    Use correct number for INT_MAX (#21951)
    Add manifest file to correctly determine Windows version (#21953)
    Uv_tty_set_mode failed in Windows #22264
    Lsp github issue template example (#22285)
    Remove "Features" section from --version/:version (#22315)
    Remove "Compiled by:" from :version/--version (#22316)
    Add missing void as function argument (#22317)
    Windows assertion failure due to incorrect path length (#22324)
    Resolve error from -Werror=maybe-uninitialized
    Address -Wmaybe-uninitialized warnings (#22436)
    Pasting in terminal buffer on windows #22566
    Invalid buffer size argument to snprintf #22729
    Snprintf buffer overflow detected by -D_FORTIFY_SOURCE=3 (#22780)
    MSVC: Set the active code page to utf-8 (#22384)
    Windows: Restore console title at exit #21922
    api: Dynamically allocate line buffer for nvim_out_write (#20537)
    api: Nvim_buf_get_text regression (#21071)
    api: Nvim_win_set_cursor redraw cursorcolumn for non-current window (#21072)
    api: Set correct curbuf when temporarily changing curwin (#21371)
    api: "emsg_silent" should imply "silent" in nvim_cmd (#21438)
    api: Nvim_create_autocmd crash on invalid types inside pattern array
    api: Avoid memory leak with click functions in nvim_eval_statusline() (#21845)
    api: Don't allow hiding aucmd_win from another tabpage (#21975)
    api: Allow empty Lua table for nested dicts #22268
    api: Set script context when setting usercmd or option (#22624)
    api: Vim.filetype.get_option() (#22753)
    api: Make nvim_get_hl return 'cterm' attrs properly
    api: Use local LastSet structure in nvim_get_option_info (#22741)
    api: Return both link and attributes with nvim_get_hl (#22824)
    api: Avoid double hit-enter prompt with nvim_err_writeln (#22879)
    autocmd: Handle recursion for force set (#22820)
    buffer_updates: Save and restore current window cursor (#16732)
    build: "make clean" fails
    build: Duplicate version string "v0.8.0-v0.8.0" #20578
    build: Fix invalid use of EXITFREE
    chansend: Sending lines to terminal in reverse order on Windows #19315
    ci: Skip test on windows (#21502)
    ci/release/winget: Bump action version
    client: Wait for session to exit
    clint: Disable whitespace/newline #20619
    clipboard: Prefer xsel #20918
    clipboard: Update version regex pattern (#21012)
    clipboard: Show provider warning when not during batch changes #21451
    column: Avoid drawing columns for virt_lines_leftcol
    column: Estimate 'statuscolumn' width appropriately
    column: No longer reset nrwidth_line_count for 'statuscolumn'
    column: Cmdwin cursor is offset with 'statuscolumn' (#22445)
    column: Issues with 'statuscolumn' width (#22542)
    column: Rebuild status column when sign column is invalidated (#22690)
    column: Invalidate statuscolumn width when UPD_NOT_VALID (#22723)
    completion: Set pum_size even if ext_popupmenu is used (#20648)
    completion: Correct what modes support fuzzy completion
    completion: Include lua syntaxes in :ownsyntax completion (#21941)
    coverity/433537: Don't call kv_concat_len() when read_size is 0 (#21664)
    decoration: Redraw correctly when re-using ids
    decoration: Call providers in win_update() earlier
    decoration: Do not reset must_redraw after calling providers (#21459)
    decoration: Don't show signcolumn for non-sign_text extmark (#22135)
    diagnostic: Correct type annotations; add Diagnostic type (#21120)
    diagnostic: Clear stale cache on reset (#21454)
    diagnostic: Sort diagnostics by column (#21457)
    diagnostic: Revert notification on missing diagnostics (#21632)
    diagnostic: Use correct field name for tags (#22835)
    diff: Remove size_t underflow (#20929)
    diff: Fix a crash in diff mode with linematch enabled (#21070)
    diff: Handle long lines without crashing (#21389)
    diff: Avoid restoring invalid 'foldcolumn' value (#21650)
    diff: "nvim -d" should only diff arglist files #21829
    diff: Adjust extmarks after diffput/diffget (#22440)
    diff: Add NULL check
    diff: Trigger on_bytes only once after diffget/diffput
    diff.c: Regression in diffgetput (#20843)
    docs: Missing "(" in :help HTML
    docs: Nil as viable argument for goto_prev (#20852)
    docs-html: Keycodes, taglinks, column_heading #20498
    docs-html: Update parser
    docs-html: Misaligned tabs after conceal #20690
    edit: Don't subtract msg_scrolled when removing double quote (#22630)
    editorconfig: Do not highlight unknown properties as errors (#21673)
    embed: Handle stdio in server properly
    eval: Make error number of charidx() same as Vim
    eval: Change some tv_dict_add() usages back to hash_add()
    events: Save v:event for cmdline autocommands separately (#21316)
    events: Skip WinScrolled for newly-created float windows (#21333)
    ex_cmds: Fix a mistake in the porting of Vim patch 8.1.0306 (#21096)
    exit: The TUI should not ui_flush() itself (#21625)
    exit: Skip unnecessary steps in TUI preserve_exit() (#21897)
    extmarks: Adjust extmarks when inserting prompt prefix
    extmarks: Problems with folded virtual lines (#21930)
    extmarks: Don't leak memory on error (#22507)
    fileio: Use first available directory in backupdir for backupcopy (#20655)
    fileio.c: Don't use uninitialized memory (#22031)
    filetype: Don't pass empty string to detect (#20766)
    filetype: Correctly detect tex files
    filetype: Make vim.filetype.match() work with contents only (#22181)
    filetype: Avoid recursive FileType autocmds (#22813)
    filetype: Make recursive work...again (#22826)
    float: Make closing float in another tab return to correct window
    float: Fix ml_get error with bufpos
    float: Fix crash with bufpos and non-existent window (#21319)
    float: Remove -1 in height clamp
    folds: Fix fold marker multibyte comparison (#20439)
    folds: Use long for number of folded lines (#21447)
    folds: Cursorline highlight is not always applied on closed folds (#22242)
    folds: Handle visual blockwise indent insertion correctly (#22898)
    fs: Duplicate path separator #21509
    health: Correct tmux rgb verification (#20868)
    health: Fix tmux_esc_time comparison
    health: Iterate using ipairs correctly (#22119)
    health: Stop using deprecated ts.language.inspect_language() (#22850)
    help: Force tree reparse after local addition insertion
    helpers: Restore channel id after a call to WITH_SCRIPT_CONTEXT
    highlight: Link more treesitter groups by default (#20711)
    highlight: Properly deal with underline mask when listing (#22057)
    highlight: Avoid ORing underline flags (#22372)
    highlight: Use winhl=Foo:Bar even when Bar is empty
    inspect: Alwasy resolve full treesitter lang hl groups
    intro: Omit patch version in ":help news" item #20713
    intro: Make :help news line easier to translate (#21974)
    lintcommit: Capitalized description #22282
    loader: Disable profiling by default
    lsp: Reporting bogus capabilities in CodeActionKind #20678
    lsp: Ignore hover and signatureHelp responses on buffer change (#21121)
    lsp: Render

    {lang} code blocks and set separator default to false (#21271)

    lsp: Remove workspaceFolders field (#21284)
    lsp: Call show_document with correct args
    lsp: Ensure open_logfile is safe for fast events (#21288)
    lsp: Followup fixes for semantic tokens support (#21357)
    lsp: Correct some type annotations (#21365)
    lsp: Fix get_active_clients bufnr parameter (#21366)
    lsp: Ignore null responses for semanticTokens request (#21364)
    lsp: Token_edit.data might be null on deletion (#21462)
    lsp: Adjust gravity of semantic tokens extmarks (#21574)
    lsp: Fix nil client access in get_active_clients (#21524)
    lsp: Change vim.lsp.get_active_clients.filter name annotation to string (#21624)
    lsp: Correct callHierarchy capability to fix lsp.buf.incoming_calls() (#21665)
    lsp: Fix removed param value in add_workspace_folder (#21915)
    lsp: Assert workspace/applyEdit receives params (#21945)
    lsp: Check method is supported when range formatting (#21970)
    lsp: Check if the buffer is a directory before w! it (#22289)
    lsp: Wrong format of bufnr and client order in error message (#22336)
    lsp: Fix some type annotations (#22397)
    lsp: CallHierarchy methods also require the callHierarchyProvider (#22427)
    lsp: Use buffer scheme for files not stored on disk (#22407)
    lsp: Only fire LspDetach for attached buffers (#22468)
    lsp: Don't monitor files if workspace_folders is nil (#22531)
    lsp: Change LspTokenUpdate to use buffer instead of pattern (#22559)
    lsp: Prevent lsp tests from picking up local user config (#22606)
    lsp: Send didClose on buffer rename (#22623)
    lsp: Use line start/end for visual line selection (#22632)
    lsp: Remove_workspace_folders fails if client has no workspace_folders #22633
    lsp: Vim.lsp.util.apply_text_edits cursor validation #22636
    lsp: Kill buffers after renaming a directory #22618
    lsp: Avoid switching buffers on lsp attach (#22689)
    lsp: Jump to tag locations reliably when :ltag is used (#22750)
    lsp: Add missing silent check in lsp hover handler (#22763)
    lsp/window_showDocument: Correctly handle external resources #20867
    lua: Properly configure luacheck and remove local vim = ... lines (#20551)
    lua: Assert failure with vim.regex() error inside :silent! (#20555)
    lua: On_yank error with blockwise multibyte region #20162
    lua: Pesc, tbl_islist result types #20751
    lua: Make vim.deepcopy work with vim.NIL
    lua: Always return nil values in vim.tbl_get when no results
    lua: Mark some eval functions that can run in API-fast
    lua: Vim.deprecate() shows ":help deprecated" #22677
    luado: Get old_line length before executing Lua code
    man: Support MacOS 13
    man: Handle absolute paths as :Man targets (#20624)
    man: Use italics for <bs>_ (#22086)
    man.lua: Set modifiable before writing page (#20914)
    man.lua: Use env command (#21007)
    man.lua: Open in current window if it's already a man page (#21987)
    man.lua: Tests, naming
    mappings: Use all buckets in second round of unmap (#21534)
    mappings: Fix check for cpo-B inverted in completion
    mappings: Make "<" escaping in completion match Vim
    mark: Do not restore view in op-pending mode (#20889)
    memline: Use long instead of linenr_T for db_line_count
    memory: Fix memory alignment for dynamic allocation
    messages: Reset msg_grid_scroll_discount when redrawing (#21000)
    messages: Don't set cmdline_row when messages have scrolled (#21015)
    mouse: Ensure no scrolling with "ver:0" in 'mousescroll' (#20861)
    mouse: Statusline click registered as statuscolumn (#21748)
    options: No matter what is said, 'cmdheight' is tab-local (susy baka)
    options: Fix local 'sidescrolloff' doesn't work for mouse (#21162)
    options: Restore exists() behavior for options (#21510)
    paste: Feed keys as typed in cmdline mode (#20959)
    path: Don't remove trailing slash when getting absolute path (#20853)
    powershell: Wrong length allocation for ":%w !" #20530
    qflist: Avoid read of uninitialized memory (#20709)
    rbuffer: Handle edge case where write_ptr has wrapped around
    redraw: Get the line again after evaluating something
    remote: Don't leak memory on failure to connect to server (#21931)
    rpc: Don't free args on error in rpc_send_event
    rpc: Don't parse msgpack if buflen is 0 (#21899)
    rpc: Ignore redraw events when not in UI client (#21892)
    rpc: Ignore redraw events when exiting (#22184)
    runtime: Properly rely on t_Co for colorschemes (#20602)
    runtime: Use g:terminal_color_{0-15} in colorschemes (#20637)
    screen: Correctly draw background and eob with 'rightleft' (#22640)
    screen: Redraw the ruler for a current floating window
    secure: Crash when hitting escape in prompt (#21283)
    shell: On Windows :make does not echo #22728
    showcmd: Assert failure with cmdheight=0 (#21536)
    sleep: Correct cursor placement (#22639)
    spell: Fix wrong cast (#20810)
    spell: Properly source spell/LANG.{vim,lua} (#22716)
    startup: Support .exrc or .nvimrc with init.lua (#21181)
    status: Handle unprintable chars in the statusline
    statuscolumn: Fix crashes and clang/PVS warnings (#21725)
    statuscolumn: Fix sign column highlights (#21727)
    statuscolumn: Foldcolumn buffer is too small (#21761)
    statuscolumn: Make %l/%r respect 'number'/'relativenumber' (#21747)
    statuscolumn: Always fill click defs array (#21878)
    statusline: Don't show showcmd when not enough space (#21550)
    statusline: Make nvim_eval_statusline() work with %S (#21553)
    statusline: Don't leak memory with zero-width click labels
    statusline: Don't leak memory with truncated click labels
    stdpath: Default to /tmp if stdpath('run') cannot be created #20952
    syntax: Correct conceal for annotated code blocks (#21272)
    tabline: Avoid memory leak in tabline click definitions (#21847)
    terminal: Fix 'mousescroll' not respected in terminal mode (#21415)
    test: Unset XDG_CONFIG_HOME when running oldtest
    test: Fix issues detected by running unittests in ASAN/UBSAN
    test: Fix C imports on macOS arm64
    tests: Only get the color map once, even for multiple test files
    tests: Initialize Screen.colors in API highlight tests
    tests: Use -l mode for lsp tests
    tests: Fixes for using vim.mpack and more ASAN
    tests: Adapt treesitter/highlight_spec priority test
    treesitter: Properly restore 'syntax' (#21358)
    treesitter: Really restore syntax
    treesitter: Validate language name
    treesitter: Fix most diagnostics
    treesitter: Don't trample parsers when filetype!=lang
    treesitter: Make params optional
    treesitter: Fixup language invalidation (#22381)
    treesitter: Remove virtual text from playground
    treesitter: Ipairs -> pairs
    treesitter: Fixup for health
    treesitter: Maintain cursor position when toggling anonymous nodes
    treesitter: Disallow empty filetypes
    treesitter: Typos in _range.lua
    treesitter: Break early from loop when match is found (#22499)
    treesitter: Raise ts_match_limit to 256 (#22497)
    treesitter: Is_in_node_range (#22582)
    treesitter: Correct include_bytes arg for parse()
    treesitter: Do not error on empty filetype
    treesitter: Better lang handling of get_parser()
    treesitter: Foldexpr (#22652)
    treesitter: InspectTree does not respect 'splitright' #22692
    treesitter: Annotations
    treesitter: Add missing deprecate
    treesitter: Update queries from nvim-treesitter
    treesitter: Use capture metadata range if exists
    treesitter: Disable folding in inspect_tree() (#22885)
    treesitter: Do not track ranges of the root tree (#22912)
    ts: Check buffer is loaded when restoring options (#21419)
    tui: Resume main thread if suspending isn't implemented (#20523)
    tui: Set cursor color param as string when required #21407
    tui: More work in the TUI
    tui: Do not set ui_client_termname if it is already set (#21607)
    tui: Make a copy of data->params before unibi_format() (#21643)
    tui: Do not invoke loop recursively for pad()
    tui: Set stdin as "blocking" on exit (#21973)
    tui: Detach/attach on suspend/resume (#22040)
    tui: Exit on input eof
    tui: Set taskbar, icon in Windows #22270
    tui: Only forward stdin_fd on first attach (#22293)
    tui: Properly check if stdin is a tty (#22321)
    tui: Avoid stack-use-after-scope with cursor color (#22435)
    tutor: Failing to get buf name #20933
    ui: Msg_ext_set_kind for nvim_echo (#20476)
    ui: Setting 'cmdheight' with global statusline (#20515)
    ui: Send grid_resize events before triggering VimResized (#20760)
    ui: Fix some cases of stale highlight definitions
    ui: Allow resize commands to set 'cmdheight' to 0
    ui: Fix fragile UI_CALL macro invocation (#21656)
    ui: Convert title_pos string in nvim_win_get_config
    ui: Set stc to empty in floatwin with minimal style (#21720)
    ui: Command line issues with external messages (#21709)
    ui: Re-organize tty fd handling and fix issues
    ui: Make sure screen is valid after resizing
    ui: Recording change doesn't trigger statusline redraw
    ui: Ruler is not redrawn in cmdline with redrawstatus
    ui-ext: Correct message kind in history before vim.ui_attach()
    ui-ext: Log and clear error in ui_comp_event (#21147)
    ui-ext: Force cursor update after resize in char-based UI
    unittest: Delete unused duplicated code
    unittests: Do not consider process crash to be a success
    unittests: Fix TUI broken test previously ignored
    vim-patches: Ensure libfuse is installed
    vim.diff: Correctly apply hunk offsets with linematch (#20931)
    vim.diff: Fix fastforward off-by-1 (#20937)
    vim.ui.input: Return empty string when inputs nothing (#20883)
    vim.version: Incorrect version.cmp()
    vim.version: Prerelease compare
    win_close: Remove float grid after closing buffer (#21551)
    win_update: Don't use unintialized memory in edge case (#22266)
    windows: Set console icon later in startup
    windows: Consistent normalization in fs.find

Build System

    Remove unused variable CMAKE_C_COMPILER_ARG1
    Remove code for cross-compilation
    Remove url for 32-bit winyank
    Remove unnecessary translation-related code
    Rely on builtin cmake downloading rather than custom script
    Define EP_PREFIX property
    Only generate compilation database for the nvim target (#20449)
    Remove EXITFREE for debug builds
    Generate compilation database for older cmake versions
    Add clang-tidy configuration file (#15601)
    Fix incorrect clang-tidy identifier rules (#20650)
    Rely on default cmake installation if possible
    Give example on complex regexes
    Preprocess vim patches with uncrustify #20786
    Copy each treesitter parser library individually #20797
    Fix plural messages missing from .po files (#20830)
    Make update-po support optwin.vim (#20840)
    Remove python linting #20851
    Add EXCLUDE option to add_glob_target
    Always ignore user's cmake preset (#20935)
    Allow IWYU to fix includes for all .c files
    Restrict git describe to top level source directory (#20993)
    Fix help tags generation when SHELL=fish (#21562)
    Add git sha to version when built with nix flake (#21210)
    Remove workaround for old luajit versions
    Remove workaround for ancient clang versions
    Use modern cmake (#21589)
    Include our libraries before system libraries (#21746)
    Enable iwyu with target properties instead of variables (#21797)
    Exclude tui/terminfo_defs.h from lintc-clint (#21822)
    Enable cmake workflow presets (#21860)
    Remove nvim as a dependency of unittests (#21903)
    Various cmake fixes (#21902)
    Bump MSVC warning to level two (#21890)
    Use CMAKE_POSITION_INDEPENDENT_CODE instead of -fPIC (#21947)
    Make generated source files reproducible #21586
    Remove unnecessary unit test code (#21940)
    Use cmake for all platforms for unibilium and libtermkey (#21926)
    Simplify treesitter installation (#21969)
    Use upstream CMakeLists.txt for unibilium (#21976)
    Delete pthreads import (#21732)
    Remove GNU make check (#21977)
    Remove tests for libtermkey (#21983)
    Use cmake to build treesitter on all platforms (#21984)
    Introduce default build variables (#21991)
    Use cmake to build libvterm on all platform (#21986)
    Check if libvterm version meets requirement (#22010)
    Find unibilium without relying on libfindmacros (#22015)
    Fix dependencies in find modules (#22017)
    Enable ccache by default if available (#22020)
    Enable ccache project-wide (#22045)
    Add uninstall make target (#22059)
    Remove unnecessary file generation (#22099)
    Update release data
    Stop relying on CMAKE_BUILD_TYPE to determine the build type (#22051)
    Unbreak building neovim with multi-config generators (#22104)
    Don't build libnvim when running the CI (#22149)
    Remove duplicate INTERFACE keyword (#22106)
    Prefer -D = over -D= (#22164)
    Replace check-single-includes with clang-tidy (#22061)
    Remove unused function get_test_target (#22176)
    Reuse source files with interface library (#22177)
    Create test/CMakeLists.txt and move test-related code (#22179)
    Remove codecov related files (#20859)
    Mark uninteresting variables as advanced (#22208)
    Enable MSVC level 3 warnings (#21934)
    Don't check environment variable to detect CI (#22234)
    Treat clang-tidy warnings as errors (#22238)
    Remove ENABLE_COMPILER_SUGGESTIONS option (#22249)
    Only use HOSTNAME_PRG if HOSTNAME is undefined (#22288)
    Use custom command to create single versiondef (#22290)
    Use libuv config file (#22209)
    Test multi-config generator (#22310)
    Build all dependencies in parallel (#22329)
    Remove unused dependency penlight (#22334)
    Build luajit in parallel (#22327)
    Set libtermkey project language to C (#22410)
    Remove pkgconfig-related code (#22422)
    Remove libfindmacros library (#22423)
    Cmake cleanup (#22251)
    Unset variables ending with "URL" if USE_EXISTING_SRC_DIR is ON
    Show build type specific compiler flags when using --version
    Fix unknown pragma warning with mingw (#22533)
    Consistently use the provided option paths
    Fix USE_EXISTING_SRC_DIR option
    Silence git describe error output
    Remove workaround for incorrectly packaged libluv
    Enable unit testing on release builds (#22554)
    Fix build warning when using gcc 4.9.2
    Explicitly add dependency include dir for header generation
    Sanitizers for gcc
    Set CMAKE_C_STANDARD to 99 for all dependencies
    Drop curl.exe on Windows
    Download wintools executables separately
    Cmake cleanup
    MSVC: Enable assertions on RelWithDebInfo build type (#22326)
    Windows: Fix redoing version generation (#21880)
    Windows: Make bundling nvim-qt optional (#21866)
    Windows: Allow building without custom md5sum
    bump_deps.lua: Run command -v in shell (#22030)
    ci: Let ASAN print tracebacks for more errors (SIGABORT, SIGILL)
    cmake: Add modelines to enable syntax highlighting
    deps: Restore support for USE_EXISTING_SRC_DIR (#20491)
    deps: Add build type for libuv (#20575)
    deps: Disable shared library for libvterm. (#20566)
    deps: Bump tree-sitter to v0.20.8 (#22663)
    deps: Bump luarocks to v3.9.2
    deps: Bump coxpcall to 1.17.0-1
    deps: Bump luacheck to 1.1.0-1
    deps: Bump mpack to 1.0.10
    deps: Bump lua parser to v0.0.14 (#20897)
    deps: Switch vim parser to maintained fork (#22896)
    deps: Bump vimdoc parser to v2.0.0 (#22870)
    deps: Set query parser to release (#22603)
    deps: Bump libvterm to v0.3.1
    deps: Bump msgpack-c to v6.0.0 (#22522)
    deps: Bump win32yank to v0.1.1 (#22700)
    deps: Bump actions/stale from 7 to 8
    deps: Switch to Launchpad for libvterm and libtermkey (#22811)
    editorconfig: Set indent_size to 4 for python files (#21135)
    lint: Remove clint.py rules for braces #20880
    lint: Add more shell scripts to lintsh
    lintsh: Double quote to prevent word splitting (#21571)
    luarocks: Update busted version to v2.1.1 (#22029)
    nix: Change the pkgs to final, add new version of libvterm (#20410)
    nix: Update nixpkgs
    nix: Clean up nix flake (#21565)
    nix: Remove pylint as it has been removed (#21572)
    nix: Fixed build (#22918)
    vim-patch.sh: Handle added/removed files properly
    vim-patch.sh: Checkout files with path for uncrustify (#20863)
    windows: Export extern symbols for use in FFI #22756
    windows: Specify Windows 8 as the minimum version (#22173)
    windows: Work around luarocks not finding its own md5sum

Documentation

    Refer to vim.lsp.start() in LSP issue template #20422
    Fix incorrect :help tag (#20511)
    Added proper annotations to functions in shared.lua
    Fix typos
    Fix/remove invalid URLs #20647
    "supported platforms" matrix #19615
    Update vimdoc parser #20747
    ":che" is ":checkhealth" #20147
    .git-blame-ignore-revs (#20820)
    Swap CursorLineFold and CursorLineSign (#20875)
    Add language annotation to Nvim manual
    Add missing docs from some Vim patches (#21296)
    Dark/light color/accessibilty pass for generated html docs #21345
    Add links to extmarks and namespaces (#21378)
    Remove "How-to disable mouse" menu item #21394
    Add security policy (#17338)
    Fix order of numbers in syntax.txt (#21581)
    Clarify line about converse of lua-heredoc (#21592)
    Fix treesitter parsing errors
    Add 'statuscolumn' docstrings (#21717)
    Builtin TUI is no longer channel 0 (#21794)
    Treesitter.add_directive, add_predicate #21206
    Docs: use codeblocks in runtime/doc/options.txt (#21919)
    Clarify :runtime behavior without [where] again (#22003)
    Clarify "pipe" mode for sockconnect
    Reword news.txt to ensure a consistent style (#22215)
    Remove mentions of 'balloonexpr' #22049
    Remove the test badge from the README (#22350)
    Mention getmousepos() for click execute function label
    Naming conventions, guidelines
    Fix more treesitter parsing errors
    Use build/bin/nvim instead of nvim in gen_vimdoc (#22398)
    Fix vim.treesitter tags
    Lua2dox.lua debugging
    Module-level docstrings (@defgroup) #22498
    Add missing highlight groups for floats
    Add removed features in news.txt
    Fix g:terminal_color_x terminal colors #22746
    More details about vim.region (#21116)
    How to debug TUI using gdb/lldb #22771
    Add vim.treesitter.query.get_query() to deprecated.txt
    README: Add Kotlin as a language which can use the API (#21567)
    README: Fix CI status badge (#22308)
    api: Pattern is not expanded for autocommands (#20812)
    api: Fix treesitter parsing errors
    api: Tweak data arg for nvim_create_autocmd (#22008)
    api: Link to nvim_set_hl_ns from nvim_set_hl (#22678)
    dev-style: Remove rule about variable declarations (#20446)
    dev-style: Remove rules covered by uncrustify
    diagnostic: Number → integer (#22512)
    docstrings: Fix runtime type annotations
    editorconfig: Update news.txt
    editorconfig: Add editorconfig.txt
    editorconfig: Number → integer (#22514)
    filetype: Number → integer (#22516)
    gen: Support language annotation in docstrings
    gitignore: Correct oldtest path
    help: Consistent headers for local additions
    highlight: Fix type annotations (#22272)
    html: Render @see items as a list #22675
    inspect: Number → integer (#22511)
    lsp: Add formatting APIs to deprecated.txt (#20487)
    lsp: Update buf_notify and rpc.notify params types (#21753)
    lsp: Fix type annotation on convert_input_to_markdown_lines (#21772)
    lsp: Format arguments to start_client() (#21980)
    lsp: Update cmd_env description (#22438)
    lsp: Change type annotations from number → integer (#22510)
    lsp: Type annotation for lsp.client (#22509)
    lsp: More precise type annotations (#22621)
    lsp: Opt-out of default LSP "gq" #22615
    lua: Add clarifications for fs.find() and fs.normalize() (#21132)
    lua: Correct the tags for vim.opt_local and vim.opt_global (#21138)
    lua: Correct vim.spell.check example (#21311)
    lua: Add guide to using Lua in Neovim (#21137)
    lua: Add vim.json (#21538)
    lua: Fix treesitter parsing errors
    lua: Adjust some type annotations
    lua: Lua-guide: is for rhs of vim.keymap.set(), not lhs (#21814)
    lua: Use luaref tag instead of www.lua.org #21813
    lua: Number → integer (#22517)
    luvref: Fix treesitter parsing errors
    luvref: Update to version bump
    maintain: CI strategy #20778
    maintain: Add note on updating luvref.txt
    manual: Fix treesitter parsing errors
    news: Add news.txt and link from README (#20426)
    options: Remove mentions of 'imactivatefunc' and 'imstatusfunc'
    shell: Mention "&" for piping with powershell #20459
    support: Update tested versions (#21126)
    test: Using cmake directly (without make) #22781
    treesitter: Fix predicate syntax (#21016)
    treesitter: Change links for eq? and set! to codeblocks (#21047)
    treesitter: Use full function names in tags (#21321)
    treesitter: Fix parse errors
    treesitter: Number → integer (#22513)
    treesitter: Add query injections
    tutor: Fix TODO line demo (#21965)
    uri: Number → integer (#22515)
    usr: Make usr_05.txt more coherent with Nvim changes (#22428)
    usr_05: Update sentence about Nvim default behavior of Q (#20817)
    vim.fs: Normalize Windows example was incorrect (#21966)
    website: Soft wrap code blocks #21644

Refactor

    Remove char_u type and replace with char, uint8_t, etc
    remove STRNCMP (#21208) and STRLCPY (#21235)
    Remove clint error suppression as all errors has been fixed #21782
    Explicitly convert HANDLE to intptr_t for _open_osfhandle()
    Clang-tidy fixes to silence clangd warning (#20683)
    Fix uncrustify lint errors
    Move do_mouse() and its helpers to mouse.c (#20895)
    Fix clang-tidy warnings
    Click definition functions #20923
    Remove stray emsg check after #20992 (#20996)
    Move tabline code to statusline.c (#21008)
    Convert drawline.c draw states to enum (#21067)
    Remove STDC_ISO_10646 check
    Deprecate 'secure' option
    Remove old TODO comments that aren't relevant anymore (#21144)
    Maybe suppress a PVS warning
    Rework parameter validation in vim.secure.trust() (#21223)
    Buffer_ensure_loaded()
    Move ex_retab() to indent.c
    Remove COMMA (#21260)
    Make sure getting a callback doesn't modify argument
    Rename mch_msg => os_msg
    Rename mch_get_acl => os_get_acl
    Eliminate os_unix.c #21621
    Extract code to open stdin for reading
    Eliminate bump-deps.sh using "nvim -l"
    Fix IWYU mapping file and use IWYU (#21802)
    Format with stylua (#21821)
    Remove E5500, adjust tests
    Fix sign conversion warning from gcc (#21833)
    Use uint8_t for blobs and ga_append() (#21916)
    Use flexible arrays instead of the length-of-one trick (#22072)
    Reduce scope of locals as per the style guide (#22206)
    Move init_default_autocmds to lua
    Rename show_tree => inspect_tree #22474
    Move ga_loaded to runtime.c (#22626)
    Do more in TRY_WRAP
    Add const and remove unnecessary casts (#22841)
    Use bool type for global variables (#22842)
    Rename local API alias from a to api
    Make error message definitions const
    Remove use of reserved c++ keywords
    PVS: Suppress false positive V547 in drawline.c (#21875)
    PVS/V1048: Remove unnecessary assignment (#21870)
    PVS/V1048: Remove redundant assignment (#21871)
    PVS/V1048: Remove duplicated assignments (#21873)
    PVS/V581: Merge identical if statements (#22390)
    api: Do not allocate temporaries for internal events
    api: VALIDATE macros #22187 #22256 #22262
    build: Remove unused stdlib function and include checks
    build: Graduate HAVE_LOCALE_H feature
    build: Graduate libtreesitter features which are 1+ years old
    build: Graduate msgpack-c FLOAT32 "feature" since forever
    build: Graduate unibilium VAR_FROM feature from 2017
    build: Graduate -Wvla, -fno-common and -Og "features"
    build: Make installation of runtime/ more effective
    checkhealth: Convert "nvim" check to Lua
    clint: Convert short to int16_t (#20815)
    column: Remove unused build_statuscol_str() arguments
    completion: Don't add and remove '^' for Lua (#22702)
    diagnostic: Remove deprecated function (#20423)
    diagnostic: DRY for loop #21521
    diff.c: Reduce scope of variables (#20781)
    diff.c: Break up ex_diffgetput()
    diff.c: Allocate hunks directly in ga_array
    diff.c: Factor out hunk extraction
    diff.c: Factor out hunk processing
    diff.c: Simplify diff_buf_idx()
    diff.c: Internal does not need diffstyle
    diff.c: Factor out diffblock deletion
    diff.c: Copy lines via memmove
    drawline.c: Leadcol/trailcol
    drawline.c: Move number column helpers function together
    drawscreen.c: Reduce scopes of locals (#20668)
    eval: Make get_lval() explicitly check for v:lua
    eval.c: Factor out get_number_tv() (#21893)
    exit: Pass error message to preserve_exit() (#22097)
    extmarks: Some minor internal API changes
    f_has: Remove wrong comment (#21561)
    fileio.c: Reduce scope of locals
    fileio.c: Refactor match_file_path()
    fileio.c: Refactor vim_rename()
    fileio.c: Refactor buf_write_bytes
    fileio.c: Refactor buf_write_bytes (2)
    fileio.c: Remove HAS_BW_FLAGS
    fileio.c: Factor out autocmd handling from buf_write()
    fileio.c: More bools
    fileio.c: Reduce scope of locals
    fileio.c: Do not use macros for error handling
    fileio.c: Factor out buf_write post autocmds
    fileio.c: Factor out file info calc
    fileio.c: Make unreadable expression readable
    fileio.c: Factor out backup creation
    fileio.c: Remove HAVE_ACL ifdefs
    fileio.c: Normalize ifdefs
    fs: Replace vim.fn/vim.env in vim.fs (#20379)
    highlight: Rename FloatBorderTitle #20988
    highlight: Reshape the HL_UNDER* bits into a 3-bit integer mask
    highlight_group.c: Reduce scope of locals
    intro: Avoid Coverity warning (#22000)
    loader: Use vim.fs
    loader: Remove BufWritePost autocmd
    loader: Add typing for package.loaders
    loader: Simplify tracking logic
    loader: Cache hash information
    log: Reduce compile time LOG_LEVEL granularity
    lsp: Remove deprecated lsp functions (#20421)
    lsp: Extract a _create_server method in lsp_spec
    lsp: Remove deprecated vim.lsp.buf_get_clients calls (#21337)
    lsp: Remove workaround for missing bit module (#22373)
    lsp: Remove deprecated code (#22389)
    lsp: Remove _resolve_capabilities_compat (#22628)
    lsp: Do not parse verbose output when overwriting options (#22810)
    lua: Move _G.arg init to nlua_init()
    lua: Get all marks instead of iterating over namespaces
    lua2dox: Format with stylua
    main.c: Remove unreachable use_builtin_ui conditions (#22338)
    man: Pass env directly to spawn() (#20591)
    man: Add type annotations
    memory: Simplify new alignment logic
    option.c: Reduce scope of locals
    option.c: Add get_varp_from and get_varp_scope_from
    option.c: De-nest set_option_value
    option.c: Use intermediate for options ref
    option.c: Add do_set_num
    option.c: Add do_set_bool
    option.c: Simplify do_set_string
    option.c: Factor out common skip check
    option.c: Factor out loop code from do_set()
    option.c: Remove goto
    option.c: Change nextchar to uint8_t
    option.c: Use skiptowhite_esc
    option.c: Factor out set op parsing
    option.c: Factor out option prefix parsing
    option.c: Factor out option name parsing
    option.c: Factor out opt_idx validation
    option.c: De-nest code in do_set_option
    option.c: Move bool prefix check
    option.c: Add do_set_option_value
    option.c: Factor out some nextchar checks
    option.c: Factor out string option special case handling
    options: Don't pass negative number to illegal_char() (#21999)
    optionstr.c: Reduce scope of locals
    optionstr.c: Break up did_set_string_option 1-52
    optionstr.c: Remove some simple did_set_* functions
    optionstr.c: Add did_set_string_option_for
    optionstr.c: Break up did_option_listflags
    optionstr.c: Remove some redundant parens
    optionstr.c: Break up did_set_expropt
    optionstr.c: Move handling of formatlistpat
    optionstr.c: Align comments (#22070)
    params: Open -s and -w script files after parsing commands
    pty: Remove old logic for inheriting termios from host terminal
    redraw: No type argument in update_screen()
    redraw: Various simplifications
    redraw: Make cursor position redraw use the "redraw later" pattern
    runtime: Use vim.version to compare versions #22550
    runtime.c: Factor out find_script_by_name() (#22620)
    screen: Screen.c delenda est
    sleep: Simplify rube goldberg implementation of :sleep
    spell: Use uint8_t for "byts" variables (#22519)
    statusline: Move statusline defs to statusline_defs.h
    tag: Remove return type from do_tag()
    test: Create an lsp-specific helpers.lua file
    tests: Lift retry() into assert_log()
    tests: Run unittests using main nvim binary in interpreter mode
    tests: Move lua-client into core and use it for functionaltests
    treesitter: Add vim.treesitter.get_node() (#22360)
    treesitter: Use string.format to create lines
    treesitter: Simplify some range functions
    treesitter: Delegate region calculation to treesitter (#22553)
    treesitter: Use byte ranges from treesitter (#22589)
    treesitter: Add Range type aliase for Range4|Range6
    treesitter: Delegate region calculation to treesitter (#22576)
    treesitter: Move inspect_tree impl
    tui: Use nvim_echo() for verbose terminfo
    tui/input.c: Remove unused multithreading code (#22342)
    ui: Statusbar invalidation to win_set_inner_size()
    ui: Devirtualize the ui layer
    ui: Cleanup 'redrawdebug', introduce "flush" mode
    ui: Don't reimplement redrawing in focus gained handling
    ui: Remove some superfluous ui_flush() calls
    ui: Ui_log() can now just be a function
    uncrustify: Move macros definitions to enable formatting
    uncrustify: Improved formatting rules
    vim.gsplit: Remove "keepsep"
    vim.version: Cleanup
    vim.version: Use lazy.nvim semver module
    vim.version: Use lazy.nvim semver module
    win_close: Remove "force", don't pass on "free_buf" (#21921)
    win_line: Rename attr to vi_attr (#21487)
    win_line: Move some variables into a struct (#22490)
    window: Remove aucmd_win check from one_window() (#21972)
    window.c: Reduce scope of locals (#20301)
    windows: Move os_icon_xx functions

Testing

    Introduce skip() #21010
    Remove skip for 32-bit MSVC (#21030)
    Don't skip parser_spec on windows (#20294)
    Add a Lua test for swap file created before boot
    Fix failing tui_spec.lua tests (#21117)
    Use isCI to simplify CI detection (#21134)
    Simplify platform detection (#21020)
    Adding/removing winbar should not cause win_pos events (#21226)
    Use luv.os_uname for fast platform detection (#21157)
    Add more tests for float window bufpos (#21318)
    Convert another test in test_matchadd_conceal.vim to Lua (#21353)
    Remove unused variable (#21552)
    Add test cases for command line issues
    Add more tests for Unicode
    Avoid consecutive mouse input at different positions (#21781)
    Align Test_shell_options, Test_shellslash with Nvim default
    Avoid noise in NVIM_LOG_FILE
    Exepath() returns correct path with cmd.exe, powershell #21928
    Remove unused field ext_float (#22243)
    Make expect_unchanged() less confusing (#22255)
    Make {MATCH:} behave less unexpectedly in screen:expect()
    Don't search entire repo for files
    Move oldtests to test directory (#22536)
    Use a wider screen in the rightleft winhl test (#22641)
    Unskip working Windows tests (#22537)
    Re-bundle cat on windows (#21255)
    Windows not detected in msys shells #22671
    Use exec_capture() in more places (#22787)
    Fix flaky watchfiles tests (#22637)
    Replace lfs with luv and vim.fs
    Improve editor/fold_spec.lua and editor/put_spec.lua (#22916)
    Windows: Normalize paths for test summary
    api: Migrate screenchar() test in in window API to screen test
    editorconfig: Add editorconfig tests
    exit_spec: Make sure that autocommands are triggered (#22188)
    fileio_spec: Avoid expect_exit() without calling clear() (#21810)
    float_spec: Add missing sum_scroll_delta #22648
    help: Drop treesitter parse error to 0
    highlight_spec: Fix warning in Visual highlight test (#22719)
    legacy/prompt_buffer_spec: Align script with oldtest more (#22354)
    lsp: Call clear() before willSave tests (#21336)
    lsp: Add a screen:expect() between insert() and feed_command() (#21577)
    lua/diagnostic_spec: Remove unnecessary after_each()
    lua/fs_spec: Fix vim.fs.dir() test (#21503)
    lua/ui_spec: Fix Ctrl-C test flakiness (#21039)
    old: Test_lambda.vim garbagecollect() -> test_garbagecollect_now()
    old: Remove stray test42 files (#20966)
    old: Make Test_help_tagjump() test order match upstream
    old: Add missing lines from Vim patch 8.2.0522 (#21048)
    old: Make ":h local-additions" work properly in test_help.vim
    old: Skip Vim9 script with less divergence
    old: Change $TMPDIR from Xtest-tmpdir to X-test-tmpdir (#21346)
    old: Make test_signs.vim closer to upstream (#21479)
    old: Run some part of 'cpoptions' tests
    old: Make getting an unused PID work (#22529)
    old: Move memfile_test.c to test/old/ (#22567)
    old: Unskip working tests on Windows (#22650)
    shada: Fix shada syntax definitions test
    statuscolumn: Add more tests for wrapped lines (#21718)
    statuscolumn: %l should follow default wrap behavior (#21766)
    statuscolumn_spec: Remove unnecessary feed('lh')
    statusline: UI elements are not redrawn on K_EVENT unnecessarily
    syn_attr_spec: Add more information (#21912)
    termxx_spec: Fix TermClose bdelete test flakiness (#22463)
    treesitter/parser_spec: Correct time unit (#22471)
    tui_spec: Don't use nested terminal for resize at startup (#21583)
    tui_spec: Avoid race between nvim_paste and nvim_input (#21639)
    tui_spec: Improve cursor_address test (#21700)
    tui_spec: Doesn't use Unicode in cursor_address test (#21703)
    tui_spec: Make rapid resize test test what it wants to test (#21933)
    tui_spec: Don't expect exact screen in rapid resize test (#21935)
    tui_spec: Remove unnecessary arguments for remote UI
    tui_spec: Use RPC request to setup autocommands
    ui: Wait for another success with failure after success
    undo_spec: Add more tests for writing in Insert mode
    unit: Use file:close() properly (#21505)
    vim.fs.normalize: Enable test on Windows
   2023-01-09 23:31:46 by Nikita | Files touched by this commit (3)
Log message:
editors/neovim: Update neovim to version 0.8.2

Changelog:

NVIM 0.8.2

This primarily a bug fix release but some improvements to documentation
has been back-ported as well.

Features
    help: Highlighted codeblocks

Documentation
    lua: Add guide to using Lua in Neovim (#21137)
    Mention how to remove the "How-to disable mouse" menu item
    Fix order of numbers in syntax.txt
    lua: Correct the tags for vim.opt_local and vim.opt_global (#21138)

Bug Fixes
    api: Set correct curbuf when temporarily changing curwin
    api: "emsg_silent" should imply "silent" in nvim_cmd
    decoration: Do not reset must_redraw after calling providers
    diagnostic: Clear stale cache on reset (#21454)
    events: Save v:event for cmdline autocommands separately
    float: Fix ml_get error with bufpos
    float: Fix crash with bufpos and non-existent window
    folds: Use long for number of folded lines
    mappings: Use all buckets in second round of unmap
    memory: Fix memory alignment for dynamic allocation
    options: Fix local 'sidescrolloff' doesn't work for mouse
    options: Restore exists() behavior for options
    terminal: Fix 'mousescroll' not respected in terminal mode
    tui: Set cursor color parameter as string when required
    win_close: Remove float grid after closing buffer

Build System Fixes
    Restrict git describe to top level source directory

NVIM v0.8.2
Build type: Release
LuaJIT 2.1.0-beta3
   2022-12-15 23:28:47 by Nikita | Files touched by this commit (3) | Package updated
Log message:
editors/neovim: update to version 0.8.1

Changelog (taken from https://github.com/neovim/neovim/releases):

0.8.1
Features
    extmarks: Allow preventing spellchecking with spell = false
    spell: Support nospell in treesitter queries
    man: Add health check
    docs-html: Try to use tags for ToC headings
Bug Fixes
    ui: Setting 'cmdheight' with global statusline
    ui: Fix highlights not being updated with 'winhl'
    Make_filter_cmd for :! powershell
    :! pwsh redirection for command not found
    Find multibyte file name in line
    Avoid unsigned overflow in home_replace()
    docs-html: Update parser
    folds: Fix fold marker multibyte comparison
    health: Correct tmux rgb verification
    man.lua: Set modifiable before writing page
    mouse: Ensure no scrolling with "ver:0" in 'mousescroll'
    paste: Feed keys as typed in cmdline mode
    qflist: Avoid read of uninitialized memory
    spell: Fix wrong cast
    stdpath: Default to /tmp if stdpath('run') cannot be created
    tui: Resume main thread if suspending isn't implemented
Documentation
    lsp: Vim.lsp.range_code_action() is not deprecated

0.8.0
Breaking changes
    Remove 'insertmode' 'remap' and 'terse' options
    highlight: Rename attributes to match Vim (#19159)
    highlight: Error on invalid names and allow '.' and '@'
    terminal: Drop winpty, require Windows 10 (version 1809 or later) #18253
    treesitter: Use @foo.bar style highlight groups
    treesitter: Do not merge queries by default (#20105)
Features
    runtime: Enable filetype.lua by default (#19216)
    Add undo!
    Add "prerelease" to version dict
    Click support for 'statusline', 'winbar' #18650
    Add preview functionality to user commands
    allow Cmdheight=0 (EXPERIMENTAL) #16251
    Stdpath('run'), /tmp/nvim.user/ #18993
    Add 'mousescroll' option (#12355)
    Allow :wincmd to accept a count (#19815)
    Multibuffer preview support for inccommand
    Man: Port to Lua (#19912)
    api: Ui options relevant for remote TUI
    api: Add nvim_parse_cmd And nvim_cmd
    api: Support handling stdin stream in remote ui
    api: Add group_name to nvim_get_autocmds
    api: Enable nvim_exec_autocmds to pass arbitrary data (#18613)
    api: Support pattern array for exec_autocmds
    api: Add unsilent to command APIs
    api: Add replace_keycodes to nvim_set_keymap (#19598)
    api: Add support for :horizontal modifier
    api: Add "move" to nvim_input_mouse
    api/ui: "ui_watched" option for ui-side extmarks
    build: Add_glob_target runs only on changed files #19070
    checkhealth: Check for slow shell #17829
    defaults: Session data in $XDG_STATE_HOME #15583
    defaults: Search selection by * and # in visual mode (#18538)
    defaults: Nnoremap & :&& #19365
    defaults: enable mouse by default (set mouse=nvi) #19290
    diagnostic: Pass diagnostics as data to DiagnosticChanged autocmd (#20173)
    docs: Gen_help_html.lua
    edit: Insert an unsimplified key using CTRL-SHIFT-V
    treesitter: Full support for spelling
    filetype: Convert more patterns to filetype.lua
    filetype: Remove side effects from vim.filetype.match (#18894)
    filetype: Expand environment variables in filetype patterns (#20145)
    fs: Add vim.fs functions: parents() dirname() basename() dir() find() normalize()
    highlight: Implement CurSearch highlight
    highlight: Support scoped @spam.eggs.baked_beans groups
    input: Delay all simplifications
    l10n: Turkish translations #19441
    l10n: Improve zh_CN translations (#19483)
    lsp: Remove capabilities sanitization (#17814)
    lsp: Show feedback on empty hover response (#18308)
    lsp: Options to filter and auto-apply code actions (#18221)
    lsp: Add vim.lsp.buf.format (#18193)
    lsp: Add logging level "OFF" (#18379)
    lsp: Add LspAttach and LspDetach autocommands
    lsp: Add filter to vim.lsp.get_active_clients()
    lsp: Option to reuse_win for jump actions (#18577)
    lsp: Add a start function (#18631)
    lsp: Send didChangeConfiguration after init (#18847)
    lsp: Defaults: tagfunc, omnifunc, formatexpr (#19003, #19677)
    lsp: Allow passing custom list handler to LSP functions that return lists \ 
(#19213)
    lsp: Provide feedback if server can't compute rename result (#19546)
    lsp: Add range option to code_action; deprecate range_code_action (#19551)
    lsp: Disable exit_timeout by default (#19672)
    lsp: Add tcp support
    lua: Vim.deprecate() #18320
    lua: Vim.cmd() with kwargs acts like nvim_cmd() #18523
    lua: Allow some vim script functions to run in fast callbacks
    lua: Measure require in --startuptime
    lua: Allow vim.cmd to be indexed (#19238)
    lua: Print source locations of lua callbacks (#19597)
    lua: Add vim.iconv (#18286)
    lua: Vim.ui_attach to get ui events from lua (EXPERIMENTAL)
    man.vim: List command flags in "gO" outline #17558
    mappings: Do not replace existing mapping for simplified form
    mappings: Allow special keys and modifiers in mapping
    mapset: Support restoring "replace_keycodes" and "desc"
    mapset: Support restoring Lua callback (#20024)
    marks: Restore viewport on jump #15831
    nvim_create_user_command: Pass structured modifiers to commands
    pum: Pretend 'mousemoveevent' is set when showing right-click menu
    server: Set $NVIM, unset $NVIM_LISTEN_ADDRESS #11009
    server: Instance "name", store pipes in stdpath(state)
    term: Add support for libvterm >= 0.2
    terminal: Implement <c-> for terminal mode
    terminal: Recognize underdouble and undercurl
    terminfo: Bump built-in terminfo entries (#18570)
    treesitter: Allow customizing language symbol name
    treesitter: Add ability to retreive a tree/node given a range
    treesitter: Upstream node methods from nvim-treesitter
    treesitter: Include language in invalid query error (#14053)
    treesitter: Bundle Lua parser and queries
    treesitter: Add viml parser and queries
    treesitter: Add injections
    treesitter: Add vim.treesitter.start(), enable for Lua
    treesitter: Bundle :help parser and queries
    tui: Query terminal for CSI u support (#18181)
    tui: Recognize keypad keys when using kitty keyboard protocol
    tui: Try terminfo for [re]set_cursor_color OSC #19255
    tui: Allow grid and host to disagree on ambiguous-width chars (#19686)
    tui: Recognize sidescroll events (#19992)
    tui: Support 'mousemoveevent'
    ui: Add 'winbar'
    ui: Clear message history explicitly with msg_history_clear event
    ui: Make right-click menu work properly with ext_multigrid
    ui: Allow to set the highlight namespace per window
    ui: Use msg_grid based implementation for cmdheight=0
    ui-ext: Make 'mousemoveevent' a ui_option
    eval: Make Lua Funcref work as method and in substitute() (#20217)
    eval: Input() support any type for "cancelreturn" in a dict (#19357)
Bug Fixes
    Show autocmd output when F is in shortmess (#18251)
    Has() should preserve v:shell_error #18280
    Suppress "is a directory" messages with shortmess 'F' (#18296)
    Display global statusline correctly with ext_messages
    Correct nlua_wait error message #18867
    Right-click in clickable statusline #19252
    Remote UI may get invalid 'pumblend' value #19379
    Assertion failure when requiring missing module in autocmd
    api: Nvim_eval_statusline should validate input #18347
    api: Check error after getting win/buf handle (#19052)
    api: Check for inclusive buffer line index out of bounds correctly (#19056)
    api: Change default value of 'pattern' in nvim_exec_autocmds (#19115)
    api: Do not switch win/buf if getting option in current win/buf (#19383)
    api: Make nvim_set_hl(ns=0, ...) redraw screen properly
    api: Nvim_set_hl bail out on invalid group name (#20021)
    api: Notify dict watchers on nvim_set_var and vim.g setter
    api/command: Fargs behavior when no arguments are passed (#19862)
    autocmds: Separate command from desc (#18617)
    buffer: Disable buffer-updates before removing from window #18933
    build: Missing definitions for sizeof macros #16393
    build: Only pass -municode if MINGW #19049
    build: Strip trailing newline from variable (#19084)
    build: Don't disable byte precompilation on debug builds
    build: Fails if git is missing #19366
    charclass: Make behavior with empty str match latest Vim (#19749)
    checkhealth: Skip vim.health #18816
    ci: Remove 2000ms blocking wait in many plugin/lsp_spec.lua tests
    cmd: Make :-tabmove work with modifiers (#18447)
    cmdheight=0: Various issues part3 #19816
    cmdline: Fix passing -1 as char
    cmdline: Trigger CmdlineEnter and ModeChanged earlier (#19474)
    cmdline: Do not trigger completion at wrong time (#19920)
    cmdline: Don't send invalid cursor with incsearch and cmdheight=0
    column: Move sign sentinel after inserting/de...