On Wed, Mar 22, 2023 at 4:17 AM Daniel Stenberg via curl-library <curl-library@lists.haxx.se> wrote: > > On Wed, 22 Mar 2023, Stefan Eissing wrote: > > > Delaying the opening of the feature window after a release seems to be a > > good balance. Right now, I have several PRs pending for the re-opening of > > the window and it does not cost anything to have them wait a week more. > > Feature branches already exist. Maintenance branches we'd like to avoid. > > So, how about this for adjusted release cycle and release management: > > - Increase the post-release ("cool down") margin before we open the feature > window. We currently have it 5 days, we could double it to 10 days. That > would then reduce the feature window with the same amount of days leaving > us with 18 days to merge features. > > - Within the cool down period, we are only allowed to merge bug-fixes. > > - Lower the bar for a patch-release. Even "less important" regressions > should > be considered reason enough to do follow-up releases. And if they are not > reported within the cool down period, chances are they are not important > enough. > > - After a follow-up release, we start over with a new cool down period of 10 > days. > > - If we decide to do a patch release due to a regression, we set that > release > day N days into the future so that we can accumulate a few more fixes and > get our ducks in order before we ship it. N is probably at least 7.
The last item is the important one due to lack of participation in pre-release testing. You can ask for testers until you are blue in the face, but you are only going to get a handful of testers. People won't test the release until it is released. To counter the lack of pre-release testing, schedule another release T+x days after the release of interest. So if you release cURL 8.0.0 on January 1, then you schedule a 8.0.1 maintenance release on January 14 or January 28. You use the 10 days or 2 weeks to clean up the bugs that crept in but were not caught in pre-release testing. I don't know how that intersects with the "cool down" or feature window. I don't use them. In the projects I work with, master is always hot - it is always in a release state. Feature development and testing happen in a fork on a branch, so it does not taint master which is always hot. In fact, because it happens on a fork, it does not even taint the project itself. Another person came up with the strategy to counteract the lack of testers. He told me I would not get enough testers to find the bugs we hoped to catch before a release. I did not believe him. He was right. Now I plan for the lack of testers by scheduling a maintenance release following the release of interest. Jeff -- Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.html