What Exactly Goes Into Making a Release of the CMS?
Last summer, I was lucky enough to inherit many of the responsibilities as it pertains to coordinating and executing releases of the Joomla! CMS. Little did I know at the time, but there are a lot of details and individuals involved in the full release cycle. So, what exactly goes into making a release of the CMS?
For me, being one of the PLT members involved in the full release process, the release cycle begins immediately after a release. These first few days are an important milestone as the highest daily download counts happen here. Typically during this period we see a higher number of updates than new installs, which to me is a good measure in that site owners and administrators are making the effort to keep their sites up-to-date.
Joomla! CMS Downloads for December 18-20, 2013
Another important metric after a release is community feedback. We’ll see a spike in activity on the mailing lists, forum, and issue tracker post release with all sorts of feedback. Many members of the community make the effort to review this feedback and provide assistance, be it from beginner level users who are having issues updating to extension developers experiencing issues with the software suite. Through all of this, the Production Leadership Team (PLT) needs to be aware of any potential major issues and be prepared to react quickly if need be, as was seen in November with the 2.5.15 release being followed by 2.5.16 hours later.
Few projects on the scale of Joomla could be successful without a team of folks coordinating efforts for different aspects of a release. Though releases are ultimately decided on by the PLT, there are several groups that are involved in the lead up to a release to focus on various aspects of making each Joomla release successful.
Our Translation Coordinators must be abreast of our timelines to keep the translation teams updated and ready to prepare for the upcoming release. Given the CMS is translated in over 60 languages, the coordinators need to ensure their teams will have ample time to prepare their translation packages for the upcoming release and ensure concerns from the translators are addressed as needed.
Behind the scenes, the Joomla Security Strike Team (JSST) is continually fielding security reports with Joomla’s software and working on responses to those issues. They need to know the release timelines in order to have security patches prepared, and if necessary, raise concerns with the timelines to the PLT.
The Marketing Working Group works alongside the PLT to help prepare marketing efforts for the upcoming release and other announcements for the Joomla community. This includes highlighting the new features that are included in releases and preparing material to help advise users about important information between releases.
Once a timeline is established, very rarely is it deviated from. Quite simply, there are a large number of moving pieces involved in getting a release prepared and any change throws wrenches into this machine.
The pre-release phase officially begins about a week prior to a release. At this point, language string changes for the next release are no longer accepted and the CMS Maintenance team slows down on commit activity to ensure we aren’t committing any last minute “gotcha” patches that might cause issues; typically only higher priority items will be committed from here until release. Starting with the 3.2.1 release, we now institute a total code freeze about 3-4 days before release to enable final testing of a release, which includes public release candidates to enable testing upgrades from previous versions to the newest package as well as testing new installs and ensuring the CMS as a whole functions correctly.
Also during this time, a lot of other behind the scenes activity is taking place to make release day as smooth as possible. This includes preparing the release announcement(s) for joomla.org, release notes pages listing the issues resolved in each release, consolidating a list of contributors for the release, and preparing documentation for the new release.
Assuming all has gone well before now, release day is as simple as publishing a couple articles and changing a few links from my perspective. Of course, there’s a lot more involved than that. Final QA checks are done to ensure that there are no last minute concerns that may delay a release and final checks are done with all teams to ensure they’re ready for the release. Once the final checks are complete, the release is published and from a production standpoint, the release is finished and we’re moving on to the next release.
It doesn’t just go like that though. Other activities like the social media campaigns sharing the new releases and encouraging updates, and of course updating our own sites happen from here. With that said, this should be the least stressful day in the release cycle if everything else has gone smoothly up to this point.
A release of Joomla, be it a small maintenance release with but a handful of patches, or something as large as 3.2.0, takes a lot of effort to make a success. A lot of individuals are involved behind the scenes who might not get recognized on the same level as others who are commonly associated with making things happen in the project. So, a big thank you to everyone who puts in the effort to make Joomla and its releases a success.