Skip to content

Releases: neovim/neovim

Nvim development (prerelease) build

13 May 05:12
c795835
Compare
Choose a tag to compare
Pre-release
NVIM v0.10.0-dev-3119+gc7958356b
Build type: RelWithDebInfo
LuaJIT 2.1.1713484068

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip
  3. Run nvim.exe on your CLI of choice

MSI

  1. Download nvim-win64.msi
  2. Run the MSI
  3. Run nvim.exe on your CLI of choice

macOS (x86_64)

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

macOS (arm64)

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

Linux (x64)

Minimum glibc version to run these releases is 2.31. People requiring releases
that work on older glibc versions can find them at
https://github.com/neovim/neovim-releases.

AppImage

  1. Download nvim.appimage
  2. 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

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

Other

SHA256 Checksums

a0ff26ec81920aa82ce5348a2b6ce419bfeede63b25887fc056ec7379c65ea28  nvim-linux64.tar.gz
d93999e70bc37ba2c4152feb17bc57565593f42f9761c363434afec2a8274444  nvim.appimage
214d64cb41cb288212a8f9a0e30f106a7f06ef44892148cbce28f50979b8337b  nvim.appimage.zsync
ab6ba768e152633073221940bcefdff3edcd955e7f21910d2156de6f9f62aa98  nvim-macos-x86_64.tar.gz
d11186c57bccbcdd18d6c13c5719a2e6aeb32d9dcee9987262b210b2cb36ef42  nvim-macos-arm64.tar.gz
44089d3246533262d89555a417e44e6ceb257bb51ca73977763ad5b57f656bfa  nvim-win64.zip
e87ebb6e659a4156e14d640999e39da639e3e4bab5b64d4b8f86b71ff7fb1f3d  nvim-win64.msi

Nvim 0.9.5

30 Dec 13:31
Compare
Choose a tag to compare
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794

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

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip
  3. Run nvim-qt.exe

MSI

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

macOS

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

Linux (x64)

AppImage

  1. Download nvim.appimage
  2. 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

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

Other

SHA256 Checksums

44ee395d9b5f8a14be8ec00d3b8ead34e18fe6461e40c9c8c50e6956d643b6ca  nvim-linux64.tar.gz
0c82e5702af7a11fbb916a11b4a82e98928abf8266c74b2030ea740340437bf9  nvim.appimage
e3f3174d75c038915330db86bf685c704cb9be86863ee592a07e21203d32ced2  nvim.appimage.zsync
19d2366e0d6da001583bd0b8a3db59f69ce3dda5fa41f3064c6778cef3edd34c  nvim-macos.tar.gz
de6dc1f0edb45f5f225ee24ce80a4fcbc3a337932037e98ae143975fca2556bf  nvim-win64.zip
006b8578f0b6717bc5a987f12bc0746c61c20e6ba777fde6d4aa53ee54b937cd  nvim-win64.msi

Nvim release build

30 Dec 13:31
Compare
Choose a tag to compare
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip
  3. Run nvim-qt.exe

MSI

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

macOS

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

Linux (x64)

AppImage

  1. Download nvim.appimage
  2. 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

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

Other

SHA256 Checksums

44ee395d9b5f8a14be8ec00d3b8ead34e18fe6461e40c9c8c50e6956d643b6ca  nvim-linux64.tar.gz
0c82e5702af7a11fbb916a11b4a82e98928abf8266c74b2030ea740340437bf9  nvim.appimage
e3f3174d75c038915330db86bf685c704cb9be86863ee592a07e21203d32ced2  nvim.appimage.zsync
19d2366e0d6da001583bd0b8a3db59f69ce3dda5fa41f3064c6778cef3edd34c  nvim-macos.tar.gz
de6dc1f0edb45f5f225ee24ce80a4fcbc3a337932037e98ae143975fca2556bf  nvim-win64.zip
006b8578f0b6717bc5a987f12bc0746c61c20e6ba777fde6d4aa53ee54b937cd  nvim-win64.msi

Nvim v0.9.4

09 Oct 20:51
Compare
Choose a tag to compare
NVIM v0.9.4
Build type: Release
LuaJIT 2.1.1692716794

This is a maintenance release, focusing on bug fixes.

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

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip
  3. Run nvim-qt.exe

MSI

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

macOS

  1. Install libintland gettext (e.g., via brew install gettext)
  2. Download nvim-macos.tar.gz
  3. Run xattr -c ./nvim-macos.tar.gz (to avoid "unknown developer" warning)
  4. Extract: tar xzvf nvim-macos.tar.gz
  5. Run ./nvim-macos/bin/nvim

Linux (x64)

AppImage

  1. Download nvim.appimage
  2. 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

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

Other

SHA256 Checksums

dbf4eae83647ca5c3ce1cd86939542a7b6ae49cd78884f3b4236f4f248e5d447  nvim-linux64.tar.gz
028cfaaf551d64cbb2f39d15363ed78edb01e2673579b48cb694e3604207d656  nvim.appimage
efb32db5b12d5a3db41facbe1a1aaf29228cc60a2a0e090ad24e90dfc2fdca0d  nvim.appimage.zsync
86136acbc959abd164b7c1177707d3a8784a81b158380cf3493b1b5f1d9ed88a  nvim-macos.tar.gz
c2cccfa8d6a116ad3e30334826e05d86ccfa055cf67210b32bc84a8e9d7390bb  nvim-win64.zip
a2b45a463b94de413eec7dcc38dbb0af650dea1db9a78d6b8ff50fdd7f6a47d1  nvim-win64.msi

Nvim 0.9.2

07 Sep 10:35
Compare
Choose a tag to compare

This is a maintenance release, focused on bug fixes and performance improvements.
However, There are included features related to TUI and :terminal.

Bram

Nvim is a fork of the Vim editor, created and developed by Bram Moolenaar.

On August 3, 2023, he passed away at the age of 62. If Vim or Nvim have been
of use to you in your life, read :help Bram and :help Uganda and consider
honoring his memory in a way you see fit.

Changes since 0.9.1

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
NVIM v0.9.2
Build type: Release
LuaJIT 2.1.1692716794

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip
  3. Run nvim-qt.exe

MSI

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

macOS

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

Linux (x64)

AppImage

  1. Download nvim.appimage
  2. 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

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

Other

SHA256 Checksums

fee870b6173f1da134281824a744ada91ef612723bd328683dc941ef16837ec5  nvim-linux64.tar.gz
61950131e18157ab9c7f14131a3dda0aa81f8e4fb47994bf6d8b418d9be6e3c0  nvim.appimage
c6831ac9bb7145e3fdc595cca2a655aad25600a73d4d06750489282d54144c99  nvim.appimage.zsync
da2e852e25325ddc568c9c828060221a03b79b4e9fc9b7eecff9a633830eb923  nvim-macos.tar.gz
73f0b11322a905fbd9c1ba28fca21bacbf9b8547f164d3d5439f39d1c272bf15  nvim-win64.zip
febca24056ec8220e3d748755eeedd282db2dca6a32b6f8e89cf1c39328dcbfd  nvim-win64.msi

Nvim 0.9.1

29 May 11:36
Compare
Choose a tag to compare
NVIM v0.9.1
Build type: Release
LuaJIT 2.1.0-beta3

This is a maintenance release.

  • 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 all dependency directories when generating headers

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip
  3. Run nvim-qt.exe

MSI

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

macOS

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

Linux (x64)

AppImage

  1. Download nvim.appimage
  2. 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

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

Other

SHA256 Checksums

6c083017304213c3a3efde8d332a52231b8df8206d35146942097c303ebf93d5  nvim-linux64.tar.gz
262892176e21da0902c4f0b1e027d54d21b4bcae6b0397afccd8a81b476c3055  nvim.appimage
e56f47db50fbe594749e47fcd4aea1242a9bd1f12ea345dc710b4573b04b43a6  nvim.appimage.zsync
6f7de66c494d7b73cdf878f060dedd1b2d66a648a387a245aa2aec76a5b4c777  nvim-macos.tar.gz
af41890b8c14d4ed214a2ef6c1ab8e0be004eac7094d5df1cc4bc17ccf0a13ef  nvim-win64.zip
07a9f278635b91478ced01be1f2818b924b436f1d2e2867c687b7a92b6e702e0  nvim-win64.msi

NVIM 0.9.0

07 Apr 11:45
Compare
Choose a tag to compare
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

  1. Download nvim-win64.zip
  2. Extract the zip.
  3. Run nvim-qt.exe

MSI

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

macOS

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

Linux (x64)

AppImage

  1. Download nvim.appimage
  2. 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

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

Other

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 containin...
Read more

Nvim 0.8.3

02 Feb 13:50
Compare
Choose a tag to compare
NVIM v0.8.3
Build type: Release
LuaJIT 2.1.0-beta3

Bugfix/maintenance release

Bug Fixes

  • clipboard: Show provider warning when not during batch changes
  • diff: Avoid restoring invalid 'foldcolumn' value
  • filetype: Don't pass empty string to detect
  • messages: Reset msg_grid_scroll_discount when redrawing
  • rbuffer: Handle edge case where write_ptr has wrapped around
  • rpc: Don't parse msgpack if buflen is 0
  • treesitter: Properly restore 'syntax' (#21358)
  • treesitter: Validate language name

Build System

  • deps: Bump libvterm to v0.3.1
  • deps: Bump tree-sitter-vimdoc to v1.3.0

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip.
  3. Run nvim-qt.exe

MSI

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

macOS

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

Linux (x64)

Tarball

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

Debian Package

  1. Download nvim-linux64.deb
  2. Install the package using sudo apt install ./nvim-linux64.deb
  3. Run nvim

AppImage

  1. Download nvim.appimage
  2. 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
      

Other

SHA256 Checksums

58ac03b345e8675e13322f8c7135906ce26a1ca7a87d041344d64b207be7bedf  nvim-linux64.tar.gz
0828910da0b532e7564b1d200645bd846e6b2e1d10aa3111e36b59c1521b16f0  nvim-linux64.deb
05f7a2cb177f4506882b7cd867d82207c79066e7a9550e4ef78e6eac537dd4a8  nvim.appimage
0928e36449ac397e59d3793834a314f2a2758f5a4ded351c9e41d01dd038c806  nvim.appimage.zsync
26326708f34ead29e770514c2fb307702102166339c8f31660f7259ce9032925  nvim-macos.tar.gz
492a09f53663098a2fd6740821f683110b5688c162c21751e3667202383531a6  nvim-win64.zip
d723a68fed1c86c098e623df72ef5062213c1a488361e88588796446e81c3994  nvim-win64.msi

NVIM 0.8.2

29 Dec 16:29
Compare
Choose a tag to compare

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

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip.
  3. Run nvim-qt.exe

MSI

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

macOS

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

Linux (x64)

Tarball

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

Debian Package

  1. Download nvim-linux64.deb
  2. Install the package using sudo apt install ./nvim-linux64.deb
  3. Run nvim

AppImage

  1. Download nvim.appimage
  2. 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
      

Other

SHA256 Checksums

27aef92fba0d3f51ebb8b98f3689895f9bbe48f11b74920d89280bc58fbe8e28  nvim-linux64.tar.gz
a2d82dd169a11408921db90060c93cafdec43507898fbb36bc9e88e483ee3dfa  nvim-linux64.deb
bb0d4599cb506fc6e29bf0e9cef3b52e06dcb4bb930b56d6eb88320f1d46a908  nvim.appimage
d41df431bf2459048aa03b8b887f8a229e369aad909c729219b4113c801d75c0  nvim.appimage.zsync
12c3f25c2fc46b25b851e62e65eb844722126948cc849add3cb951c3d73329eb  nvim-macos.tar.gz
e2d53c6fd4a3caefbff47765d63d1640a5a134de46623ed8e3f9bf547791c26f  nvim-win64.zip
5a7e78e0b4a089aa4f610440862d2c1f4edd5fb5d2b5ce6e74e671d4816c50a7  nvim-win64.msi

Nvim 0.8.1

14 Nov 09:29
Compare
Choose a tag to compare
NVIM v0.8.1
Build type: Release
LuaJIT 2.1.0-beta3

Changes since 0.8.0

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

Install

Windows

Zip

  1. Download nvim-win64.zip
  2. Extract the zip.
  3. Run nvim-qt.exe

MSI

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

macOS

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

Linux (x64)

Tarball

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

Debian Package

  1. Download nvim-linux64.deb
  2. Install the package using sudo apt install ./nvim-linux64.deb
  3. Run nvim

AppImage

  1. Download nvim.appimage
  2. 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
      

Other

SHA256 Checksums

a901b8815d1c0a26104bcbe405e1aa308f364f98d9dc7daa58c70114def60a29  nvim-linux64.tar.gz
5774c0d299a27a77e4e497c018cbcc9d4291c3b019ada28880d08d1f3040e779  nvim-linux64.deb
25658f3db59fac398bc28b7ff7984ed1becdf9a3e98b3e4e226c236c35107054  nvim.appimage
95cc915e2c41b7f29c3c6c572f847b1b67ba6b05eb015d5f0d78a4300d11b213  nvim.appimage.zsync
52efab6794653ff6346b3a94d991c086b93837f95eeed467cb3769a3c65088ea  nvim-macos.tar.gz
1332cc7eded77ec3284ef648b6d54beb6d0f8be8eb7789483d46ff466343afb4  nvim-win64.zip
e351d76026b0b19488ff4961435e01ead30a5955aafcbe6c89dcb8d8d7054a76  nvim-win64.msi