<div dir="ltr">Thanks Isaac for bringing this up,<div><br></div><div>I agree on:<div><br></div><div>- dropping "4.9.0.1" versioning scheme in favour for correct semantic versioning: X.Y.Z</div><div>-- and sticking to RELEASE_X_Y_Z_ as tag name scheme</div><div>-- I would even agree on renaming old tags from "X.Y.Z.0" to RELEASE_X_Y_Z", or drop them if they are duplicates</div><div>- having only one branch per minor version for maintenance</div><div>-- with MAINT_X_Y as scheme</div><div>-- master/main diverges into MAINT_ on feature freeze for next major release</div><div>- not/never merging from MAINT_X_Y</div><div>-- just cherry-picking if required/suitable.</div><div><br></div><div>I would also suggest:</div><div><br></div><div>- do not accept translation updates for MAINT_X_Y</div><div>- accept only rebased PR</div><div><br></div><div>all for a better acceptance by (new) developers and maintainers</div><div><br></div><div>For a better acceptance by (new) developers and maintainers, I would also suggest/agree on "dropping" (archiving in a separate repo) a large portion of git repo history - currently a (new) contributor has to download ~1.15 GiB of data.</div><div><br></div></div><div><br></div><div>Sebastian</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Sa., 22. Jan. 2022 um 01:53 Uhr schrieb Isaac Bennetch <<a href="mailto:bennetch@gmail.com">bennetch@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>It has occurred to me that our current branches have diverged significantly from QA_4_9 and that our current system of merging any change from QA_4_9 to QA_5_1 then to master doesn't seem ideal to me any longer. This makes security merges difficult.<br></div><div><br></div><div>This got messy at the point where we decided to continue supporting 4.9 for urgent fixes and security fixes, because prior to 4.9, security fixes would generally be assigned a fourth version number (such as 2.11.2.2 or 4.1.14.8). That fourth version number does not conform very well with semver and we've adapted to releasing a new "patch" release for security fixes (4.9.7, for instance). Under the older system, a branch MAINT_4_1_14 would be created for the security fixes for 4.1.14.x, because a QA_ branch would get merged ahead to newer branches but the MAINT branch was not meant to be merged. Similar changes could be git cherry-picked to future branches instead.</div><div><br></div><div>Here's what I'm proposing:</div><div><br></div><div>* Make a break from merging QA_4_9, remove the QA_4_9 branch and replace it with MAINT_4_9 (not MAINT_4_9_8, which would be the old way). We're really getting towards the end of wanting to support 4.9 anyway, but this will allow us to maintain 4.9 without complicated merges to the 5.x branches. It's easy to see how we got in this situation because at first we were still sort of supporting 4.9 for bug fixes and slowly switched to security only, but this is a good time to commit to doing this the right way.<br></div><div><br></div><div>As a reminder, since we're releasing 5.2.0-rc1, QA_5_2 is going to be created from master, and QA_5_2 will be frozen for new features; it will become bug fix only. Once 5.2.0 is officially released, QA_5_1 will be removed. I don't believe this will cause any problems with compatibility with very old PHP versions as there should be significant overlap.<br></div><div><br></div><div>Regards,</div><div>Isaac<br></div><div><br></div></div>
_______________________________________________<br>
Developers mailing list<br>
<a href="mailto:Developers@phpmyadmin.net" target="_blank">Developers@phpmyadmin.net</a><br>
<a href="https://lists.phpmyadmin.net/mailman/listinfo/developers" rel="noreferrer" target="_blank">https://lists.phpmyadmin.net/mailman/listinfo/developers</a><br>
</blockquote></div>