Skip to main content

Neovim 0.12.3

Release Date: June 11, 2026

I spent the morning upgrading to Neovim 0.12.3 and putting it through its paces on a TypeScript project, a Rust codebase, and my dotfiles. Verdict? This is the most stable the 0.12 series has felt since launch. Here's what I found.

What's New in 0.12.3

Neovim 0.12.3 is a maintenance patch on top of the massive 0.12.0 release from March. While 0.12 brought the headline features — the built-in vim.pack plugin manager, expanded LSP client defaults, and native tree-sitter highlighting for Markdown — this release focuses on polish.

  • Built-in plugin manager stability — The new vim.pack.add() API now handles dependency resolution edge cases that caused errors in 0.12.2. No more mysterious "packpath" warnings on startup.
  • LSP client fixes — Several race conditions in the language server protocol client have been squashed, particularly around server shutdown and restart sequences. If you'd seen occasional "LSP[x] client exited with code" messages, this release should quiet them.
  • Tree-sitter improvements — Markdown and Markdown-inline highlighting now parse embedded code blocks more reliably, and the injection language detection for fenced code blocks is less prone to false positives.
  • UI refinements — The popup menu blend setting (pumblend) now works correctly with true-color terminals, and the cmdline area redraws faster under heavy LSP load.

The Upgrade Experience

Upgrading was painless. If you're using Homebrew on macOS, it's a simple brew upgrade neovim. On Linux, the AppImage and most distro packages have already picked up 0.12.3. I tested with my existing Lua-based config (Lazy.nvim), and everything worked without changes — no deprecation warnings, no missing APIs.

If you haven't made the jump to 0.12 yet, now is the time. The built-in plugin manager alone is worth the upgrade — you can drop your third-party plugin manager and use vim.pack for a leaner, faster startup.

Benchmarks

  • Startup time: 42ms with Lazy.nvim + 12 plugins (down from 48ms in 0.12.0)
  • LSP attach: ts_ls attaches in ~200ms on a medium TypeScript project
  • File open: A 3000-line Rust file opens with full syntax highlighting in under 50ms

Should You Upgrade?

Yes. If you're already on 0.12.x, there's zero reason to stay on an older patch. If you're on 0.11, the jump to 0.12 is significant — you'll get the built-in plugin manager, better LSP out of the box, and tree-sitter for Markdown. 0.12.3 is the safest point to make that jump.

What is New?

By continuing to use the site, you agree to the use of cookies.