Skip to content

Prepare for version 1.0 #20451

Open
Enhancement
@justinmk

Description

@justinmk

This post lists the conditions for declaring Nvim v1.0. This is not a roadmap; the project roadmap is here: https://neovim.io/roadmap/

What is the plan for 1.0?

Stick to 0.x until the following conditions:

  1. we have a full picture of what the RPC API and Lua APIs look like, this means conventions for:
  2. Remove vim.opt/vim.opt_local/vim.opt_global
  3. Redesign the "remote plugin" concept: simplify remote plugins, massively #27949
  4. Redesign --remote docs: --remote alternatives #18414
  5. :checkhealth reports use of deprecated RPC and Lua APIs.
  6. :lua foo.<tab> completion should not suggest deprecated things.

1.0

Release 1.0 when we have fully-specified conventions for RPC API and Lua stdlib.

  • During 0.x, and continuing through 1.x, we will aggressively deprecate interfaces. This means:
    1. they will be listed in :help deprecated, and
    2. where possible they will be flagged by vim.deprecate().
  • No APIs will be removed from the RPC API during 1.x.
  • Deprecated RPC APIs emit warnings in some visible place when used.

2.0

  • REMOVE all deprecated things in the 2.0 release. See also :help api-contract.
  • Create nvim_xx functions that alias all nvim_xx2 functions.
    • Deprecate the existing nvim_xx2 names.
    • Example: nvim_exec will alias nvim_exec2. nvim_exec2 will still exist but will be deprecated, and clients using nvim_exec2 can easily migrate to nvim_exec.

Metadata

Metadata

Assignees

No one assigned

    Labels

    code-standardscode style, practices, guidelines, patternsproject-managementNeovim project matters (release process, logo, etc.)

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions