Skip to content

Breaking changes on main (flatten.nvim 1.0.0) #87

@willothy

Description

@willothy

This is a tracking issue for breaking changes on main. I am releasing it an advance of any breaking changes to give fair warning, since I want using this plugin to be as seamless and unobtrusive to use as possible.

TLDR
No breaking changes yet. There will be some with 1.0.0, and then flatten will be stable.

I will soon be releasing version 1.0.0 of flatten.nvim, which will include some new features (#86), fully typed API/config docs for LSP (also #86), and a restructure of the core and guest code (wip) to allow for sending commands, files, and data separately.

This version will include some breaking changes to the configuration and callback signatures, but it will also be the last version of flatten.nvim to ever have breaking changes unless required by some change in upstream Neovim. I feel that flatten.nvim is largely feature-complete at this point, and therefore with 1.0.0 I am committing to full stability and semantic versioning. While features may be added, the API will not be subject to change once released. This is what precipitated the change to tables for callback arguments in #86 - we need to be able to add params as needed without huge arglists or breaking the API.

Any breakages required by changes in upstream Neovim will be accompanied by a major version bump for flatten.nvim, though I don't think that is likely to happen.

Unreleased (#86):

  • Moved pipe_path to callbacks, require it to be a function.
  • Changed pre_open, post_open, and block_end callbacks to take single tables instead of several args.
  • Renamed one_per to integrations.
  • TBD (considering but not implemented):
    • Rename callbacks to hooks?
    • Remove allow_command_passthrough option, add flag to explicitly disable command passthrough instead.
    • Possibly drop support for nvim 0.8? 0.9 is out everywhere and I would like to remove deprecated code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestinformationAn announcement or discussion

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions