User tests: Successful: Unsuccessful:
Pull Request for Issues #42859 , #45681 .
This pull request (PR) updates composer dependencies for the upcoming 5.4.0-beta1 release with respect to version constraints in the composer.json
file, i.e. the result is what you get when you simply run composer update
without having modified the composer.json
file before.
In addition, this PR updates the version constraints in the composer.json
file to reflect the updated versions without changing the kind of constraint.
Finally, the PR updates the PHPstan baseline file to adapt to the updated PHPstan version.
The updates have been made in 3 steps with 3 separate commits:
If you do it the other way around, first update PHPstan, then update the baseline file and then all other dependencies you will get the same result: After the first step PHP stan checks fail with the same number of errors as after step 2 in the above procedure, and when that has been fixed with the baseline file change, the PHPstan checks pass again, and the update of the other dependencies does not change that.
This shows that the new PHPstan errors (mainly deprecation notices and not really errors) which require the change of the baseline file are caused by the update of PHPstan.
Their b/c policy says here https://phpstan.org/user-guide/backward-compatibility-promise :
Type inference capabilities
As bugs get fixed, PHPStan gets smarter, and figures out more precise information about existing code. This can lead to unavoidable changes in understanding analysed code, and to old errors stopped being reported, or new errors started being reported.
The nature of static analyser is that the output can change even in minor/patch version, because any single change leads to code being understood a bit differently, and therefore breaking someone’s build.
So this is obviously the case here.
The "web-auth/webauthn-lib" is currently hard-pinned to version 4.5.2.
The main reason for that is that with an update to the latest 4.x version, the indirect dependency "web-auth/metadata-service" would be removed, which would require refactoring of CMS code as that uses this dependency.
The latest version which still includes the "web-auth/metadata-service" is 4.8.7.
An update to that version seems to work, but it will contain lots of refactoring and so should be done with a separate PR, which will need careful testing.
New 3.x releases have been created for all Joomla Framework packages, so all dependencies to framework packages are updated.
However, not all updates contain relevant code changes. Some only change development dependencies or remove development only files from packages (which are removed from the CMS by the build.php script anyway).
Bug fixes and improvements:
All changes: joomla-framework/application@3.0.3...3.0.4
Bug fixes: Fixed wrong parameter type of set_time_limit call and a PHPstan warning in src/Zip.php, see commit joomla-framework/archive@1d50685 .
All changes: joomla-framework/archive@3.0.2...3.0.4
Only development related changes.
All changes: joomla-framework/authentication@3.0.1...3.0.3
Fix some PHPstan warnings in src/Application.php, see commit joomla-framework/console@fd5824c .
All changes: joomla-framework/console@3.0.1...3.0.3
Bug fixes and improvements:
All changes: joomla-framework/crypt@3.0.1...3.0.3
Bug fixes and improvements:
All changes: joomla-framework/data@3.0.1...3.0.3
Only development related changes.
All changes: joomla-framework/database@3.4.2...3.4.3
New feature Lazy Objects Helper:
Other changes are development related only.
All changes: joomla-framework/di@3.0.1...3.1.1
Fix unignorable PHPstan warnings in src/EventImmutable.php with commit joomla-framework/event@aabdac5 .
Other changes are development related only.
All changes: joomla-framework/event@3.0.1...3.0.2
Only development related changes.
All changes: joomla-framework/filter@3.0.2...3.0.4
Bug fixes and improvements:
Other changes are development related only.
All changes: joomla-framework/filesystem@3.1.0...3.1.2
Improvement:
Other changes are development related only.
All changes: joomla-framework/http@3.1.0...3.1.2
Only development related changes.
All changes: joomla-framework/input@3.0.0...3.0.2
Only development related changes.
All changes: joomla-framework/language@3.0.0...3.0.2
Fix PHP deprecation:
Other changes are development related only.
All changes: joomla-framework/oauth1@3.0.0...3.0.1
Bug fixes and improvements:
Other changes are development related only.
All changes: joomla-framework/oauth2@3.0.0...3.0.1
Only development related changes.
All changes: joomla-framework/registry@3.0.0...3.0.2
Fix PHP deprecation:
Other changes are development related only.
All changes: joomla-framework/router@3.0.0...3.0.2
Bug fixes and improvements:
Other changes are development related only.
All changes: joomla-framework/session@3.0.1...3.0.3
Bug fix: Fix parameter types in calls to setlocale
and wrong data type for integer calculation with commit joomla-framework/string@cb2967f
Other changes are development related only.
All changes: joomla-framework/string@3.0.1...3.0.4
Fix PHPstan warnings with commit joomla-framework/uri@ac18b41 .
Other changes are development related only.
All changes: joomla-framework/uri@3.0.0...3.0.2
Only development related changes.
All changes: joomla-framework/utilities@3.0.0...3.0.2
Bug fixes and improvements:
Other changes are development related only.
All changes: google/recaptcha@1.3.0...1.3.1
Add full support for Unicode characters in email addresses, see https://github.com/PHPMailer/PHPMailer/releases/tag/v6.10.0 .
All changes: PHPMailer/PHPMailer@v6.9.3...v6.10.0
Releases:
All changes: symfony/console@v6.4.17...v6.4.23
Releases:
All changes: symfony/error-handler@v6.4.19...v6.4.23
Bug fixes:
All changes: symfony/polyfill-mbstring@v1.31.0...v1.32.0
No significant changes, only a new deprecation comment.
All changes: symfony/web-link@v6.4.13...v6.4.22
Releases:
All changes: symfony/yaml@v6.4.18...v6.4.23
Update cacert.pem to 2025-05-20, see https://github.com/composer/ca-bundle/releases/tag/1.5.7 .
All changes: composer/ca-bundle@1.5.6...1.5.7
Allow psr/cache v2, see https://github.com/web-token/jwt-library/releases/tag/3.4.8 .
All changes: web-token/jwt-library@3.4.7...3.4.8
There are lots of bug fixes and improvement since v2.1.6, but they all seem to be b/c.
A new opt-in feature added with version 2 is to collect PHP warnings, notices and deprecations which don't stop the code from running, see php-debugbar/php-debugbar#748 .
Release notes:
All changes: php-debugbar/php-debugbar@v2.1.6...v2.2.4
Fix Users::unBlockUserByID() method to use POST request and data with commit joomla-framework/mediawiki-api@7df0684 .
Other changes are development related only.
All changes: joomla-framework/mediawiki-api@3.0.0...3.0.1
Remove unnecesary empty()
checks in src/DatabaseManager.php
with commit joomla-framework/test@2aa3102 .
Other changes are development related only.
All changes: joomla-framework/test@3.0.0...3.0.3
See https://github.com/sebastianbergmann/phpunit/releases/tag/9.6.23 .
All changes: sebastianbergmann/phpunit@9.6.22...9.6.23
All changes: PHP-CS-Fixer/PHP-CS-Fixer@v3.72.0...v3.84.0
All changes: PHPCSStandards/PHP_CodeSniffer@3.12.0...3.13.2
All changes: phpstan/phpstan@2.1.8...2.1.19
All changes: phpstan/phpstan-deprecation-rules@2.0.1...2.0.3
Update 2025-07-27: This part is already done. The PR has already 2 successful reviews by experienced maintainers.
Reviewers please use the GitHub review functionality to approve the changes or request changes.
The patched installation and update packages and custom update URL created by Drone for this PR can be found here:
https://artifacts.joomla.org/drone/joomla/joomla-cms/5.4-dev/45777/downloads/86405/
When having tested, please submit your test result in the issue tracker here https://issues.joomla.org/tracker/joomla-cms/45777 with the blue "Test this" button at the top left corner.
Composer dependencies are outdated.
Composer dependencies are up-to date, except of "web-auth/webauthn-lib" and "web-auth/metadata-service", which have to be checked separately, see section "To be done with another PR: webauthn-lib" above.
The CMS works as well as before, also the debug bar.
Issues #42859 and #45681 are fixed.
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
Status | New | ⇒ | Pending |
Category | ⇒ | External Library Composer Change |
Labels |
Added:
Composer Dependency Changed
PR-5.4-dev
|
Title |
|
@richard67 to be honest the entire debug plugin needs to be reviewed. I'd just accept this update as is and then someone needs to look at all the debug plugin functionality and our implementation of it. Its a spaghetti code of custom changes and hacks which in many cases are old and no longer needed. I tried to look into it but its a mess and I couldnt work out why we had the current customisations etc. Would be better if a fresh pair of eyes created the plugin from scratch with a new integration and then seeing what needs to be added etc. Anything else is a waste of time.
I'd just accept this update as is
@brianteeman Then you would give this PR a successful test?
i dont know enough about the other parts of the pr to test it
I have tested this item ✅ successfully on d4e6654
Tested including the CLI option; OPCache option not tested
I have tested this item ✅ successfully on d4e6654
Except that did not test #45681 (opcache).
Status | Pending | ⇒ | Ready to Commit |
RTC
✅ Final test before merge
gh pr checkout 45777
composer outdated --minor-only
, direct dependencies only the following and already commented with reason:
composer i
, only one warning remains as already commented
composer update --lock
is creating the same composer.lock
filecomposer audit
-> only the already named web-auth/webauthn-lib is named with potential security vulnerabilityStatus | Ready to Commit | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2025-07-28 13:16:26 |
Closed_By | ⇒ | muhme | |
Labels |
Added:
RTC
|
Many thanks @richard67 for this enormous amount of work and the detailed description. Thank you @rdeutz and @laoneo for review. Thank you @brianteeman, @dautrich and @ceford for testing.
As this PR has 2 successful reviews, the review part of the testing instructions is done, and it only needs 2 human tests for the end user tests, which mainly consist of checking that nothing is broken and having a closer look on the debug bar.
@brianteeman As you recently had to do with the debug bar: Could you test this PR? That would be a great help. Thanks in advance.