graphql-js icon indicating copy to clipboard operation
graphql-js copied to clipboard

Notice: default branch is now `16.x.x`

Open benjie opened this issue 1 year ago • 3 comments

As discussed at the GraphQL.js WG this evening.

The main branch is being used for work on the unstable v17 release which incorporates incremental delivery. Any changes that require a breaking change should target main. All other changes should target 16.x.x (the default branch) so that they can be incorporated and released sooner. 16.x.x is our stable branch. We've chosen to make it the default branch to make it easier for users and contributors to see the current state of the stable code and to contribute.

This issue can be closed at any time; I figure it makes sense to keep it open for a week or so.

benjie avatar Jun 26 '24 17:06 benjie

While this will definitely make it easier to ensure that changes are incorporated and released sooner in v16, it might also make it easier to forget that all changes merged to 16.x.x also need to be merged to main? I'm a little concerned that we might forget to merge a change to main and then when it is time to release v17.0.0 as stable it is missing something important.

If I have a change that is needed and I open a PR and merge it to the default branch of main, I will soon realize that I can't consume this change in a stable release unless I also open a second PR to "backport" it to 16.x.x.

If I do the same process and the default branch is 16.x.x, a maintainer will have to ensure it's also merged to main. If that step is forgotten or missed, we may not realize it until we decide to release v17.0.0 as a stable.

robrichard avatar Jun 27 '24 16:06 robrichard

Indeed; we've discussed having a backlog for tracking things that need forward porting. Essentially the 16.x.x branch just needs to be merged into main periodically. We considered changing v17 to being a feature branch and renaming 16.x.x to main but decided not to because it would break some of the GitHub actions flows.

benjie avatar Jun 27 '24 16:06 benjie

I think that merging 16.x.x into main repeatedly may have some negative consequences in terms of the linear history on main when it once again becomes the default branch. See further discussion in #4165 and #4171.

Overall, I would note that the churn around the incremental delivery has significantly decreased and that it might be possible to consider returning main to its default branch position.

yaacovCR avatar Aug 19 '24 04:08 yaacovCR