User tests: Successful: Unsuccessful:
Pull Request for Issue # .
This pull request (PR) updates Composer and NPM dependencies for the upcoming 5.4.0-rc1 release.
It contains also the dependency updates from PR #46099 for 5.4-dev if relevant for 6.0-dev, too, so when both PRs, that one and this one here, have been merged, then at the next upmerge from 5.4-dev to 6.0-dev the conflicts in the files modified by these PRs can be solved by keeping the complete file from the 6.0-dev branch.
There are no major updates made for direct non-development composer dependencies.
For development dependencies (composer and NPM) some major updates are made. They work for the CMS core and produce b/c results, and we do not ship them with our packages.
For the following direct non-development NPM dependencies major updates are made:
One notable change is the NPM dependency update of bootstrap from 5.3.7 to 5.3.8.
It adds the following to our template.css files:
[type="search"]::-webkit-search-cancel-button {
cursor: pointer;
filter: grayscale();
}
In addition it adds a flex-shrink: 0;
property to the .spinner-grow, .spinner-border {
sections.
See twbs/bootstrap#41639 and twbs/bootstrap#41654 for details.
Another notable changes comes with the update of the composer dependency "doctrine/inflector" from 2.0.10 to 2.1.0.
They have moved their sources from subfolder inflector/lib/Doctrine/Inflector
to subfolder src
with version 2.1.0.
Therefore this PR here adds the files and folders from the old location to the lists of files and folders to be deleted on update in the script.php file.
algo26-matthias/idna-convert 4.0.4 -> 4.2.1
https://github.com/algo26-matthias/idna-convert/releases/tag/v4.1.0
https://github.com/algo26-matthias/idna-convert/releases/tag/v4.1.1
https://github.com/algo26-matthias/idna-convert/releases/tag/v4.1.2
https://github.com/algo26-matthias/idna-convert/releases/tag/v4.2.0
https://github.com/algo26-matthias/idna-convert/releases/tag/v4.2.1
algo26-matthias/idna-convert@v4.0.4...v4.2.1
doctrine/inflector 2.0.10 -> 2.1.0
https://github.com/doctrine/inflector/releases/tag/2.0.11
https://github.com/doctrine/inflector/releases/tag/2.1.0
doctrine/inflector@2.0.10...2.1.0
composer/ca-bundle 1.5.7 -> 1.5.8
https://github.com/composer/ca-bundle/releases/tag/1.5.8
composer/ca-bundle@1.5.7...1.5.8
symfony/polyfill-mbstring 1.32.0 -> 1.33.0
No changes, only new tag.
symfony/polyfill-mbstring@v1.32.0...v1.33.0
symfony/web-link 6.4.22 -> 6.4.24
Was only not up to date in composer.json.
In composer.lock it was already up to date.
symfony/yaml 6.4.23 -> 6.4.25
https://github.com/symfony/yaml/releases/tag/v6.4.24
https://github.com/symfony/yaml/releases/tag/v6.4.25
symfony/yaml@v6.4.23...v6.4.25
@codemirror/autocomplete
6.18.6 -> 6.18.7
https://github.com/codemirror/autocomplete/releases/tag/6.18.7
codemirror/autocomplete@6.18.6...6.18.7
@codemirror/lang-html
6.4.9 -> 6.4.10
https://github.com/codemirror/lang-html/releases/tag/6.4.10
codemirror/lang-html@6.4.9...6.4.10
@codemirror/language
6.11.2 -> 6.11.3
https://github.com/codemirror/language/releases/tag/6.11.3
codemirror/language@6.11.2...6.11.3
@codemirror/view
6.38.1 -> 6.38.2
https://github.com/codemirror/view/releases/tag/6.38.2
codemirror/view@6.38.1...6.38.2
bootstrap 5.3.7 -> 5.3.8
https://github.com/twbs/bootstrap/releases/tag/v5.3.8
twbs/bootstrap@v5.3.7...v5.3.8
es-module-shims 1.10.1 -> 2.6.2
https://github.com/guybedford/es-module-shims/releases/tag/2.0.0
https://github.com/guybedford/es-module-shims/releases/tag/2.0.1
https://github.com/guybedford/es-module-shims/releases/tag/2.0.2
https://github.com/guybedford/es-module-shims/releases/tag/2.0.3
https://github.com/guybedford/es-module-shims/releases/tag/2.0.4
https://github.com/guybedford/es-module-shims/releases/tag/2.0.5
https://github.com/guybedford/es-module-shims/releases/tag/2.0.6
https://github.com/guybedford/es-module-shims/releases/tag/2.0.7
https://github.com/guybedford/es-module-shims/releases/tag/2.0.8
https://github.com/guybedford/es-module-shims/releases/tag/2.0.9
https://github.com/guybedford/es-module-shims/releases/tag/2.0.10
https://github.com/guybedford/es-module-shims/releases/tag/2.1.0
https://github.com/guybedford/es-module-shims/releases/tag/2.1.1
https://github.com/guybedford/es-module-shims/releases/tag/2.1.2
guybedford/es-module-shims@1.10.1...2.1.2
mediaelement 5.1.2 -> 7.0.7
https://github.com/mediaelement/mediaelement/releases/tag/6.0.0
https://github.com/mediaelement/mediaelement/releases/tag/6.0.1
https://github.com/mediaelement/mediaelement/releases/tag/6.0.2
https://github.com/mediaelement/mediaelement/releases/tag/6.0.3
https://github.com/mediaelement/mediaelement/releases/tag/7.0.0
https://github.com/mediaelement/mediaelement/releases/tag/7.0.1
https://github.com/mediaelement/mediaelement/releases/tag/7.0.2
https://github.com/mediaelement/mediaelement/releases/tag/7.0.3
https://github.com/mediaelement/mediaelement/releases/tag/7.0.4
https://github.com/mediaelement/mediaelement/releases/tag/7.0.5
https://github.com/mediaelement/mediaelement/releases/tag/7.0.6
https://github.com/mediaelement/mediaelement/releases/tag/7.0.7
mediaelement/mediaelement@5.1.2...7.0.7
See also migration guides:
https://github.com/mediaelement/mediaelement/blob/master/MIGRATION.md#migrating-from-5x-to-6x-version
https://github.com/mediaelement/mediaelement/blob/master/MIGRATION.md#migrating-from-6x-to-7x-version
qrcode-generator 1.5.2 -> 2.0.4
https://github.com/kazuhikoarase/qrcode-generator/releases/tag/js2.0.0
https://github.com/kazuhikoarase/qrcode-generator/releases/tag/js2.0.1
https://github.com/kazuhikoarase/qrcode-generator/releases/tag/js2.0.2
(there is no 2.0.3)
https://github.com/kazuhikoarase/qrcode-generator/releases/tag/js2.0.4
kazuhikoarase/qrcode-generator@js1.5.2...js2.0.4
sa11y 4.1.10 -> 4.2.3
https://github.com/ryersondmp/sa11y/releases/tag/4.2.0
https://github.com/ryersondmp/sa11y/releases/tag/4.2.1
https://github.com/ryersondmp/sa11y/releases/tag/4.2.2
https://github.com/ryersondmp/sa11y/releases/tag/4.2.3
ryersondmp/sa11y@4.1.10...4.2.3
tinymce 8.0.1 -> 8.1.2
https://github.com/tinymce/tinymce/releases/tag/8.0.2
https://github.com/tinymce/tinymce/releases/tag/8.1.0
https://github.com/tinymce/tinymce/releases/tag/8.1.1
https://github.com/tinymce/tinymce/releases/tag/8.1.2
tinymce/tinymce@8.0.1...8.1.2
tinymce-i18n 25.8.4 -> 25.9.1
https://github.com/mklkj/tinymce-i18n/releases/tag/25.9.1
mklkj/tinymce-i18n@25.8.4...25.9.1
vue 3.5.18 -> 3.5.21
https://github.com/vuejs/core/releases/tag/v3.5.19
https://github.com/vuejs/core/releases/tag/v3.5.20
https://github.com/vuejs/core/releases/tag/v3.5.21
vuejs/core@v3.5.18...v3.5.21
friendsofphp/php-cs-fixer 3.84.0 -> 3.87.2
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.85.0
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.85.1
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.86.0
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.87.0
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.87.1
https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.87.2
PHP-CS-Fixer/PHP-CS-Fixer@v3.84.0...v3.87.2
phpstan/phpstan 2.1.19 -> 2.1.28
https://github.com/phpstan/phpstan/releases/tag/2.1.20
https://github.com/phpstan/phpstan/releases/tag/2.1.21
https://github.com/phpstan/phpstan/releases/tag/2.1.22
https://github.com/phpstan/phpstan/releases/tag/2.1.23
https://github.com/phpstan/phpstan/releases/tag/2.1.24
https://github.com/phpstan/phpstan/releases/tag/2.1.25
https://github.com/phpstan/phpstan/releases/tag/2.1.26
https://github.com/phpstan/phpstan/releases/tag/2.1.27
https://github.com/phpstan/phpstan/releases/tag/2.1.28
phpstan/phpstan@2.1.19...2.1.28
phpunit/phpunit 9.6.23 -> 9.6.27
https://github.com/sebastianbergmann/phpunit/releases/tag/9.6.24
https://github.com/sebastianbergmann/phpunit/releases/tag/9.6.25
https://github.com/sebastianbergmann/phpunit/releases/tag/9.6.26
https://github.com/sebastianbergmann/phpunit/releases/tag/9.6.27
sebastianbergmann/phpunit@9.6.23...9.6.27
squizlabs/php_codesniffer 3.13.2 -> 3.13.4
https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/tag/3.13.3
https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/tag/3.13.4
PHPCSStandards/PHP_CodeSniffer@3.13.2...3.13.4
@babel/core
7.28.0 -> 7.28.4
https://github.com/babel/babel/releases/tag/v7.28.1
https://github.com/babel/babel/releases/tag/v7.28.2
https://github.com/babel/babel/releases/tag/v7.28.3
https://github.com/babel/babel/releases/tag/v7.28.4
babel/babel@v7.28.0...v7.28.4
@babel/preset-env
7.28.0 -> 7.28.3
https://github.com/babel/babel/releases/tag/v7.28.3
babel/babel@v7.28.0...v7.28.3
@vue/compiler-sfc
3.5.18 -> 3.5.21
https://github.com/vuejs/core/releases/tag/v3.5.19
https://github.com/vuejs/core/releases/tag/v3.5.20
https://github.com/vuejs/core/releases/tag/v3.5.21
vuejs/core@v3.5.18...v3.5.21
commander 14.0.0 -> 14.0.1
https://github.com/tj/commander.js/releases/tag/v14.0.1
tj/commander.js@v14.0.0...v14.0.1
core-js 3.44.0 -> 3.45.1
https://github.com/zloirock/core-js/releases/tag/v3.45.0
https://github.com/zloirock/core-js/releases/tag/v3.45.1
zloirock/core-js@v3.44.0...v3.45.1
cypress 14.5.3 -> 15.2.0
https://github.com/cypress-io/cypress/releases/tag/v14.5.4
https://github.com/cypress-io/cypress/releases/tag/v15.0.0
https://github.com/cypress-io/cypress/releases/tag/v15.1.0
https://github.com/cypress-io/cypress/releases/tag/v15.2.0
cypress-io/cypress@v14.5.3...v15.2.0
See also https://docs.cypress.io/app/references/changelog
esbuild 0.25.8 -> 0.25.9
https://github.com/evanw/esbuild/releases/tag/v0.25.9
https://github.com/evanw/esbuild/releases/tag/v0.25.10
evanw/esbuild@v0.25.8...v0.25.10
eslint 9.32.0 -> 9.35.0
https://github.com/eslint/eslint/releases/tag/v9.33.0
https://github.com/eslint/eslint/releases/tag/v9.34.0
https://github.com/eslint/eslint/releases/tag/v9.35.0
eslint/eslint@v9.32.0...v9.35.0
fs-extra 11.3.0 -> 11.3.2
https://github.com/jprichardson/node-fs-extra/releases/tag/11.3.1
https://github.com/jprichardson/node-fs-extra/releases/tag/11.3.2
jprichardson/node-fs-extra@11.3.0...11.3.2
jasmine-core 5.9.0 -> 5.10.0
https://github.com/jasmine/jasmine/releases/tag/v5.10.0
jasmine/jasmine@v5.9.0...v5.10.0
rollup 4.46.2 -> 4.51.0
https://github.com/rollup/rollup/releases/tag/v4.46.3
https://github.com/rollup/rollup/releases/tag/v4.46.4
https://github.com/rollup/rollup/releases/tag/v4.47.0
https://github.com/rollup/rollup/releases/tag/v4.47.1
https://github.com/rollup/rollup/releases/tag/v4.48.0
https://github.com/rollup/rollup/releases/tag/v4.48.1
https://github.com/rollup/rollup/releases/tag/v4.49.0
https://github.com/rollup/rollup/releases/tag/v4.50.0
https://github.com/rollup/rollup/releases/tag/v4.50.1
https://github.com/rollup/rollup/releases/tag/v4.50.2
https://github.com/rollup/rollup/releases/tag/v4.51.0
rollup/rollup@v4.46.2...v4.51.0
sass-embedded 1.89.2 -> 1.92.1
https://github.com/sass/embedded-host-node/releases/tag/1.90.0
https://github.com/sass/embedded-host-node/releases/tag/1.91.0
https://github.com/sass/embedded-host-node/releases/tag/1.92.0
https://github.com/sass/embedded-host-node/releases/tag/1.92.1
sass/embedded-host-node@1.89.2...1.92.1
stylelint 16.23.0 -> 16.24.0
https://github.com/stylelint/stylelint/releases/tag/16.23.1
https://github.com/stylelint/stylelint/releases/tag/16.24.0
stylelint/stylelint@16.23.0...16.24.0
This test shall verify that building the packages (which includes composer install
and npm ci
) still works and the installation package shows only the expected differences compared to a package created without this PR.
It requires to have a development environment (git clone, composer, npm) with runs either on a unixoid OS (Linux, Mac), or if on Windows it needs WSL2 and a Linux filesystem for the git clone.
If you don't have all that or are not familiar with development and package building, skip this test variant 1 and go to the next section for variant 2.
The description below assumes that you have a git clone of your fork with origin
being the remote for your fork, and upstream
being the remote to this repository here, as it is with a standard installation of GitHub desktop or most other Git clients.
git clean -d -x -f
git checkout .
git checkout 6.0-dev
git remote update
git reset --hard upstream/6.0-dev
php ./build/build.php --remote=HEAD 2>&1 | tee ./tmp/build.log
build/tmp/packages
folder are complete and have plausible sizes:ls -al ./build/tmp/packages/
build/tmp/packages/Joomla_6.0.0-beta4-dev-Development-Full_Package.zip
somewhere outside your git clone, e.g. in a folder test-pr-46100-before
your home directory:md ~/test-pr-46100-before
cp ./build/tmp/packages/Joomla_6.0.0-beta4-dev-Development-Full_Package.zip ~/test-pr-46100-before/
cp ./tmp/build.log ~/test-pr-46100-before/
git clean -d -x -f
git checkout .
git fetch upstream pull/46100/head:test-pr-46100
git checkout test-pr-46100
php ./build/build.php --remote=HEAD 2>&1 | tee ./tmp/build.log
ls -al ./build/tmp/packages/
md ~/test-pr-46100-after
cp ./build/tmp/packages/Joomla_6.0.0-beta4-dev-Development-Full_Package.zip ~/test-pr-46100-after/
cp ./tmp/build.log ~/test-pr-46100-after/
If you have executed the test in the previous section "Test 1: Check package build - Variant 1", you can skip the test here and directly continue with the next section "Test 2: Check if Joomla still works".
Not applicable.
When comparing the 2 installation zip packages, only the following differences can be found:
libraries/vendor
folder or subfoldersBesides that, only the usual changes between 2 consecutive builds can be found, i.e. different ordering of assets in joomla.assets.json files and versions in css or js files.
When comparing the log files you can see the different versions in the composer install
step.
The npm ci
step may differ much due to the random order of processing dependencies and compiling assets due to the asynchronous execution of the dependency installation and the compilation steps.
But there are no new warnings shown at the beginning of that step, and at the end the summary is the same, too.
The installation made with the installation package for this PR looks and works as well as before.
Qrcodes in MFA with OTP are still working.
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org: To be done.
No documentation changes for manual.joomla.org needed
Status | New | ⇒ | Pending |
Category | ⇒ | External Library Composer Change NPM Change Front End Plugins |
Labels |
Added:
Composer Dependency Changed
NPM Resource Changed
PR-6.0-dev
|
Category | External Library Composer Change NPM Change Front End Plugins | ⇒ | Administration com_admin External Library Composer Change NPM Change Front End Plugins |
Category | External Library Composer Change NPM Change Front End Plugins Administration com_admin | ⇒ | Administration com_admin External Library Composer Change NPM Change Front End Plugins JavaScript Unit Tests |
Labels |
Added:
Unit/System Tests
|
Category | External Library Composer Change NPM Change Front End Plugins Administration com_admin JavaScript Unit Tests | ⇒ | Administration com_admin External Library Composer Change NPM Change Front End Plugins |
We often did major updates of cypress in minors. When the tests are running through you can even do it in 5.4.
Labels |
Removed:
Unit/System Tests
|
We often did major updates of cypress in minors. When the tests are running through you can even do it in 5.4.
@laoneo Hmm, reading the "Breaking changes:" section in their changelog and their migration guide I am not sure. Could you check that?
Don't think so we need any of the features which have changed in 15. Good job by the way.
Category | External Library Composer Change NPM Change Front End Plugins Administration com_admin | ⇒ | Administration com_admin Repository External Library Composer Change NPM Change Front End Plugins |
@Fedik As you have once added it with your PR #40714 , and @dgrammatiko as you were involved: Do you think we can safely update the NPM dependency "es-module-shims" from 1.10.1 to 2.6.2?
Checking their releases on https://github.com/guybedford/es-module-shims/releases I do not see any breaking changes, but maybe I miss something?
And are there changes which we should document somewhere for developers?
Unfortunately they don't have a migration documentation on https://github.com/guybedford/es-module-shims .
It’s ok to update the polyfill
did a quick check and all seems good so far. There is a relevant deprecation in tinyMCE but we dont need to worry about it until tinymce9
@brianteeman Thanks for checking so far. The only outstanding major NPM update is the es-module-shims. After that I will have do add testing instructions and make a PR for the developer documentation. I hope to have it ready in the next few days.
Do you think we can safely update the NPM dependency "es-module-shims" from 1.10.1 to 2.6.2?
yes, it should be good
The direct non-dev NPM dependencies "accessibility", "diff", "choices.js" and "cropperjs" will be done with separate PRs.
"shepherd.js" and "totp-generator" (the latter is dev and only used by our MFA system tests) cannot be updated, the former for license reasons and the latter because it does not work.
accessibility can not be updated
tinymce just had another release
Thanks. Will check anyway tomorrow.
tinymce just had another release
@brianteeman Where? Latest is 8.1.2 from 12 hours ago: https://github.com/tinymce/tinymce/tags . My PR is already updated with that.
Sorry you're correct. Three releases in two days got me confused
Title |
|
Status | Pending | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2025-09-20 15:24:26 |
Closed_By | ⇒ | bembelimen | |
Labels |
Added:
Documentation Required
|
Thx
@dgrammatiko Could you also review the PR for 5.4-dev, #46099 ?
@dgrammatiko Could you help me here with some major updates?
The first one it totp-generator (NPM dev dependency).
I have tried to update it from 1.0.0 to 1.1.0 in my other PR for 5.4-dev, but that caused the system tests for MFA to fail due to an issue with a missing indirect dependency, see bellstrand/totp-generator#229 . They say they have fixed it with 2.0.0. Obviously they don't care that it's broken in their 1.1.0 version.
But 2.0.0 claims to have breaking changes, see https://github.com/bellstrand/totp-generator/releases/tag/v2.0.0 .
So I've reverted and pinned to 1.0.0 in my 5.4-dev PR.
For this 6.0-dev PR here I have tried to update to 2.0.0 and fix the places where we use it (system tests), see commit a29f698 .
The first try failed because using
await
outside an asynchronous function, so I've tried to fix it like this: e52d90dBut that failed again with missing dependency.
Do you have an idea how to make it work with 2.0.0?
And if you have a fix: Do you think we can also update to 2.0.0 for CMS 5.4? As far as I can see we use it only in system tests and don't ship it with our packages, so it would not be a b/c break.