Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to manage breaking changes from main lib for binding? #33

Open
Gorlph opened this issue Aug 4, 2021 · 2 comments
Open

How to manage breaking changes from main lib for binding? #33

Gorlph opened this issue Aug 4, 2021 · 2 comments
Labels
documentation Improvements or additions to documentation question Further information is requested

Comments

@Gorlph
Copy link
Contributor

Gorlph commented Aug 4, 2021

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?

@bact
Copy link
Member

bact commented Aug 4, 2021

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.

@wingyplus
Copy link
Contributor

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.

@bact bact added documentation Improvements or additions to documentation question Further information is requested labels Aug 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants