1 min read

Last Sunday, the team behind Neovim, a project that refactors Vim source code released NVIM v0.4.0. This release received approximately 2700 commits since v0.3.4, which was a

non-maintenance release. It comes with improvements to documentation, test/CI infrastructure, internal subsystems and 700+ patches that are merged from Vim.

What’s new in NVIM v0.4.0?

API functions

This release comes with a new function, nvim_create_buf that is used for creating various types of buffers including nvim_get_context and nvim_load_context. The nvim_input_mouse function is used for performing mouse actions. Users can create floating windows with nvim_open_win.

UI events

The new UI events including redraw.grid_destroy, redraw.hl_group_set, redraw.msg_clear, and much more are included.

Lua library

NVIM v0.4.0 introduces “Nvim-Lua standard library” that comes with string functions and generates documentation from docstrings.

Multigrid windows

It now features windows that are isolated internally and can be drawn on separate grids. These windows are sent as distinct objects to UIs so that UIs can control the layout.  

Support for sign columns

It comes with support for multiple auto-adjusted sign columns, so users will  be shown extra columns to automatically accommodate all the existing signs.

Major changes

  • It has improved Lua error messages and fixed menu_get().
  • In NVIM v0.4.0, jemalloc, general purpose malloc implementation has been removed.
  • In this release, the ‘scrollback’ option is more consistent and future-proof. 

To know more about this news, check out the release notes.

Other interesting news in programming

A recap of the Linux Plumbers Conference 2019

GNU community announces ‘Parallel GCC’ for parallelism in real-world compilers

TextMate 2.0, the text editor for macOS releases