Mozilla has spun mozilla-2.0 off into its own stable branch to generate the Release Candidates. Congratulations, we made it! Whatever else happens, we are almost certain to continue surviving through future versions of Firefox 4/Mozilla 2, as it is highly unlikely that Mozilla will throw one of our known show-stopper insurmountable technical hurdles into a maintenance branch. (There is an early development hurdle with Firefox 5 which is going to present a problem, but I'll discuss that in due time. Fortunately, I am reasonably confident that this technical requirement can be worked around.)
Now that we are on a stable branch for sure, updates will be handled a little bit differently. Previously I would jump on the tree as soon as it was held for tagging by Release Engineering so that no or very few bugs would land that should not be in the beta release. Since our QA demands are much less than Mozilla's (only two supported OSes and one supported architecture), building, testing and certifying releases usually only took a day or two after that, and so routinely we were popping out betas sometimes as much as a week or more before the official betas would come out. Well, no longer. As I alluded to in the last post, it behooves us to wait as long as possible on a stable branch to make sure everything's on the branch that needs to be there, because the risk of waiting too long and getting an unstable patch in the pull is lower than the risk of jumping on the tree too early and missing a security or stability issue that lands at the last minute.
For that reason, 4.0 final and all subsequent releases off the stable Mozilla 2.0 branch will be released pretty much simultaneously with Mozilla's releases so I can make sure that changesets match. Unfortunately, you can't do this with about:buildconfig because the changeset displayed is based on the internal TenFourFox repo and not Mozilla's, but we can do this internally with a bit of Mercurial magic on the build system. Therefore, don't expect 4.0 final much before the official release day, nor any future 4.x release. We'll still be punctual, just not fashionably early. :)
Builders and our Fink-based audience will be happy to know that when these stable releases go out, they will also be accompanied by new changesets against mozilla-2.0 instead of mozilla-central, as I know the current changesets do not apply completely cleanly to the trunk repo. On a stable branch they should have much fewer variances and therefore ought to apply without much fuzzing. Our internal copy of mozilla-central will also be rebased on this clean changeset too so that everything is consistent. I plan to do this for each new branch in the future so that there will be much less junk metadata getting carried forward.
There are a couple of 10.4Fx-specific bugs that should also be fixed in 4.0 final, none serious showstoppers, but might as well get them in before the end as the changes should be very safe. In fact, I have preliminary fixes in my tree already and have been using the "RC" on my G5 for the past few hours now. Looks good so far; later this week I'll dump a build on the iBook G4 and see how it does with that.
So, champagne and drinks all around: we made it! Firefox 4 is still on the Power Mac and still on Tiger! I have some ideas for more PowerPC-specific optimizations for TenFourFox 5, too, but more on that once we branch.