29. ožujka 2026. godine održan je izdanje urednik teksta Neovim verzije 0.12, a 6. travnja objavljen je ispravak izdanja 0.12.1. Ovo je jedno od najvećih izdanja u posljednje vrijeme: zatvoreno je više od 340 zadataka, dodan je ugrađeni upravitelj dodataka, HTTP-klijent, komandna opcija za ponovno pokretanje, značajno je proširen ugrađeni LSP-klijent, a subsustav poruka je eksperimentalno revidiran.
Nepodržane promjene:
- uklonjene zastarjeli API vim.diagnostic;
- Ctrl-R u načinu umetanja sada radi slično umetanju;
- prekid podrške Python 3.7 i 3.8 u pružateljima;
- dodatak shellmenu biti uklonjen, tohtml premješten u pack/dist/opt/;
- Treesitter: direktiva offset! primjenjuje se na sve captures, get_parser vraća nil u slučaju pogreške, uklonjena opcija „all“ u Query:iter_matches;
- LSP: textDocument/codeLens prepisan kao provider za ukrase;
- UI: ext_messages odvojen od mreže poruka;
- Podrška za RFC 3986 u path_with_url.
Ugrađeni upravitelj dodataka (vim.pack):
Dodano eksperimentalni ugrađeni upravitelj dodataka vim.pack. Podržava lockfile za fiksiranje verzija, offline ažuriranja, određivanje ciljnih verzija, potvrđivanje bafera s navigacijom po [[[\/]] i code actions. Informacije o VCS-u dostupne su putem vim.pack.get. Napredak operacija prikazuje se preko nvim_echo s kind=progress. Integrirano s checkhealth.
LSP:
Ugrađeni LSP-klijent dobio je opsežno ažuriranje:
- nova komanda :lsp za interaktivno upravljanje klijentima;
- vim.lsp.enable i vim.lsp.is_enabled za upravljanje LSP-poslužiteljima po potrebi;
- ugrađeno automatsko dovršavanje u načinu umetanja s podrškom completionItem/resolve (uz completeopt=popup), pregled isječaka i boja, podrška CompletionItem.labelDetails;
- inkrementalno označavanje preko textDocument/selectionRange, uključujući u operator-pending načinu;
- textDocument/documentColor uključeno podrazumijevano, dodana podrška colorPresentation;
- podrška textDocument/documentLink, textDocument/inlineCompletion, textDocument/onTypeFormatting;
- codeLens prikazuje se virtualnim redovima preko provider-a za ukrase;
- poboljšanja semantičkih tokena: višeredni tokeni, zahtjevi range i full;
- podrška workspace-dijagnostike, dinamička registracija, zahtjev diagnostic/refresh;
- označavanje preimenovanog simbola, podrška annotated text edits i povezani rasponi za uređivanje;
- nove mape podrazumijevano: grt — prelazak na definiciju tipa, grx — pokretanje codeLens;
- LSP-klijenti automatski se odspajaju prilikom promjene filetype;
- zastarjeli su vim.lsp.stop_client i vim.lsp.util.stylize_markdown.
Komanda :restart i :detach:
Nova komanda :restart ponovo pokreće Nvim i ponovno povezuje trenutni UI. Podrška :detach i :restart na Windows. Obje rade na svim platformama.
Mreža (vim.net):
Dodana ugrađena HTTP-klijent vim.net.request i :edit url. Opcija vim.net.request s argumentom outbuf sprema odgovor servera izravno u navedeni缓ugger.
UI i poruke:
- ui2 — eksperimentalni redizajn podsustava poruka i komandne linije, ext_cmdline/messages za TUI;
- nove grupe isticanja hl-StderrMsg i hl-StdoutMsg;
- nvim_echo podržava događaje napredovanja s kind=progress;
- statusna traka prema zadanim postavkama prikazuje brojače dijagnostike, napredak i status LSP, stanje zauzetosti bufera;
- okvir iskačućeg izbornika pumborder s trakastim skrollom.
Lua API:
- novi tipovi vim.Pos i vim.Range za rad s pozicijama i rasponima, konverzija između formata pozicija kazaljke, 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 callbacka;
- 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 s prilagođeno formatiranje i isticanje;
- filter enabled, opciju format za setloclist/setqflist;
- Callback on_jump;
- prijelaz na povezane informacije iz open_float;
- preklapanje isticanja DiagnosticUnnecessary i DiagnosticDeprecated.
Treesitter:
- isticanje Markdown uključeno po zadanim postavkama;
- inkrementalno isticanje na temelju Treesitter.
Ostale izmjene:
- :wall ++p stvara roditeljske direktorije za svaki bufer;
- exrc traži konfiguracijske datoteke u roditeljskim direktorijima s uz obavezno odobravanje preko :trust;
- :source može izvršavati Lua-blokove i Treesitter-injekcije;
- nvim_open_tabpage — API za programsku izradu kartica;
- nvim_set_hl s parametrom update obnavlja pojedinačne atribute isticanja bez prebrisavanja ostalih;
- stil bold i prilagođeni simboli u winborder;
- podrška statusline u lebdećim prozorima;
- preimenovanje .nvimlog u nvim.log;
- isticanje aktivnog tabstop u snippettima;
- Ugrađeni runtime za undotree;
- shelltemp=false prema zadanim postavkama;
- Spellfile se čuva u stdpath data;
- maksimalni broj rezultata pretraživanja povećan na 999;
- SSH konfiguracijski parser;
- sinkronizirani izlaz u terminalu (mode 2026);
- terminal prikazuje exit code kroz virtualni tekst.
Neovim 0.12.1:
Ispravku izdanja od 6. travnja 2026. s 26 ispravaka grešaka i jednom novom mogućnošću — :restart ponovno povezuje sve UI. Među važnim ispravkama:
- :restart: nasljeđivanje stderr na Unix, ispravna obrada —headless;
- LSP: ponovni zahtjev codeLens refresh, pregled isječaka, poništavanje verzije document color;
- ui2: trepereće pri ulasku u pager, neispravne veze na bufer, ažuriranje spill indikatora;
- Treesitter: označavanje s unicode simbolima na kraju čvora;
- vim.net: obrada arhivskih URL-a putem tar/zip;
- vim.pack: korištenje uv.available_parallelism za izračunavanje broja niti;
- Sigurnosni zakrpe za Vim: obići sigurnosni model putem modeline, obići put u zip.vim;
- Optimizacija vim.pos: korištenje nvim_buf_line_count umjesto učitavanja svih redaka.
Izvor: linux.org.ru
