nvf/docs/manual/release-notes/rl-0.9.md
2026-02-03 17:46:18 -05:00

6.6 KiB
Raw Blame History

Release 0.9

Breaking changes

  • Nixpkgs has merged a fully incompatible rewrite of vimPlugins.nvim-treesitter. Namely, it changes from the frozen master branch to the new main branch. This change removes incremental selections, so it is no longer available.

  • obsidian.nvim now uses a maintained fork which has removed the dir setting. Use workspaces instead:

    {
      workspaces = [
        {
          name = "any-string";
          path = "~/old/dir/path/value";
        }
      ];
    }
    

    Some other settings and commands are now deprecated but are still supported.

    • The setupOpts.mappings options were also removed. Use the built-in Neovim settings (nvf's {option}vim.keymaps)

Snoweuph

  • Fix vim.assistant.codecompanion-nvim.setupOpts.display.diff.provider to only allow valid options. default is no longer valid. inline and split are two new valid options.

Changelog

taylrfnt

  • Introduce a darwinModule option for Darwin users. The ergonomics of importing a nixosModule into a Darwin flake were less than ideal, and when users fork and update npins, they are prone to encountering errors like the following:

    (class: "nixos") cannot be imported into a module 
    evaluation that expects class "darwin".
    
  • Add support for solarized-osaka style options. The default style (named default) was previously applied without user specification. The addition of the light style now requires users to specify if they want to use default or light.

suimong:

  • Fix vim.tabline.nvimBufferline where setupOpts.options.hover requires vim.opt.mousemoveevent to be set.

thamenato:

  • Attempt to adapt nvim-treesitter to (breaking) Nixpkgs changes. Some treesitter grammars were changed to prefer grammarPlugins over builtGrammars.

jfeo:

  • Added ccc.nvim option {option}vim.utility.ccc.setupOpts with the existing hard-coded options as default values.

Ring-A-Ding-Ding-Baby:

  • Aligned codelldb adapter setup with [rustaceanvim]s built-in logic.
  • Added languages.rust.dap.backend option to choose between codelldb and lldb-dap adapters.

Libadoxon:

  • toggleterm open map now also works when in terminal mode

jtliang24:

  • Updated nix language plugin to use pkgs.nixfmt instead of pkgs.nixfmt-rfc-style

alfarel:

  • Upgrade obsidian.nvim to use a maintained fork, instead of the unmaintained upstream.
    • Various upstream improvements:
      • Support blink.cmp and completion plugin autodetection.
      • Support various pickers for prompts, including snacks.nvim's snacks.picker, mini.nvim's mini.pick, telescope.nvim, and fzf-lua.
      • Merge commands like ObsidianBacklinks into Obisidian backlinks. The old format is still supported by default.
      • Some setupOpts options have changed:
        • disable_frontmatter -> frontmatter.enabled (and inverted), still supported.

        • note_frontmatter_func -> frontmatter.func, still supported.

        • statusline module is now deprecated in favour of footer, still supported.

        • dir is no longer supported, use workspaces:

          {
            workspaces = [
              {
                name = "any-string";
                path = "~/old/dir/path/value";
              }
            ];
          }
          
        • use_advanced_uri -> open.use_advanced_uri.

        • Mappings are now expected to be set using the built-in Neovim APIs, managed by vim.keymaps in nvf, instead of mappings options.

        • Some option defaults have changed.

      • And more.
    • Automatically configure an enabled picker in the order mentioned above, if any are enabled.
    • Add integration with snacks.image for rendering workspace/vault assets.
    • Detect if render-markdown.nvim or markview.nvim are enabled and disable the ui module if so. It should work without this, but render-markdown's {command}:healthcheck doesn't know that.
    • Remove which-key.nvim <leader>o +Notes description which did not actually correspond to any keybinds.

pyrox0:

  • Added rumdl support to languages.markdown

  • Added sqruff support to languages.sql

  • Lazy-load crates.nvim plugin when using vim.languages.rust.extensions.crates-nvim.enable

  • Added Pyrefly and zuban support to languages.python

  • Added TOML support via {option}languages.toml and the Tombi language server, linter, and formatter.

  • Added Jinja support via languages.jinja

  • Added hlargs.nvim support as visuals.hlargs-nvim.

  • Lazy-load nvim-autopairs plugin when using vim.autopairs.nvim-autopairs.enable

Machshev:

  • Added ruff and ty LSP support for Python under programs.python.

Snoweuph

  • Added Selenen for more diagnostics in languages.lua.

  • Added XML syntax highlighting, LSP support and formatting

  • Added tera language support (syntax highlighting only).

  • Added golangci-lint for more diagnostics.

  • Added Makefile support via languages.make.

vagahbond: [codewindow.nvim]: https://github.com/gorbit99/codewindow.nvim

  • Add [codewindow.nvim] plugin in vim.assistant.codewindow with enable and setupOpts

irobot:

  • Fix non-functional vim.keymaps.*.noremap. Now, setting it to false is equivalent to :lua vim.keymap.set(..., { remap = true })