-
Notifications
You must be signed in to change notification settings - Fork 272
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
feat: config option to allow breaking changes #1241
Conversation
I don't think this is a good idea. It will require some extra documentation and care from our side. I'd stick with separate flags |
@thymikee as a counter argument I would say that maintaining a number of separate options seem to require even more extra documentation and care from our side. Important part of this idea is that after major release we are able to remove the legacy implementations and just stick with the new ones. I do not plan for these to stick around after the major release. |
So it's for early adopters only. Maybe it's worth to spin a new branch and start the RC phase instead? |
Yeah the goal here is that we have some breaking changes intended for next major release:
and we want to be able to work on these in an effective manner. Merging any of these PRs without any flags would be a breaking change, so will put us in this Branching seems to be one solution, so we could either do branch for existing It seems like breaking changes intended for From users perspective this would allow early adopters to use these features quicklier. An interesting variation of that approach would be to keep the |
I like the idea of having just one main branch and only one flag to handle the breaking feature, seems more simple to handle. What I'm wondering is wether people are sufficiently investing in testing in general to use the flag |
I agree that we have a lot of complexity right now due to dealing with breaking changes, so having an internal feature flag only for release management seems like a good idea to me! This offers less possibilities though and may not be the best solution when we want users to have the possibility to disable some feature. So regarding the next major version I think we need to figure out wether the breaking changes should be mandatory or not and if users should be able to have one and not the other. Regarding #1234, I believe we should keep the option to disable it at query level but I like the idea of using |
Re mandatory/optional changes in the next major release: #1234 Secondarily, composite and host From what I understand the current code which uses exported composite #1180 @pierrezimmermannbam @MattAgn wdyt? |
I agree with you on both options. For #1180, I guess we'll know more when I do my research on which components are considered accessible by default by screen readers. |
Ok, so I can see how this could make your lives easier. In such case, I'm not opposed |
@mdjastrzebski I also agree, should we merge this pr first before I make changes on #1234 ? Regarding the implementation I guess what we'd need would be the equivalent of the existing config but only for internal purposes, as we'd need the ability to changes the flag's value in tests as well as reset the value to the default |
Codecov ReportBase: 94.91% // Head: 94.94% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #1241 +/- ##
==========================================
+ Coverage 94.91% 94.94% +0.03%
==========================================
Files 45 45
Lines 3069 3088 +19
Branches 456 457 +1
==========================================
+ Hits 2913 2932 +19
Misses 156 156
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
@pierrezimmermannbam @MattAgn @thymikee: I've made Re merge order for #1234 and #1180: I think it would be good idea to merge this PR first so that your PRs can already use it. |
@pierrezimmermannbam let me know if you have any comments to the existing implementation or should I merge it? |
No comments from @pierrezimmermannbam, so I'm merging this PR to move forward. |
@mdjastrzebski sorry I didn't take the time to review this week but it's perfect ! |
Summary
New config option
allowBreakingChanges
that when set totrue
would allow us to introduce breaking changes without need for major release. It has to be opt-in, so that if not set the library works in non-breaking way.The goal here is to be able to move forward with code changes that introduce breaking changes like #1234 #1180 without blocking other non-breaking developments. When the major release happens we would promote changes enabled by
allowBreakingChanges
optiopn and make the the default.I've also have alternative names for the option:
useCuttingEdge: true
useLatestApis: true
useVersionNext: true
moveFastAndBreakThings: true
Pls treat this PR as RFC/discussion I've submitted it as PR because it was low-effort to do it in this way. @pierrezimmermannbam @AugustinLF @MattAgn @thymikee wdyt?
Test plan
No new changes, as the option is not yet used anywhere.