The plans for Joomla 4.1
After the release of Joomla 4.0, I met online with Sigrid Gramlinger-Moser and Benjamin Trenkle to discuss the process and people behind the testing and production of Joomla 4.1, the next Joomla minor version.
Sigrid Gramlinger-Moser - I first met Sigrid at JandBeyond Barcelona when we were both learning automated testing. Sigrid took over from me as team lead for the CMS release team and has really developed that group far beyond what she inherited. Sigrid is involved in the Austrian Joomla community and her daughter Lena was recently featured in our birthday edition.
Benjamin Trenkle - I also met at JandBeyond and through the production department. We have worked together on several projects inside and outside of Joomla and it's fair to say he has taught me much about how to write good code, and in exchange, I have tried to explain warm beer and cricket.
Sigrid, how did you become involved in the CMS release team and why did you join?
Due to a tight timeline in a client project, I wanted to know if the official release scheduled for that day was a security release. Because then I would have to block some extra time for immediate updates. So I asked Harald Leithner, as he was the release lead at that time. He invited me to join the CMS Release team, then I would know in advance and could test the pre-built packages. That was in March 2019 and I am still on the team.
What makes you happy about Joomla 4?
I enjoy the clean and new backend, the performance in the frontend and the easy updates. For my first client projects with only a few extensions, I started the upgrade and it took me only 1-2 hours per project. To me, it is really a mini Mini-migration - if all extensions and templates are ready for J4, the Joomla 3 website needs a backup (as always), a bit of cleanup, and you’re good to go.
Benjamin, congratulations on becoming the Joomla! 4.1 release lead. What exciting things have you got in store for me in Joomla 4.1?
Thank you, Phil! Yes, there were exciting times the last few years, casting Joomla! 4 into a stable release. With the biggest issue out of the way, reforming the code base, thanks to the major release, the main idea of further minor releases is to bring in more reliable release dates by having regular, predefined minor releases every six months with a predefined set of functions.
Having said that, the planned release day of Joomla! 4.1 is the 15th of February 2022.
We’re still working on the full feature list, which will be finished on the 7th of December, and then that will be the day of Feature Freeze.
Currently on the list is the Task Scheduler, which gives Joomla! the opportunity to run automated tasks. We have the prospect to implement a multi-domain feature into Joomla! core and also have some interesting GSoC projects pending, which could be candidates for Joomla! 4.1.
With all these great features you have just talked about, the planned released day is on the 15th of February 2022. That's only 5 months away!
Yes, it’s very ambitious but hopefully the start of reliable release cycles. But to be honest, it’s not up to me to make this happen. It relies strongly on the community, their feedback, their tests and all the good attributes that made the Joomla community shine in the past years.
Our hope is that this engenders trust in the release cycle and enhances the certainty for developers and agencies so they can plan reliably.
Sigrid, that's a very tight timeline, how will you be able to test the features enough to ensure quality?
We now have regular team meetings in the CMS Release team, where we discuss problems with releases in general. Other teams and the developers focus more on single PRs (Pull Requests). The CMS Release team is testing the whole release package in complex environments with customized templates including overrides, different 3rd party extensions, multiple languages, many user groups... We have a Release Checksheet where we add new features and everybody marks the areas tested and also PHP versions. In the coming weeks, we will also investigate how we can automate testing in the browser as well as support the automated testing group with prepared test cases. This will save us a lot of time and improve the quality even further.
Benjamin, what is the planned timeline to make this happen?
Well, Phil, we would like the first Alpha at the end of September. This is more a release for my benefit, to get my feet wet and test the whole process. It will most likely not have many new features, although we have merged some nice PRs already.
After that, we plan two additional Alphas, at the end of October and November and then the Beta phase with the mentioned feature freeze on the 7th of December. Here we will increase the frequency, having two more betas, one before Christmas on the 21st and one beginning of the coming on the 4th of January. With the language freeze on the 18th of January, we will start the RC (Release Candidate) phase, which will bring a second RC version on the 1st of February and the final release on the 15th of February.
This will, I think, also bring some room to breathe for testers, so we will not rush from one Beta/RC to another, but giving a few more days to test.
Sigrid, how are you going to inform me of what needs testing and when?
If you follow Joomla! on social media, you will notice the Release Candidate postings. That is the time to download and test. You could also join our team and be involved in the whole process. If Github has too much code for you, you can sign up for our newsletter via the developer's list. We will publish a CMS Release Checksheet that will show you which areas you can test. If you are interested just send me a note.
Benjamin, How do you think this regularity of release will benefit developers, are there advantages of a fixed timeline over a feature ready driven release cycle?
A feature-driven release cycle is, in my opinion, very nice in independent projects, where you’re the boss and others will follow. But for agencies and developers, it’s hell, as it’s not predictable in the long term. We also hope with these fixed time frames, that people can plan and spend time on testing, especially 3rd party developers, to make sure their extensions/templates are compatible.
Sigrid, does this cycle help you as well?
Yes, because we can plan ahead and block time for testing. In our day-to-day routine, there is often not enough time, but if the RC dates are published ahead, it is possible to also plan ahead. Also, there needs to be a lot of coordination between different teams because so many people are involved. If release dates are publicly available, communication is much easier.
Benjamin, if I want to get a new feature into Joomla 4.1, how can I go about getting my new feature included?
First of all, the feature has to be ready and tested before the 7th of December, otherwise it can only go into 4.2 or later. From this date, we will not accept any new features. But to get it really in there is of course a predefined process and also the “free-floating” way.
The latter is that you implement the feature into your repository and then make a PR against the Joomla! main repo. This is on the one hand the easier way in terms of paperwork, but also has the risk of not getting accepted at all.
The safe way is to use the RFC process, where you get the approval first and then you start implementing. It’s up to the developers which way they choose.
And at the end, it also depends on the testing.
Sigrid, anyone can test, but not everyone wants to be part of the release team. How can people help with the testing?
As I already mentioned, we will publish a CMS Release Checksheet - which will be probably a PDF and/or an Excel Sheet or Google Sheet. You can follow the areas there and test the release. If you find a problem and you are not familiar with GitHub, just drop us a note.
Benjamin, what features in Joomla 4.0 will hopefully make developing in 4.1 easier/more efficient?
I think I could mention a lot of improvements here, but what I really like is the improvements in the code base, which allows developers to write components with less code than in Joomla! 3. Also prepared statements to bring in a new layer of security that helps everyone.
For you Sigrid, what is Joomla 4.1s most important feature?
To me, the scheduler sounds really promising to easily set up cronjobs in the backend, and I have a prospective client for multi-domain, so that would be great too.
For you Benjamin, what is Joomla 4.1s most important feature?
The most important feature will hopefully be the fact that we promise the release dates from the beginning and could hold all the dates.
Besides that, I’m really looking forward to the scheduler as well.