Hello all, good to be back after a full year. I'm happy to announce yet another major release that moves NVF forward in all the positive ways, and I'm happy to talk about the new fancy stuff that made their way into NVF within the last year. We might've taken a little long, but it was for a good reason I promise. I also want to give a big shoutout to everyone who has decided to contribute to NVF! We've seen a surge of new users and with that, a massive hike in the number of contributors. The number might not mean much to you, but I want to thank everyone who has taken the time to contribute to NVF. As a community led framework, it really means a lot to me when the users engage with the project in any way that positively influences it. Thank you!
Notable Changes
The most notable change if you're updating from v0.7 is no doubt the changes to the LSP API. Upstream has finally decided that Neovim should strive for better LSP experiences out of the box, and has blessed us with a vim.lsp API that makes language server configurations more modular and configurable. As a result the LSP and diagnostics module in NVF have seen large improvements. Namely, we've introduced vim.diagnostics.config and vim.lsp.servers for much better control over the diagnostics and LSP systems that were fleshed out in Neovim.
A more complete overview can be found by comparing v0.7 and v0.8. In addition, please consult the release notes on mitigating breaking changes.
New Documentation
You also might have noticed that we have a brand new documentation system! It was written from ground up for a much more robust Markdown parser, and better ergonomics. What I mean is that the system is now more intuitive, and integrates much better with our documentation framework. It is also nice to have something written in-house so we can deal with the issues ourselves instead of debugging Python code. The tool is completely open source, and can be found at https://github.com/feel-co/ndg. This system is still a little experimental, so please let us know if you notice anything wrong.
The new documentation is currently live, and can be found at https://nvf.notashelf.dev with a new domain. Should be nicer to look at, and easier to type :)
Notable Changelog Entries
- Lspsaga: Default keybindings removed entirely due to upstream API changes
- git-conflict: Keybinds now prefixed with
<leader>to avoid builtin conflicts - vim.useSystemClipboard: Deprecated, migrate to
vim.clipboard.registers - Gitsigns: Keybinds moved from
<leader>gto<leader>h(hunks) to avoid neogit conflicts - LSP keybinds: Now attached via LspAttach autocmd instead of manual
default_on_attach()
Major New Features
- blink.cmp support: New completion engine alternative to nvim-cmp
- Language module migration: Moved from none-ls to conform/nvim-lint for better formatting and linting. none-ls has been updated to its latest version and made available as a standalone module.
- New clipboard module:
vim.clipboardfor managing clipboard providers - Autocommand support:
vim.autocmdsandvim.augroupsfor Nix-based autocmds - Multiple formatters: Language modules now support multiple formatters simultaneously
Notable New Language Support
- Haskell: Complete module with
haskell-tools.nvim - Odin: Full language support
- Cue: Language support
- Wgsl: Language support
- Ruby: Solargraph LSP support
- Zig: DAP support via LLDB
- F#: Language support
- Helm: Chart support
- Clojure: LSP + Conjure REPL support
- Just: Build system support with just-lsp
- JSON: Dedicated language module
- QML: Qt Modeling Language support
And lots of new plugin additions. The biggest changes are the completion system overhaul (blink.cmp), the formatting/linting migration, and the massive expansion of language support. Due to the sheer size of this release, some bugs are to be expected but please do not hesitate to report when something feels off.
Thanks & Quick Notes
For this release I have a lot of people to thank. I'd like to start by thanking @sjcobb2022 for their immense efforts in migrating NVF's language modules to the new API. Without their help this change would certainly take longer. @LilleAila has implemented some much sought after plugins and modules, namely the mini suite! A big thanks to them. I also want to thank @amadaluzia, @diniamo, @kaktu5, @tomasguinzburg, @thamenato, @ArmandoCIII, @nezia1, @jahanson, @folospior, @iynaix, @Mr-Helpful, @Libadoxon, @UltraGhostie, @TheMaxMur, @alfarelcynthesis, @alfarelcynthesis, @esdevries, @BANanaD3V, @viicslen, @butzist, @rice-cracker-dev, @Sc3l3t0n, @venkyr77, @tebuevd, @ckoehler, @rrvsh, @Noah765, @howird, @aionoid, @imnotpoz, @haskex, @taylrfnt, @cramt, @Anil9, @CallumGilly, @theutz, @lackac, @lackac, @trueNAHO, @JManch, @Morsicus, @diced, @valterschutz, @gmvar, @derethil, @jules-sommer, @PartyWumpus, @KrappRamiro, @simon-wg, @critical, @valyntyler, @axelbdt and @JudahZF
Truly an astonishing number of contributors. Thank you all. If I missed you, I apologize. Please let me know and you'll be added to the list!
We have also surpassed 1000 stars in this release, so thank you to those who dropped a star as well. Know that your support is appreciated. Additional thanks to those who have chosen to support is financially. NVF was never about the money, but please know that even the sentiment matters a lot to me. Though, I appreciate the money as well. Like many others, this release was made possible thanks to our contributors, my fellow co-maintainers, and the brave folks that have been beta-testing v0.8 while I... uh, wrote a documentation generator from scratch to use in NVF. Especially Ladas who has been supporting me from scratch. Sorry, not sorry. Just be glad we were done before 2026. Ha.
New Maintainers
In this release @poseidon-rises and @midischwarz12 has joined the team of maintainers. This is mostly a voluntary position, and if you intend to make a difference in NVF, I invite you to reach out! Additionally, @Soliprem and @horriblename have solidified their much appreciated role as co-maintainers and stepped up as repository admins while I take a step back to focus on my health. I will be taking a short break from my largest projects to recover and clear my mind a little bit, but I will be around to oversee and guide the hands of my talented co-maintainers. If your issue or pull request has gone un-noticed during the v0.8 release, please give it a friendly bump! Due to an overwhelming schedule I overlooked some incoming communication, but I want you to know that this was nothing personal and I hope to respond to each one of those as my time and health allows.
Last but not least a big shoutout to @vimjoyer for covering NVF on his Youtube channel! He is currently going through some life events, so please remember to support him if you like his content.
My thanks to everyone who was a part of this journey!
Hope to see you in the next release.
- NotAShelf