Thanks to visit codestin.com
Credit goes to neovim.io

Roadmap

The roadmap is an overview of the project direction. Detailed plans and priorities are tracked in milestones (these are tentative and may be changed or dropped at any time):

  • Version numbers (0.1, 0.2, …) track production releases. The next upcoming version has a (estimated) target date.
  • backlog holds low-priority items.
  • needs-owner holds zero-priority items (no feasible path to completion).

Next

Concrete high-level feature areas and changes.

Future (unknown release)

  • Prepare for 1.0
  • Multicursor, super-macros
  • Multibuffer #30463
  • packspec / pkg.json
  • File-change detection
  • Externalized UI: window layout events, messages

0.13: “The year of Batteries Included” (visibility, stdlib features, UI elements)

  • UI “block-level elements” so plugins can reason about regions
  • UI “affordance” indicator so users know which elements they can interact with
  • Unified event interface, nvim_on()
  • stdlib: image API
  • Task abstraction, structured concurrency: vim.async
  • Redesign --remote
  • LSP: vim.lsp.server()

0.12: “The year of Nvim OOTB”

  • ✅ Plugin manager (vim.pack) #34009
  • ✅ No more “Press ENTER” #27855
  • UI :connect, :restart#5035
  • Lua remote plugin host
  • Redesign (simplify) remote plugin concept, eliminate :UpdateRemotePlugins

Completed

Here are the headline features of the previous releases; for details see the release notes.

0.11

0.10

  • Default colorscheme
  • LSP inlay hints
  • TermRequest, TermResponse
  • treesitter: builtin parsers for bash, markdown, python
  • vim.snippet
  • vim.iter
  • vim.lpeg, vim.re, vim.glob, vim.base64

0.9

0.8

  • LSP improvements (v3.16 spec coverage, configuration, LspAttach)
  • Lua API: vim.fs, vim.cmd{}, measure require() in --startuptime, :map/:command/:au can print Lua source location
  • treesitter API: use queries to define spellcheck regions (aka “spellsitter”)
  • vim.ui_attach()
  • UI and RPC performance
  • user-defined command preview
  • cmdheight=0
  • clickable statusline

0.7

  • Tree-sitter integration (highlighting, folds)
  • TUI: extended keys (CTRL-i vs TAB, SHIFT modifier, …!)
  • Global statusline: laststatus=3

0.6

0.5 + 0.5.1

0.4

  • Lua “stdlib”
  • Externalized UI: multigrid
  • Externalized UI: floating windows
  • Externalized UI: messages

0.3.x

  • API: buffer update events
  • Vimscript expression parser: nvim_parse_expression()
  • Windows: MSVC support
  • 0.2.1 Built-in Lua:vim.api, :lua, nvim_execute_lua(), …
  • 0.2.1 Externalize UI components: cmdline, wildmenu
  • 0.2.1 Windows :terminal
  • 0.2.1 Pre-packaged “universal” binary for Linux

0.2.x

  • Windows support
  • Externalized UI: popumenu
  • Externalized UI: tabline
  • Pre-packaged builds for Windows and macOS

0.1.x

  • First public release
  • Publish a stable product that can be used as a benchmark for progress

What is Neovim?

Neovim is a Vim-based text editor engineered for extensibility and usability, to encourage new applications and contributions.

Discuss

Visit #neovim:matrix.org or #neovim on irc.libera.chat to chat with the team.


Mastodon
Bluesky