Language Change bug PR-7.0-dev Pending

User tests: Successful: Unsuccessful:

avatar richard67
richard67
7 Jun 2026

Pull Request resolves # .

  • I read the Generative AI policy and my contribution is either not created with the help of AI or is compatible with the policy and GNU/GPL 2 or later.

Summary of Changes

This pull request (PR) removes the compat6 backwards compatibility (b/c) plugin for Joomla 6 for new installation and updates, makes necessary adjustments of b/c plugin checks for the new major version 7 and finalises the addition of the compat7 b/c plugin for Joomla 7 which was made with PR #47420 but was not complete.

In detail, following changes are made:

  • The compat6 plugin is removed for new installations (files installation/sql/<db type>/base.sql).
    As the PR mentioned above has added the new compat7 pugin with the same ordering 1 as the old one, this removal here does not require a change of the ordering values of other plugins of the same type.
  • All files of the compat6 plugin are removed from sources, except of the legacy classes in the plugins/behaviour/compat6/classes folder and subfolders. These are moved to the new compat7 plugin.
    This gives maintainers the time to decide for each class if it can be removed in 7 or not.
  • The compat6 plugin is removed from the ExtensionsHelper (file libraries/src/Extension/ExtensionHelper.php), and the new compat7 plugin is added.
    The latter was forgotten with the PR mentioned above.
  • Language files administrator/language/en-GB/plg_behaviour_compat7.ini and administrator/language/en-GB/plg_behaviour_compat7.sys.ini for the new compat7 plugins are added,
    This was forgotten with the PR mentioned above.
  • System Information (file administrator/components/com_admin/src/Model/SysinfoModel.php) is changed to use the right plugin and not the old compat6. The change is made in a way so that it doesn't need a code change with every new major version, using Version::MAJOR_VERSION, similar to what was done for the pre-update checks in 6.2-dev and meanwhile been merged up into 7.0-dev.
  • The uninstallExtensions method in file administrator/components/com_admin/script.php is changed so that the compat6 plugin is removed when updating from 6.x to 7.0
  • In file build/deleted_file_check.php the obsolete exclusions from 6.x are removed, and exclusions for the compat6 files are added so that they will not be reported to be added the deleted files list in script.php, which would cause them to be deleted on update before the uninstallExtensions method in file script.php is run.
  • The exclusions in the phpstan-baseline.neon file are adapted for the right plugin.
  • The exclusion from code style checks in file ruleset.xml are adapted for the right plugin.
  • In system tests (file tests/System/integration/install/Installation.cy.js) the right plugin is disabled.
  • The "removed_asset" option which was removed with the PR mentioned above is added back, and the missing field in the plugin configuration was added. This change has been taken from PR #47777 as that PR will need the option.
    This fixes the error caused by the missing plugin event implementation.
  • The "classes_aliases" option which was removed with the PR mentioned above is added back,

Testing Instructions

Code review.

Or if you want to make real tests:

  • Check both new installation and an update from 6.2.
  • Check if there is a compat6 plugin. It should not be there.
  • Check if the compat7 plugin works.
  • Check if Phpstan succeeds for this PR.
  • Check if code style checks succeed for this PR.
  • Check that the system information shows the enabled status of the compat7 plugin.

Actual result BEFORE applying this Pull Request

On a new installation and after an update from 6.2 there are 2 backwards compatibility behaviour plugins compat6 and compat7.

The compat7 plugin is not complete, language files and the entry in the ExtensionHelper are missing.

System information shows the enabled status of the wrong plugin (compat6 instead of compat7).

Expected result AFTER applying this Pull Request

On a new installation there is only the compat7 plugin but no compat6 plugin.

After an update from 6.2 the compat6 plugin has been deleted.

The compat7 plugin is working as expected.

System information shows the enabled status of the right plugin (compat7).

Phpstan and PHP code style checks are successful for this PR here.

Link to documentations

Please select:

  • Documentation link for guide.joomla.org:

  • No documentation changes for guide.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar richard67 richard67 - open - 7 Jun 2026
avatar richard67 richard67 - change - 7 Jun 2026
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 7 Jun 2026
Category Administration com_admin Language & Strings JavaScript Repository SQL Installation Postgresql Libraries Front End Plugins
avatar richard67 richard67 - change - 7 Jun 2026
Labels Added: Language Change bug PR-7.0-dev
avatar richard67 richard67 - change - 8 Jun 2026
The description was changed
avatar richard67 richard67 - edited - 8 Jun 2026
avatar brianteeman brianteeman - test_item - 8 Jun 2026 - Tested successfully
avatar brianteeman
brianteeman - comment - 8 Jun 2026

I have tested this item ✅ successfully on 36b1411

by code review


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar brianteeman
brianteeman - comment - 8 Jun 2026

I have tested this item ✅ successfully on 36b1411

by code review


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar laoneo laoneo - test_item - 9 Jun 2026 - Tested unsuccessfully
avatar laoneo
laoneo - comment - 9 Jun 2026

I have tested this item 🔴 unsuccessfully on 36b1411

I'n installed 6.2 and uploaded the package through upload. Then I enabled the plugin and got:
Joomla\Event\Dispatcher::addListener(): Argument #2 ($callback) must be of type callable, array given, called in /libraries/vendor/joomla/event/src/Dispatcher.php on line 396


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar laoneo
laoneo - comment - 9 Jun 2026

I have tested this item 🔴 unsuccessfully on 36b1411

I'n installed 6.2 and uploaded the package through upload. Then I enabled the plugin and got:
Joomla\Event\Dispatcher::addListener(): Argument #2 ($callback) must be of type callable, array given, called in /libraries/vendor/joomla/event/src/Dispatcher.php on line 396


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar laoneo
laoneo - comment - 9 Jun 2026

I have tested this item 🔴 unsuccessfully on 36b1411

I'v installed 6.2 and uploaded the package through upload. Then I enabled the plugin and got:
Joomla\Event\Dispatcher::addListener(): Argument #2 ($callback) must be of type callable, array given, called in /libraries/vendor/joomla/event/src/Dispatcher.php on line 396


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar joomdonation
joomdonation - comment - 9 Jun 2026

Look like copy/paste error. The compat7 plugin does not have onAfterInitialiseDocument implemented, so just remove this line https://github.com/joomla/joomla-cms/blob/7.0-dev/plugins/behaviour/compat7/src/Extension/Compat7.php#L43 to make getSubscribedEvents return empty array would address the error above

avatar brianteeman brianteeman - alter_testresult - 9 Jun 2026 - brianteeman: Not tested
avatar richard67 richard67 - change - 9 Jun 2026
The description was changed
avatar richard67 richard67 - edited - 9 Jun 2026
avatar joomdonation joomdonation - test_item - 9 Jun 2026 - Tested successfully
avatar joomdonation
joomdonation - comment - 9 Jun 2026

I have tested this item ✅ successfully on 2c92907


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar joomdonation
joomdonation - comment - 9 Jun 2026

I have tested this item ✅ successfully on 2c92907


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar richard67 richard67 - change - 9 Jun 2026
The description was changed
avatar richard67 richard67 - edited - 9 Jun 2026
avatar richard67
richard67 - comment - 9 Jun 2026

@joomdonation Could you test again? I have added one more commit to add back the classes aliases option.

avatar richard67 richard67 - change - 9 Jun 2026
The description was changed
avatar richard67 richard67 - edited - 9 Jun 2026
avatar joomdonation joomdonation - test_item - 9 Jun 2026 - Tested successfully
avatar joomdonation
joomdonation - comment - 9 Jun 2026

I have tested this item ✅ successfully on c6a23bb

Still works OK. This time, I tested upgrade from J6 to J7. Also tested behavior of parameters in the plugin, works well.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar joomdonation
joomdonation - comment - 9 Jun 2026

I have tested this item ✅ successfully on c6a23bb

Still works OK. This time, I tested upgrade from J6 to J7. Also tested behavior of parameters in the plugin, works well.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/47915.

avatar laoneo laoneo - change - 9 Jun 2026
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2026-06-09 11:09:46
Closed_By laoneo
avatar laoneo laoneo - close - 9 Jun 2026
avatar laoneo laoneo - merge - 9 Jun 2026
avatar laoneo
laoneo - comment - 9 Jun 2026

Thanks!

Add a Comment

Login with GitHub to post a comment