Behaviour - Backward Compatibility 6 plugin is enabled.class PlgSystemFoo extends JPlugin OR install and enable the attached plg_system_reproduce.zip package.Class "JPlugin" not found) because the expected BC layer has not been initialized yet.Behaviour - Backward Compatibility 6 plugin enabled.In Joomla 6.0 RC1, a change introduced in #45426 has altered the plugin loading order, resulting in a major backwards compatibility problem.
Previously, the behaviour plugin group was loaded before the system plugins.
This ensured that behaviour (most importantly Behaviour - Backward Compatibility 6) were available for any system plugin relying on them.
However, PR #45426 now loads system plugins first, and behaviour plugins later.
As a result, system plugins depending on Backwards compatibility behaviours are no longer functional, breaking compatibility with existing extensions. Specifically, any system plugin extending from JPlugin
or any system plugin that uses legacy classes such as JFactory in its constructor
will fail, breaking both the site and administrator areas.
<?php
// JPlugin does not exist yet when this file is loaded
class PlgSystemReproduce extends JPlugin
{
public function __construct($subject, $config = array())
{
// JFactory does not exist in system plugin constructors
var_dump(JFactory::getUser()->guest);
parent::__construct($subject, $config);
}
}| Labels |
Added:
No Code Attached Yet
|
||
| Labels |
Added:
Release Blocker
|
||
| Labels |
Added:
bug
|
||
| Status | New | ⇒ | Closed |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2025-10-06 14:26:57 |
| Closed_By | ⇒ | richard67 |
| Labels |
Removed:
Release Blocker
|
||
Please test #46237