Skip to main content

What is new on 4.0?

· 5 min read
Zeioth
Creator of NormalNvim

Some metrics​

You can check the full diff on GitHub here.

New features​

  • ✨feat(web): We now have a website for the distro.
  • ✨feat(installer): We now have an automated installer. See here.
  • ✨feat(yazi): New file manager as drop-in replacement for ranger. Written in rust and 100% async.
  • ✨feat(markdown): Files are now rendered on normal mode.
  • ✨feat(garbage-day.nvim): We now ship a plugin to pause LSP servers when you are not using them to save resources.
  • ✨feat(android support): This versions supports android termux, including the compiler, and the debugger.
  • ✨feat(compiler.nvim): improved support for gradle.
  • ✨feat(compiler.nvim/dooku.nvim/markmap.nvim): All the plugins we maintain now support paths with spaces.
  • ✨feat(nvim): Added support for nvim 0.10. All the plugins we maintain have been ported to nvim 0.10 too.
  • ⚡perf(greeter): Now open nvim considerably faster.
  • ⚡perf(plugins): Have been optimized to lazy load much more efficiently.
  • ⚡perf(treesitter): Comments are now natively supported.
  • ✨feat(none-ls-autoload.nvim): Is the new plugin we use instead of mason-null-ls to automatically load/unload none-ls sources installed on mason.
  • ✨feat(none-ls-external-sources.nvim): Is a combination of all the available repositories providing none-ls external sources.
  • ✨feat(none-ls) Support for cucumber gherkin added.
  • ✨feat(nvim-coverage): Now support hunks.
  • ✨feat(nvim-lightbulb): display a 💡 icon when a code action is available in the current line. It can be disabled with vim.g.codeactions_enabled = false in the file base/1-options.lua.
  • ✨(litee-calltree): is now available by pressing gj.
  • ✨feat(dooku.nvim): Now supports lua and ruby.
  • ✨feat(notifications): now display smoother (144fps) and last shorter (2.5s).
  • ✨feat(compiler.nvim): now support the build automation utility meson.
  • ⚡perf(ui): Now load instantly even when Neovim is opened with arguments.
  • ✨feat(ui): This version introduces a new winbar with buttons for neotree, aerial, and the compiler.
  • ✨feat(heirline-components.nvim): We now maintain a heirline components plugin to take complexity out of it.
  • ✨feat(compiler.nvim): Can now compile the swift programming language.
  • ✨feat(java): support for java has been greatly improved and all features now work out of the box.
  • ✨feat(php): has been curated and all features now work out of the box.
  • ✨feat(neotest): now support the languages dart, elixir, java, phpunit, zig.
  • ✨feat(virtualenv): We now display the active virtual environment on the status bar (if any).
  • ✨feat(mini.indentscope): is now used to highlight the current block of code.
  • ✨feat(compiler.nvim): can now compile elixir.
  • ✨feat(ufo): New keymapping zn to fold comments.
  • ✨feat(noice): The command bar is now beautified.
  • ✨feat(dap): The debugger now supports typescript, javascript, and react JSX.
  • ✨feat(mappings): new keymapping space + b + a to write all buffers.
  • ✨feat(notifications): Are now automatically dismissed when writing the buffer.
  • ✨feat(compiler.nvim v3): now ship a total of 128 compilation options for 22+ programming languages. This has been the product of 2+ months of full time effort, so please enjoy it.
  • ✨feat(right click contextual menu): We now ship it by default and can be customized in the autocmds file.
  • ✨feat(language support): 24+ progamming languages are now included out of the box with lsp, linter, formatter, compiler, and debugger, preconfigured. So you can just start coding without having to setup anything.

Minor fixes​

  • 🐛fix(highlight-undo.nvim): config adapted to their latest version. Colors are now consistent.
  • 🐛fix(codelens): the mapping space + u + L now refreshes codelens when toggling it on.
  • 🐛fix(codelens): ocassional notification when resuming from garbage-day.nvim has been fixed here and here.
  • 🐛fix(lsp): This version fix rare border cases where LSP mappings were not added correctly (remarkably, on java).
  • 🐛fix(formatting): The mapping Space + l + f now run :checktime to reflect the changes in the editor immediately.
  • 🐛fix(aerial): Now open correctly even when the cursor is over Neotree (or any nofile buffer).
  • 🐛fix(compiler.nvim): the command :CompilerRedo now works correctly with build automation utilities.
  • 🐛fix(heirline-components) buffer.wipe now closes all sidebars before the last window is closed.
  • 🐛fix(markdown-preview.nvim): Starting this plugin by filetype is a requirement, so we do it now.
  • 🐛fix(osx): is not detected as android anymore
  • 🐛fix(json/yaml): now lint and format correctly.
  • 🐛fix(command autocomplete): The arrow keys are not inverted anymore when auto completing commands.
  • 🐛fix(mini.animate): is now disabled by default on android devices. This fixes slow scroll on android.

Minor refactors​

This version has massive refactors over v3.0, reducing the amount of complexity without removing any feature.

  • ♻️refactor(base): Complexity has been reduced several thousands of lines without losing any feature, or hiding complexity.
  • ♻️refactor(base): All functions without a case of use strong enough have been replaced by native nvim functions.
  • ♻️refactor(distroupdate.nvim): Command names have been changed from the prefix :Nvim to the prefix :Distro.
  • ♻️refactor(hot-reload.nvim): Has been separated from distroupdate.nvim as a new plugin.
  • ♻️refactor(nvim-ts-autopairs): Has been moved to 1-base-behaviors.lua.
  • ♻️refactor(better-scape): Updated to latest version. Removed unnecessary option. The author has rewritten the plugin from scratch.
  • ♻️refactor(autotag): Updated to latest version. Removed unnecessary option from treesitter.
  • ♻️refactor(space + f + t): won't display the builtin nvim themes anymore.
  • ♻️refactor(none-ls): Some packages have been deprecated and changed by new ones. See here.
  • ♻️refactor(zen_mode): is now under <space> + u + z, with all the other toggles.

Credits​

This docusaurus website uses the MIT page of the Yazi project as initial template. We are gonna add our branding over time. Copyright (c) 2023 yazi-rs.