Page 1 of 1

Joomla! 4 Retrocompatibility

Posted: Sun Sep 06, 2015 5:48 pm
by ced1870
Hi all,
I come here to discuss about one point that is very important in my mind, the retrocompatibility in Joomla! 4

I post here following this ... dense--dk-

I have noted that
Backwards compatibility management with 3rd party code


No action required. Some effort will be made to allow J3 extensions to work with J4.


Decision can’t be made in advance. Ultimately we could bump to next major version to cater for bc break caused.
I think that this is a BIG ERROR. Users and developpers don't want this. The compatibility between all updates is necessary to avoid to loose all the people that are using Joomla! now. We have been confronted to this problem with the previous versions and have lost a lot of users because of this. I don't understand that a new version will totally kill the existing, if the developpers want to do a total new code, then create a new cms with a new name ! and don't do that in our loving Joomla!

I hope that this discussion will open the eyes of the developpers before it's too late .

Re: Joomla! 4 Retrocompatibility

Posted: Sun Sep 06, 2015 5:50 pm
by ced1870
also this part is not possible, this would mean that ALL extensions will be killed
Use of namespacing

We will use namespacing with the following convention:

Core Components



3rd party Component



Other extensions (modules, plugins)






The vendor part of Joomla core extensions is ‘Joomla’.

Framework Library:



CMS Library:


It is recommended that the JED marks extensions not adhering to this scheme.

This scheme covers the need of the Joomla project(s). 3rd party developers use their own vendor namespace, so collisions are effectively avoided

Re: Joomla! 4 Retrocompatibility

Posted: Sun Sep 06, 2015 8:26 pm
by HermanPeeren
Bonsoir CEd,

I understand your worries, but let me try to explain to hopefully give some more understanding. I speak totally on my own behalf; I'm not any kind of Joomla official, although I contributed in the architecture group whose working notes (nothing more, nothing less) you quote from.

Backwards compatibility is very high on Joomla's priority list and we have very rigid rules for it. We don't break backwards compatibility within the 3.x series. We put a lot of effort in keeping that promise. That is already quite a challenge, for it might even mean that we officially support Joomla 3 functioning on php-versions that are now or in the future known as insecure. After the last version of Joomla 3 (which will be earliest somewhere over a year, but possibly even later) it will be supported for 2 more years!

So you can be sure of at least 3 more years of total backwards compatibility of Joomla.

But the world changes, it even changes very fast, and we also want to be able to use new techniques and use some great software that is available but needs a higher PHP-version than what we promised to support. Inevitable there will be some point where backwards compatibility is not totally maintainable. Then it is time to migrate to a next major version. We use Semantic Versioning

Given a version number MAJOR.MINOR.PATCH, increment the:
  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards-compatible manner, and
  • PATCH version when you make backwards-compatible bug fixes.
In your first quote from our minutes "No action required" means: we stick to semantic versioning, no new policy necessary. "Some effort will be made to allow J3 extensions to work with J4." means: we even do something extra, which is not obligated by semantic versioning. Because we care!

When the time inevitably comes for a new Major version, we must do all necessary backwards incompatible changes at that moment, for it will take years from there before we can do that again.

But even within the inevitable backwards incompatible changes we are very careful:
  • to not break anything without necessity
  • to provide a good upgrade path and upgrade tools.
With every proposed change we also discuss how upgrades will be done. And still, daily, discussions about Joomla development end in shooting off good ideas because we cannot convince the others of the possibility of a smooth upgrade path; I can really tell from experience :o

We are developers ourselves and we know the pain of migrations like we had from 1.5 to higher as no other. Never again, we said. We do our very best to provide an upgrade to Joomla 4, also of extensions as smooth as possible! We are not the marketing department, but had some slogans during our meeting like "migration without frustration".

In short:
  • total backward compatibility is not realistic and even worsening Joomla in comparison with others who do offer newer possibilities.
  • we try to make the transition as smooth as possible for everybody (integrators, developers etc).
Another thing: if you want to contribute to an even smoother transition: Joomla certainly need volunteers to help with this! Developers, integrators etc. How much time do you have available? What can be your contribution?

Re: Joomla! 4 Retrocompatibility

Posted: Sun Sep 06, 2015 8:35 pm
by HermanPeeren
Something else: in Joomla 3.6 we want to have webservices available and the idea is that that API won't change in Joomla 4. That can also make transitions much easier.

Re: Joomla! 4 Retrocompatibility

Posted: Sun Sep 06, 2015 10:45 pm
by marcodings

I think Herman did a good job in explaining SEMVER, joomla! releases and the justification for making changes that do break backward compatibility in J4. Save me from repeating all of that. The reason for breaking is NOT to frustrate developers or users.

We do this to offer a new Joomla! that is contemporary, technically attractive to developers and "designed for change" ( If You're Standing Still, You're Going Backwards ... )
We do understand the issues and we are constantly balancing pro's and cons of things we intend to break. We have shelved many idea's that have to much impact, and we will keep monitoring that

The Joomla! 4 we envision should make life easier for developers, it will make it possible to do "greater" things with less effort but it comes at a cost of some changes to their "extension" code to make it J!4 compatible. As vague as it is i can imagine its scary atm.

We are still in the early stages of development, but we intend to communicate about what is required in advance of any release. And we encourage developers to partake in the discussion and incorporate these changes in their current code already as much as possible. For example stuff that is depreciated now should be avoided already. That way we avoid a big bang migration experience with a lot of headache.

We will make a serious effort to educate and communicate in advance for developers to get on / prepare for the J!4 bandwagon so when the time comes their extensions can be ready. That way our users should notice nothing.

However it takes 2 to tango and historically speaking uptake of Major version has been slow, lets see if together we can do it differently this time.

Marco Dings
Project manager Joomla! 4

Re: Joomla! 4 Retrocompatibility

Posted: Mon Sep 07, 2015 7:58 am
by HermanPeeren
See ... eR19iVm-G4 for a cross post on this same topic.

Re: Joomla! 4 Retrocompatibility

Posted: Mon Sep 07, 2015 8:10 am
by ced1870
thank you for your answer. Yes I have double posted as I did not know where to ask :)
I will continue the discussion on the google group