nlpo3
nlpo3 copied to clipboard
How to manage breaking changes from main lib for binding?
Now, each binding uses a published crate of main lib, but what would happen if the main lib signature is changed like in #31?
Should the changes in main lib be merged into some "dev" branch, then publish new version of the main crate from approved "dev" branch and then update main crate dependency of each binding, fix binding and then make a pull request to main?
Looking at the coming contributions, I agree on dev branch idea.
Some published API doc for main lib will help facilitate this as well. As it will be more clear about the change/breaking of API.
Or we use a version branching model like https://github.com/elixir-lang/elixir or https://github.com/golang/go/. They has a main branch for development and create a branch per version (v1.0, v1.1, etc). With this way, we can have a breaking change in main (or development) branch and can easily backport a bug to support version.