There are less than two months until Python 3.8.0b1.
Conventionally, we had created branch for version when beta1 is released.
But we has focused fixing bugs, rather than implementing new thing after beta.
How about create 3.8 branch when 3.8.0rc1, not 3.8.0b1?
I think there are two benefits:
Reducing backport cost
About 6/7 commits in master branch were backported to beta branch.
Backporting is easier than before (thank you, Mariatta!). But it still take some efforts.
$ git log --first-parent --oneline v3.7.0b1..v3.7.0rc1 | wc -l 601 $ git log --first-parent --oneline --since="2018-01-30" --until="2018-06-12" | wc -l 731
There are many duplicated changelog entries in https://docs.python.org/3.7/whatsnew/changelog.html .
bpo-28183 is listed in “3.7.0 alpha 1” and " 3.6.0 beta 2".
It makes reading changelog little harder.
We can reduce duplicated changelog in “3.9.0 alpha 1” by defer creating 3.8 branch until 3.8rc1.
Of course, there are downsides.
We need to “freezing” window. No pull requests for new features must not be merged between 3.8b1 and 3.8rc1. It will be frustrating, especially for new contributors.
As far as I know, Go uses this approach. They have 6 months release cycle. And there is about 3 months “release freeze”. Go Release Cycle
In our case, there are about 4 months between beta1 and rc1. It is longer than Go’s “release freeze”.
How do you think?