SUMMARY
This release is not backwards-compatible since Neovim 0.10 has been officially released. While many changes have occurred since the last release, here are a few notable ones:
- The license has officially been changed to the BSD 3-Clause License. It allows you almost unlimited freedom with the software so long as you include the BSD copyright and license notice in it.
- The install scripts no longer support Neovim 0.7, and that branch is no longer maintained. The 0.8 branch is also deprecated.
- The LSP inlay hints feature has been implemented and is enabled by default. Disable it in your user settings by specifying
settings["lsp_inlayhints"] = false
. - The wiki pages and
dotstutor
have been significantly updated. Check them out! - NixOS support has been extensively refactored. Refer to the wiki page and relevant PRs for details.
- Performance restrictions for Treesitter have been relaxed, as incremental parsing is now supported in 0.10. Please kindly report any performance issues encountered, as testing has been limited to a few devices.
- The built-in completion engine has updated its completion parameters. See #1279 for details.
- cmp-buffer will now provide completion results from the texts in all opened buffers.
- Go development experience has been greatly improved. See #1226 for details.
- Horizontal terminals will no longer obscure nvim-tree.
<C-e>
for open-in-place inside nvim-tree has been disabled.- nvim-cmp will no longer pre-select any items, and the selected candidate won't be completed by default until you've accepted it (e.g., by pressing
<CR>
). - trouble.nvim
v3
is supported. - The icon library has been overhauled to support dropbar.nvim.
- indent-blankline.nvim now provides support on a per-language basis. See #1283 for details.
- LuaSnip now supports ECMAScript Regexes. Check the wiki for details.
- Format timeout is now configurable using
settings["format_timeout"]
. - advanced-git-search.nvim and search.nvim have been introduced, while nvim-colorizer.lua has been replaced by nvim-highlight-colors. Check out
:Tutor dots
for introductory tutorials on them!
Caution
The keymaps for Telescope have been changed. See #1303 (comment) for the rationale behind this.
Check out the "What's Changed" section and the tracking issue for minor updates.
What's Changed
- feat: implement inlay virtual text for rust and go by @ClSlaid in #759
- workaroud for watchfile problem by @fecet in #871
- chore(neodim): remove pin commit (#1139 #1138) by @CharlesChiuGit in #1142
- revert: reintroduce
diffview
andwilder
by @ayamir in #1216 - chore: cleanup and minor syntax improvements by @Jint-lzxy in #1217
- feat(cmp): more completion candidates from opened buffers. by @mjkx5 in #1219
- chore(plugins): tidying up by @Jint-lzxy in #1221
- fix: use init for vim plugins config. by @ayamir in #1222
- docs: mention the experimental nature of the 0.10 branch by @ayamir in #1215
- fix(todo-comment): add missing keywords by @CharlesChiuGit in #1225
- fix(options): remove options managed by
vim-sleuth
by @Jint-lzxy in #1229 - fix(rustaceanvim): use
init
for its config by @Jint-lzxy in #1231 - feat!: improve go development experience by @ayamir in #1226
- fix: inlay_hint error by @Mythos-404 in #1236
- fix(lualine): disable default separators for custom separator by @Jint-lzxy in #1233
- fix: prevent horizontal terminal from obscuring
nvim-tree
by @ayamir in #1237 - pref: disable
<C-e>
for open-in-place inside nvim-tree by @ayamir in #1238 - fix(lua_ls): disable diagnostics for undefined-field by @ayamir in #1239
- feat(catppuccin): remove all styles of
@property
by @Jint-lzxy in #1240 - Improve nixos by @misumisumi in #1212
- fix(dashboard_image): replace predefined dashboard_image with user defined image instead of extending it by @csyJoy in #1244
- chore: minor patches by @CharlesChiuGit in #1248
- fix: set cmp preselect to none. by @ayamir in #1247
- Fix/nixos by @misumisumi in #1250
- Fixed 'direrctory' typo in UI. by @Ohkthx in #1254
- fix: set rustaceanvim version to ^4 by @mjkx5 in #1261
- feat(events): make changes only locally for FileType autocmds by @Jint-lzxy in #1263
- chore: update install scripts for nvim 0.10 stable. by @ayamir in #1271
- Update crates.nvim option name from
src
tocompletion
by @fioncat in #1272 - chore: replace deprecated apis by @ayamir in #1266
- fix toggleterm auto-exit on Windows by @CharlesChiuGit in #1267
- fix: utilize
ts-context
inglance
preview window by @mjkx5 in #1265 - Chore: unify the way when get option by @ayamir in #1269
- fix(0.10): minor cleanup by @Jint-lzxy in #1276
- feat(scripts): update frequently used functions by @Jint-lzxy in #1277
- feat(docs): support v0.10 by @Jint-lzxy in #1278
- feat: support new options by @Jint-lzxy in #1279
- feat(trouble)!: v3 support by @Jint-lzxy in #1281
- refactor: overhaul the icon library by @Jint-lzxy in #1282
- feat(lsp): correctly configure diagnostic-signs by @Jint-lzxy in #1280
- feat: disable more plugins for RO (buf|file)types by @Jint-lzxy in #1284
- fix(alpha): cannot cast
string
tointeger
for winheight by @Jint-lzxy in #1285 - feat(ibl): support per-language indent config by @Jint-lzxy in #1287
- feat(ibl): more language nodes by @Jint-lzxy in #1288
- feat(luasnip): support ECMAScript regexes by @Jint-lzxy in #1291
- feat(core): use the lua API to set options by @Jint-lzxy in #1292
- feat: include several new plugins by @CharlesChiuGit in #1235
- feat: better way to check if the (T|G)UI is running by @Jint-lzxy in #1297
- chore(global): cleanup legacy code by @Jint-lzxy in #1296
- feat: reduce the use of direct syscalls by @Jint-lzxy in #1294
- fix(events): avoid name clashes by @Jint-lzxy in #1295
- Feat/telescope collections keymaps by @CharlesChiuGit in #1299
- fix(gitsigns): upstream breaking changes by @Jint-lzxy in #1300
- fix(core): missing leading path separator by @Jint-lzxy in #1301
- feat(treesitter): lessened performance restrictions by @Jint-lzxy in #1305
- feat(nixos): add mergeLazyLock option by @misumisumi in #1310
- fix: cmp snippets source selecting issue by @CharlesChiuGit in #1309
- fix(cmp): occasional inability to select completion items by @Jint-lzxy in #1315
- feat: credit all collaborators as copyright holders by @Jint-lzxy in #1316
- feat: make format timeout configurable. by @ayamir in #1275
New Contributors
- @mjkx5 made their first contribution in #1219
- @Mythos-404 made their first contribution in #1236
- @Ohkthx made their first contribution in #1254
Full Changelog: v3.6.0...v4.0.0