Skip to content

Releases: NotAShelf/nvf

v0.7

04 Dec 14:22
v0.7
18bf52e
Compare
Choose a tag to compare

Hi all! Happy...December? We're back with a large release (perhaps the largest yet) that brings many new, exciting, shiny stuff. This release features long-time requests such as lazy-loading (finally), a boatload of new language modules (including very niche ones), new plugins, module cleanups and internal refactors across the board to make existing modules more ergonomic, or more future proof. Docs have also been updated to reflect both those changes, and our project standards.

Notable Changes

v0.7 features many changes, some of them breaking. To allow you to tackle the update (v0.6 -> v0.7) at your own pace, I have pushed the latest version of the main branch to the v0.6 tag, which you can pin in your flake input as github:notashelf/nvf/v0.6 until you feel comfortable updating. Though the breaking changes are easy to migrate, I still want users to have a smooth experience.

  1. Maps rewrite (#352 and #360)
  2. Lazy-loading support (#407)
  3. Base16 theming (#389)
  4. Completion rewrite, migrate to Luasnip (#398)
  5. New Language Modules
    • Kotlin support (#390)
    • Scala support (#399)
    • Neorg support (#413)
    • C# support (#428)
    • Julia support (#431)
    • Vala support (#432)
    • ASM support (#447)
    • Nu support (#477)
    • Gleam support (#482)
  6. Rewrite of Visual modules (#442)
    • Some options have been renamed, vim.visuals.enable has been removed
  7. All plugin inputs have been bumped to their absolute latest revisions.
  8. Documentation improvements, cleanup (#440)
    • CI will now check for typos in code to avoid spelling mistakes.
    • Documentation is now checked for dead-links on each rebuild.
  9. Deprecation of vim.leaderKey and similar vim.* options in favor of a migration to vim.options and vim.globals (#455)
    • There used to be shorthand aliases to options that would normally go under vim.opt in Neovim. Some of those shorthands
      have been removed in favor of the new vim.options and vim.globals submodules, allowing you to take full control of the generated option/global tables.

A more complete overview can be found by comparing v0.6 and v0.7. In addition, please consult the release notes on mitigating breaking changes. If you notice anything broken in the new release, please let us know in the issues tab.

Thanks

For this release my thanks go to @diniamo, @horriblename, @Soliprem, @ksonj, @nezia1, @ppenguin and @DamitusThyYeetus123.

Thank you all those who have contributed to, used, criticized or talked about nvf! Additional thanks to those who have chosen to support us financially for this release. This release was made possible thanks to my fellow contributors, and the many people who bravely beta-tested 0.7 for us.

Hope to see you in the next release.
- NotAShelf

v0.6

28 Apr 17:32
v0.6
fde2988
Compare
Choose a tag to compare

Hello again after months of silence on the main branch! We have been cooking a very large release behind the scenes. v0.6
includes several refactors and new features. I cannot list all of them here, but the documentation has been updated to reflect
the most recent changes.

Most notably, we have changed names! This project is now called nvf as opposed to the former, generic
"neovim-flake" as its name. nvf stands for several things, none of them officially confirmed as the name. You are welcome to adapt the one you think is best: nvf is not a vim flake, notashelf's vim flake, nix vim flake.

What's new

Thanks to my fellow co-maintainers and lovely contributors, we bring to you v0.6 with many notable changes. Some of them are:

  • Most plugins have been converted to a new setupOpts API that generates configuration tables from Nix directly. This means you no
    longer have to wait for us to add missing options - any option with the current naming scheme will be featured in the resulting
    configuration table. Examples of this are included in the documentation.
  • The configuration wrapper has been updated to allow for verbatim Lua code wherever you don't want to use Nix to configure your Neovim.
  • vim.extraRuntimePaths has been added to append additional directories to your Neovim configuration. This can be used to configure generic Neovim runtime paths, such as spell/, after/ and ftplugin/.
  • You can now view view nvf option documentation from the comfort of your terminal. The Home-Manager and the brand new NixOS modules have both received an enableManpages option that will optionally add the generated manual pages to your PATH. Once the option is true, simply run man 5 nvf and you will be able to view all available options from your terminal.
  • Treesitter module has received more configuration options, namely for highlight and indent. Please take a look at the documentation for the new available module options.
  • Project structure has changed significantly. The modules directory has been broken into multiple files, each with its own purpose. I hope this will make the project tree easier to navigate for those who want to contribute.

For details on how to migrate to setupOpts API in your configurations, please see v0.6 changenotes. @horriblename has kindly decided to include a section to make your migration much easier.

Thanks

For this release, I would like to thank @ksonj, @horriblename and @FrothyMarrow for their contributions.

As always, changes are documented in the changelog. Thanks for your continued support!

v0.5

14 Apr 12:05
v0.5
9cb7239
Compare
Choose a tag to compare

Another major release!

This is a big one, featuring new languages, language servers, formatters and so much more. There also have been some refactors, thanks to the efforts of @horriblename, @FrothyMarrow and @ksonj alongside plugin and tooling updates.

As usual, my thanks go to our new contributors and old ones alike: @Amanse, @Vagahbond and @yavko.

Changes are documented in the changelog

v0.4

16 Jul 09:50
85d6935
Compare
Choose a tag to compare

0.4 is finally out! It brings great many new features such as customizable keybinds, DAP support, UI improvements and much more.
With this update, I would also like to extend my thanks to @horriblename and @n3oney for implementing two of the biggest changes this update. Thank you for your efforts!

Changes are documented in the changelog

v0.3

19 Apr 13:36
Compare
Choose a tag to compare

The 0.3 is finally here after a few months of development. As this release consists mostly of refactors and restructuring, breaking changes are to be expected. If you are locking stable releases in your flake inputs, do make sure you follow the documentation carefully.

Changes are documented in the changelog.

v0.2 Release

06 Feb 05:39
705cb37
Compare
Choose a tag to compare

See changelog for a list of new additions.