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

Why are breaking changes increment the PATCH number of the package? #59

Open
Zaid-Ajaj opened this issue Mar 23, 2020 · 8 comments
Open

Comments

@Zaid-Ajaj
Copy link
Member

@forki The change log clearly states that the changes are breaking:

2.5.1

  • BREAKING: use NetInfo from react-native-netinfo

2.5.0

2.4.1

  • BREAKING: use ToolbarAndroid from @react-native-community/toolbar-android

2.3.0

  • BREAKING: Put onActionSelected into properties of ToolbarAndroid

Yet there is no single update in the major version? This still ties up to #54 where now we not even considering communicating how version changes affect user code

cc @MangelMaxime @alfonsogarciacaro

@forki
Copy link
Contributor

forki commented Mar 23, 2020 via email

@Zaid-Ajaj
Copy link
Member Author

But we could start in to do that.

Can we please try to do that for any upcoming changes 🙏 (It would also be great if you at least make a version increment in the major number to reflect what has been going on recently)

@forki
Copy link
Contributor

forki commented Mar 23, 2020 via email

@forki
Copy link
Contributor

forki commented Mar 23, 2020

@Zaid-Ajaj in some sense I was trying to maintain some value of how breaking I think it is. In a strong SemVer sense we need to increase the major with every single release and that's also not really helpful.

@Zaid-Ajaj
Copy link
Member Author

basically every change is breaking

A breaking change in the third-party library doesn't necessarily mean a breaking change in the Fable binding itself of that library. For example the change 2.5.0 -> 2.5.1 to use NetInfo from react-native-netinfo instead of importing react-native could have been non-breaking if we were using Femto and had included the npm package metadata. Then a simple upgrade would bring in the correct dependency without having to break anything from the API or introduce changes in the public API surface.

we need to increase the major with every single release and that's also not really helpful.

Communicating breaking changes is absolutely helpful. Again, the solution for this is outlined in #54 and allows for the proper management of each individual package rather than having everything in one package where (as you say) the increase in major version will not be helpful.

@forki
Copy link
Contributor

forki commented Mar 23, 2020 via email

@forki
Copy link
Contributor

forki commented Mar 23, 2020 via email

@Zaid-Ajaj
Copy link
Member Author

the problem here is that in some sense the change is only a bugfix for the
breaking change in RN that we did not know of before.

I don't want to keep beating a dead horse here. My point is that we can avoid the situation where breaking changes in RN surface as breaking changes in the binding itself because it provides a layer on top if it is only internal binding details that are changing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants