29. märts 2026 toimus väljalase tekstiredaktori Neovim versioon 0.12, ning 6. aprillil ilmus parandav väljaanne 0.12.1. See on üks suurimaid väljaandeid viimasel ajal: suletud on rohkem kui 340 ülesannet, lisatud on sisseehitatud lisahaldur, HTTP-kliend, taaskäivitamise käsu, ulatuslikult on laienenud sisseehitatud LSP-kliendi võimalused ning eksperimentaalne sõnumite alamsüsteemi ümberdisainimine.
Ühildumatud muudatused:
- eemaldatud vananenud API vim.diagnostic;
- Ctrl-R sisestusrežiimis nüüd töötab sarnaselt sisestamisega;
- toetamine lõpetatud Python 3.7 ja 3.8 pakkujate jaoks;
- plugin shellmenu kustutatud, tohtml liigitatud kausta pack/dist/opt/;
- Treesitter: direktiiv offset! kehtib kõigi captures, get_parser tagastab nil vea korral, küsimuses eemaldatud võimalus „all” Query:iter_matches;
- LSP: textDocument/codeLens ümpere kirjutatud kui decoration provider;
- UI: ext_messages ühendatud sõnumivõrgust lahti;
- Toetatud RFC 3986 path_with_url.
Sisseehitatud lisahaldur (vim.pack):
Lisatud eksperimentaalne sisseehitatud lisahaldur vim.pack. Toetab lockfile versioonide fikseerimiseks, off-line uuendusi, sihtversioonide määramist, kinnitatud puhver navigatsiooniga [[[/]] ja koodi toimingud. Teave VCS-i kohta on saadaval läbi vim.pack.get. Operatsioonide edenemine kuvatakse ühegi nvim_echo kaudu, kus kind=progress. Integreeritud checkhealth.
LSP:
Sisseehitatud LSP-klient sai ulatusliku uuenduse:
- uus komando :lsp interaktiivseks klientide haldamiseks;
- vim.lsp.enable ja vim.lsp.is_enabled LSP-serverite haldamiseks vajadusel;
- sisseehitatud automaatne täiendamine sisestamisrežiimis, mis toetab completionItem/resolve (kui completeopt=popup), snippettide eelvaade ja värvid, toetus CompletionItem.labelDetails;
- inkrementeeritud valimine läbi textDocument/selectionRange, sealhulgas operator-pending režiimis;
- textDocument/documentColor on vaikimisi sisse lülitatud, lisatud toetus colorPresentation;
- toetamine textDocument/documentLink, textDocument/inlineCompletion, textDocument/onTypeFormatting;
- codeLens kuvatakse virtuaalsete ridade kaudu ka through decoration provider;
- parandused semantilistes tokenites: mitmerealised tokenid, päringud range ja full;
- toetamine workspace-diagnoosid, dünaamiline registreerimine, päring diagnostic/refresh;
- nimetatava sümboli esiletõstmine, toetus annotated text edits ja linkitud redigeerimisvahemikud;
- uued vaikeseaded: grt — tüübile minek, grx — käivitage codeLens;
- LSP-klientidest automaatne lahtiühendamine filetype'i muutmisel;
- on vananenud vim.lsp.stop_client ja vim.lsp.util.stylize_markdown.
Komando :restart ja :detach:
Uus kommando :restart taaskäivitab Nvim'i ja uuesti ühendab praeguse UI. Toetab :detach ja :restart Windowsis.Mõlemad töötavad kõigil platvormidel.
Võrk (vim.net):
Lisatud sisseehitatud HTTP-klient vim.net.request ja :edit url. Variant vim.net.request koos argumendiga outbuf salvestab serveri vastuse otse määratud puhbrisse.
Kasutajaliides ja teated:
- ui2 — katsetav ümberkujundus teate- ja käsurea alamsüsteemist, ext_cmdline/messages TUI jaoks;
- uued esiletõstmise rühmad hl-StderrMsg ja hl-StdoutMsg;
- nvim_echo toetab edusamme käsitlevat infot kind=progress;
- vaikimisi olekuriba näitab diagnoosimise, edusamme ja LSP olekute arve, tegevuse olek puhbrist;
- hüpikmenüü raam pumborder koos kerimisriba.
Lua API:
- uued tüübid vim.Pos ja vim.Range positsioonide ja vahemike töötlemiseks, konverteerimine positsioonide formaatide vahel kursor, extmark, Vim ja LSP;
- vim.list.bisect, vim.list.unique;
- Iter:unique, Iter:peek ja Iter:skip non-list iteratsioonide jaoks;
- vim.wait tagastab callbacki tulemused;
- vim.json.encode toetab korralikku välja trükkimist ja sort_keys;
- parameeter käitumine funktsioonina tbl_extend ja tbl_deep_extend;
- uus moodul vim._async.
Diagnostika:
- diagnostic.status koos kasutajate kohandatud vormindamine ja esiletõstmine;
- filtri lubamine, valik format setloclist/setqflist jaoks;
- Callback on_jump;
- liikumine seotud teabe juurde open_float; kaudu
- esiletõstmisde kattumine DiagnosticUnnecessary ja DiagnosticDeprecated.
Treesitter:
- Markdowni esiletõstmine on vaikimisi lubatud;
- järkjärguline esiletõstmine Treesitteri põhjal.
Muud muudatused:
- :wall ++p loob iga puhver jaoks vanemate kataloogid;
- exrc otsib konfigureerimisfaile vanemate kataloogidest koos nõutav kinnitus :trustiga;
- :source suudab käivitada Lua plokke ja Treesitteri süstimist;
- nvim_open_tabpage — API vahekaartide programmiliseks loomiseks;
- nvim_set_hl koos parameetriga update uuendab eraldi esiletõstmise atribuudid ilma teiste kustutamiseta;
- stiil bold ja kasutaja määratud sümbolid winborderis;
- toetamine statusline õhkkondade jaoks;
- .nvimlogi ümbernimetamine nvim.logiks;
- aktiivse tabstopi esiletõstmine snippettides;
- Sisseehitatud runtime jaoks undotree;
- shelltemp=false vaikimisi;
- Spellfile salvestatakse stdpath andmetes;
- otsingutulemuste maksimaalne arv on suurendatud 999-ni;
- SSH konfiguratsiooni parser;
- sünkroonitud väljund terminalis (mode 2026);
- terminal näitab exit koodi virtuaalse teksti kaudu.
Neovim 0.12.1:
Parandav väljaanne 6. aprill 2026, 26 veaparandusega ja ühe uue võimalusega — :restart ühendab kõik UI-d uuesti. Oluliste paranduste seas:
- :restart: stderr pärimine Unixis, korrektne töötlemine —headless;
- LSP: koodikihi värskenduse taotlemine, snippettide eelvaade, dokumendi värvi versiooni lähtestamine;
- ui2: välja sisenemisel vilgub, vigased viidatud puhvri lingid, väljavoolu indikaatori värskendamine;
- Treesitter: unicode-sümbolite esiletõstmine sõlme lõpus;
- vim.net: arhive URL-de töötlemine tar/zip kaudu;
- vim.pack: uv.available_parallelismi kasutamine voogude arvu arvutamiseks;
- Vimi turvaparandused: turvamudeli mööda hiilimine läbi modeline, teed mööda hiilimine zip.vim-is;
- vim.pos optimeerimine: nvim_buf_line_counti kasutamine kõikide ridade laadimise asemel.
Allikas: linux.org.ru
