diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 036ae03f..00000000 --- a/.drone.yml +++ /dev/null @@ -1,93 +0,0 @@ ---- -kind: pipeline -name: default - -clone: - -steps: - - name: composer - image: joomlaprojects/docker-images:php8.1 - commands: - - php -v - - composer update - - composer require phpmd/phpmd phpstan/phpstan - volumes: - - name: composer-cache - path: /tmp/composer-cache - - - name: phpcs - image: joomlaprojects/docker-images:php8.1 - depends_on: - - composer - commands: - - vendor/bin/phpcs -p --report=full --extensions=php --standard=ruleset.xml src/ bin/ www/ - - - name: phpmd - image: joomlaprojects/docker-images:php8.1 - depends_on: - - composer - commands: - - vendor/bin/phpmd src text cleancode - - vendor/bin/phpmd src text codesize - - vendor/bin/phpmd src text controversial - - vendor/bin/phpmd src text design - - vendor/bin/phpmd src text unusedcode - failure: ignore - - - name: phpstan - image: joomlaprojects/docker-images:php8.1 - depends_on: - - composer - commands: - - vendor/bin/phpstan analyse src - failure: ignore - - - name: phploc - image: joomlaprojects/docker-images:php8.1 - depends_on: - - composer - commands: - - phploc src - failure: ignore - - - name: phpcpd - image: joomlaprojects/docker-images:php8.1 - depends_on: - - composer - commands: - - phpcpd src - failure: ignore - - - name: deployment - image: appleboy/drone-ssh - depends_on: - - phpcs - settings: - host: - from_secret: framework_host - username: - from_secret: framework_username - password: - from_secret: framework_password - port: 22 - script: - - cd /home/fwjoomla/siteData - - bin/framework update:server - when: - branch: - - master - status: - - success - event: - - push - -volumes: - - name: composer-cache - host: - path: /tmp/composer-cache - ---- -kind: signature -hmac: 3976132d114c361d6cd7b0429b51b729adcea4f1065ccba4e589889cad94ae12 - -... diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..b2bdc432 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,75 @@ +name: Deployment + +on: + push: + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + composer: + name: Install PHP dependencies + runs-on: ubuntu-latest + container: joomlaprojects/docker-images:php8.4 + steps: + - uses: actions/checkout@v4 + - uses: actions/cache@v4 + id: cache-php + with: + path: vendor + key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }} + - name: Install PHP dependencies + if: steps.cache-php.outputs.cache-hit != 'true' + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE + composer config --global home + composer install --no-progress + + code-style-php: + name: Check PHP code style + runs-on: ubuntu-latest + container: joomlaprojects/docker-images:php8.4 + needs: [composer] + steps: + - uses: actions/checkout@v4 + - uses: actions/cache/restore@v4 + with: + path: vendor + key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }} + - name: Check PHP code style + env: + PHP_CS_FIXER_IGNORE_ENV: true + run: vendor/bin/phpcs -p --report=full --extensions=php --standard=ruleset.xml src/ bin/ www/ + + phpstan: + name: Run PHPstan + runs-on: ubuntu-latest + container: joomlaprojects/docker-images:php8.4 + needs: [code-style-php] + steps: + - uses: actions/checkout@v4 + - uses: actions/cache/restore@v4 + with: + path: vendor + key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }} + - name: Run PHPstan + run: | + ./vendor/bin/phpstan --error-format=github + + deployment: + name: Deployment to server + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' + steps: + - name: Update server + uses: appleboy/ssh-action@v1 + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.KEY }} + port: ${{ secrets.PORT }} + script: | + cd /home/fwjoomla/siteData + bin/framework update:server diff --git a/composer.json b/composer.json index 10b2cad6..6d59966b 100644 --- a/composer.json +++ b/composer.json @@ -4,47 +4,48 @@ "homepage": "http://github.com/joomla/framework.joomla.org", "license": "GPL-2.0-or-later", "require": { - "php": "^8.1", + "php": "^8.3", "ext-json": "*", "ext-pdo": "*", "fig/link-util": "^1.1", - "joomla/application": "^3.0", - "joomla/console": "^3.0", - "joomla/controller": "^3.0", - "joomla/database": "^3.0", - "joomla/di": "^3.0", - "joomla/event": "^3.0", - "joomla/filesystem": "^3.0", - "joomla/filter": "^3.0", - "joomla/github": "^3.0@dev", - "joomla/http": "^3.0", - "joomla/input": "^3.0", - "joomla/model": "^3.0", - "joomla/preload": "^3.0", - "joomla/registry": "^3.0", - "joomla/renderer": "^3.0", - "joomla/router": "^3.0", - "joomla/string": "^3.0", - "joomla/uri": "^3.0", - "joomla/utilities": "^3.0", - "joomla/view": "^3.0", - "laminas/laminas-diactoros": "^2.17", + "joomla/application": "^4.0", + "joomla/console": "^4.0", + "joomla/controller": "^4.0", + "joomla/database": "^4.0", + "joomla/di": "^4.0", + "joomla/event": "^4.0", + "joomla/filesystem": "^4.0", + "joomla/filter": "^4.0", + "joomla/github": "^4.0", + "joomla/http": "^4.0", + "joomla/input": "^4.0", + "joomla/model": "^4.0", + "joomla/preload": "^4.0", + "joomla/registry": "^4.0", + "joomla/renderer": "dev-4.x-dev", + "joomla/router": "^4.0", + "joomla/string": "^4.0", + "joomla/uri": "^4.0", + "joomla/utilities": "^4.0", + "joomla/view": "^4.0", + "laminas/laminas-diactoros": "^3.6.0", "monolog/monolog": "^2.1", - "psr/link": "^1.0", + "psr/link": "^2.0", "ramsey/uuid": "^4.0.1", "robmorgan/phinx": "^0.16.1", - "symfony/asset": "^5.1.2", - "symfony/process": "^5.1.2", - "symfony/web-link": "^5.1.2", - "symfony/yaml": "^5.1.2", + "symfony/asset": "^v7.2.0", + "symfony/process": "^7.1.7.0", + "symfony/web-link": "^v7.3.0", + "symfony/yaml": "^v7.3.1", "theiconic/php-ga-measurement-protocol": "^2.7.2", - "twig/twig": "^3.0" + "twig/twig": "^3.19.0.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.59", - "squizlabs/php_codesniffer": "~3.10", - "maximebf/debugbar": "^1.22.3", - "phpstan/phpstan": "^1.12" + "squizlabs/php_codesniffer": "^3.10", + "php-debugbar/php-debugbar": "^v2.2.4", + "phpstan/phpstan": "^2.1.19", + "phpstan/phpstan-deprecation-rules": "^2.0.3" }, "replace": { "paragonie/random_compat": "*" @@ -56,7 +57,7 @@ }, "config": { "platform": { - "php": "8.1.0" + "php": "8.3.0" } } } diff --git a/composer.lock b/composer.lock index ecf80d3e..86837bfa 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "97583fa30b213bb91abae5ea391123ef", + "content-hash": "d98867d7ea9dcf26b02898246a78edf2", "packages": [ { "name": "brick/math", - "version": "0.12.1", + "version": "0.13.1", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1" + "reference": "fc7ed316430118cc7836bf45faff18d5dfc8de04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", - "reference": "f510c0a40911935b77b86859eb5223d58d660df1", + "url": "https://api.github.com/repos/brick/math/zipball/fc7ed316430118cc7836bf45faff18d5dfc8de04", + "reference": "fc7ed316430118cc7836bf45faff18d5dfc8de04", "shasum": "" }, "require": { @@ -26,7 +26,7 @@ "require-dev": { "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^10.1", - "vimeo/psalm": "5.16.0" + "vimeo/psalm": "6.8.8" }, "type": "library", "autoload": { @@ -56,7 +56,7 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.12.1" + "source": "https://github.com/brick/math/tree/0.13.1" }, "funding": [ { @@ -64,20 +64,20 @@ "type": "github" } ], - "time": "2023-11-29T23:19:16+00:00" + "time": "2025-03-29T13:50:30+00:00" }, { "name": "cakephp/chronos", - "version": "3.1.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/cakephp/chronos.git", - "reference": "786d69e1ee4b735765cbdb5521b9603e9b98d650" + "reference": "6c820947bc1372a250288ab164ec1b3bb7afab39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/chronos/zipball/786d69e1ee4b735765cbdb5521b9603e9b98d650", - "reference": "786d69e1ee4b735765cbdb5521b9603e9b98d650", + "url": "https://api.github.com/repos/cakephp/chronos/zipball/6c820947bc1372a250288ab164ec1b3bb7afab39", + "reference": "6c820947bc1372a250288ab164ec1b3bb7afab39", "shasum": "" }, "require": { @@ -123,24 +123,24 @@ "issues": "https://github.com/cakephp/chronos/issues", "source": "https://github.com/cakephp/chronos" }, - "time": "2024-07-18T03:18:04+00:00" + "time": "2025-06-28T11:35:59+00:00" }, { "name": "cakephp/core", - "version": "5.1.1", + "version": "5.2.5", "source": { "type": "git", "url": "https://github.com/cakephp/core.git", - "reference": "2cf48ca0177fbf860f6295a0de08d6870a5a93af" + "reference": "a0a92ee7fbb7b7555dbf4ea7ff3fd4e779693da6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/core/zipball/2cf48ca0177fbf860f6295a0de08d6870a5a93af", - "reference": "2cf48ca0177fbf860f6295a0de08d6870a5a93af", + "url": "https://api.github.com/repos/cakephp/core/zipball/a0a92ee7fbb7b7555dbf4ea7ff3fd4e779693da6", + "reference": "a0a92ee7fbb7b7555dbf4ea7ff3fd4e779693da6", "shasum": "" }, "require": { - "cakephp/utility": "^5.1", + "cakephp/utility": "5.2.*@dev", "league/container": "^4.2", "php": ">=8.1", "psr/container": "^1.1 || ^2.0" @@ -154,6 +154,11 @@ "league/container": "To use Container and ServiceProvider classes" }, "type": "library", + "extra": { + "branch-alias": { + "dev-5.x": "5.2.x-dev" + } + }, "autoload": { "files": [ "functions.php" @@ -185,38 +190,43 @@ "issues": "https://github.com/cakephp/cakephp/issues", "source": "https://github.com/cakephp/core" }, - "time": "2024-09-24T13:09:59+00:00" + "time": "2025-04-19T12:34:03+00:00" }, { "name": "cakephp/database", - "version": "5.1.1", + "version": "5.2.5", "source": { "type": "git", "url": "https://github.com/cakephp/database.git", - "reference": "077377de79298ce61b1e325a7be47bd65ebae0ba" + "reference": "a6bf606b1bab532d04ea504fef8a272a1aeba287" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/database/zipball/077377de79298ce61b1e325a7be47bd65ebae0ba", - "reference": "077377de79298ce61b1e325a7be47bd65ebae0ba", + "url": "https://api.github.com/repos/cakephp/database/zipball/a6bf606b1bab532d04ea504fef8a272a1aeba287", + "reference": "a6bf606b1bab532d04ea504fef8a272a1aeba287", "shasum": "" }, "require": { "cakephp/chronos": "^3.1", - "cakephp/core": "^5.1", - "cakephp/datasource": "^5.1", + "cakephp/core": "5.2.*@dev", + "cakephp/datasource": "5.2.*@dev", "php": ">=8.1", "psr/log": "^3.0" }, "require-dev": { - "cakephp/i18n": "^5.1", - "cakephp/log": "^5.1" + "cakephp/i18n": "5.2.*@dev", + "cakephp/log": "5.2.*@dev" }, "suggest": { "cakephp/i18n": "If you are using locale-aware datetime formats.", "cakephp/log": "If you want to use query logging without providing a logger yourself." }, "type": "library", + "extra": { + "branch-alias": { + "dev-5.x": "5.2.x-dev" + } + }, "autoload": { "psr-4": { "Cake\\Database\\": "." @@ -247,31 +257,31 @@ "issues": "https://github.com/cakephp/cakephp/issues", "source": "https://github.com/cakephp/database" }, - "time": "2024-10-03T07:25:02+00:00" + "time": "2025-06-18T02:55:13+00:00" }, { "name": "cakephp/datasource", - "version": "5.1.1", + "version": "5.2.5", "source": { "type": "git", "url": "https://github.com/cakephp/datasource.git", - "reference": "19bdf9d5ba048a3adb1f803391409e1419454f2b" + "reference": "f7dc4292bec0ec746db3200a5b18bb371d50dab3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/datasource/zipball/19bdf9d5ba048a3adb1f803391409e1419454f2b", - "reference": "19bdf9d5ba048a3adb1f803391409e1419454f2b", + "url": "https://api.github.com/repos/cakephp/datasource/zipball/f7dc4292bec0ec746db3200a5b18bb371d50dab3", + "reference": "f7dc4292bec0ec746db3200a5b18bb371d50dab3", "shasum": "" }, "require": { - "cakephp/core": "^5.1", + "cakephp/core": "5.2.*@dev", "php": ">=8.1", "psr/simple-cache": "^2.0 || ^3.0" }, "require-dev": { - "cakephp/cache": "^5.1", - "cakephp/collection": "^5.1", - "cakephp/utility": "^5.1" + "cakephp/cache": "5.2.*@dev", + "cakephp/collection": "5.2.*@dev", + "cakephp/utility": "5.2.*@dev" }, "suggest": { "cakephp/cache": "If you decide to use Query caching.", @@ -279,6 +289,11 @@ "cakephp/utility": "If you decide to use EntityTrait." }, "type": "library", + "extra": { + "branch-alias": { + "dev-5.x": "5.2.x-dev" + } + }, "autoload": { "psr-4": { "Cake\\Datasource\\": "." @@ -309,24 +324,24 @@ "issues": "https://github.com/cakephp/cakephp/issues", "source": "https://github.com/cakephp/datasource" }, - "time": "2024-09-06T12:23:52+00:00" + "time": "2025-04-26T23:00:26+00:00" }, { "name": "cakephp/utility", - "version": "5.1.1", + "version": "5.2.5", "source": { "type": "git", "url": "https://github.com/cakephp/utility.git", - "reference": "e40c6ed007e3a9eb5873ca174c2f9160677b5570" + "reference": "7eaef40766bf671332adfacdc2d6fb9ea8aea5de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/utility/zipball/e40c6ed007e3a9eb5873ca174c2f9160677b5570", - "reference": "e40c6ed007e3a9eb5873ca174c2f9160677b5570", + "url": "https://api.github.com/repos/cakephp/utility/zipball/7eaef40766bf671332adfacdc2d6fb9ea8aea5de", + "reference": "7eaef40766bf671332adfacdc2d6fb9ea8aea5de", "shasum": "" }, "require": { - "cakephp/core": "^5.1", + "cakephp/core": "5.2.*@dev", "php": ">=8.1" }, "suggest": { @@ -334,6 +349,11 @@ "lib-ICU": "To use Text::transliterate() or Text::slug()" }, "type": "library", + "extra": { + "branch-alias": { + "dev-5.x": "5.2.x-dev" + } + }, "autoload": { "files": [ "bootstrap.php" @@ -368,20 +388,20 @@ "issues": "https://github.com/cakephp/cakephp/issues", "source": "https://github.com/cakephp/utility" }, - "time": "2024-09-06T12:23:52+00:00" + "time": "2025-05-21T14:35:19+00:00" }, { "name": "composer/ca-bundle", - "version": "1.5.2", + "version": "1.5.7", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137" + "reference": "d665d22c417056996c59019579f1967dfe5c1e82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/48a792895a2b7a6ee65dd5442c299d7b835b6137", - "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/d665d22c417056996c59019579f1967dfe5c1e82", + "reference": "d665d22c417056996c59019579f1967dfe5c1e82", "shasum": "" }, "require": { @@ -428,7 +448,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.2" + "source": "https://github.com/composer/ca-bundle/tree/1.5.7" }, "funding": [ { @@ -444,7 +464,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T07:49:53+00:00" + "time": "2025-05-26T15:08:54+00:00" }, { "name": "fig/link-util", @@ -509,16 +529,16 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.9.2", + "version": "7.9.3", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b" + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", - "reference": "d281ed313b989f213357e3be1a179f02196ac99b", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", + "reference": "7b2f29fe81dc4da0ca0ea7d42107a0845946ea77", "shasum": "" }, "require": { @@ -615,7 +635,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.9.2" + "source": "https://github.com/guzzle/guzzle/tree/7.9.3" }, "funding": [ { @@ -631,20 +651,20 @@ "type": "tidelift" } ], - "time": "2024-07-24T11:22:20+00:00" + "time": "2025-03-27T13:37:11+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.3", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" + "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", - "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "url": "https://api.github.com/repos/guzzle/promises/zipball/7c69f28996b0a6920945dd20b3857e499d9ca96c", + "reference": "7c69f28996b0a6920945dd20b3857e499d9ca96c", "shasum": "" }, "require": { @@ -698,7 +718,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.3" + "source": "https://github.com/guzzle/promises/tree/2.2.0" }, "funding": [ { @@ -714,20 +734,20 @@ "type": "tidelift" } ], - "time": "2024-07-18T10:29:17+00:00" + "time": "2025-03-27T13:27:01+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.7.0", + "version": "2.7.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" + "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", - "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/c2270caaabe631b3b44c85f99e5a04bbb8060d16", + "reference": "c2270caaabe631b3b44c85f99e5a04bbb8060d16", "shasum": "" }, "require": { @@ -814,7 +834,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.7.0" + "source": "https://github.com/guzzle/psr7/tree/2.7.1" }, "funding": [ { @@ -830,63 +850,56 @@ "type": "tidelift" } ], - "time": "2024-07-18T11:15:46+00:00" + "time": "2025-03-27T12:30:47+00:00" }, { "name": "joomla/application", - "version": "3.0.2", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/application.git", - "reference": "dd055642fbe8d7b919a6c6c345a0d016b0981e65" + "reference": "878d1f4a2dc03b6197d0e6cfb4a969ec06a3314d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/application/zipball/dd055642fbe8d7b919a6c6c345a0d016b0981e65", - "reference": "dd055642fbe8d7b919a6c6c345a0d016b0981e65", + "url": "https://api.github.com/repos/joomla-framework/application/zipball/878d1f4a2dc03b6197d0e6cfb4a969ec06a3314d", + "reference": "878d1f4a2dc03b6197d0e6cfb4a969ec06a3314d", "shasum": "" }, "require": { - "joomla/event": "^3.0", - "joomla/registry": "^3.0", - "laminas/laminas-diactoros": "^2.24.0", - "php": "^8.1.0", - "psr/http-message": "^1.0", + "joomla/event": "^4.0", + "joomla/registry": "^4.0", + "laminas/laminas-diactoros": "^3.6.0", + "php": "^8.3.0", + "psr/http-message": "^2.0", "psr/log": "^1.0|^2.0|^3.0", "symfony/deprecation-contracts": "^2|^3" }, "require-dev": { "ext-json": "*", - "joomla/controller": "^3.0", - "joomla/di": "^3.0", - "joomla/input": "^3.0", - "joomla/router": "^3.0", - "joomla/session": "^3.0", - "joomla/test": "^3.0", - "joomla/uri": "^3.0", - "phan/phan": "^5.4", - "phpstan/phpstan": "^1.10.7", + "joomla/controller": "^4.0", + "joomla/di": "^4.0", + "joomla/input": "^4.0", + "joomla/router": "^4.0", + "joomla/session": "^4.0", + "joomla/test": "^4.0", + "joomla/uri": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", "phpunit/phpunit": "^10.0", - "rector/rector": "^1.0", "squizlabs/php_codesniffer": "~3.10.2", "symfony/phpunit-bridge": "^7.0" }, "suggest": { "ext-json": "To use JSON format, ext-json is required", - "joomla/controller": "^3.0 To support resolving ControllerInterface objects in ControllerResolverInterface, install joomla/controller", - "joomla/input": "^3.0 To use WebApplicationInterface, install joomla/input", - "joomla/router": "^3.0 To use WebApplication or ControllerResolverInterface implementations, install joomla/router", - "joomla/session": "^3.0 To use SessionAwareWebApplicationInterface, install joomla/session", - "joomla/uri": "^3.0 To use AbstractWebApplication, install joomla/uri", - "psr/container": "^1.0 To use the ContainerControllerResolver, install any PSR-11 compatible container" + "joomla/controller": "^4.0 To support resolving ControllerInterface objects in ControllerResolverInterface, install joomla/controller", + "joomla/input": "^4.0 To use WebApplicationInterface, install joomla/input", + "joomla/router": "^4.0 To use WebApplication or ControllerResolverInterface implementations, install joomla/router", + "joomla/session": "^4.0 To use SessionAwareWebApplicationInterface, install joomla/session", + "joomla/uri": "^4.0 To use AbstractWebApplication, install joomla/uri", + "psr/container": "^2.0 To use the ContainerControllerResolver, install any PSR-11 compatible container" }, "type": "library", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Application\\": "src/" @@ -927,48 +940,42 @@ "type": "github" } ], - "time": "2024-08-07T16:49:02+00:00" + "time": "2025-07-24T09:55:44+00:00" }, { "name": "joomla/console", - "version": "3.0.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/console.git", - "reference": "03ad84c3f690aaab9d29165844c0a8eb96dc31a8" + "reference": "b58fb572436ad9e230061ff6929aa1446849efe8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/console/zipball/03ad84c3f690aaab9d29165844c0a8eb96dc31a8", - "reference": "03ad84c3f690aaab9d29165844c0a8eb96dc31a8", + "url": "https://api.github.com/repos/joomla-framework/console/zipball/b58fb572436ad9e230061ff6929aa1446849efe8", + "reference": "b58fb572436ad9e230061ff6929aa1446849efe8", "shasum": "" }, "require": { - "joomla/application": "^3.0", - "joomla/event": "^3.0", - "joomla/string": "^3.0", - "php": "^8.1.0", - "symfony/console": "^v6.2.0", - "symfony/error-handler": "^6" + "joomla/application": "^4.0", + "joomla/event": "^4.0", + "joomla/string": "^4.0", + "php": "^8.3.0", + "symfony/console": "^v7.0.0", + "symfony/error-handler": "^7" }, "require-dev": { - "joomla/test": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", - "psr/container": "^1.0", - "squizlabs/php_codesniffer": "~3.7.2" + "joomla/test": "^4.0", + "phpstan/phpstan": "2.1.17", + "phpstan/phpstan-deprecation-rules": "2.0.3", + "phpunit/phpunit": "^12.0", + "psr/container": "^2.0", + "squizlabs/php_codesniffer": "~3.10.2" }, "suggest": { "psr/container-implementation": "To use the ContainerLoader" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Console\\": "src/" @@ -987,56 +994,40 @@ ], "support": { "issues": "https://github.com/joomla-framework/console/issues", - "source": "https://github.com/joomla-framework/console/tree/3.0.1" + "source": "https://github.com/joomla-framework/console/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-07-17T19:34:34+00:00" + "time": "2025-07-24T08:33:34+00:00" }, { "name": "joomla/controller", - "version": "3.0.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/controller.git", - "reference": "7bcf74a69665853bbf22d169c5e1d10a97824589" + "reference": "8c7784e0007832762184721a59b1fc29857a362d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/controller/zipball/7bcf74a69665853bbf22d169c5e1d10a97824589", - "reference": "7bcf74a69665853bbf22d169c5e1d10a97824589", + "url": "https://api.github.com/repos/joomla-framework/controller/zipball/8c7784e0007832762184721a59b1fc29857a362d", + "reference": "8c7784e0007832762184721a59b1fc29857a362d", "shasum": "" }, "require": { - "php": "^8.1.0" + "php": "^8.3.0" }, "require-dev": { - "joomla/application": "^3.0", - "joomla/input": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", - "squizlabs/php_codesniffer": "~3.7.2" + "joomla/application": "^4.0", + "joomla/input": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.0", + "squizlabs/php_codesniffer": "~3.10.2" }, "suggest": { "joomla/application": "The joomla/application package is required to use Joomla\\Controller\\AbstractController", "joomla/input": "The joomla/input package is required to use Joomla\\Controller\\AbstractController" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Controller\\": "src/" @@ -1055,52 +1046,43 @@ ], "support": { "issues": "https://github.com/joomla-framework/controller/issues", - "source": "https://github.com/joomla-framework/controller/tree/3.0.1" + "source": "https://github.com/joomla-framework/controller/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-08-15T17:58:39+00:00" + "time": "2025-07-24T07:59:04+00:00" }, { "name": "joomla/database", - "version": "3.2.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/database.git", - "reference": "7abff998d4e0d63c0469dae5358822e757928871" + "reference": "2e744e7959368891fe52ccb35790e201251f6f39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/database/zipball/7abff998d4e0d63c0469dae5358822e757928871", - "reference": "7abff998d4e0d63c0469dae5358822e757928871", + "url": "https://api.github.com/repos/joomla-framework/database/zipball/2e744e7959368891fe52ccb35790e201251f6f39", + "reference": "2e744e7959368891fe52ccb35790e201251f6f39", "shasum": "" }, "require": { - "joomla/event": "^3.0", - "php": "^8.1.0", + "joomla/event": "^4.0", + "php": "^8.3.0", "symfony/deprecation-contracts": "^2|^3" }, "require-dev": { - "joomla/archive": "^3.0", - "joomla/console": "^3.0", - "joomla/di": "^3.0", - "joomla/filesystem": "^3.0", - "joomla/registry": "^3.0", - "joomla/test": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", - "psr/log": "^1.1", - "squizlabs/php_codesniffer": "~3.7.2", - "symfony/phpunit-bridge": "^5.0" + "colinodell/psr-testlogger": "^1.3.0", + "joomla/archive": "^4.0", + "joomla/console": "^4.0", + "joomla/di": "^4.0", + "joomla/filesystem": "^4.0", + "joomla/registry": "^4.0", + "joomla/test": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.0", + "psr/log": "^3.0.2", + "squizlabs/php_codesniffer": "^3.10.2", + "symfony/phpunit-bridge": "^8.0" }, "suggest": { "ext-mysqli": "To connect to a MySQL database via MySQLi", @@ -1114,12 +1096,6 @@ "psr/log": "To use the LoggingMonitor, install psr/log." }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Database\\": "src/" @@ -1138,56 +1114,40 @@ ], "support": { "issues": "https://github.com/joomla-framework/database/issues", - "source": "https://github.com/joomla-framework/database/tree/3.2.0" + "source": "https://github.com/joomla-framework/database/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-08-15T10:09:54+00:00" + "time": "2025-07-24T09:46:18+00:00" }, { "name": "joomla/di", - "version": "3.0.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/di.git", - "reference": "33d6b586663906567316b402cf6b44fe3b79cb2d" + "reference": "e8511111e2b5b239f75116f9ff75b43c18809868" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/di/zipball/33d6b586663906567316b402cf6b44fe3b79cb2d", - "reference": "33d6b586663906567316b402cf6b44fe3b79cb2d", + "url": "https://api.github.com/repos/joomla-framework/di/zipball/e8511111e2b5b239f75116f9ff75b43c18809868", + "reference": "e8511111e2b5b239f75116f9ff75b43c18809868", "shasum": "" }, "require": { - "php": "^8.1.0", - "psr/container": "^1.0", + "php": "^8.3.0", + "psr/container": "^2.0", "symfony/deprecation-contracts": "^2|^3" }, "provide": { "psr/container-implementation": "~1.0" }, "require-dev": { - "joomla/test": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "joomla/test": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.6", "squizlabs/php_codesniffer": "~3.7.2" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\DI\\": "src/" @@ -1209,57 +1169,41 @@ ], "support": { "issues": "https://github.com/joomla-framework/di/issues", - "source": "https://github.com/joomla-framework/di/tree/3.0.1" + "source": "https://github.com/joomla-framework/di/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-08-15T20:00:49+00:00" + "time": "2025-07-24T07:51:22+00:00" }, { "name": "joomla/event", - "version": "3.0.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/event.git", - "reference": "c1444f72764c395e34720f98386989f4bde8f4ac" + "reference": "4bbbfb0a3444cb3e3f9abd57d623caa06e9207b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/event/zipball/c1444f72764c395e34720f98386989f4bde8f4ac", - "reference": "c1444f72764c395e34720f98386989f4bde8f4ac", + "url": "https://api.github.com/repos/joomla-framework/event/zipball/4bbbfb0a3444cb3e3f9abd57d623caa06e9207b5", + "reference": "4bbbfb0a3444cb3e3f9abd57d623caa06e9207b5", "shasum": "" }, "require": { - "php": "^8.1.0", + "php": "^8.3.0", "symfony/deprecation-contracts": "^2|^3" }, "require-dev": { - "joomla/console": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", - "psr/container": "^1.0", - "squizlabs/php_codesniffer": "~3.7.2" + "joomla/console": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.7", + "psr/container": "^2.0", + "squizlabs/php_codesniffer": "^3.7.2" }, "suggest": { "joomla/console": "If you want to use the DebugEventDispatcherCommand class, please install joomla/console", "psr/container-implementation": "If you want to use the LazyServiceEventListener class, please install a PSR-11 container" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Event\\": "src/" @@ -1278,52 +1222,36 @@ ], "support": { "issues": "https://github.com/joomla-framework/event/issues", - "source": "https://github.com/joomla-framework/event/tree/3.0.1" + "source": "https://github.com/joomla-framework/event/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-08-16T06:22:30+00:00" + "time": "2025-07-24T09:34:33+00:00" }, { "name": "joomla/filesystem", - "version": "3.0.2", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/filesystem.git", - "reference": "c69358f6500b8d931bd6e4e3042aa365dcace155" + "reference": "e69674bafd7818afa2537ef12019c56207018a26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/filesystem/zipball/c69358f6500b8d931bd6e4e3042aa365dcace155", - "reference": "c69358f6500b8d931bd6e4e3042aa365dcace155", + "url": "https://api.github.com/repos/joomla-framework/filesystem/zipball/e69674bafd7818afa2537ef12019c56207018a26", + "reference": "e69674bafd7818afa2537ef12019c56207018a26", "shasum": "" }, "require": { - "php": "^8.1.0" + "php": "^8.3.0" }, "require-dev": { - "joomla/test": "^3.0", + "joomla/test": "^4.0", "mikey179/vfsstream": "^1.6.11", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", - "squizlabs/php_codesniffer": "^3.7.2" + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.7", + "squizlabs/php_codesniffer": "^3.13.2" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Filesystem\\": "src/" @@ -1342,55 +1270,39 @@ ], "support": { "issues": "https://github.com/joomla-framework/filesystem/issues", - "source": "https://github.com/joomla-framework/filesystem/tree/3.0.2" + "source": "https://github.com/joomla-framework/filesystem/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-09-12T11:44:35+00:00" + "time": "2025-07-23T19:06:55+00:00" }, { "name": "joomla/filter", - "version": "3.0.2", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/filter.git", - "reference": "0dac6380db52a3d72124c422060bd8b2a56015fe" + "reference": "63a30dd72de04a76f34fa09f475135fe708c75d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/filter/zipball/0dac6380db52a3d72124c422060bd8b2a56015fe", - "reference": "0dac6380db52a3d72124c422060bd8b2a56015fe", + "url": "https://api.github.com/repos/joomla-framework/filter/zipball/63a30dd72de04a76f34fa09f475135fe708c75d4", + "reference": "63a30dd72de04a76f34fa09f475135fe708c75d4", "shasum": "" }, "require": { - "joomla/string": "^3.0", - "php": "^8.1.0" + "joomla/string": "^4.0", + "php": "^8.3.0" }, "require-dev": { - "joomla/language": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "joomla/language": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.7", "squizlabs/php_codesniffer": "^3.7.2" }, "suggest": { "joomla/language": "Required only if you want to use `OutputFilter::stringURLSafe`." }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Filter\\": "src/" @@ -1409,54 +1321,37 @@ ], "support": { "issues": "https://github.com/joomla-framework/filter/issues", - "source": "https://github.com/joomla-framework/filter/tree/3.0.2" + "source": "https://github.com/joomla-framework/filter/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-08-20T15:37:54+00:00" + "time": "2025-07-23T19:57:09+00:00" }, { "name": "joomla/github", - "version": "dev-3.x-dev", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/github-api.git", - "reference": "01e24ca4da896de49b8b15205dd6327a40697614" + "reference": "417aa8ee422453ff7c403f70acb1b556901fd45c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/github-api/zipball/01e24ca4da896de49b8b15205dd6327a40697614", - "reference": "01e24ca4da896de49b8b15205dd6327a40697614", + "url": "https://api.github.com/repos/joomla-framework/github-api/zipball/417aa8ee422453ff7c403f70acb1b556901fd45c", + "reference": "417aa8ee422453ff7c403f70acb1b556901fd45c", "shasum": "" }, "require": { - "joomla/http": "^3.0", - "joomla/registry": "^3.0", - "joomla/uri": "^3.0", - "php": "^8.1.0" + "joomla/http": "^4.0", + "joomla/registry": "^4.0", + "joomla/uri": "^4.0", + "php": "^8.3.0" }, "require-dev": { - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.7", "squizlabs/php_codesniffer": "^3.7.2" }, - "default-branch": true, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Github\\": "src/" @@ -1475,59 +1370,43 @@ ], "support": { "issues": "https://github.com/joomla-framework/github-api/issues", - "source": "https://github.com/joomla-framework/github-api/tree/3.0.0" + "source": "https://github.com/joomla-framework/github-api/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-07T21:17:58+00:00" + "time": "2025-07-24T08:11:16+00:00" }, { "name": "joomla/http", - "version": "3.0.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/http.git", - "reference": "3379b5a0c68524685b89d6997e5fec56c6ad3d43" + "reference": "c1631de6f88f5cb0c720360f6dc63a832359a1f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/http/zipball/3379b5a0c68524685b89d6997e5fec56c6ad3d43", - "reference": "3379b5a0c68524685b89d6997e5fec56c6ad3d43", + "url": "https://api.github.com/repos/joomla-framework/http/zipball/c1631de6f88f5cb0c720360f6dc63a832359a1f7", + "reference": "c1631de6f88f5cb0c720360f6dc63a832359a1f7", "shasum": "" }, "require": { "composer/ca-bundle": "^1.3.5", - "joomla/uri": "^3.0", - "laminas/laminas-diactoros": "^2.24.0", - "php": "^8.1.0", + "joomla/uri": "^4.0", + "laminas/laminas-diactoros": "^3.6.0", + "php": "^8.3.0", "psr/http-client": "^1.0", - "psr/http-message": "^1.0" + "psr/http-message": "^2.0" }, "require-dev": { - "joomla/test": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "joomla/test": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.6", "squizlabs/php_codesniffer": "^3.7.2" }, "suggest": { "ext-curl": "To use cURL for HTTP connections" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Http\\": "src/" @@ -1546,53 +1425,37 @@ ], "support": { "issues": "https://github.com/joomla-framework/http/issues", - "source": "https://github.com/joomla-framework/http/tree/3.0.1" + "source": "https://github.com/joomla-framework/http/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-03-11T18:42:37+00:00" + "time": "2025-07-23T20:11:41+00:00" }, { "name": "joomla/input", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/input.git", - "reference": "3ab947f2baf8b8f08b8ecc11f7ada91092a75354" + "reference": "f366f97b143bd9d15f57dad74b21f72ac99d89ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/input/zipball/3ab947f2baf8b8f08b8ecc11f7ada91092a75354", - "reference": "3ab947f2baf8b8f08b8ecc11f7ada91092a75354", + "url": "https://api.github.com/repos/joomla-framework/input/zipball/f366f97b143bd9d15f57dad74b21f72ac99d89ec", + "reference": "f366f97b143bd9d15f57dad74b21f72ac99d89ec", "shasum": "" }, "require": { - "joomla/filter": "^3.0", - "php": "^8.1.0", + "joomla/filter": "^4.0", + "php": "^8.3.0", "symfony/deprecation-contracts": "^2|^3" }, "require-dev": { - "joomla/test": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", - "squizlabs/php_codesniffer": "^3.7.2" + "joomla/test": "^4.0", + "phpstan/phpstan": "2.1.17", + "phpstan/phpstan-deprecation-rules": "2.0.3", + "phpunit/phpunit": "^12.0", + "squizlabs/php_codesniffer": "^3.10.2" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Input\\": "src/" @@ -1611,56 +1474,40 @@ ], "support": { "issues": "https://github.com/joomla-framework/input/issues", - "source": "https://github.com/joomla-framework/input/tree/3.0.0" + "source": "https://github.com/joomla-framework/input/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-07T21:27:35+00:00" + "time": "2025-07-23T19:52:44+00:00" }, { "name": "joomla/model", - "version": "3.0.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/joomla-framework/model.git", - "reference": "06ef6c628cff86c70a8d220106d1d3cc14037ee6" + "reference": "551bf1d07fc848591a0294b89f79212d3ee612ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/model/zipball/06ef6c628cff86c70a8d220106d1d3cc14037ee6", - "reference": "06ef6c628cff86c70a8d220106d1d3cc14037ee6", + "url": "https://api.github.com/repos/joomla-framework/model/zipball/551bf1d07fc848591a0294b89f79212d3ee612ad", + "reference": "551bf1d07fc848591a0294b89f79212d3ee612ad", "shasum": "" }, "require": { - "php": "^8.1.0" + "php": "^8.3.0" }, "require-dev": { - "joomla/database": "^3.0", - "joomla/registry": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "joomla/database": "^4.0", + "joomla/registry": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.7", "squizlabs/php_codesniffer": "^3.7.2" }, "suggest": { - "joomla/database": "^3.0 Allows using database models", - "joomla/registry": "^3.0 Allows using stateful models" + "joomla/database": "^4.0 Allows using database models", + "joomla/registry": "^4.0 Allows using stateful models" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Model\\": "src/" @@ -1679,49 +1526,40 @@ ], "support": { "issues": "https://github.com/joomla-framework/model/issues", - "source": "https://github.com/joomla-framework/model/tree/3.0.0" + "source": "https://github.com/joomla-framework/model/tree/4.0.1" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-08T13:22:03+00:00" + "time": "2025-07-23T20:00:10+00:00" }, { "name": "joomla/preload", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/preload.git", - "reference": "08c9753ad92f2cd7c44e81d33206b39d15e519bd" + "reference": "7b49ee315f83daa845539b486b23c0a5ed543368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/preload/zipball/08c9753ad92f2cd7c44e81d33206b39d15e519bd", - "reference": "08c9753ad92f2cd7c44e81d33206b39d15e519bd", + "url": "https://api.github.com/repos/joomla-framework/preload/zipball/7b49ee315f83daa845539b486b23c0a5ed543368", + "reference": "7b49ee315f83daa845539b486b23c0a5ed543368", "shasum": "" }, "require": { "fig/link-util": "^1.0", - "php": "^8.1.0", - "psr/link": "^1.0" + "php": "^8.3.0", + "psr/link": "^2.0" }, "require-dev": { - "joomla/application": "^3.0", - "joomla/di": "^3.0", - "joomla/event": "^3.0", - "joomla/uri": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", - "squizlabs/php_codesniffer": "^3.7.2", - "symfony/web-link": "^5.0" + "joomla/application": "^4.0", + "joomla/di": "^4.0", + "joomla/event": "^4.0", + "joomla/input": "^4.0", + "joomla/uri": "^4.0", + "phpstan/phpstan": "2.1.17", + "phpstan/phpstan-deprecation-rules": "2.0.3", + "phpunit/phpunit": "^12.0", + "squizlabs/php_codesniffer": "^3.10.2", + "symfony/web-link": "^7.3" }, "suggest": { "joomla/application": "To use the PreloadSubscriber event listener, install `^2.0`", @@ -1730,12 +1568,6 @@ "symfony/web-link": "To use the PreloadSubscriber event listener, install `^3.4|^4.4|^5.0`" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Preload\\": "src/" @@ -1754,44 +1586,34 @@ ], "support": { "issues": "https://github.com/joomla-framework/preload/issues", - "source": "https://github.com/joomla-framework/preload/tree/3.0.0" + "source": "https://github.com/joomla-framework/preload/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-08T13:45:48+00:00" + "time": "2025-07-23T19:37:55+00:00" }, { "name": "joomla/registry", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/registry.git", - "reference": "dc57ab21856e79d45e5a44cf6d41253a2414d110" + "reference": "5692d8423c9b568627df701e9fd505eae5ea8f72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/registry/zipball/dc57ab21856e79d45e5a44cf6d41253a2414d110", - "reference": "dc57ab21856e79d45e5a44cf6d41253a2414d110", + "url": "https://api.github.com/repos/joomla-framework/registry/zipball/5692d8423c9b568627df701e9fd505eae5ea8f72", + "reference": "5692d8423c9b568627df701e9fd505eae5ea8f72", "shasum": "" }, "require": { - "joomla/utilities": "^3.0", - "php": "^8.1.0" + "joomla/utilities": "^4.0", + "php": "^8.3.0" }, "require-dev": { - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.6", "squizlabs/php_codesniffer": "^3.7.2", - "symfony/yaml": "^5.0" + "symfony/yaml": "^7.3" }, "suggest": { "ext-json": "ext-json is needed for JSON support", @@ -1799,12 +1621,6 @@ "symfony/yaml": "Install symfony/yaml if you require YAML support." }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Registry\\": "src/" @@ -1823,69 +1639,54 @@ ], "support": { "issues": "https://github.com/joomla-framework/registry/issues", - "source": "https://github.com/joomla-framework/registry/tree/3.0.0" + "source": "https://github.com/joomla-framework/registry/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-08T14:10:01+00:00" + "time": "2025-07-23T19:26:22+00:00" }, { "name": "joomla/renderer", - "version": "3.0.0", + "version": "dev-4.x-dev", "source": { "type": "git", "url": "https://github.com/joomla-framework/renderer.git", - "reference": "ab6b9d2af68ad29c390f9f28315cd0f0a6cc9ecc" + "reference": "8772a6d1d634eff99d7bdd2cc7bd226919ff04f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/renderer/zipball/ab6b9d2af68ad29c390f9f28315cd0f0a6cc9ecc", - "reference": "ab6b9d2af68ad29c390f9f28315cd0f0a6cc9ecc", + "url": "https://api.github.com/repos/joomla-framework/renderer/zipball/8772a6d1d634eff99d7bdd2cc7bd226919ff04f7", + "reference": "8772a6d1d634eff99d7bdd2cc7bd226919ff04f7", "shasum": "" }, "require": { - "php": "^8.1.0" - }, - "conflict": { - "illuminate/view": "<6.0", - "league/plates": "<3.0", - "mustache/mustache": "<2.3", - "symfony/templating": "<3.4" + "php": "^8.3.0" }, "require-dev": { - "illuminate/events": "^6.0|^7.0", - "illuminate/filesystem": "^6.0|^7.0", - "illuminate/view": "^6.0|^7.0", - "joomla/test": "^3.0", + "illuminate/events": "^12.20.0", + "illuminate/filesystem": "^12.20.0", + "illuminate/view": "^12.20.0", + "joomla/test": "dev-4.x-dev", "league/plates": "^3.0", - "mustache/mustache": "^2.3", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "mustache/mustache": "^3.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.7", "squizlabs/php_codesniffer": "^3.7.2", - "symfony/templating": "^5.0", + "symfony/templating": "^6.4", "twig/twig": "^3.5.0" }, "suggest": { - "illuminate/view": "Install ^6.0|^7.0 if you are using Laravel's Blade template engine.", + "illuminate/view": "Install ^12.0 if you are using Laravel's Blade template engine.", "league/plates": "Install ^3.0 if you are using the Plates template engine.", - "mustache/mustache": "Install ^2.3 if you are using the Mustache template engine.", - "symfony/templating": "Install ^3.4|^4.4|^5.0 if you are using Symfony's PHP template component.", - "twig/twig": "Install ^2.14.11|^3.3.8 if you are using the Twig template engine." + "mustache/mustache": "Install ^3.0 if you are using the Mustache template engine.", + "symfony/templating": "Install ^6.4 if you are using Symfony's PHP template component.", + "twig/twig": "Install ^3.5.0 if you are using the Twig template engine." }, "type": "joomla-package", "extra": { "branch-alias": { "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" + "dev-3.x-dev": "3.0-dev", + "dev-4.x-dev": "4.0-dev" } }, "autoload": { @@ -1906,59 +1707,40 @@ ], "support": { "issues": "https://github.com/joomla-framework/renderer/issues", - "source": "https://github.com/joomla-framework/renderer/tree/3.0.0" + "source": "https://github.com/joomla-framework/renderer/tree/4.x-dev" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-08T14:21:57+00:00" + "time": "2025-07-19T19:28:46+00:00" }, { "name": "joomla/router", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/router.git", - "reference": "951c2fa144b459cc35d9fe69193e970a3ef86893" + "reference": "d0552ac09b92712a140fff2323579b84fbaa12b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/router/zipball/951c2fa144b459cc35d9fe69193e970a3ef86893", - "reference": "951c2fa144b459cc35d9fe69193e970a3ef86893", + "url": "https://api.github.com/repos/joomla-framework/router/zipball/d0552ac09b92712a140fff2323579b84fbaa12b8", + "reference": "d0552ac09b92712a140fff2323579b84fbaa12b8", "shasum": "" }, "require": { - "php": "^8.1.0" - }, - "conflict": { - "jeremeamia/superclosure": "<2.4" + "php": "^8.3.0" }, "require-dev": { - "jeremeamia/superclosure": "^2.4", - "joomla/console": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "joomla/console": "^4.0", + "opis/closure": "^4.3.1", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.6", "squizlabs/php_codesniffer": "^3.7.2" }, "suggest": { - "jeremeamia/superclosure": "If you use Closure based controllers and want to be able to serialize the router, please install jeremeamia/superclosure", - "joomla/console": "If you want to use the DebugRouterCommand class, please install joomla/console" + "joomla/console": "If you want to use the DebugRouterCommand class, please install joomla/console", + "opis/closure": "If you use Closure based controllers and want to be able to serialize the router, please install opis/closure" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Router\\": "src/" @@ -1977,47 +1759,35 @@ ], "support": { "issues": "https://github.com/joomla-framework/router/issues", - "source": "https://github.com/joomla-framework/router/tree/3.0.0" + "source": "https://github.com/joomla-framework/router/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-08T14:26:51+00:00" + "time": "2025-07-23T19:21:30+00:00" }, { "name": "joomla/string", - "version": "3.0.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/string.git", - "reference": "fadb95a9e67dbe24ea905dc60b74008cce5990ea" + "reference": "da2329e05f1f5fc98b709f8638f279513bcd1108" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/string/zipball/fadb95a9e67dbe24ea905dc60b74008cce5990ea", - "reference": "fadb95a9e67dbe24ea905dc60b74008cce5990ea", + "url": "https://api.github.com/repos/joomla-framework/string/zipball/da2329e05f1f5fc98b709f8638f279513bcd1108", + "reference": "da2329e05f1f5fc98b709f8638f279513bcd1108", "shasum": "" }, "require": { - "php": "^8.1.0", - "symfony/deprecation-contracts": "^2|^3" - }, - "conflict": { - "doctrine/inflector": "<1.2" + "php": "^8.3.0", + "symfony/deprecation-contracts": "^2|^3", + "symfony/polyfill-mbstring": "^1.31.0" }, "require-dev": { - "doctrine/inflector": "^1.2", - "joomla/test": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "doctrine/inflector": "^2.0.10", + "joomla/test": "^4.0", + "phpstan/phpstan": "2.1.17", + "phpstan/phpstan-deprecation-rules": "2.0.3", + "phpunit/phpunit": "^12.2.6", "squizlabs/php_codesniffer": "^3.7.2" }, "suggest": { @@ -2025,30 +1795,7 @@ "ext-mbstring": "For improved processing" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { - "files": [ - "src/phputf8/utf8.php", - "src/phputf8/ord.php", - "src/phputf8/str_ireplace.php", - "src/phputf8/str_pad.php", - "src/phputf8/str_split.php", - "src/phputf8/strcasecmp.php", - "src/phputf8/strcspn.php", - "src/phputf8/stristr.php", - "src/phputf8/strrev.php", - "src/phputf8/strspn.php", - "src/phputf8/trim.php", - "src/phputf8/ucfirst.php", - "src/phputf8/ucwords.php", - "src/phputf8/utils/ascii.php", - "src/phputf8/utils/validation.php" - ], "psr-4": { "Joomla\\String\\": "src/" } @@ -2066,53 +1813,37 @@ ], "support": { "issues": "https://github.com/joomla-framework/string/issues", - "source": "https://github.com/joomla-framework/string/tree/3.0.1" + "source": "https://github.com/joomla-framework/string/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2024-08-16T08:56:24+00:00" + "time": "2025-07-23T18:42:26+00:00" }, { "name": "joomla/uri", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/uri.git", - "reference": "42862cc99be6dc75587e6ce6eb29e0c33de6ffa2" + "reference": "9fa4fac811bf63e830d46d83031c353cf2765bcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/uri/zipball/42862cc99be6dc75587e6ce6eb29e0c33de6ffa2", - "reference": "42862cc99be6dc75587e6ce6eb29e0c33de6ffa2", + "url": "https://api.github.com/repos/joomla-framework/uri/zipball/9fa4fac811bf63e830d46d83031c353cf2765bcd", + "reference": "9fa4fac811bf63e830d46d83031c353cf2765bcd", "shasum": "" }, "require": { - "php": "^8.1.0" + "php": "^8.3.0" }, "require-dev": { - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.6", "squizlabs/php_codesniffer": "^3.7.2" }, "suggest": { "ext-mbstring": "Used to speed up url parsing" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Uri\\": "src/" @@ -2131,51 +1862,35 @@ ], "support": { "issues": "https://github.com/joomla-framework/uri/issues", - "source": "https://github.com/joomla-framework/uri/tree/3.0.0" + "source": "https://github.com/joomla-framework/uri/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-08T14:40:26+00:00" + "time": "2025-07-23T19:02:38+00:00" }, { "name": "joomla/utilities", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/utilities.git", - "reference": "0b85f5c876b7b81046648402db4b84168be96d9a" + "reference": "5f234527f7dad7111830b091aef52787c3c07cc8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/utilities/zipball/0b85f5c876b7b81046648402db4b84168be96d9a", - "reference": "0b85f5c876b7b81046648402db4b84168be96d9a", + "url": "https://api.github.com/repos/joomla-framework/utilities/zipball/5f234527f7dad7111830b091aef52787c3c07cc8", + "reference": "5f234527f7dad7111830b091aef52787c3c07cc8", "shasum": "" }, "require": { - "joomla/string": "^3.0", - "php": "^8.1.0" + "joomla/string": "^4.0", + "php": "^8.3.0" }, "require-dev": { - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.2.6", "squizlabs/php_codesniffer": "^3.7.2" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\Utilities\\": "src/" @@ -2194,54 +1909,38 @@ ], "support": { "issues": "https://github.com/joomla-framework/utilities/issues", - "source": "https://github.com/joomla-framework/utilities/tree/3.0.0" + "source": "https://github.com/joomla-framework/utilities/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-08T14:45:40+00:00" + "time": "2025-07-23T18:52:12+00:00" }, { "name": "joomla/view", - "version": "3.0.0", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/joomla-framework/view.git", - "reference": "22f1af6d2c20d29269d4bdfb2646ddc8b321ba06" + "reference": "d89e37914e89adbd9976a71c437f0356700c786d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/joomla-framework/view/zipball/22f1af6d2c20d29269d4bdfb2646ddc8b321ba06", - "reference": "22f1af6d2c20d29269d4bdfb2646ddc8b321ba06", + "url": "https://api.github.com/repos/joomla-framework/view/zipball/d89e37914e89adbd9976a71c437f0356700c786d", + "reference": "d89e37914e89adbd9976a71c437f0356700c786d", "shasum": "" }, "require": { - "php": "^8.1.0" + "php": "^8.3.0" }, "require-dev": { - "joomla/renderer": "^3.0", - "phan/phan": "^5.4.2", - "phpstan/phpstan": "^1.10.7", - "phpunit/phpunit": "^9.5.28", + "joomla/renderer": "^4.0", + "phpstan/phpstan": "^2.1.17", + "phpstan/phpstan-deprecation-rules": "^2.0.3", + "phpunit/phpunit": "^12.0", "squizlabs/php_codesniffer": "^3.7.2" }, "suggest": { "joomla/renderer": "Required to use Joomla\\View\\BaseHtmlView" }, "type": "joomla-package", - "extra": { - "branch-alias": { - "dev-2.0-dev": "2.0-dev", - "dev-3.x-dev": "3.0-dev" - } - }, "autoload": { "psr-4": { "Joomla\\View\\": "src/" @@ -2260,63 +1959,53 @@ ], "support": { "issues": "https://github.com/joomla-framework/view/issues", - "source": "https://github.com/joomla-framework/view/tree/3.0.0" + "source": "https://github.com/joomla-framework/view/tree/4.0.0" }, - "funding": [ - { - "url": "https://community.joomla.org/sponsorship-campaigns.html", - "type": "custom" - }, - { - "url": "https://github.com/joomla", - "type": "github" - } - ], - "time": "2023-10-08T14:50:18+00:00" + "time": "2025-07-23T18:47:23+00:00" }, { "name": "laminas/laminas-diactoros", - "version": "2.26.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "6584d44eb8e477e89d453313b858daac6183cddc" + "reference": "b068eac123f21c0e592de41deeb7403b88e0a89f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/6584d44eb8e477e89d453313b858daac6183cddc", - "reference": "6584d44eb8e477e89d453313b858daac6183cddc", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/b068eac123f21c0e592de41deeb7403b88e0a89f", + "reference": "b068eac123f21c0e592de41deeb7403b88e0a89f", "shasum": "" }, "require": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", + "psr/http-factory": "^1.1", + "psr/http-message": "^1.1 || ^2.0" }, "conflict": { - "zendframework/zend-diactoros": "*" + "amphp/amp": "<2.6.4" }, "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" + "psr/http-factory-implementation": "^1.0", + "psr/http-message-implementation": "^1.1 || ^2.0" }, "require-dev": { "ext-curl": "*", "ext-dom": "*", "ext-gd": "*", "ext-libxml": "*", - "http-interop/http-factory-tests": "^0.9.0", - "laminas/laminas-coding-standard": "^2.5", - "php-http/psr7-integration-tests": "^1.2", - "phpunit/phpunit": "^9.5.28", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.6" + "http-interop/http-factory-tests": "^2.2.0", + "laminas/laminas-coding-standard": "~3.0.0", + "php-http/psr7-integration-tests": "^1.4.0", + "phpunit/phpunit": "^10.5.36", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "extra": { "laminas": { - "config-provider": "Laminas\\Diactoros\\ConfigProvider", - "module": "Laminas\\Diactoros" + "module": "Laminas\\Diactoros", + "config-provider": "Laminas\\Diactoros\\ConfigProvider" } }, "autoload": { @@ -2325,18 +2014,9 @@ "src/functions/marshal_headers_from_sapi.php", "src/functions/marshal_method_from_sapi.php", "src/functions/marshal_protocol_version_from_sapi.php", - "src/functions/marshal_uri_from_sapi.php", "src/functions/normalize_server.php", "src/functions/normalize_uploaded_files.php", - "src/functions/parse_cookie_header.php", - "src/functions/create_uploaded_file.legacy.php", - "src/functions/marshal_headers_from_sapi.legacy.php", - "src/functions/marshal_method_from_sapi.legacy.php", - "src/functions/marshal_protocol_version_from_sapi.legacy.php", - "src/functions/marshal_uri_from_sapi.legacy.php", - "src/functions/normalize_server.legacy.php", - "src/functions/normalize_uploaded_files.legacy.php", - "src/functions/parse_cookie_header.legacy.php" + "src/functions/parse_cookie_header.php" ], "psr-4": { "Laminas\\Diactoros\\": "src/" @@ -2369,20 +2049,20 @@ "type": "community_bridge" } ], - "time": "2023-10-29T16:17:44+00:00" + "time": "2025-05-05T16:03:34+00:00" }, { "name": "league/container", - "version": "4.2.2", + "version": "4.2.5", "source": { "type": "git", "url": "https://github.com/thephpleague/container.git", - "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88" + "reference": "d3cebb0ff4685ff61c749e54b27db49319e2ec00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/container/zipball/ff346319ca1ff0e78277dc2311a42107cc1aab88", - "reference": "ff346319ca1ff0e78277dc2311a42107cc1aab88", + "url": "https://api.github.com/repos/thephpleague/container/zipball/d3cebb0ff4685ff61c749e54b27db49319e2ec00", + "reference": "d3cebb0ff4685ff61c749e54b27db49319e2ec00", "shasum": "" }, "require": { @@ -2407,11 +2087,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev", - "dev-4.x": "4.x-dev", - "dev-3.x": "3.x-dev", + "dev-1.x": "1.x-dev", "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" + "dev-3.x": "3.x-dev", + "dev-4.x": "4.x-dev", + "dev-master": "4.x-dev" } }, "autoload": { @@ -2443,7 +2123,7 @@ ], "support": { "issues": "https://github.com/thephpleague/container/issues", - "source": "https://github.com/thephpleague/container/tree/4.2.2" + "source": "https://github.com/thephpleague/container/tree/4.2.5" }, "funding": [ { @@ -2451,20 +2131,20 @@ "type": "github" } ], - "time": "2024-03-13T13:12:53+00:00" + "time": "2025-05-20T12:55:37+00:00" }, { "name": "monolog/monolog", - "version": "2.9.3", + "version": "2.10.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215" + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/a30bfe2e142720dfa990d0a7e573997f5d884215", - "reference": "a30bfe2e142720dfa990d0a7e573997f5d884215", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7", + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7", "shasum": "" }, "require": { @@ -2541,7 +2221,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.9.3" + "source": "https://github.com/Seldaek/monolog/tree/2.10.0" }, "funding": [ { @@ -2553,7 +2233,7 @@ "type": "tidelift" } ], - "time": "2024-04-12T20:52:51+00:00" + "time": "2024-11-12T12:43:37+00:00" }, { "name": "psr/clock", @@ -2605,22 +2285,27 @@ }, { "name": "psr/container", - "version": "1.1.2", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -2647,9 +2332,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-11-05T16:50:12+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/http-client", @@ -2760,16 +2445,16 @@ }, { "name": "psr/http-message", - "version": "1.1", + "version": "2.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-message.git", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { @@ -2778,7 +2463,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -2793,7 +2478,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", @@ -2807,31 +2492,34 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/1.1" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2023-04-04T09:50:52+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "psr/link", - "version": "1.1.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/link.git", - "reference": "846c25f58a1f02b93a00f2404e3626b6bf9b7807" + "reference": "84b159194ecfd7eaa472280213976e96415433f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/link/zipball/846c25f58a1f02b93a00f2404e3626b6bf9b7807", - "reference": "846c25f58a1f02b93a00f2404e3626b6bf9b7807", + "url": "https://api.github.com/repos/php-fig/link/zipball/84b159194ecfd7eaa472280213976e96415433f7", + "reference": "84b159194ecfd7eaa472280213976e96415433f7", "shasum": "" }, "require": { "php": ">=8.0.0" }, + "suggest": { + "fig/link-util": "Provides some useful PSR-13 utilities" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -2860,9 +2548,9 @@ "rest" ], "support": { - "source": "https://github.com/php-fig/link/tree/1.1.1" + "source": "https://github.com/php-fig/link/tree/2.0.1" }, - "time": "2021-03-11T22:59:13+00:00" + "time": "2021-03-11T23:00:27+00:00" }, { "name": "psr/log", @@ -3011,16 +2699,16 @@ }, { "name": "ramsey/collection", - "version": "2.0.0", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", - "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", "shasum": "" }, "require": { @@ -3028,25 +2716,22 @@ }, "require-dev": { "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.28.3", - "fakerphp/faker": "^1.21", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^1.0", - "mockery/mockery": "^1.5", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpcsstandards/phpcsutils": "^1.0.0-rc1", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18.4", - "ramsey/coding-standard": "^2.0.3", - "ramsey/conventional-commits": "^1.3", - "vimeo/psalm": "^5.4" + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" }, "type": "library", "extra": { @@ -3084,37 +2769,26 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.0.0" + "source": "https://github.com/ramsey/collection/tree/2.1.1" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2022-12-31T21:50:55+00:00" + "time": "2025-03-22T05:38:12+00:00" }, { "name": "ramsey/uuid", - "version": "4.7.6", + "version": "4.9.0", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", - "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0", + "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", - "ext-json": "*", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -3122,26 +2796,23 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "captainhook/captainhook": "^5.10", + "captainhook/captainhook": "^5.25", "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-mockery": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9", - "ramsey/composer-repl": "^1.4", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -3176,32 +2847,22 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.6" + "source": "https://github.com/ramsey/uuid/tree/4.9.0" }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2024-04-27T21:32:50+00:00" + "time": "2025-06-25T14:20:11+00:00" }, { "name": "robmorgan/phinx", - "version": "0.16.5", + "version": "0.16.10", "source": { "type": "git", "url": "https://github.com/cakephp/phinx.git", - "reference": "31d837c17d6dc294d44f0b17331066548ac8c032" + "reference": "83f83ec105e55e3abba7acc23c0272b5fcf66929" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/phinx/zipball/31d837c17d6dc294d44f0b17331066548ac8c032", - "reference": "31d837c17d6dc294d44f0b17331066548ac8c032", + "url": "https://api.github.com/repos/cakephp/phinx/zipball/83f83ec105e55e3abba7acc23c0272b5fcf66929", + "reference": "83f83ec105e55e3abba7acc23c0272b5fcf66929", "shasum": "" }, "require": { @@ -3209,16 +2870,16 @@ "composer-runtime-api": "^2.0", "php-64bit": ">=8.1", "psr/container": "^1.1|^2.0", - "symfony/config": "^3.4|^4.0|^5.0|^6.0|^7.0", + "symfony/config": "^4.0|^5.0|^6.0|^7.0", "symfony/console": "^6.0|^7.0" }, "require-dev": { - "cakephp/cakephp": "^5.0.2", "cakephp/cakephp-codesniffer": "^5.0", + "cakephp/i18n": "^5.0", "ext-json": "*", "ext-pdo": "*", "phpunit/phpunit": "^9.5.19", - "symfony/yaml": "^3.4|^4.0|^5.0|^6.0|^7.0" + "symfony/yaml": "^4.0|^5.0|^6.0|^7.0" }, "suggest": { "ext-json": "Install if using JSON configuration format", @@ -3273,39 +2934,34 @@ ], "support": { "issues": "https://github.com/cakephp/phinx/issues", - "source": "https://github.com/cakephp/phinx/tree/0.16.5" + "source": "https://github.com/cakephp/phinx/tree/0.16.10" }, - "time": "2024-10-03T15:41:04+00:00" + "time": "2025-07-08T18:55:28+00:00" }, { "name": "symfony/asset", - "version": "v5.4.40", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", - "reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3" + "reference": "56c4d9f759247c4e07d8549e3baf7493cb9c3e4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset/zipball/e5aa241b4914257164b39c3c2678b2c41b7671e3", - "reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3", + "url": "https://api.github.com/repos/symfony/asset/zipball/56c4d9f759247c4e07d8549e3baf7493cb9c3e4b", + "reference": "56c4d9f759247c4e07d8549e3baf7493cb9c3e4b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.2" }, "conflict": { - "symfony/http-foundation": "<5.3" + "symfony/http-foundation": "<6.4" }, "require-dev": { - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/http-foundation": "" + "symfony/http-client": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3333,7 +2989,7 @@ "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset/tree/v5.4.40" + "source": "https://github.com/symfony/asset/tree/v7.3.0" }, "funding": [ { @@ -3349,38 +3005,38 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2025-03-05T10:15:41+00:00" }, { "name": "symfony/config", - "version": "v6.4.8", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "12e7e52515ce37191b193cf3365903c4f3951e35" + "reference": "ba62ae565f1327c2f6366726312ed828c85853bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/12e7e52515ce37191b193cf3365903c4f3951e35", - "reference": "12e7e52515ce37191b193cf3365903c4f3951e35", + "url": "https://api.github.com/repos/symfony/config/zipball/ba62ae565f1327c2f6366726312ed828c85853bc", + "reference": "ba62ae565f1327c2f6366726312ed828c85853bc", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^7.1", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/finder": "<5.4", + "symfony/finder": "<6.4", "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3408,7 +3064,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v6.4.8" + "source": "https://github.com/symfony/config/tree/v7.3.0" }, "funding": [ { @@ -3424,51 +3080,51 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2025-05-15T09:04:05+00:00" }, { "name": "symfony/console", - "version": "v6.4.12", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765" + "reference": "9e27aecde8f506ba0fd1d9989620c04a87697101" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/72d080eb9edf80e36c19be61f72c98ed8273b765", - "reference": "72d080eb9edf80e36c19be61f72c98ed8273b765", + "url": "https://api.github.com/repos/symfony/console/zipball/9e27aecde8f506ba0fd1d9989620c04a87697101", + "reference": "9e27aecde8f506ba0fd1d9989620c04a87697101", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" + "symfony/string": "^7.2" }, "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3502,7 +3158,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.12" + "source": "https://github.com/symfony/console/tree/v7.3.1" }, "funding": [ { @@ -3518,20 +3174,20 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:15:52+00:00" + "time": "2025-06-27T19:55:54+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -3539,12 +3195,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -3569,7 +3225,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -3585,35 +3241,37 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.10", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" + "reference": "35b55b166f6752d6aaf21aa042fc5ed280fce235" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", - "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/35b55b166f6752d6aaf21aa042fc5ed280fce235", + "reference": "35b55b166f6752d6aaf21aa042fc5ed280fce235", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/var-dumper": "^6.4|^7.0" }, "conflict": { "symfony/deprecation-contracts": "<2.5", "symfony/http-kernel": "<6.4" }, "require-dev": { + "symfony/console": "^6.4|^7.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^5.4|^6.0|^7.0" + "symfony/serializer": "^6.4|^7.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -3644,7 +3302,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.10" + "source": "https://github.com/symfony/error-handler/tree/v7.3.1" }, "funding": [ { @@ -3660,29 +3318,29 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:30:32+00:00" + "time": "2025-06-13T07:48:40+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.12", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12" + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/f810e3cbdf7fdc35983968523d09f349fa9ada12", - "reference": "f810e3cbdf7fdc35983968523d09f349fa9ada12", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb", + "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "symfony/process": "^5.4|^6.4|^7.0" + "symfony/process": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3710,7 +3368,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.12" + "source": "https://github.com/symfony/filesystem/tree/v7.3.0" }, "funding": [ { @@ -3726,11 +3384,11 @@ "type": "tidelift" } ], - "time": "2024-09-16T16:01:33+00:00" + "time": "2024-10-25T15:15:23+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -3754,8 +3412,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3789,7 +3447,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -3809,7 +3467,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -3830,8 +3488,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -3867,7 +3525,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -3887,7 +3545,7 @@ }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -3908,166 +3566,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4075,7 +3575,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, "classmap": [ "Resources/stubs" @@ -4086,10 +3586,6 @@ "MIT" ], "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" @@ -4099,16 +3595,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "intl", + "normalizer", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -4127,27 +3625,34 @@ "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/polyfill-php81", - "version": "v1.31.0", + "name": "symfony/polyfill-mbstring", + "version": "v1.32.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4155,11 +3660,8 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4175,16 +3677,17 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "mbstring", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -4200,25 +3703,24 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/process", - "version": "v5.4.44", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "1b9fa82b5c62cd49da8c9e3952dd8531ada65096" + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1b9fa82b5c62cd49da8c9e3952dd8531ada65096", - "reference": "1b9fa82b5c62cd49da8c9e3952dd8531ada65096", + "url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -4246,7 +3748,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.44" + "source": "https://github.com/symfony/process/tree/v7.3.0" }, "funding": [ { @@ -4262,20 +3764,20 @@ "type": "tidelift" } ], - "time": "2024-09-17T12:46:43+00:00" + "time": "2025-04-17T09:11:12+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "shasum": "" }, "require": { @@ -4288,12 +3790,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -4329,7 +3831,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" }, "funding": [ { @@ -4345,24 +3847,24 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2025-04-25T09:37:31+00:00" }, { "name": "symfony/string", - "version": "v6.4.12", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b" + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b", - "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b", + "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125", + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -4372,11 +3874,12 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/intl": "^6.2|^7.0", + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0" + "symfony/var-exporter": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -4415,7 +3918,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.12" + "source": "https://github.com/symfony/string/tree/v7.3.0" }, "funding": [ { @@ -4431,38 +3934,37 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:15:52+00:00" + "time": "2025-04-20T20:19:01+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.11", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694" + "reference": "6e209fbe5f5a7b6043baba46fe5735a4b85d0d42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694", - "reference": "ee14c8254a480913268b1e3b1cba8045ed122694", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6e209fbe5f5a7b6043baba46fe5735a4b85d0d42", + "reference": "6e209fbe5f5a7b6043baba46fe5735a4b85d0d42", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<5.4" + "symfony/console": "<6.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^6.3|^7.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/uid": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4" + "symfony/console": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", + "twig/twig": "^3.12" }, "bin": [ "Resources/bin/var-dump-server" @@ -4500,7 +4002,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.11" + "source": "https://github.com/symfony/var-dumper/tree/v7.3.1" }, "funding": [ { @@ -4516,38 +4018,34 @@ "type": "tidelift" } ], - "time": "2024-08-30T16:03:21+00:00" + "time": "2025-06-27T19:55:54+00:00" }, { "name": "symfony/web-link", - "version": "v5.4.40", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/web-link.git", - "reference": "2615fe9ec22e210f06826d8ef4c32249ff9bfc01" + "reference": "7697f74fce67555665339423ce453cc8216a98ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-link/zipball/2615fe9ec22e210f06826d8ef4c32249ff9bfc01", - "reference": "2615fe9ec22e210f06826d8ef4c32249ff9bfc01", + "url": "https://api.github.com/repos/symfony/web-link/zipball/7697f74fce67555665339423ce453cc8216a98ff", + "reference": "7697f74fce67555665339423ce453cc8216a98ff", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/link": "^1.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.2", + "psr/link": "^1.1|^2.0" }, "conflict": { - "symfony/http-kernel": "<5.3" + "symfony/http-kernel": "<6.4" }, "provide": { - "psr/link-implementation": "1.0" + "psr/link-implementation": "1.0|2.0" }, "require-dev": { - "symfony/http-kernel": "^5.3|^6.0" - }, - "suggest": { - "symfony/http-kernel": "" + "symfony/http-kernel": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -4587,7 +4085,7 @@ "push" ], "support": { - "source": "https://github.com/symfony/web-link/tree/v5.4.40" + "source": "https://github.com/symfony/web-link/tree/v7.3.0" }, "funding": [ { @@ -4603,35 +4101,32 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2025-05-19T13:28:18+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.44", + "version": "v7.3.1", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "7025b964f123bbf1896d7563db6ec7f1f63e918a" + "reference": "0c3555045a46ab3cd4cc5a69d161225195230edb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/7025b964f123bbf1896d7563db6ec7f1f63e918a", - "reference": "7025b964f123bbf1896d7563db6ec7f1f63e918a", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0c3555045a46ab3cd4cc5a69d161225195230edb", + "reference": "0c3555045a46ab3cd4cc5a69d161225195230edb", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<5.3" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^5.3|^6.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" + "symfony/console": "^6.4|^7.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -4662,7 +4157,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.44" + "source": "https://github.com/symfony/yaml/tree/v7.3.1" }, "funding": [ { @@ -4678,7 +4173,7 @@ "type": "tidelift" } ], - "time": "2024-09-16T14:36:56+00:00" + "time": "2025-06-03T06:57:57+00:00" }, { "name": "theiconic/php-ga-measurement-protocol", @@ -4727,26 +4222,26 @@ }, { "name": "twig/twig", - "version": "v3.14.0", + "version": "v3.21.1", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72" + "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72", - "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d", + "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php81": "^1.29" + "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { + "phpstan/phpstan": "^2.0", "psr/container": "^1.0|^2.0", "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, @@ -4790,7 +4285,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.14.0" + "source": "https://github.com/twigphp/Twig/tree/v3.21.1" }, "funding": [ { @@ -4802,7 +4297,7 @@ "type": "tidelift" } ], - "time": "2024-09-09T17:55:12+00:00" + "time": "2025-05-03T07:21:55+00:00" } ], "packages-dev": [ @@ -4872,16 +4367,16 @@ }, { "name": "composer/pcre", - "version": "3.3.1", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4" + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4", - "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { @@ -4891,19 +4386,19 @@ "phpstan/phpstan": "<1.11.10" }, "require-dev": { - "phpstan/phpstan": "^1.11.10", - "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - }, "phpstan": { "includes": [ "extension.neon" ] + }, + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { @@ -4931,7 +4426,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.3.1" + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { @@ -4947,7 +4442,7 @@ "type": "tidelift" } ], - "time": "2024-08-27T18:44:43+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { "name": "composer/semver", @@ -5206,57 +4701,59 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.64.0", + "version": "v3.84.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "58dd9c931c785a79739310aef5178928305ffa67" + "reference": "38dad0767bf2a9b516b976852200ae722fe984ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/58dd9c931c785a79739310aef5178928305ffa67", - "reference": "58dd9c931c785a79739310aef5178928305ffa67", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/38dad0767bf2a9b516b976852200ae722fe984ca", + "reference": "38dad0767bf2a9b516b976852200ae722fe984ca", "shasum": "" }, "require": { "clue/ndjson-react": "^1.0", "composer/semver": "^3.4", - "composer/xdebug-handler": "^3.0.3", + "composer/xdebug-handler": "^3.0.5", "ext-filter": "*", + "ext-hash": "*", "ext-json": "*", "ext-tokenizer": "*", - "fidry/cpu-core-counter": "^1.0", + "fidry/cpu-core-counter": "^1.2", "php": "^7.4 || ^8.0", - "react/child-process": "^0.6.5", + "react/child-process": "^0.6.6", "react/event-loop": "^1.0", - "react/promise": "^2.0 || ^3.0", + "react/promise": "^2.11 || ^3.0", "react/socket": "^1.0", "react/stream": "^1.0", - "sebastian/diff": "^4.0 || ^5.0 || ^6.0", - "symfony/console": "^5.4 || ^6.0 || ^7.0", - "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", - "symfony/finder": "^5.4 || ^6.0 || ^7.0", - "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0", - "symfony/polyfill-mbstring": "^1.28", - "symfony/polyfill-php80": "^1.28", - "symfony/polyfill-php81": "^1.28", - "symfony/process": "^5.4 || ^6.0 || ^7.0", - "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0" + "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0", + "symfony/console": "^5.4.45 || ^6.4.13 || ^7.0", + "symfony/event-dispatcher": "^5.4.45 || ^6.4.13 || ^7.0", + "symfony/filesystem": "^5.4.45 || ^6.4.13 || ^7.0", + "symfony/finder": "^5.4.45 || ^6.4.17 || ^7.0", + "symfony/options-resolver": "^5.4.45 || ^6.4.16 || ^7.0", + "symfony/polyfill-mbstring": "^1.32", + "symfony/polyfill-php80": "^1.32", + "symfony/polyfill-php81": "^1.32", + "symfony/process": "^5.4.47 || ^6.4.20 || ^7.2", + "symfony/stopwatch": "^5.4.45 || ^6.4.19 || ^7.0" }, "require-dev": { - "facile-it/paraunit": "^1.3 || ^2.3", - "infection/infection": "^0.29.5", - "justinrainbow/json-schema": "^5.2", - "keradus/cli-executor": "^2.1", - "mikey179/vfsstream": "^1.6.11", - "php-coveralls/php-coveralls": "^2.7", + "facile-it/paraunit": "^1.3.1 || ^2.6", + "infection/infection": "^0.29.14", + "justinrainbow/json-schema": "^5.3 || ^6.4", + "keradus/cli-executor": "^2.2", + "mikey179/vfsstream": "^1.6.12", + "php-coveralls/php-coveralls": "^2.8", "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5", - "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2", - "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", + "phpunit/phpunit": "^9.6.23 || ^10.5.47 || ^11.5.25", + "symfony/polyfill-php84": "^1.32", + "symfony/var-dumper": "^5.4.48 || ^6.4.23 || ^7.3.1", + "symfony/yaml": "^5.4.45 || ^6.4.23 || ^7.3.1" }, "suggest": { "ext-dom": "For handling output formats in XML", @@ -5297,7 +4794,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.64.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.84.0" }, "funding": [ { @@ -5305,27 +4802,30 @@ "type": "github" } ], - "time": "2024-08-30T23:09:38+00:00" + "time": "2025-07-15T18:21:57+00:00" }, { - "name": "maximebf/debugbar", - "version": "v1.23.2", + "name": "php-debugbar/php-debugbar", + "version": "v2.2.4", "source": { "type": "git", - "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "689720d724c771ac4add859056744b7b3f2406da" + "url": "https://github.com/php-debugbar/php-debugbar.git", + "reference": "3146d04671f51f69ffec2a4207ac3bdcf13a9f35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/689720d724c771ac4add859056744b7b3f2406da", - "reference": "689720d724c771ac4add859056744b7b3f2406da", + "url": "https://api.github.com/repos/php-debugbar/php-debugbar/zipball/3146d04671f51f69ffec2a4207ac3bdcf13a9f35", + "reference": "3146d04671f51f69ffec2a4207ac3bdcf13a9f35", "shasum": "" }, "require": { - "php": "^7.2|^8", + "php": "^8", "psr/log": "^1|^2|^3", "symfony/var-dumper": "^4|^5|^6|^7" }, + "replace": { + "maximebf/debugbar": "self.version" + }, "require-dev": { "dbrekelmans/bdi": "^1", "phpunit/phpunit": "^8|^9", @@ -5340,7 +4840,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.23-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -5364,33 +4864,35 @@ } ], "description": "Debug bar in the browser for php application", - "homepage": "https://github.com/maximebf/php-debugbar", + "homepage": "https://github.com/php-debugbar/php-debugbar", "keywords": [ "debug", - "debugbar" + "debug bar", + "debugbar", + "dev" ], "support": { - "issues": "https://github.com/maximebf/php-debugbar/issues", - "source": "https://github.com/maximebf/php-debugbar/tree/v1.23.2" + "issues": "https://github.com/php-debugbar/php-debugbar/issues", + "source": "https://github.com/php-debugbar/php-debugbar/tree/v2.2.4" }, - "time": "2024-09-16T11:23:09+00:00" + "time": "2025-07-22T14:01:30+00:00" }, { "name": "phpstan/phpstan", - "version": "1.12.6", + "version": "2.1.19", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae" + "reference": "473a8c30e450d87099f76313edcbb90852f9afdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc4d2f145a88ea7141ae698effd64d9df46527ae", - "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/473a8c30e450d87099f76313edcbb90852f9afdf", + "reference": "473a8c30e450d87099f76313edcbb90852f9afdf", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^7.4|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -5431,7 +4933,54 @@ "type": "github" } ], - "time": "2024-10-06T15:03:59+00:00" + "time": "2025-07-21T19:58:24+00:00" + }, + { + "name": "phpstan/phpstan-deprecation-rules", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", + "reference": "468e02c9176891cc901143da118f09dc9505fc2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/468e02c9176891cc901143da118f09dc9505fc2f", + "reference": "468e02c9176891cc901143da118f09dc9505fc2f", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "phpstan/phpstan": "^2.1.15" + }, + "require-dev": { + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "rules.neon" + ] + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", + "support": { + "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", + "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/2.0.3" + }, + "time": "2025-05-14T10:56:57+00:00" }, { "name": "psr/event-dispatcher", @@ -5557,33 +5106,33 @@ }, { "name": "react/child-process", - "version": "v0.6.5", + "version": "v0.6.6", "source": { "type": "git", "url": "https://github.com/reactphp/child-process.git", - "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43" + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/child-process/zipball/e71eb1aa55f057c7a4a0d08d06b0b0a484bead43", - "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", "shasum": "" }, "require": { "evenement/evenement": "^3.0 || ^2.0 || ^1.0", "php": ">=5.3.0", "react/event-loop": "^1.2", - "react/stream": "^1.2" + "react/stream": "^1.4" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", - "react/socket": "^1.8", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/socket": "^1.16", "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" }, "type": "library", "autoload": { "psr-4": { - "React\\ChildProcess\\": "src" + "React\\ChildProcess\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5620,19 +5169,15 @@ ], "support": { "issues": "https://github.com/reactphp/child-process/issues", - "source": "https://github.com/reactphp/child-process/tree/v0.6.5" + "source": "https://github.com/reactphp/child-process/tree/v0.6.6" }, "funding": [ { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2022-09-16T13:41:56+00:00" + "time": "2025-01-01T16:37:48+00:00" }, { "name": "react/dns", @@ -6015,29 +5560,29 @@ }, { "name": "sebastian/diff", - "version": "5.1.1", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" + "reference": "7ab1ea946c012266ca32390913653d844ecd085f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", - "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^6.4" + "phpunit/phpunit": "^12.0", + "symfony/process": "^7.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -6070,7 +5615,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0" }, "funding": [ { @@ -6078,20 +5623,20 @@ "type": "github" } ], - "time": "2024-03-02T07:15:17+00:00" + "time": "2025-02-07T04:55:46+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.10.3", + "version": "3.13.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "62d32998e820bddc40f99f8251958aed187a5c9c" + "reference": "5b5e3821314f947dd040c70f7992a64eac89025c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/62d32998e820bddc40f99f8251958aed187a5c9c", - "reference": "62d32998e820bddc40f99f8251958aed187a5c9c", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5b5e3821314f947dd040c70f7992a64eac89025c", + "reference": "5b5e3821314f947dd040c70f7992a64eac89025c", "shasum": "" }, "require": { @@ -6156,30 +5701,34 @@ { "url": "https://opencollective.com/php_codesniffer", "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2024-09-18T10:38:58+00:00" + "time": "2025-06-17T22:17:01+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.8", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b" + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8d7507f02b06e06815e56bb39aa0128e3806208b", - "reference": "8d7507f02b06e06815e56bb39aa0128e3806208b", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d", + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<5.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -6188,13 +5737,13 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0|^7.0" + "symfony/stopwatch": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -6222,7 +5771,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.8" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0" }, "funding": [ { @@ -6238,20 +5787,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2025-04-22T09:11:45+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { @@ -6260,12 +5809,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -6298,7 +5847,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ { @@ -6314,27 +5863,27 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/finder", - "version": "v6.4.11", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", - "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d", + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2" }, "require-dev": { - "symfony/filesystem": "^6.0|^7.0" + "symfony/filesystem": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -6362,7 +5911,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.11" + "source": "https://github.com/symfony/finder/tree/v7.3.0" }, "funding": [ { @@ -6378,24 +5927,24 @@ "type": "tidelift" } ], - "time": "2024-08-13T14:27:37+00:00" + "time": "2024-12-30T19:00:26+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.4.8", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "22ab9e9101ab18de37839074f8a1197f55590c1b" + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/22ab9e9101ab18de37839074f8a1197f55590c1b", - "reference": "22ab9e9101ab18de37839074f8a1197f55590c1b", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca", + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -6429,7 +5978,163 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.4.8" + "source": "https://github.com/symfony/options-resolver/tree/v7.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-04-04T13:12:05+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-01-02T08:10:11+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0" }, "funding": [ { @@ -6445,24 +6150,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/stopwatch", - "version": "v6.4.8", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "63e069eb616049632cde9674c46957819454b8aa" + "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/63e069eb616049632cde9674c46957819454b8aa", - "reference": "63e069eb616049632cde9674c46957819454b8aa", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", + "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/service-contracts": "^2.5|^3" }, "type": "library", @@ -6491,7 +6196,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.4.8" + "source": "https://github.com/symfony/stopwatch/tree/v7.3.0" }, "funding": [ { @@ -6507,24 +6212,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2025-02-24T10:49:57+00:00" } ], "aliases": [], "minimum-stability": "stable", "stability-flags": { - "joomla/github": 20 + "joomla/renderer": 20 }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^8.1", + "php": "^8.3", "ext-json": "*", "ext-pdo": "*" }, - "platform-dev": [], + "platform-dev": {}, "platform-overrides": { - "php": "8.1.0" + "php": "8.3.0" }, "plugin-api-version": "2.6.0" } diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 00000000..73a25345 --- /dev/null +++ b/phpstan-baseline.neon @@ -0,0 +1,91 @@ +parameters: + ignoreErrors: + - + message: '#^Constant JPATH_ROOT not found\.$#' + identifier: constant.notFound + count: 1 + path: src/Command/GenerateSriCommand.php + + - + message: '#^Access to an undefined property Joomla\\Http\\Response\:\:\$body\.$#' + identifier: property.notFound + count: 1 + path: src/Command/Packagist/SyncCommand.php + + - + message: '#^Constant JPATH_ROOT not found\.$#' + identifier: constant.notFound + count: 3 + path: src/Command/Twig/ResetCacheCommand.php + + - + message: '#^Constant JPATH_ROOT not found\.$#' + identifier: constant.notFound + count: 3 + path: src/Command/UpdateCommand.php + + - + message: '#^Call to an undefined method Throwable\:\:getAllowedMethods\(\)\.$#' + identifier: method.notFound + count: 1 + path: src/EventListener/ErrorSubscriber.php + + - + message: '#^Access to an undefined property Joomla\\Http\\Response\:\:\$body\.$#' + identifier: property.notFound + count: 1 + path: src/Helper/PackagistHelper.php + + - + message: '#^Cannot access property \$display on array\|float\|int\|string\|false\.$#' + identifier: property.nonObject + count: 1 + path: src/Model/PackageModel.php + + - + message: '#^Constant JPATH_ROOT not found\.$#' + identifier: constant.notFound + count: 1 + path: src/Renderer/FrameworkExtension.php + + - + message: '#^PHPDoc tag @throws with type Joomla\\FrameworkWebsite\\Router\\Exception\\MethodNotAllowedException\|Joomla\\FrameworkWebsite\\Router\\Exception\\RouteNotFoundException is not subtype of Throwable$#' + identifier: throws.notThrowable + count: 1 + path: src/Router/DebugRouter.php + + - + message: '#^Constant JPATH_ROOT not found\.$#' + identifier: constant.notFound + count: 1 + path: src/Service/ApplicationProvider.php + + - + message: '#^Constant JPATH_ROOT not found\.$#' + identifier: constant.notFound + count: 2 + path: src/Service/DebugBarProvider.php + + - + message: '#^PHPDoc tag @return with type DebugBar\\Bridge\\NamespacedTwigProfileCollector is incompatible with native type Twig\\Extension\\ProfilerExtension\.$#' + identifier: return.phpDocType + count: 1 + path: src/Service/DebugBarProvider.php + + - + message: '#^Constant JPATH_ROOT not found\.$#' + identifier: constant.notFound + count: 1 + path: src/Service/LoggingProvider.php + + - + message: '#^Constant JPATH_ROOT not found\.$#' + identifier: constant.notFound + count: 3 + path: src/Service/TemplatingProvider.php + + - + message: '#^Property Joomla\\FrameworkWebsite\\View\\Package\\PackageHtmlView\:\:\$helper is never read, only written\.$#' + identifier: property.onlyWritten + count: 1 + path: src/View/Package/PackageHtmlView.php diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 00000000..6d0d5586 --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,13 @@ +includes: + - vendor/phpstan/phpstan-deprecation-rules/rules.neon + - phpstan-baseline.neon +parameters: + level: 5 + paths: + - bin + - src + - www + scanDirectories: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false diff --git a/src/Asset/MixPathPackage.php b/src/Asset/MixPathPackage.php index f36d39a9..6a269899 100644 --- a/src/Asset/MixPathPackage.php +++ b/src/Asset/MixPathPackage.php @@ -46,7 +46,7 @@ public function __construct(Package $decoratedPackage, string $basePath, Version * * @return string The public path */ - public function getUrl($path) + public function getUrl($path): string { if ($this->isAbsoluteUrl($path)) { return $path; diff --git a/src/DebugWebApplication.php b/src/DebugWebApplication.php index 9fc6e7ab..9a623340 100644 --- a/src/DebugWebApplication.php +++ b/src/DebugWebApplication.php @@ -59,7 +59,7 @@ public function __construct(DebugBar $debugBar, ControllerResolverInterface $con */ protected function doExecute(): void { - $route = $this->router->parseRoute($this->get('uri.route'), $this->input->getMethod()); + $route = $this->router->parseRoute($this->get('uri.route', ''), $this->input->getMethod()); // Add variables to the input if not already set foreach ($route->getRouteVariables() as $key => $value) { diff --git a/src/Renderer/ApplicationContext.php b/src/Renderer/ApplicationContext.php index 0874af7c..149cd130 100644 --- a/src/Renderer/ApplicationContext.php +++ b/src/Renderer/ApplicationContext.php @@ -40,7 +40,7 @@ public function __construct(AbstractApplication $app) * * @return string The base path */ - public function getBasePath() + public function getBasePath(): string { return rtrim($this->app->get('uri.base.path'), '/'); } @@ -50,7 +50,7 @@ public function getBasePath() * * @return boolean */ - public function isSecure() + public function isSecure(): bool { if ($this->app instanceof AbstractWebApplication) { return $this->app->isSslConnection(); diff --git a/www/index.php b/www/index.php index 9635df6d..42387774 100644 --- a/www/index.php +++ b/www/index.php @@ -13,7 +13,7 @@ // Ensure we've initialized Composer if (!file_exists(JPATH_ROOT . '/vendor/autoload.php')) { - header('HTTP/1.1 500 Internal Server Error', null, 500); + header('HTTP/1.1 500 Internal Server Error', true, 500); echo 'Server Error

Composer Not Installed

Composer is not set up properly, please run "composer install".

'; exit(500); @@ -59,7 +59,7 @@ } catch (\Throwable $e) { error_log($e); - header('HTTP/1.1 500 Internal Server Error', null, 500); + header('HTTP/1.1 500 Internal Server Error', true, 500); echo 'Container Initialization Error

Container Initialization Error

An error occurred while creating the DI container: ' . $e->getMessage() . '

'; exit(1); @@ -82,7 +82,7 @@ error_log($e); if (!headers_sent()) { - header('HTTP/1.1 500 Internal Server Error', null, 500); + header('HTTP/1.1 500 Internal Server Error', true, 500); header('Content-Type: text/html; charset=utf-8'); }