Skip to content

How to deal with breaking changes? #51

Description

@primeapple

With #48 we have our first breaking change that is inevitable to come.

I'd love to get this fixed because now that I see the typo I can't unsee it but not sure how to deal with this. It's a breaking change and in theory we should have some grace period where both options work but old option would show a warning during plugin init. But that sounds like quite a hassle just to fix a typo...

Then again, we should have a mechanism for deprecating options, so that we could at some point get rid of execution message dimming and cleaning interval. So I think we should implement that deprecation mechanism first and apply it here before merging.
By @okuuva

We have to find a way on how to deal with breaking changes. Here are some ideas, they don't exclude each other:

  1. Add a small function to display a deprecation message whenever a user tries to access deprected functions/config/etc.
    This sounds easy, but unfortunately does not scale very well. We would have to keep a list of deprecations. We would need "safe access" wrappers for accessing the config. That sounds a bit to much for such a small plugin as we have. But maybe there is a good way.
  2. Start adopting https://semver.org/lang/de/ . That at least would make it easier for the users to pin working versions. We can maintain a changelog to indicate what changes with which version. I would try to do semver via tags and not mix branches in, but this is still a good read: https://phaazon.net/blog/neovim-plugins-stability

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions