29. marca 2026 je potekal izdanje urejevalnika besedil Neovim različici 0.12, 6. aprila pa je izšla popravljajoča različica 0.12.1. To je ena največjih izdaj v zadnjem času: zaprto je več kot 340 nalog, dodan je vgrajen upravljalnik vtičnikov, HTTP-odjemalec, ukaz za ponovno zagon, bistveno razširjen je vgrajeni LSP-odjemalec in eksperimentalno predelano je podsystem sporočil.
Neskladne spremembe:
- izbrisati zastareli API vim.diagnostic;
- Ctrl-R v načinu vnosa zdaj deluje podobno kot vstavljanje;
- podatkovna podpora Python 3.7 in 3.8 v ponudnikih;
- vtičnik shellmenu je uklonjen, tohtml premaknjen v pack/dist/opt/;
- Treesitter: direktiva offset! se uporablja za vse zajeme, get_parser vrne nil ob napaki, možnost 'all' v Query:iter_matches je bila odstranjena;
- LSP: textDocument/codeLens je bil predelan kot provider dekoracije;
- UI: ext_messages odvrit od omrežja sporočil;
- Podpora RFC 3986 v path_with_url.
Vgrajeni upravljalnik vtičnikov (vim.pack):
Dodano eksperimentalni vgrajeni upravljalnik vtičnikov vim.pack. Podpira lockfile za zaklepanje različic, posodobitve brez povezave, natančno določanje različic, potrdilni mehanizem z navigacijo po [[[\/]] in ukazih kode. Informacije o VCS so na voljo preko vim.pack.get. Napredek operacij prikazan prek nvim_echo s kind=progress. Integrirano s checkhealth.
LSP:
Vgrajeni LSP-odjemalec je prejel obsežno posodobitev:
- nov ukaz :lsp za interaktivno upravljanje z odjemalci;
- vim.lsp.enable in vim.lsp.is_enabled za upravljanje LSP-strežnikov po potrebi;
- vgrajeno samodejno dopolnjevanje v načinu vnosa s podporo completionItem/resolve (pri completeopt=popup), predogled koščkov in barv, podpora CompletionItem.labelDetails;
- inkrementalno označevanje preko textDocument/selectionRange, vključno v načinu awaiting-operater;
- textDocument/documentColor je privzeto vključen, dodana podpora colorPresentation;
- podpora textDocument/documentLink, textDocument/inlineCompletion, textDocument/onTypeFormatting;
- codeLens prikazan z virtualnimi vrsticami prek providerja dekoracij;
- izboljšave semantičnih tokenov: večvrstični tokeni, poizvedbe range in full;
- podpora workspace-diagnostike, dinamična registracija, poizvedba diagnostic/refresh;
- osvetlitev preimenovanega simbola, podpora annotated text edits in povezane obdelovalne območja;
- nove privzete preslikave: grt — prehod k definiciji tipa, grx — zagon codeLens;
- LSP-odjemalci se samodejno odklopijo ob spremembi filetype;
- so razglašeni za zastarele vim.lsp.stop_client in vim.lsp.util.stylize_markdown.
Ukaz :restart in :detach:
Nov ukaz :restart ponovno zažene Nvim in se ponovno poveže z aktualnim UI-jem. Podpora :detach in :restart v sistemu Windows. Oba delujeta na vseh platformah.
Mreža (vim.net):
Dodavanje ugrađenog HTTP klijenta vim.net.request i :edit url. Opcija vim.net.request s argumentom outbuf upisuje odgovor servera direktno u navedeni bafer.
UI i poruke:
- ui2 — eksperimentalna rekonstrukcija podsistem poruka i komandne linije, ext_cmdline/messages za TUI;
- nove grupe označavanja hl-StderrMsg i hl-StdoutMsg;
- nvim_echo podržava progresivne događaje s kind=progress;
- podrazumevana statusna traka prikazuje brojače dijagnostike, progres i status LSP, stanje zauzetosti bafera;
- okvir iskačućeg menija pumborder sa rolerom.
Lua API:
- novi tipovi vim.Pos i vim.Range za rad sa pozicijama i opsezima, konverzija između formata pozicija kursor, extmark, Vim i LSP;
- vim.list.bisect, vim.list.unique;
- Iter:unique, Iter:peek i Iter:skip za non-list iteratore;
- vim.wait vraća rezultate callback-a;
- vim.json.encode podržava pretty-print i sort_keys;
- parametar ponašanje u obliku funkcije za tbl_extend i tbl_deep_extend;
- novi modul vim._async.
Dijagnostika:
- diagnostic.status z korisničko formatiranje in označavanje;
- filtar enabled, opcija format za setloclist/setqflist;
- Callback on_jump;
- prelazak na povezane informacije iz open_float;
- preklapanje označavanja DiagnosticUnnecessary i DiagnosticDeprecated.
Treesitter:
- označavanje Markdown je uključeno po defaultu;
- inkrementalno označavanje na temelju Treesitter.
Druge spremembe:
- :wall ++p stvara roditeljske direktorijume za svaku bafer;
- exrc traži konfiguracione datoteke u roditeljskim direktorijumima z s obaveznim potvrđivanjem preko :trust;
- :source može izvršavati Lua-blokove i Treesitter-injekcije;
- nvim_open_tabpage — API za programsko kreiranje tabova;
- nvim_set_hl sa parametrima update ažurira pojedinačne atribute označavanja bez prepisivanja drugih;
- stil bold in korisnički simboli u winborder;
- podpora statusline u plutajućim prozorima;
- preimenovanje .nvimlog u nvim.log;
- označavanje aktivnog tabstop u snippettima;
- Ugrađeni runtime za undotree;
- shelltemp=false po defaultu;
- Spellfile se čuva u stdpath data;
- maksimalan broj rezultata pretrage povećan na 999;
- SSH konfiguracioni parser;
- sinhronizovani izlaz u terminalu (mode 2026);
- terminal prikazuje exit code putem virtuelnog teksta.
Neovim 0.12.1:
Ispravka verzije od 6. aprila 2026. sa 26 ispravki grešaka i jednom novom mogućnošću — :restart prekonfiguriše sve UI. Među važnim ispravkama:
- :restart: nasleđivanje stderr na Unix, ispravna obrada —headless;
- LSP: ponovni zahtev za refreshing codeLens, predogled koščkov, resetovanje verzije document color;
- ui2: trepćuće prilikom ulaska u pager, neispravne reference na bafer, ažuriranje spill indikator;
- Treesitter: izvlečenje z unicode znakov na koncu vozlišča;
- vim.net: obdelava arhivskih URL-jev prek tar/zip;
- vim.pack: uporaba uv.available_parallelism za izračun števila niti;
- Varnostni popravki Vim: obhod varnostnega modela prek modeline, obhod poti v zip.vim;
- Optimizacija vim.pos: uporaba nvim_buf_line_count namesto nalaganja vseh vrstic.
Izvor: linux.org.ru
