Dňa 29. marca 2026 bol vydaný uvoľnenie textového editora Neovim vo verzii 0.12, a 6. apríla bol vydaný opravený release 0.12.1. Je to jeden z najvýznamnejších release za posledný čas: bolo uzavretých viac ako 340 úloh, pridalo sa zabudované správcu pluginov, HTTP klient, príkaz na reštart, výrazne sa rozšíril zabudovaný LSP klient a experimentálne bola prepracovaná subsystém správ.
Inkompatibilné zmeny:
- boli odstránené zastaralé API vim.diagnostic;
- Ctrl-R v režime vkladania teraz funguje podobne ako vkladanie;
- podpora Python 3.7 a 3.8 v provideriach bola ukončená;
- plugin shellmenu bol odstránený, tohtml bol presunutý do pack/dist/opt/;
- Treesitter: direktíva offset! sa aplikuje na všetky captures, get_parser vracia nil pri chybe, bola odstránená voľba „all“ v Query:iter_matches;
- LSP: textDocument/codeLens bola prepísaná ako provider dekorácie;
- UI: ext_messages bola odpojená od sieťového správ;
- Podpora RFC 3986 v path_with_url.
Zabudovaný správca pluginov (vim.pack):
Pridané experimentálny zabudovaný správca pluginov vim.pack. Podporuje lockfile na uzamknutie verzií, offline aktualizácie, určenie cieľových verzií, potvrdenie s navigáciou po [[[ / ]]] a code actions. Informácie o VCS sú dostupné cez vim.pack.get. Pokrok operácií je zobrazený cez nvim_echo s kind=progress. Integrované s checkhealth.
LSP:
Zabudovaný LSP klient dostal rozsiahlé aktualizácie:
- nová príkaz :lsp na interaktívne ovládanie klientov;
- vim.lsp.enable a vim.lsp.is_enabled na správu LSP serverov podľa potreby;
- zabudované automatické dokončovanie v režime vkladania s podporou completionItem/resolve (pri completeopt=popup), náhľadú úryvkov a farieb, podpora CompletionItem.labelDetails;
- inkrementálne zvýraznenie cez textDocument/selectionRange, vrátane v mode-pending operátora;
- textDocument/documentColor je zapnutá predvolene, pridala sa podpora colorPresentation;
- podpora textDocument/documentLink, textDocument/inlineCompletion, textDocument/onTypeFormatting;
- codeLens je zobrazené virtuálnymi riadkami cez provider dekorácie;
- vylepšenia sémantických tokenov: viacriadkové tokeny, dotazy range a full;
- podpora workspace-diagnostiky, dynamická registrácia, dotaz diagnostic/refresh;
- zvýraznenie premenovávaného symbolu, podpora annotated text edits a prepojené úpravy rozsahov;
- nové mapovania predvolene: grt — prechod na definíciu typu, grx — spustenie codeLens;
- LSP klienti sa automaticky odpoja pri zmene filetype;
- boli vyhlásené za zastarané vim.lsp.stop_client a vim.lsp.util.stylize_markdown.
Príkaz :restart a :detach:
Nový príkaz :restart Reštartuje Nvim a opätovne sa pripája k aktuálnemu UI. Podpora :detach a :restart na Windows. Oba fungujú na všetkých platformách.
Sieť (vim.net):
Pridaný zabudovaný HTTP klient vim.net.request a :edit url. Variant vim.net.request s argumentom outbuf zapíše odpoveď servera priamo do určeného bufra.
UI a správy:
- ui2 — experimentálny prepracovanie subsystému správ a príkazového riadku, ext_cmdline/messages pre TUI;
- nové skupiny zvýraznenia hl-StderrMsg a hl-StdoutMsg;
- nvim_echo podporuje udalosti pokroku s kind=progress;
- predvolený stavový riadok zobrazuje počítadlá diagnostiky, pokrok a stav LSP, stav zamestnanosti bufra;
- okno so skrolovaním pumborder so skrolovacím prúžkom.
Lua API:
- nové typy vim.Pos a vim.Range na prácu s pozíciami a rozsahmi, konverzia medzi formátmi pozícií kurzora, extmark, Vim a LSP;
- vim.list.bisect, vim.list.unique;
- Iter:unique, Iter:peek a Iter:skip pre non-list iterátory;
- vim.wait vracia výsledky callback;
- vim.json.encode podporuje pretty-print a sort_keys;
- parameter behavior vo forme funkcie pre tbl_extend a tbl_deep_extend;
- nový modul vim._async.
Diagnostika:
- diagnostic.status s vlastné formátovanie a zvýraznenie;
- filter enabled, možnosť formátu pre setloclist/setqflist;
- Callback on_jump;
- prechod k súvisiacej informácii z open_float;
- prekrytie zvýraznení DiagnosticUnnecessary a DiagnosticDeprecated.
Treesitter:
- zvýraznenie Markdown je zapnuté predvolene;
- inkrementálne zvýraznenie na základe Treesitter.
Iné zmeny:
- :wall ++p vytvára rodičovské adresáre pre každý buffer;
- exrc hľadá konfiguračné súbory v rodičovských adresároch s s povinným potvrdením cez :trust;
- :source môže vykonávať Lua bloky a Treesitter injekcie;
- nvim_open_tabpage — API na programové vytváranie záložiek;
- nvim_set_hl s parametrom update aktualizuje jednotlivé atribúty zvýraznenia bez zmazania ostatných;
- štýl bold a vlastné symboly v winborder;
- podpora statusline v plávajúcich oknách;
- prezmenovanie .nvimlog na nvim.log;
- zvýraznenie aktívneho tabstopu v snippete;
- Zabudovaný runtime pre undotree;
- shelltemp=false predvolene;
- Spellfile sa ukladá v stdpath data;
- maximálny počet výsledkov vyhľadávania zvýšený na 999;
- parser SSH konfigurácií;
- synchronizovaný výstup v termináli (mode 2026);
- terminál zobrazuje exit code cez virtuálny text.
Neovim 0.12.1:
Opravená verzia 6. apríla 2026 so 26 opravami chýb a jednou novou možnosťou — :restart opätovne sa pripája k všetkým UI. Medzi dôležité opravy:
- :restart: zdedenie stderr na Unix, správne spracovanie —headless;
- LSP: opakovanie požiadavky codeLens refresh, náhľadú úryvkov, resetovanie verzie document color;
- ui2: blikanie pri vstupe do pageru, neplatné odkazy na buffer, aktualizácia spill indicator;
- Treesitter: vyznačovanie s unicode znakmi na konci uzla;
- vim.net: spracovanie archívnych URL cez tar/zip;
- vim.pack: používanie uv.available_parallelism na výpočet počtu vlákien;
- Bezpečnostné záplaty Vim: obídenie bezpečnostného modelu cez modeline, obídenie cesty v zip.vim;
- Optimalizácia vim.pos: používanie nvim_buf_line_count namiesto načítania všetkých riadkov.
Zdroj: linux.org.ru
