Joomla 3.10 and the Update Checker
Joomla 4 is getting closer with the Beta version expected for the end of this month, but, at the same time, Joomla's contributors are working hard to develop another important release: Joomla 3.10.
Joomla 3.10 has been announced as the "Bridge version", a release that has several purposes: being the final milestone of the Joomla 3.x series and act as the intermediate version for those websites that will migrate to the 4.x series. The major feature of Joomla 3.10 will be the so-called "Update Checker", a suite of controls and verifications to test the compatibility of the website with the Joomla 4.x series, in order to properly plan and deal with the migration to the new major version of the CMS.
Given the importance of these intermediate steps, in the preparation for the migration to Joomla 4, we decided to ask some questions about Joomla 3.10 to its Release Leader: Tobias Zulauf, a long-term Joomla contributor and developer.
First of all, thanks Tobias for your time answering our questions.
What is the main objective of Joomla 3.10?
The main objective for Joomla 3.10 is that it is the last minor release of 3.x, a dedicated compatibility release and the starting point for any Joomla 3 to Joomla 4 upgrade.
When can we expect the version 3.10?
Joomla 3.10 is planned to be released simultaneously with Joomla 4.0.
Once version 3.10 is released, as users, what should we do?
For any 3.x site it is a simple upgrade to the latest version that is strongly recommended as any Joomla Update is. This makes sure you still get support and security patches by the Joomla Project.
When your Upgrade to 3.10 is done you should immediately start playing around with Joomla 4.0 when you have not done it until then and start planning your Upgrade to Joomla 4.0. George Wilson and Jenn Gress are already working hard on the 3.10 to 4.0 documentation to get it up and ready. So please take a look at the docs there and start your planings for the Upgrade and do not hesitate to report any issues or questions that you may have to the forum or when you think it is an issue to the issue tracker.
What should extensions developers do?
They should start right now looking into Joomla 3.10 and Joomla 4.0. The core team tried its best to make it as easy as possible to write code that runs with very little adjustments on Joomla 3.10 and at the same time on Joomla 4.0. As an extension developer please also take a close look into the “Potential backward compatibility issues in Joomla 4” doc page that contains a list of things that we are going to break in 4.0.
As extension developer you can use this rule of thumb:
- An extension that runs on 3.9 will run on 3.10 too
- An extension that runs on 3.10 not using any deprecated stuff, using the namespaced classes and up-to-date coding practices should work on 4.0 too.
The main reason why we introduced that compatibility layer in 3.10 is that you can run your up-to-date extension with nearly the same code on Joomla 3.10 and 4.0 so you don’t have to maintain a separate codebase or new version of every extension for both major versions.
When your extension is now fully tested and can run on 4.0 it is crucial to update the “targetplatform” tag from your update.xml to clearly state starting from which version your extension is supported on 4.0. This is the source of truth that the Core Update checker takes to determine whether the upgrade is safe or not for the owner of your extension.
What is the Update Checker and why is this such a valuable feature?
The upgrade checker that is now finally shipped with Joomla 3.10 was a project that Roland Dalmulder started with some students from the “Technische Hochschule Mittelhessen Gießen” in a code sprint that he held at that university. The team that finally submitted the Pull Request to the Core CMS where: Samuel Schepp, Kevin Linne and David Donges. That code based on the work from the J and Beyond 2017 make it happen session where Piotr Moćko ported code that Nick Savov wrote for a 2.5.x Upgrade checker to Joomla 3.
So this feature has a long history, the actual feature is now the following. When you choose to update the core to a new major version the Joomla! Update Component runs some dedicated system health checks and shows whether the current hosting environment is supported by the updated system requirements.
The second check that the update checker runs is that it checks whether all extensions that you have installed are supported, not supported or requires an updated package and shows that info from the Joomla Update Screen just before you hit the button to update.
How will this help us easily migrate to Joomla 4?
With this feature you are now able to check before you run the update whether all the extensions you have installed do support 4.0 already. Without relying on external lists or manually checking all packages. You can now make an informed choice whether or not you want to upgrade to Joomla 4.0 or where to run some more testing first.