Den 29. marts 2026 fandt udgivelse teksteditoren Neovim version 0.12 sted, og den 6. april blev en rettende udgivelse 0.12.1. Dette er en af de største udgivelser i lang tid: over 340 opgaver er blevet lukket, en indbygget plugin manager er tilføjet, HTTP-klient, genstartskommando, den indbyggede LSP-klient er betydeligt udvidet, og beskedssystemet er eksperimentelt omarbejdet.
Inkompatible ændringer:
- blive fjernet forældede API vim.diagnostic;
- Ctrl-R i indsætningsmode virker nu som indsættelse;
- understøttelse af Python 3.7 og 3.8 i leverandørerne er stoppet;
- plugin shellmenu fjernet, tohtml blev flyttet til pack/dists/opt/;
- Treesitter: direktiv offset! anvendes på alle captures, get_parser returnerer nil ved fejl, muligheden 'all' er blevet fjernet i Query:iter_matches;
- LSP: textDocument/codeLens er omskrevet som dekoration provider;
- UI: ext_messages er adskilt fra beskedgitteret;
- Understøttelse af RFC 3986 i path_with_url.
Den indbyggede plugin manager (vim.pack):
Tilføjet er en eksperimentel indbygget plugin manager vim.pack. Understøtter lockfile til versionslåsning, offline opdateringer, angivelse af målversioner, behandlingsbuffer med navigation ved [[[\/]] og kodehandlinger. Oplysninger om VCS er tilgængelige via vim.pack.get. Fremdrift af operationer vises gennem nvim_echo med kind=progress. Integreret med checkhealth.
LSP:
Den indbyggede LSP-klient har fået en massiv opdatering:
- ny kommando :lsp til interaktiv styring af klienter;
- vim.lsp.enable og vim.lsp.is_enabled til at styre LSP-servere efter behov;
- indbygget autocompletion i indsætningsmode med understøttelse af completionItem/resolve (ved completeopt=popup), forhåndsvisning af snippets og farver, understøttelse CompletionItem.labelDetails;
- inkremental markering gennem textDocument/selectionRange, herunder i operator-pending mode;
- textDocument/documentColor er som standard aktiveret, tilføjet understøttelse colorPresentation;
- understøttelse af textDocument/documentLink, textDocument/inlineCompletion, textDocument/onTypeFormatting;
- codeLens vises som virtuelle linjer gennem dekoration provider;
- forbedringer af semantiske tokens: flere linjer tokens, forespørgsler range og full;
- understøttelse af workspace-diagnostics, dynamisk registrering, forespørgsel diagnostic/refresh;
- fremhævelse af omdøbte symboler, understøttelse annoteret tekstredigering og sammenkædede redigeringsområder;
- nye standard mappings: grt — spring til definitions type, grx — kør codeLens;
- LSP-klienter frakobles automatisk ved ændring af filetype;
- er erklæret forældet vim.lsp.stop_client og vim.lsp.util.stylize_markdown.
Kommandoerne :restart og :detach:
Den nye kommando :restart genstarter Nvim og genopretter den aktuelle UI. Understøttelse :detach og :restart på Windows. Begge fungerer på alle platforme.
Netværk (vim.net):
Indbygget HTTP-klient tilføjet vim.net.request og :edit url. Variant vim.net.request med argumentet outbuf skriver serverens svar direkte til den angivne buffer.
UI og beskeder:
- ui2 — eksperimentel omarbejdning af besked- og kommandolinjesystemet, ext_cmdline/messages til TUI;
- nye grupper af syntaksfremhævning hl-StderrMsg og hl-StdoutMsg;
- nvim_echo understøtter fremskridtsbegivenheder med kind=progress;
- statuslinjen som standard viser diagnosticeringstællere, fremskridt og LSP-status, optagethed i bufferen;
- pop-up menu ramme pumborder med rullefelt.
Lua API:
- nye typer vim.Pos og vim.Range til at arbejde med positioner og intervaller, konvertering mellem formater for positioner markøren, extmark, Vim og LSP;
- vim.list.bisect, vim.list.unique;
- Iter:unique, Iter:peek og Iter:skip til non-list iteratorer;
- vim.wait returnerer callback-resultater;
- vim.json.encode understøtter pretty-print og sort_keys;
- parameter behavior som funktion til tbl_extend og tbl_deep_extend;
- nyt modul vim._async.
Diagnostik:
- diagnostic.status med brugerdefineret formatering og syntaksfremhævning;
- filter enabled, formatmulighed til setloclist/setqflist;
- Callback on_jump;
- navigerer til relaterede oplysninger fra open_float;
- overdækning af syntaksfremhævninger DiagnosticUnnecessary og DiagnosticDeprecated.
Treesitter:
- syntaksfremhævning af Markdown er aktiveret som standard;
- inkrementel fremhævning baseret på Treesitter.
Andre ændringer:
- :wall ++p opretter overordnede mapper for hver buffer;
- exrc søger efter konfigurationsfiler i overordnede mapper med med obligatorisk bekræftelse via :trust;
- :source kan udføre Lua-blokke og Treesitter-injektioner;
- nvim_open_tabpage — API til programmatisk oprettelse af faner;
- nvim_set_hl med parameter opdatering opdaterer individuelle syntaksattributter uden at overskrive de andre;
- stil fed og brugerdefinerede symboler i winborder;
- understøttelse af statuslinje i flydende vinduer;
- omdøbning af .nvimlog til nvim.log;
- fremhævning af aktiv tabstop i snippets;
- Indbygget runtime til undotree;
- shelltemp=false som standard;
- Spellfile opbevares i stdpath data;
- maksimal antal søgeresultater er steget til 999;
- SSH konfigurationsparser;
- synkroniseret output i terminalen (mode 2026);
- terminal viser exit-kode gennem virtuel tekst.
Neovim 0.12.1:
Korrigerende udgave fra 6. april 2026 med 26 fejlrettelser og én ny funktion — :restart genopretter alle UI. Blandt de vigtigste rettelser:
- :restart: arv fra stderr på Unix, korrekt håndtering af —headless;
- LSP: gentaget krav om codeLens refresh, forhåndsvisning af snippets, nulstilling af dokumentfarve;
- ui2: flimmer ved indgang til pager, ukorrekte links til buffer, opdatering af spill indicator;
- Treesitter: udvalg med unicode-tegn i slutningen af noden;
- vim.net: håndtering af arkiv-URL'er gennem tar/zip;
- vim.pack: brug af uv.available_parallelism til at beregne antallet af tråde;
- Sikkerhedsopdateringer til Vim: omgåelse af sikkerhedsmodellen gennem modeline, omgåelse af stien i zip.vim;
- Optimering af vim.pos: brug af nvim_buf_line_count i stedet for at indlæse alle linjer.
Kilde: linux.org.ru
