Repository navigation
Summary
This release is mainly for Neovim 0.12 stable support, completion and LSP migration, and several compatibility fixes for newer upstream APIs.
New features
- Neovim 0.12 is now the stable target of
main, while0.13is kept for nightly builds. blink.cmpreplacesnvim-cmpas the main completion engine, with cmdline completion, ripgrep-backed completion, colorful menu rendering, Lua development support, and optional Copilot or OpenAI-compatible edit prediction.- Shared AI adapter settings are introduced for CodeCompanion and completion prediction, with OpenRouter, OpenCode and OpenAI-compatible configuration entries.
- Python LSP support is updated:
pylspwas replaced byzuban/pyreflyandruff. nvim-treesitterandnvim-treesitter-textobjectsare migrated to the new main-branch setup.- New treesitter textobject keymaps are added for selecting, swapping, and moving between functions/classes/parameters.
Other changes
mason.nvimand related integrations are migrated to the newer v2 APIs.glance.nvimis removed; LSP references/implementations now use the configured Telescope or fzf-lua picker path.project.nvimconfiguration is updated for the current fork and setup API.clang-formatandruffnow prefer project-local configuration.- LSP setup is moved further toward native Neovim APIs and away from deprecated
lspconfiglegacy setup. - CodeCompanion is updated for newer APIs and model settings.
- Install scripts now clone
mainfor the current stable branch.
Bug fixes
- Fixed LSP startup and removed manual
LspStart. - Fixed project LSP detection and temporarily disabled broken project.nvim LSP attach mode where needed.
- Fixed fzf-related window behavior.
- Fixed last-edit autojump event.
- Fixed nil checks in
edgy.nvim,rainbow_delims, and several utility paths. - Fixed treesitter parser loading/highlight behavior after upstream changes.
- Fixed DAP API usage and added a keymap to close dap-ui.
- Disabled swapfile by default.
Keymap changes
<leader>dCis added to close dap-ui.gdnow usesLspsaga peek_definition.gh,gm,gto, and command panel/search flows now route through the configured picker backend.<leader>lvnow toggles virtual lines throughtiny-inline-diagnostic.- Treesitter textobject keymaps are added for
af,if,ac,ic,][,]m,]],]M,[[,[m,[],[M,<leader>a,<leader>A, and;.
Thanks
Thanks to all maintainers and contributors who keep nvimdots moving forward, including @ayamir, @Jint-lzxy, @charliie-dev, @misumisumi, @AngelontheRoad, @Cloud, @wenqian, @GuennadiMaximovC, and everyone who helped with reviews, fixes, reports, discussions, and maintenance work.
What's Changed
- fix: remove manual
LspStart, close #1478. by @ayamir in #1479 - feat: add discord and deepwiki, change badge style. by @ayamir in #1480
- fix(dap): update method by @AngelontheRoad in #1491
- refactor(lsp): consistently use tiny-inline-diagnostic API by @Jint-lzxy in #1492
- feat(plugins): replace ayamir/project.nvim with DrKJeff16/project.nvim by @Jint-lzxy in #1493
- docs!: update badges and branch info for main and nightly by @Jint-lzxy in #1494
- refactor(lualine): inline chat_progress and improve LSP progress display by @Jint-lzxy in #1495
- refactor(cmp): streamline copilot integration by @Jint-lzxy in #1499
- feat(ui): lazy load edgy.nvim by @Jint-lzxy in #1501
- feat(mason)!: migrate to v2.x by @Jint-lzxy in #1502
- refactor(tool): simplify fzf-lua usage and improve lazy loading by @Jint-lzxy in #1506
- feat: use vim.env and vim.uv for env and cwd access by @Jint-lzxy in #1507
- fix(project_nvim): rename module name to project by @wenqian in #1514
- feat(python-lsp)!: replace the old pylsp with zuban and ruff by @Cloud in #1528
- fix(lspconfig): remove deprecated legacy framework of lspconfig by @misumisumi in #1530
- fix(#1520): disable swapfile by @ayamir in #1531
- fix(project): re-enable LSP detection by @GuennadiMaximovC in #1539
- [migration] set nvim-treesitter to main branch, close #1541 by @charliie-dev in #1544
- fix(treesitter): add autocmd for highlight and fix load plugin by @misumisumi in #1547
- fix: using project's clang-format config first. by @Cloud in #1550
- fix(ruff): use project config first by @Cloud in #1558
- refactor: use telescope/fzf-lua to replace glance.nvim by @ayamir in #1519
- Fix toggle_virtuallines to use updated api by @AngelontheRoad in #1572
- feat(lsp): migrate from zuban to pyrefly lsp by @Cloud in #1580
- fix: fix cland-format don't use default .clang_format config by @Cloud in #1581
- 0.12 by @ayamir in #1583
Full Changelog: v4.2.0...v4.3.0