diff --git a/.github/workflows/mago.yml b/.github/workflows/mago.yml index 4b932db..1be94b2 100644 --- a/.github/workflows/mago.yml +++ b/.github/workflows/mago.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - php: ['8.3', '8.4', '8.5'] + php: ['8.4', '8.5'] dependencies: ['lowest', 'locked', 'latest'] steps: - name: Checkout @@ -24,29 +24,19 @@ jobs: coverage: none tools: mago - # PHPUnit 13 requires PHP 8.4+. On 8.3, install without dev - # dependencies so Mago can still lint production code. - - name: Determine Composer flags - run: | - FLAGS="--no-interaction --no-progress" - if [ "${{ matrix.php }}" = "8.3" ]; then - FLAGS="--no-dev $FLAGS" - fi - echo "COMPOSER_FLAGS=$FLAGS" >> "$GITHUB_ENV" - # Resolve dependencies at the configured strategy level. # "locked" uses the committed composer.lock as-is. - name: Install dependencies (lowest) if: matrix.dependencies == 'lowest' - run: composer update --prefer-lowest $COMPOSER_FLAGS + run: composer update --prefer-lowest --no-interaction --no-progress - name: Install dependencies (locked) if: matrix.dependencies == 'locked' - run: composer install $COMPOSER_FLAGS + run: composer install --no-interaction --no-progress - name: Install dependencies (latest) if: matrix.dependencies == 'latest' - run: composer update $COMPOSER_FLAGS + run: composer update --no-interaction --no-progress # Set the Mago PHP version via env var so it overrides mago.toml # for each matrix PHP version without mutating the config file. @@ -61,9 +51,9 @@ jobs: run: mago lint - name: Analyze - if: (success() || failure()) && matrix.php != '8.3' + if: success() || failure() run: mago analyze - name: Test - if: (success() || failure()) && matrix.php != '8.3' + if: success() || failure() run: ./vendor/bin/phpunit --colors=always \ No newline at end of file diff --git a/composer.json b/composer.json index e4c2950..ec82ebe 100644 --- a/composer.json +++ b/composer.json @@ -15,20 +15,19 @@ } ], "require": { - "php": "~8.3.0 || ~8.4.0 || ~8.5.0", - "fig/http-message-util": "^1.1", - "laminas/laminas-diactoros": "^3.8", - "laminas/laminas-filter": "3.5.x-dev", - "laminas/laminas-inputfilter": "3.0.x-dev", + "php": "~8.4.0 || ~8.5.0", "php-standard-library/type": "^6.2.1", "psr/http-message": "^2.0", "psr/http-server-handler": "^1.0", - "psr/http-server-middleware": "^1.0", - "webmozart/assert": "^2.4.1" + "psr/http-server-middleware": "^1.0" }, "require-dev": { + "fig/http-message-util": "^1.1", + "laminas/laminas-diactoros": "^3.8", + "laminas/laminas-filter": "3.5.x-dev", + "laminas/laminas-inputfilter": "3.0.x-dev", "php-db/phpdb": "^0.6.0", - "phpunit/phpunit": "^11.5.55", + "phpunit/phpunit": "^13.2.0", "roave/security-advisories": "dev-master" }, "autoload": { diff --git a/composer.lock b/composer.lock index 99ba449..eb30311 100644 --- a/composer.lock +++ b/composer.lock @@ -4,86 +4,111 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0b5aa35aab9c60f1e8635578d7cabe1c", + "content-hash": "ff8fe1e1b82a3493693c04c07786228f", "packages": [ { - "name": "brick/varexporter", - "version": "0.6.0", + "name": "php-standard-library/collection", + "version": "6.2.1", "source": { "type": "git", - "url": "https://github.com/brick/varexporter.git", - "reference": "af98bfc2b702a312abbcaff37656dbe419cec5bc" + "url": "https://github.com/php-standard-library/collection.git", + "reference": "0e8b757a16ccb1f68a70f4ada8565099743d50b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/varexporter/zipball/af98bfc2b702a312abbcaff37656dbe419cec5bc", - "reference": "af98bfc2b702a312abbcaff37656dbe419cec5bc", + "url": "https://api.github.com/repos/php-standard-library/collection/zipball/0e8b757a16ccb1f68a70f4ada8565099743d50b9", + "reference": "0e8b757a16ccb1f68a70f4ada8565099743d50b9", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", - "php": "^8.1" + "php": "~8.4.0 || ~8.5.0", + "php-standard-library/default": "^6.0", + "php-standard-library/foundation": "^6.0" + }, + "conflict": { + "azjezz/psl": "*" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^10.5", - "vimeo/psalm": "6.8.4" + "php-standard-library/str": "^6.0", + "php-standard-library/vec": "^6.0", + "phpunit/phpunit": "^13.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-next": "6.2.x-dev" + } + }, "autoload": { "psr-4": { - "Brick\\VarExporter\\": "src/" + "Psl\\Collection\\": "src/Psl/Collection/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A powerful alternative to var_export(), which can export closures and objects without __set_state()", + "authors": [ + { + "name": "Seifeddine Gmati", + "email": "azjezz@carthage.software" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" + } + ], + "description": "Generic, object-oriented Vector, Map, and Set collections with immutable and mutable variants", + "homepage": "https://php-standard-library.dev", "keywords": [ - "var_export" + "collection", + "generics", + "map", + "set", + "vector" ], "support": { - "issues": "https://github.com/brick/varexporter/issues", - "source": "https://github.com/brick/varexporter/tree/0.6.0" + "source": "https://github.com/php-standard-library/collection/tree/6.2.1" }, - "funding": [ - { - "url": "https://github.com/BenMorel", - "type": "github" - } - ], - "time": "2025-02-20T17:42:39+00:00" + "time": "2026-05-18T22:19:21+00:00" }, { - "name": "fig/http-message-util", - "version": "1.1.5", + "name": "php-standard-library/comparison", + "version": "6.2.1", "source": { "type": "git", - "url": "https://github.com/php-fig/http-message-util.git", - "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765" + "url": "https://github.com/php-standard-library/comparison.git", + "reference": "1884e2218c231c285b6039e9b2010f5dd956ae20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765", - "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765", + "url": "https://api.github.com/repos/php-standard-library/comparison/zipball/1884e2218c231c285b6039e9b2010f5dd956ae20", + "reference": "1884e2218c231c285b6039e9b2010f5dd956ae20", "shasum": "" }, "require": { - "php": "^5.3 || ^7.0 || ^8.0" + "php": "~8.4.0 || ~8.5.0", + "php-standard-library/default": "^6.0", + "php-standard-library/foundation": "^6.0" }, - "suggest": { - "psr/http-message": "The package containing the PSR-7 interfaces" + "conflict": { + "azjezz/psl": "*" + }, + "require-dev": { + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-next": "6.2.x-dev" } }, "autoload": { + "files": [ + "src/Psl/bootstrap.php" + ], "psr-4": { - "Fig\\Http\\Message\\": "src/" + "Psl\\Comparison\\": "src/Psl/Comparison/" } }, "notification-url": "https://packagist.org/downloads/", @@ -92,634 +117,565 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Seifeddine Gmati", + "email": "azjezz@carthage.software" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" } ], - "description": "Utility classes and constants for use with PSR-7 (psr/http-message)", + "description": "Interfaces and functions for type-safe, consistent value comparison", + "homepage": "https://php-standard-library.dev", "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" + "comparable", + "comparison", + "ordering" ], "support": { - "issues": "https://github.com/php-fig/http-message-util/issues", - "source": "https://github.com/php-fig/http-message-util/tree/1.1.5" + "source": "https://github.com/php-standard-library/comparison/tree/6.2.1" }, - "time": "2020-11-24T22:02:12+00:00" + "time": "2026-03-28T18:39:47+00:00" }, { - "name": "laminas/laminas-diactoros", - "version": "3.8.0", + "name": "php-standard-library/default", + "version": "6.2.1", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "60c182916b2749480895601649563970f3f12ec4" + "url": "https://github.com/php-standard-library/default.git", + "reference": "89f05ec6e6a29e8c07de7b6755d14d05b06048e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/60c182916b2749480895601649563970f3f12ec4", - "reference": "60c182916b2749480895601649563970f3f12ec4", + "url": "https://api.github.com/repos/php-standard-library/default/zipball/89f05ec6e6a29e8c07de7b6755d14d05b06048e2", + "reference": "89f05ec6e6a29e8c07de7b6755d14d05b06048e2", "shasum": "" }, "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", - "psr/http-factory": "^1.1", - "psr/http-message": "^1.1 || ^2.0" + "php": "~8.4.0 || ~8.5.0" }, "conflict": { - "amphp/amp": "<2.6.4" - }, - "provide": { - "psr/http-factory-implementation": "^1.0", - "psr/http-message-implementation": "^1.1 || ^2.0" + "azjezz/psl": "*" }, "require-dev": { - "ext-curl": "*", - "ext-dom": "*", - "ext-gd": "*", - "ext-libxml": "*", - "http-interop/http-factory-tests": "^2.2.0", - "laminas/laminas-coding-standard": "~3.1.0", - "php-http/psr7-integration-tests": "^1.4.0", - "phpunit/phpunit": "^10.5.36", - "psalm/plugin-phpunit": "^0.19.5", - "vimeo/psalm": "^6.13" + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { - "laminas": { - "module": "Laminas\\Diactoros", - "config-provider": "Laminas\\Diactoros\\ConfigProvider" + "branch-alias": { + "dev-next": "6.2.x-dev" } }, "autoload": { - "files": [ - "src/functions/create_uploaded_file.php", - "src/functions/marshal_headers_from_sapi.php", - "src/functions/marshal_method_from_sapi.php", - "src/functions/marshal_protocol_version_from_sapi.php", - "src/functions/normalize_server.php", - "src/functions/normalize_uploaded_files.php", - "src/functions/parse_cookie_header.php" - ], "psr-4": { - "Laminas\\Diactoros\\": "src/" + "Psl\\Default\\": "src/Psl/Default/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "PSR HTTP Message implementations", - "homepage": "https://laminas.dev", + "authors": [ + { + "name": "Seifeddine Gmati", + "email": "azjezz@carthage.software" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" + } + ], + "description": "DefaultInterface for classes to provide standardized default instances", + "homepage": "https://php-standard-library.dev", "keywords": [ - "http", - "laminas", - "psr", - "psr-17", - "psr-7" + "default", + "interface" ], "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-diactoros/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-diactoros/issues", - "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", - "source": "https://github.com/laminas/laminas-diactoros" + "source": "https://github.com/php-standard-library/default/tree/6.2.1" }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2025-10-12T15:31:36+00:00" + "time": "2026-03-28T18:39:47+00:00" }, { - "name": "laminas/laminas-filter", - "version": "3.5.x-dev", + "name": "php-standard-library/either-or-both", + "version": "6.2.1", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-filter.git", - "reference": "a10a48fefb57370b65f4dcc9f5a5e8669a99e10a" + "url": "https://github.com/php-standard-library/either-or-both.git", + "reference": "a1f4d80ee5ee616272688941390d2eae2d1948e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-filter/zipball/a10a48fefb57370b65f4dcc9f5a5e8669a99e10a", - "reference": "a10a48fefb57370b65f4dcc9f5a5e8669a99e10a", + "url": "https://api.github.com/repos/php-standard-library/either-or-both/zipball/a1f4d80ee5ee616272688941390d2eae2d1948e6", + "reference": "a1f4d80ee5ee616272688941390d2eae2d1948e6", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "ext-filter": "*", - "ext-iconv": "*", - "ext-mbstring": "*", - "laminas/laminas-servicemanager": "^4.1.0", - "laminas/laminas-stdlib": "^3.19.0", - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", - "psr/container": "^1 || ^2", - "psr/http-factory": "^1.1", - "psr/http-message": "^2.0" + "php": "~8.4.0 || ~8.5.0", + "php-standard-library/comparison": "^6.0", + "php-standard-library/foundation": "^6.0", + "php-standard-library/option": "^6.0" }, - "require-dev": { - "ext-bz2": "*", - "ext-zip": "*", - "ext-zlib": "*", - "laminas/laminas-coding-standard": "^3.1.0", - "laminas/laminas-diactoros": "^3.8", - "pear/archive_tar": "^1.6.0", - "pear/pear": "^1.10.16", - "phpunit/phpunit": "^11.5.42", - "psalm/plugin-phpunit": "^0.19.5", - "vimeo/psalm": "^6.13.1" + "conflict": { + "azjezz/psl": "*" }, - "suggest": { - "laminas/laminas-i18n": "Laminas\\I18n component for filters depending on i18n functionality", - "psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters" + "require-dev": { + "php-standard-library/str": "^6.0", + "phpunit/phpunit": "^13.0" }, - "default-branch": true, "type": "library", "extra": { - "laminas": { - "component": "Laminas\\Filter", - "config-provider": "Laminas\\Filter\\ConfigProvider" + "branch-alias": { + "dev-next": "6.2.x-dev" } }, "autoload": { + "files": [ + "src/Psl/bootstrap.php" + ], "psr-4": { - "Laminas\\Filter\\": "src/" + "Psl\\EitherOrBoth\\": "src/Psl/EitherOrBoth/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Programmatically filter and normalize data and files", - "homepage": "https://laminas.dev", + "authors": [ + { + "name": "Seifeddine Gmati", + "email": "azjezz@carthage.software" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" + } + ], + "description": "Three-variant disjoint union type (Left/Right/Both) for values that may be present on either or both of two sides", + "homepage": "https://php-standard-library.dev", "keywords": [ - "filter", - "laminas" + "both", + "either", + "either-or-both", + "these", + "union-type" ], "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-filter/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-filter/issues", - "rss": "https://github.com/laminas/laminas-filter/releases.atom", - "source": "https://github.com/laminas/laminas-filter" + "source": "https://github.com/php-standard-library/either-or-both/tree/6.2.1" }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2026-05-25T01:09:26+00:00" + "time": "2026-05-23T20:26:52+00:00" }, { - "name": "laminas/laminas-inputfilter", - "version": "3.0.x-dev", + "name": "php-standard-library/foundation", + "version": "6.2.1", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-inputfilter.git", - "reference": "37deaab3cf0441fb2aab0d87751c638533850820" + "url": "https://github.com/php-standard-library/foundation.git", + "reference": "7f65cec48c8ed3d53dc8dd7643796e2ba6de6008" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-inputfilter/zipball/37deaab3cf0441fb2aab0d87751c638533850820", - "reference": "37deaab3cf0441fb2aab0d87751c638533850820", + "url": "https://api.github.com/repos/php-standard-library/foundation/zipball/7f65cec48c8ed3d53dc8dd7643796e2ba6de6008", + "reference": "7f65cec48c8ed3d53dc8dd7643796e2ba6de6008", "shasum": "" }, "require": { - "laminas/laminas-filter": "^3.4.0", - "laminas/laminas-servicemanager": "^4.0", - "laminas/laminas-stdlib": "^3.19", - "laminas/laminas-validator": "^3.11.0", - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", - "psr/container": "^1.1 || ^2.0", - "psr/http-message": "^2.0" + "php": "~8.4.0 || ~8.5.0" }, "conflict": { - "zendframework/zend-inputfilter": "*" + "azjezz/psl": "*" }, "require-dev": { - "ext-json": "*", - "laminas/laminas-coding-standard": "^3.1.0", - "phpunit/phpunit": "^11.5.46", - "psalm/plugin-phpunit": "^0.19.5", - "vimeo/psalm": "^6.14.3" + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { - "laminas": { - "config-provider": "Laminas\\InputFilter\\ConfigProvider" + "branch-alias": { + "dev-next": "6.2.x-dev" } }, "autoload": { + "files": [ + "src/Psl/bootstrap.php" + ], "psr-4": { - "Laminas\\InputFilter\\": "src/" + "Psl\\": "src/Psl/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Normalize and validate input sets from the web, APIs, the CLI, and more, including files", - "homepage": "https://laminas.dev", + "authors": [ + { + "name": "Seifeddine Gmati", + "email": "azjezz@carthage.software" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" + } + ], + "description": "Exceptions, Ref, and invariant functions", + "homepage": "https://php-standard-library.dev", "keywords": [ - "inputfilter", - "laminas" + "exceptions", + "foundation", + "invariant" ], "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-inputfilter/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-inputfilter/issues", - "rss": "https://github.com/laminas/laminas-inputfilter/releases.atom", - "source": "https://github.com/laminas/laminas-inputfilter" + "source": "https://github.com/php-standard-library/foundation/tree/6.2.1" }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2026-06-11T22:00:16+00:00" + "time": "2026-04-28T06:28:49+00:00" }, { - "name": "laminas/laminas-servicemanager", - "version": "4.5.1", + "name": "php-standard-library/iter", + "version": "6.2.1", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "11192d588876ad04ba2988984c77b4ecb5c771c2" + "url": "https://github.com/php-standard-library/iter.git", + "reference": "d3f2db3adec4cbe5129f3428969ae8508a54aeb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/11192d588876ad04ba2988984c77b4ecb5c771c2", - "reference": "11192d588876ad04ba2988984c77b4ecb5c771c2", + "url": "https://api.github.com/repos/php-standard-library/iter/zipball/d3f2db3adec4cbe5129f3428969ae8508a54aeb7", + "reference": "d3f2db3adec4cbe5129f3428969ae8508a54aeb7", "shasum": "" }, "require": { - "brick/varexporter": "^0.3.8 || ^0.4.0 || ^0.5.0 || ^0.6.0", - "laminas/laminas-stdlib": "^3.19", - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", - "psr/container": "^1.1 || ^2.0" + "php": "~8.4.0 || ~8.5.0", + "php-standard-library/comparison": "^6.0", + "php-standard-library/either-or-both": "^6.0", + "php-standard-library/foundation": "^6.0", + "php-standard-library/option": "^6.0" }, "conflict": { - "laminas/laminas-code": "<4.10.0", - "zendframework/zend-code": "<3.3.1" - }, - "provide": { - "psr/container-implementation": "^1.0 || ^2.0" + "azjezz/psl": "*" }, "require-dev": { - "composer/package-versions-deprecated": "^1.11.99.5", - "friendsofphp/proxy-manager-lts": "^1.0.18", - "laminas/laminas-cli": "^1.11", - "laminas/laminas-coding-standard": "~3.1.0", - "laminas/laminas-container-config-test": "^1.1", - "mikey179/vfsstream": "^1.6.12", - "phpbench/phpbench": "^1.4.1", - "phpunit/phpunit": "^10.5.58", - "psalm/plugin-phpunit": "^0.19.5", - "symfony/console": "^6.4.17 || ^7.3.4", - "vimeo/psalm": "^6.13.1" - }, - "suggest": { - "friendsofphp/proxy-manager-lts": "To handle lazy initialization of services", - "laminas/laminas-cli": "To consume CLI commands provided by this component" + "php-standard-library/collection": "^6.0", + "php-standard-library/dict": "^6.0", + "php-standard-library/math": "^6.0", + "php-standard-library/vec": "^6.0", + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { - "laminas": { - "module": "Laminas\\ServiceManager", - "config-provider": "Laminas\\ServiceManager\\ConfigProvider" + "branch-alias": { + "dev-next": "6.2.x-dev" } }, "autoload": { + "files": [ + "src/Psl/bootstrap.php" + ], "psr-4": { - "Laminas\\ServiceManager\\": "src/" + "Psl\\Iter\\": "src/Psl/Iter/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Factory-Driven Dependency Injection Container", - "homepage": "https://laminas.dev", + "authors": [ + { + "name": "Seifeddine Gmati", + "email": "azjezz@carthage.software" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" + } + ], + "description": "Utility functions for inspecting and reducing iterables - arrays, generators, and iterators", + "homepage": "https://php-standard-library.dev", "keywords": [ - "PSR-11", - "dependency-injection", - "di", - "dic", - "laminas", - "service-manager", - "servicemanager" + "generator", + "iter", + "iterable", + "iterator" ], "support": { - "chat": "https://laminas.dev/chat", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-servicemanager/issues", - "source": "https://github.com/laminas/laminas-servicemanager/tree/4.5.1" + "source": "https://github.com/php-standard-library/iter/tree/6.2.1" }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2026-05-12T09:53:32+00:00" + "time": "2026-04-28T06:28:49+00:00" }, { - "name": "laminas/laminas-stdlib", - "version": "3.21.0", + "name": "php-standard-library/option", + "version": "6.2.1", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "b1c81514cfe158aadf724c42b34d3d0a8164c096" + "url": "https://github.com/php-standard-library/option.git", + "reference": "afe2059dbb3a9e2e3ba6edd371ccbb7d87355a66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/b1c81514cfe158aadf724c42b34d3d0a8164c096", - "reference": "b1c81514cfe158aadf724c42b34d3d0a8164c096", + "url": "https://api.github.com/repos/php-standard-library/option/zipball/afe2059dbb3a9e2e3ba6edd371ccbb7d87355a66", + "reference": "afe2059dbb3a9e2e3ba6edd371ccbb7d87355a66", "shasum": "" }, "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" + "php": "~8.4.0 || ~8.5.0", + "php-standard-library/comparison": "^6.0", + "php-standard-library/foundation": "^6.0" }, "conflict": { - "zendframework/zend-stdlib": "*" + "azjezz/psl": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^3.1.0", - "phpbench/phpbench": "^1.4.1", - "phpunit/phpunit": "^11.5.42", - "psalm/plugin-phpunit": "^0.19.5", - "vimeo/psalm": "^6.13.1" + "phpunit/phpunit": "^13.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-next": "6.2.x-dev" + } + }, "autoload": { + "files": [ + "src/Psl/bootstrap.php" + ], "psr-4": { - "Laminas\\Stdlib\\": "src/" + "Psl\\Option\\": "src/Psl/Option/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "description": "SPL extensions, array utilities, error handlers, and more", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "stdlib" + "MIT" ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-stdlib/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-stdlib/issues", - "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", - "source": "https://github.com/laminas/laminas-stdlib" - }, - "funding": [ + "authors": [ { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" + "name": "Seifeddine Gmati", + "email": "azjezz@carthage.software" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" } ], - "time": "2025-10-11T18:13:12+00:00" + "description": "Option type (Some/None) replacing nullable types with explicit presence semantics", + "homepage": "https://php-standard-library.dev", + "keywords": [ + "monad", + "none", + "option", + "some" + ], + "support": { + "source": "https://github.com/php-standard-library/option/tree/6.2.1" + }, + "time": "2026-05-23T20:26:52+00:00" }, { - "name": "laminas/laminas-translator", - "version": "2.0.0", + "name": "php-standard-library/type", + "version": "6.2.1", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-translator.git", - "reference": "0169180f44f3d3273bd9a7b00e23ad6b0b870f17" + "url": "https://github.com/php-standard-library/type.git", + "reference": "ffc050e32bc5def0e03aaae3d52c78dfc746e143" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-translator/zipball/0169180f44f3d3273bd9a7b00e23ad6b0b870f17", - "reference": "0169180f44f3d3273bd9a7b00e23ad6b0b870f17", + "url": "https://api.github.com/repos/php-standard-library/type/zipball/ffc050e32bc5def0e03aaae3d52c78dfc746e143", + "reference": "ffc050e32bc5def0e03aaae3d52c78dfc746e143", "shasum": "" }, "require": { - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" + "ext-json": "*", + "php": "~8.4.0 || ~8.5.0", + "php-standard-library/collection": "^6.0", + "php-standard-library/foundation": "^6.0", + "php-standard-library/iter": "^6.0" + }, + "conflict": { + "azjezz/psl": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~3.1.0", - "phpunit/phpunit": "^11.5.55", - "vimeo/psalm": "^6.16.1" + "php-standard-library/dict": "^6.0", + "php-standard-library/math": "^6.0", + "php-standard-library/result": "^6.0", + "php-standard-library/str": "^6.0", + "php-standard-library/vec": "^6.0", + "phpunit/phpunit": "^13.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-next": "6.2.x-dev" + } + }, "autoload": { + "files": [ + "src/Psl/bootstrap.php" + ], "psr-4": { - "Laminas\\Translator\\": "src/" + "Psl\\Type\\": "src/Psl/Type/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Interfaces for the Translator component of laminas-i18n", - "homepage": "https://laminas.dev", + "authors": [ + { + "name": "Seifeddine Gmati", + "email": "azjezz@carthage.software" + }, + { + "name": "Contributors", + "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" + } + ], + "description": "Runtime type validation implementing Parse, Don't Validate - coerce and assert unstructured input into well-typed data", + "homepage": "https://php-standard-library.dev", "keywords": [ - "i18n", - "laminas" + "coercion", + "type", + "type-safety", + "validation" ], "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-i18n/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-translator/issues", - "rss": "https://github.com/laminas/laminas-translator/releases.atom", - "source": "https://github.com/laminas/laminas-translator" + "source": "https://github.com/php-standard-library/type/tree/6.2.1" }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2026-06-02T11:36:39+00:00" + "time": "2026-05-23T20:26:52+00:00" }, { - "name": "laminas/laminas-validator", - "version": "3.17.0", + "name": "psr/http-message", + "version": "2.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-validator.git", - "reference": "b475163508bd3ba0c98c7642c485f1a5d65e9fd9" + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/b475163508bd3ba0c98c7642c485f1a5d65e9fd9", - "reference": "b475163508bd3ba0c98c7642c485f1a5d65e9fd9", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-fileinfo": "*", - "ext-filter": "*", - "ext-intl": "*", - "laminas/laminas-servicemanager": "^4.4.0", - "laminas/laminas-stdlib": "^3.19", - "laminas/laminas-translator": "^1.0 || ^2.0", - "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", - "psr/container": "^1.1 || ^2.0", - "psr/http-client": "^1.0.3", - "psr/http-factory": "^1.1.0", - "psr/http-message": "^1.0.1 || ^2.0.0" - }, - "require-dev": { - "laminas/laminas-coding-standard": "^3.1.0", - "laminas/laminas-diactoros": "^3.8.0", - "laminas/laminas-translator": "^2.0", - "phpunit/phpunit": "^11.5.55", - "psalm/plugin-phpunit": "^0.19.7", - "vimeo/psalm": "^6.16.1" - }, - "suggest": { - "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages", - "laminas/laminas-i18n-resources": "Translations of validator messages" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { - "laminas": { - "component": "Laminas\\Validator", - "config-provider": "Laminas\\Validator\\ConfigProvider" + "branch-alias": { + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Laminas\\Validator\\": "src/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria", - "homepage": "https://laminas.dev", + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "laminas", - "validator" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-validator/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-validator/issues", - "rss": "https://github.com/laminas/laminas-validator/releases.atom", - "source": "https://github.com/laminas/laminas-validator" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2026-06-02T12:34:22+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { - "name": "nikic/php-parser", - "version": "v5.7.0", + "name": "psr/http-server-handler", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" + "url": "https://github.com/php-fig/http-server-handler.git", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/84c4fb66179be4caaf8e97bd239203245302e7d4", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" + "php": ">=7.0", + "psr/http-message": "^1.0 || ^2.0" }, - "bin": [ - "bin/php-parse" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "5.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "PhpParser\\": "lib/PhpParser" + "Psr\\Http\\Server\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Nikita Popov" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "A PHP parser written in PHP", + "description": "Common interface for HTTP server-side request handler", "keywords": [ - "parser", - "php" + "handler", + "http", + "http-interop", + "psr", + "psr-15", + "psr-7", + "request", + "response", + "server" ], "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" + "source": "https://github.com/php-fig/http-server-handler/tree/1.0.2" }, - "time": "2025-12-06T11:56:16+00:00" + "time": "2023-04-10T20:06:20+00:00" }, { - "name": "php-standard-library/collection", - "version": "6.2.1", + "name": "psr/http-server-middleware", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/php-standard-library/collection.git", - "reference": "0e8b757a16ccb1f68a70f4ada8565099743d50b9" + "url": "https://github.com/php-fig/http-server-middleware.git", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-standard-library/collection/zipball/0e8b757a16ccb1f68a70f4ada8565099743d50b9", - "reference": "0e8b757a16ccb1f68a70f4ada8565099743d50b9", + "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/c1481f747daaa6a0782775cd6a8c26a1bf4a3829", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829", "shasum": "" }, "require": { - "php": "~8.4.0 || ~8.5.0", - "php-standard-library/default": "^6.0", - "php-standard-library/foundation": "^6.0" - }, - "conflict": { - "azjezz/psl": "*" - }, - "require-dev": { - "php-standard-library/str": "^6.0", - "php-standard-library/vec": "^6.0", - "phpunit/phpunit": "^13.0" + "php": ">=7.0", + "psr/http-message": "^1.0 || ^2.0", + "psr/http-server-handler": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-next": "6.2.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Psl\\Collection\\": "src/Psl/Collection/" + "Psr\\Http\\Server\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -728,125 +684,107 @@ ], "authors": [ { - "name": "Seifeddine Gmati", - "email": "azjezz@carthage.software" - }, - { - "name": "Contributors", - "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Generic, object-oriented Vector, Map, and Set collections with immutable and mutable variants", - "homepage": "https://php-standard-library.dev", + "description": "Common interface for HTTP server-side middleware", "keywords": [ - "collection", - "generics", - "map", - "set", - "vector" + "http", + "http-interop", + "middleware", + "psr", + "psr-15", + "psr-7", + "request", + "response" ], "support": { - "source": "https://github.com/php-standard-library/collection/tree/6.2.1" + "issues": "https://github.com/php-fig/http-server-middleware/issues", + "source": "https://github.com/php-fig/http-server-middleware/tree/1.0.2" }, - "time": "2026-05-18T22:19:21+00:00" - }, + "time": "2023-04-11T06:14:47+00:00" + } + ], + "packages-dev": [ { - "name": "php-standard-library/comparison", - "version": "6.2.1", + "name": "brick/varexporter", + "version": "0.6.0", "source": { "type": "git", - "url": "https://github.com/php-standard-library/comparison.git", - "reference": "1884e2218c231c285b6039e9b2010f5dd956ae20" + "url": "https://github.com/brick/varexporter.git", + "reference": "af98bfc2b702a312abbcaff37656dbe419cec5bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-standard-library/comparison/zipball/1884e2218c231c285b6039e9b2010f5dd956ae20", - "reference": "1884e2218c231c285b6039e9b2010f5dd956ae20", + "url": "https://api.github.com/repos/brick/varexporter/zipball/af98bfc2b702a312abbcaff37656dbe419cec5bc", + "reference": "af98bfc2b702a312abbcaff37656dbe419cec5bc", "shasum": "" }, "require": { - "php": "~8.4.0 || ~8.5.0", - "php-standard-library/default": "^6.0", - "php-standard-library/foundation": "^6.0" - }, - "conflict": { - "azjezz/psl": "*" + "nikic/php-parser": "^5.0", + "php": "^8.1" }, "require-dev": { - "phpunit/phpunit": "^13.0" + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "6.8.4" }, "type": "library", - "extra": { - "branch-alias": { - "dev-next": "6.2.x-dev" - } - }, "autoload": { - "files": [ - "src/Psl/bootstrap.php" - ], "psr-4": { - "Psl\\Comparison\\": "src/Psl/Comparison/" + "Brick\\VarExporter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Seifeddine Gmati", - "email": "azjezz@carthage.software" - }, - { - "name": "Contributors", - "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" - } - ], - "description": "Interfaces and functions for type-safe, consistent value comparison", - "homepage": "https://php-standard-library.dev", + "description": "A powerful alternative to var_export(), which can export closures and objects without __set_state()", "keywords": [ - "comparable", - "comparison", - "ordering" + "var_export" ], "support": { - "source": "https://github.com/php-standard-library/comparison/tree/6.2.1" + "issues": "https://github.com/brick/varexporter/issues", + "source": "https://github.com/brick/varexporter/tree/0.6.0" }, - "time": "2026-03-28T18:39:47+00:00" + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2025-02-20T17:42:39+00:00" }, { - "name": "php-standard-library/default", - "version": "6.2.1", + "name": "fig/http-message-util", + "version": "1.1.5", "source": { "type": "git", - "url": "https://github.com/php-standard-library/default.git", - "reference": "89f05ec6e6a29e8c07de7b6755d14d05b06048e2" + "url": "https://github.com/php-fig/http-message-util.git", + "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-standard-library/default/zipball/89f05ec6e6a29e8c07de7b6755d14d05b06048e2", - "reference": "89f05ec6e6a29e8c07de7b6755d14d05b06048e2", + "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765", + "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765", "shasum": "" }, "require": { - "php": "~8.4.0 || ~8.5.0" - }, - "conflict": { - "azjezz/psl": "*" + "php": "^5.3 || ^7.0 || ^8.0" }, - "require-dev": { - "phpunit/phpunit": "^13.0" + "suggest": { + "psr/http-message": "The package containing the PSR-7 interfaces" }, "type": "library", "extra": { "branch-alias": { - "dev-next": "6.2.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { "psr-4": { - "Psl\\Default\\": "src/Psl/Default/" + "Fig\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -855,762 +793,540 @@ ], "authors": [ { - "name": "Seifeddine Gmati", - "email": "azjezz@carthage.software" - }, - { - "name": "Contributors", - "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "DefaultInterface for classes to provide standardized default instances", - "homepage": "https://php-standard-library.dev", + "description": "Utility classes and constants for use with PSR-7 (psr/http-message)", "keywords": [ - "default", - "interface" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], "support": { - "source": "https://github.com/php-standard-library/default/tree/6.2.1" + "issues": "https://github.com/php-fig/http-message-util/issues", + "source": "https://github.com/php-fig/http-message-util/tree/1.1.5" }, - "time": "2026-03-28T18:39:47+00:00" + "time": "2020-11-24T22:02:12+00:00" }, { - "name": "php-standard-library/either-or-both", - "version": "6.2.1", + "name": "laminas/laminas-diactoros", + "version": "3.8.0", "source": { "type": "git", - "url": "https://github.com/php-standard-library/either-or-both.git", - "reference": "a1f4d80ee5ee616272688941390d2eae2d1948e6" + "url": "https://github.com/laminas/laminas-diactoros.git", + "reference": "60c182916b2749480895601649563970f3f12ec4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-standard-library/either-or-both/zipball/a1f4d80ee5ee616272688941390d2eae2d1948e6", - "reference": "a1f4d80ee5ee616272688941390d2eae2d1948e6", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/60c182916b2749480895601649563970f3f12ec4", + "reference": "60c182916b2749480895601649563970f3f12ec4", "shasum": "" }, "require": { - "php": "~8.4.0 || ~8.5.0", - "php-standard-library/comparison": "^6.0", - "php-standard-library/foundation": "^6.0", - "php-standard-library/option": "^6.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/http-factory": "^1.1", + "psr/http-message": "^1.1 || ^2.0" }, "conflict": { - "azjezz/psl": "*" + "amphp/amp": "<2.6.4" + }, + "provide": { + "psr/http-factory-implementation": "^1.0", + "psr/http-message-implementation": "^1.1 || ^2.0" }, "require-dev": { - "php-standard-library/str": "^6.0", - "phpunit/phpunit": "^13.0" + "ext-curl": "*", + "ext-dom": "*", + "ext-gd": "*", + "ext-libxml": "*", + "http-interop/http-factory-tests": "^2.2.0", + "laminas/laminas-coding-standard": "~3.1.0", + "php-http/psr7-integration-tests": "^1.4.0", + "phpunit/phpunit": "^10.5.36", + "psalm/plugin-phpunit": "^0.19.5", + "vimeo/psalm": "^6.13" }, "type": "library", "extra": { - "branch-alias": { - "dev-next": "6.2.x-dev" + "laminas": { + "module": "Laminas\\Diactoros", + "config-provider": "Laminas\\Diactoros\\ConfigProvider" } }, "autoload": { "files": [ - "src/Psl/bootstrap.php" + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php" ], "psr-4": { - "Psl\\EitherOrBoth\\": "src/Psl/EitherOrBoth/" + "Laminas\\Diactoros\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Seifeddine Gmati", - "email": "azjezz@carthage.software" - }, - { - "name": "Contributors", - "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" - } + "BSD-3-Clause" ], - "description": "Three-variant disjoint union type (Left/Right/Both) for values that may be present on either or both of two sides", - "homepage": "https://php-standard-library.dev", + "description": "PSR HTTP Message implementations", + "homepage": "https://laminas.dev", "keywords": [ - "both", - "either", - "either-or-both", - "these", - "union-type" + "http", + "laminas", + "psr", + "psr-17", + "psr-7" ], "support": { - "source": "https://github.com/php-standard-library/either-or-both/tree/6.2.1" + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-diactoros/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-diactoros/issues", + "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", + "source": "https://github.com/laminas/laminas-diactoros" }, - "time": "2026-05-23T20:26:52+00:00" + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2025-10-12T15:31:36+00:00" }, { - "name": "php-standard-library/foundation", - "version": "6.2.1", + "name": "laminas/laminas-filter", + "version": "3.5.x-dev", "source": { "type": "git", - "url": "https://github.com/php-standard-library/foundation.git", - "reference": "7f65cec48c8ed3d53dc8dd7643796e2ba6de6008" - }, + "url": "https://github.com/laminas/laminas-filter.git", + "reference": "a10a48fefb57370b65f4dcc9f5a5e8669a99e10a" + }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-standard-library/foundation/zipball/7f65cec48c8ed3d53dc8dd7643796e2ba6de6008", - "reference": "7f65cec48c8ed3d53dc8dd7643796e2ba6de6008", + "url": "https://api.github.com/repos/laminas/laminas-filter/zipball/a10a48fefb57370b65f4dcc9f5a5e8669a99e10a", + "reference": "a10a48fefb57370b65f4dcc9f5a5e8669a99e10a", "shasum": "" }, "require": { - "php": "~8.4.0 || ~8.5.0" - }, - "conflict": { - "azjezz/psl": "*" + "ext-fileinfo": "*", + "ext-filter": "*", + "ext-iconv": "*", + "ext-mbstring": "*", + "laminas/laminas-servicemanager": "^4.1.0", + "laminas/laminas-stdlib": "^3.19.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/container": "^1 || ^2", + "psr/http-factory": "^1.1", + "psr/http-message": "^2.0" }, "require-dev": { - "phpunit/phpunit": "^13.0" + "ext-bz2": "*", + "ext-zip": "*", + "ext-zlib": "*", + "laminas/laminas-coding-standard": "^3.1.0", + "laminas/laminas-diactoros": "^3.8", + "pear/archive_tar": "^1.6.0", + "pear/pear": "^1.10.16", + "phpunit/phpunit": "^11.5.42", + "psalm/plugin-phpunit": "^0.19.5", + "vimeo/psalm": "^6.13.1" }, + "suggest": { + "laminas/laminas-i18n": "Laminas\\I18n component for filters depending on i18n functionality", + "psr/http-factory-implementation": "psr/http-factory-implementation, for creating file upload instances when consuming PSR-7 in file upload filters" + }, + "default-branch": true, "type": "library", "extra": { - "branch-alias": { - "dev-next": "6.2.x-dev" + "laminas": { + "component": "Laminas\\Filter", + "config-provider": "Laminas\\Filter\\ConfigProvider" } }, "autoload": { - "files": [ - "src/Psl/bootstrap.php" - ], "psr-4": { - "Psl\\": "src/Psl/" + "Laminas\\Filter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Seifeddine Gmati", - "email": "azjezz@carthage.software" - }, - { - "name": "Contributors", - "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" - } + "BSD-3-Clause" ], - "description": "Exceptions, Ref, and invariant functions", - "homepage": "https://php-standard-library.dev", + "description": "Programmatically filter and normalize data and files", + "homepage": "https://laminas.dev", "keywords": [ - "exceptions", - "foundation", - "invariant" + "filter", + "laminas" ], "support": { - "source": "https://github.com/php-standard-library/foundation/tree/6.2.1" + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-filter/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-filter/issues", + "rss": "https://github.com/laminas/laminas-filter/releases.atom", + "source": "https://github.com/laminas/laminas-filter" }, - "time": "2026-04-28T06:28:49+00:00" + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2026-05-25T01:09:26+00:00" }, { - "name": "php-standard-library/iter", - "version": "6.2.1", + "name": "laminas/laminas-inputfilter", + "version": "3.0.x-dev", "source": { "type": "git", - "url": "https://github.com/php-standard-library/iter.git", - "reference": "d3f2db3adec4cbe5129f3428969ae8508a54aeb7" + "url": "https://github.com/laminas/laminas-inputfilter.git", + "reference": "37deaab3cf0441fb2aab0d87751c638533850820" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-standard-library/iter/zipball/d3f2db3adec4cbe5129f3428969ae8508a54aeb7", - "reference": "d3f2db3adec4cbe5129f3428969ae8508a54aeb7", + "url": "https://api.github.com/repos/laminas/laminas-inputfilter/zipball/37deaab3cf0441fb2aab0d87751c638533850820", + "reference": "37deaab3cf0441fb2aab0d87751c638533850820", "shasum": "" }, "require": { - "php": "~8.4.0 || ~8.5.0", - "php-standard-library/comparison": "^6.0", - "php-standard-library/either-or-both": "^6.0", - "php-standard-library/foundation": "^6.0", - "php-standard-library/option": "^6.0" + "laminas/laminas-filter": "^3.4.0", + "laminas/laminas-servicemanager": "^4.0", + "laminas/laminas-stdlib": "^3.19", + "laminas/laminas-validator": "^3.11.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/container": "^1.1 || ^2.0", + "psr/http-message": "^2.0" }, "conflict": { - "azjezz/psl": "*" + "zendframework/zend-inputfilter": "*" }, "require-dev": { - "php-standard-library/collection": "^6.0", - "php-standard-library/dict": "^6.0", - "php-standard-library/math": "^6.0", - "php-standard-library/vec": "^6.0", - "phpunit/phpunit": "^13.0" + "ext-json": "*", + "laminas/laminas-coding-standard": "^3.1.0", + "phpunit/phpunit": "^11.5.46", + "psalm/plugin-phpunit": "^0.19.5", + "vimeo/psalm": "^6.14.3" }, "type": "library", "extra": { - "branch-alias": { - "dev-next": "6.2.x-dev" + "laminas": { + "config-provider": "Laminas\\InputFilter\\ConfigProvider" } }, "autoload": { - "files": [ - "src/Psl/bootstrap.php" - ], "psr-4": { - "Psl\\Iter\\": "src/Psl/Iter/" + "Laminas\\InputFilter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Seifeddine Gmati", - "email": "azjezz@carthage.software" - }, - { - "name": "Contributors", - "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" - } + "BSD-3-Clause" ], - "description": "Utility functions for inspecting and reducing iterables - arrays, generators, and iterators", - "homepage": "https://php-standard-library.dev", + "description": "Normalize and validate input sets from the web, APIs, the CLI, and more, including files", + "homepage": "https://laminas.dev", "keywords": [ - "generator", - "iter", - "iterable", - "iterator" + "inputfilter", + "laminas" ], "support": { - "source": "https://github.com/php-standard-library/iter/tree/6.2.1" + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-inputfilter/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-inputfilter/issues", + "rss": "https://github.com/laminas/laminas-inputfilter/releases.atom", + "source": "https://github.com/laminas/laminas-inputfilter" }, - "time": "2026-04-28T06:28:49+00:00" + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2026-06-11T22:00:16+00:00" }, { - "name": "php-standard-library/option", - "version": "6.2.1", + "name": "laminas/laminas-servicemanager", + "version": "4.5.1", "source": { "type": "git", - "url": "https://github.com/php-standard-library/option.git", - "reference": "afe2059dbb3a9e2e3ba6edd371ccbb7d87355a66" + "url": "https://github.com/laminas/laminas-servicemanager.git", + "reference": "11192d588876ad04ba2988984c77b4ecb5c771c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-standard-library/option/zipball/afe2059dbb3a9e2e3ba6edd371ccbb7d87355a66", - "reference": "afe2059dbb3a9e2e3ba6edd371ccbb7d87355a66", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/11192d588876ad04ba2988984c77b4ecb5c771c2", + "reference": "11192d588876ad04ba2988984c77b4ecb5c771c2", "shasum": "" }, "require": { - "php": "~8.4.0 || ~8.5.0", - "php-standard-library/comparison": "^6.0", - "php-standard-library/foundation": "^6.0" + "brick/varexporter": "^0.3.8 || ^0.4.0 || ^0.5.0 || ^0.6.0", + "laminas/laminas-stdlib": "^3.19", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/container": "^1.1 || ^2.0" }, "conflict": { - "azjezz/psl": "*" + "laminas/laminas-code": "<4.10.0", + "zendframework/zend-code": "<3.3.1" + }, + "provide": { + "psr/container-implementation": "^1.0 || ^2.0" }, "require-dev": { - "phpunit/phpunit": "^13.0" + "composer/package-versions-deprecated": "^1.11.99.5", + "friendsofphp/proxy-manager-lts": "^1.0.18", + "laminas/laminas-cli": "^1.11", + "laminas/laminas-coding-standard": "~3.1.0", + "laminas/laminas-container-config-test": "^1.1", + "mikey179/vfsstream": "^1.6.12", + "phpbench/phpbench": "^1.4.1", + "phpunit/phpunit": "^10.5.58", + "psalm/plugin-phpunit": "^0.19.5", + "symfony/console": "^6.4.17 || ^7.3.4", + "vimeo/psalm": "^6.13.1" + }, + "suggest": { + "friendsofphp/proxy-manager-lts": "To handle lazy initialization of services", + "laminas/laminas-cli": "To consume CLI commands provided by this component" }, "type": "library", "extra": { - "branch-alias": { - "dev-next": "6.2.x-dev" + "laminas": { + "module": "Laminas\\ServiceManager", + "config-provider": "Laminas\\ServiceManager\\ConfigProvider" } }, "autoload": { - "files": [ - "src/Psl/bootstrap.php" - ], "psr-4": { - "Psl\\Option\\": "src/Psl/Option/" + "Laminas\\ServiceManager\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Seifeddine Gmati", - "email": "azjezz@carthage.software" - }, - { - "name": "Contributors", - "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" - } + "BSD-3-Clause" ], - "description": "Option type (Some/None) replacing nullable types with explicit presence semantics", - "homepage": "https://php-standard-library.dev", + "description": "Factory-Driven Dependency Injection Container", + "homepage": "https://laminas.dev", "keywords": [ - "monad", - "none", - "option", - "some" + "PSR-11", + "dependency-injection", + "di", + "dic", + "laminas", + "service-manager", + "servicemanager" ], "support": { - "source": "https://github.com/php-standard-library/option/tree/6.2.1" + "chat": "https://laminas.dev/chat", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-servicemanager/issues", + "source": "https://github.com/laminas/laminas-servicemanager/tree/4.5.1" }, - "time": "2026-05-23T20:26:52+00:00" - }, - { - "name": "php-standard-library/type", - "version": "6.2.1", - "source": { - "type": "git", - "url": "https://github.com/php-standard-library/type.git", - "reference": "ffc050e32bc5def0e03aaae3d52c78dfc746e143" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-standard-library/type/zipball/ffc050e32bc5def0e03aaae3d52c78dfc746e143", - "reference": "ffc050e32bc5def0e03aaae3d52c78dfc746e143", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "~8.4.0 || ~8.5.0", - "php-standard-library/collection": "^6.0", - "php-standard-library/foundation": "^6.0", - "php-standard-library/iter": "^6.0" - }, - "conflict": { - "azjezz/psl": "*" - }, - "require-dev": { - "php-standard-library/dict": "^6.0", - "php-standard-library/math": "^6.0", - "php-standard-library/result": "^6.0", - "php-standard-library/str": "^6.0", - "php-standard-library/vec": "^6.0", - "phpunit/phpunit": "^13.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-next": "6.2.x-dev" - } - }, - "autoload": { - "files": [ - "src/Psl/bootstrap.php" - ], - "psr-4": { - "Psl\\Type\\": "src/Psl/Type/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Seifeddine Gmati", - "email": "azjezz@carthage.software" - }, - { - "name": "Contributors", - "homepage": "https://github.com/php-standard-library/php-standard-library/graphs/contributors" - } - ], - "description": "Runtime type validation implementing Parse, Don't Validate - coerce and assert unstructured input into well-typed data", - "homepage": "https://php-standard-library.dev", - "keywords": [ - "coercion", - "type", - "type-safety", - "validation" - ], - "support": { - "source": "https://github.com/php-standard-library/type/tree/6.2.1" - }, - "time": "2026-05-23T20:26:52+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "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/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client" - }, - "time": "2023-09-23T14:17:50+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-factory" - }, - "time": "2024-04-15T12:06:14+00:00" - }, - { - "name": "psr/http-message", - "version": "2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "funding": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/2.0" - }, - "time": "2023-04-04T09:54:51+00:00" + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2026-05-12T09:53:32+00:00" }, { - "name": "psr/http-server-handler", - "version": "1.0.2", + "name": "laminas/laminas-stdlib", + "version": "3.21.0", "source": { "type": "git", - "url": "https://github.com/php-fig/http-server-handler.git", - "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4" + "url": "https://github.com/laminas/laminas-stdlib.git", + "reference": "b1c81514cfe158aadf724c42b34d3d0a8164c096" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/84c4fb66179be4caaf8e97bd239203245302e7d4", - "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/b1c81514cfe158aadf724c42b34d3d0a8164c096", + "reference": "b1c81514cfe158aadf724c42b34d3d0a8164c096", "shasum": "" }, "require": { - "php": ">=7.0", - "psr/http-message": "^1.0 || ^2.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } + "conflict": { + "zendframework/zend-stdlib": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "^3.1.0", + "phpbench/phpbench": "^1.4.1", + "phpunit/phpunit": "^11.5.42", + "psalm/plugin-phpunit": "^0.19.5", + "vimeo/psalm": "^6.13.1" }, + "type": "library", "autoload": { "psr-4": { - "Psr\\Http\\Server\\": "src/" + "Laminas\\Stdlib\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } + "BSD-3-Clause" ], - "description": "Common interface for HTTP server-side request handler", + "description": "SPL extensions, array utilities, error handlers, and more", + "homepage": "https://laminas.dev", "keywords": [ - "handler", - "http", - "http-interop", - "psr", - "psr-15", - "psr-7", - "request", - "response", - "server" + "laminas", + "stdlib" ], "support": { - "source": "https://github.com/php-fig/http-server-handler/tree/1.0.2" + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-stdlib/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-stdlib/issues", + "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", + "source": "https://github.com/laminas/laminas-stdlib" }, - "time": "2023-04-10T20:06:20+00:00" + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2025-10-11T18:13:12+00:00" }, { - "name": "psr/http-server-middleware", - "version": "1.0.2", + "name": "laminas/laminas-translator", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/http-server-middleware.git", - "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829" + "url": "https://github.com/laminas/laminas-translator.git", + "reference": "0169180f44f3d3273bd9a7b00e23ad6b0b870f17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/c1481f747daaa6a0782775cd6a8c26a1bf4a3829", - "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829", + "url": "https://api.github.com/repos/laminas/laminas-translator/zipball/0169180f44f3d3273bd9a7b00e23ad6b0b870f17", + "reference": "0169180f44f3d3273bd9a7b00e23ad6b0b870f17", "shasum": "" }, "require": { - "php": ">=7.0", - "psr/http-message": "^1.0 || ^2.0", - "psr/http-server-handler": "^1.0" + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } + "require-dev": { + "laminas/laminas-coding-standard": "~3.1.0", + "phpunit/phpunit": "^11.5.55", + "vimeo/psalm": "^6.16.1" }, + "type": "library", "autoload": { "psr-4": { - "Psr\\Http\\Server\\": "src/" + "Laminas\\Translator\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } + "BSD-3-Clause" ], - "description": "Common interface for HTTP server-side middleware", + "description": "Interfaces for the Translator component of laminas-i18n", + "homepage": "https://laminas.dev", "keywords": [ - "http", - "http-interop", - "middleware", - "psr", - "psr-15", - "psr-7", - "request", - "response" + "i18n", + "laminas" ], "support": { - "issues": "https://github.com/php-fig/http-server-middleware/issues", - "source": "https://github.com/php-fig/http-server-middleware/tree/1.0.2" + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-i18n/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-translator/issues", + "rss": "https://github.com/laminas/laminas-translator/releases.atom", + "source": "https://github.com/laminas/laminas-translator" }, - "time": "2023-04-11T06:14:47+00:00" + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2026-06-02T11:36:39+00:00" }, { - "name": "webmozart/assert", - "version": "2.4.1", + "name": "laminas/laminas-validator", + "version": "3.17.0", "source": { "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "2ccb7c2e821038c03a3e6e1700c570c158c55f70" + "url": "https://github.com/laminas/laminas-validator.git", + "reference": "b475163508bd3ba0c98c7642c485f1a5d65e9fd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/2ccb7c2e821038c03a3e6e1700c570c158c55f70", - "reference": "2ccb7c2e821038c03a3e6e1700c570c158c55f70", + "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/b475163508bd3ba0c98c7642c485f1a5d65e9fd9", + "reference": "b475163508bd3ba0c98c7642c485f1a5d65e9fd9", "shasum": "" }, "require": { "ext-ctype": "*", - "ext-date": "*", + "ext-fileinfo": "*", "ext-filter": "*", - "php": "^8.2" + "ext-intl": "*", + "laminas/laminas-servicemanager": "^4.4.0", + "laminas/laminas-stdlib": "^3.19", + "laminas/laminas-translator": "^1.0 || ^2.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0", + "psr/container": "^1.1 || ^2.0", + "psr/http-client": "^1.0.3", + "psr/http-factory": "^1.1.0", + "psr/http-message": "^1.0.1 || ^2.0.0" + }, + "require-dev": { + "laminas/laminas-coding-standard": "^3.1.0", + "laminas/laminas-diactoros": "^3.8.0", + "laminas/laminas-translator": "^2.0", + "phpunit/phpunit": "^11.5.55", + "psalm/plugin-phpunit": "^0.19.7", + "vimeo/psalm": "^6.16.1" }, "suggest": { - "ext-intl": "", - "ext-simplexml": "", - "ext-spl": "" + "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages", + "laminas/laminas-i18n-resources": "Translations of validator messages" }, "type": "library", "extra": { - "psalm": { - "pluginClass": "Webmozart\\Assert\\PsalmPlugin" - }, - "branch-alias": { - "dev-master": "2.0-dev", - "dev-feature/2-0": "2.0-dev" + "laminas": { + "component": "Laminas\\Validator", + "config-provider": "Laminas\\Validator\\ConfigProvider" } }, "autoload": { "psr-4": { - "Webmozart\\Assert\\": "src/" + "Laminas\\Validator\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - }, - { - "name": "Woody Gilk", - "email": "woody.gilk@gmail.com" - } + "BSD-3-Clause" ], - "description": "Assertions to validate method input/output with nice error messages.", + "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria", + "homepage": "https://laminas.dev", "keywords": [ - "assert", - "check", - "validate" + "laminas", + "validator" ], "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/2.4.1" + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-validator/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-validator/issues", + "rss": "https://github.com/laminas/laminas-validator/releases.atom", + "source": "https://github.com/laminas/laminas-validator" }, - "time": "2026-06-15T15:31:57+00:00" - } - ], - "packages-dev": [ + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2026-06-02T12:34:22+00:00" + }, { "name": "myclabs/deep-copy", "version": "1.13.4", @@ -1640,36 +1356,94 @@ }, "type": "library", "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.7.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { "psr-4": { - "DeepCopy\\": "src/DeepCopy/" + "PhpParser\\": "lib/PhpParser" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], - "description": "Create deep copies (clones) of your objects", + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" + "parser", + "php" ], "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2025-08-01T08:46:24+00:00" + "time": "2025-12-06T11:56:16+00:00" }, { "name": "phar-io/manifest", @@ -1795,12 +1569,12 @@ "source": { "type": "git", "url": "https://github.com/php-db/phpdb.git", - "reference": "81844a5699bf397bf044bbe36ea90be361b4a021" + "reference": "74363f481958c8e2d192a8e8efafe9bc0684f958" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-db/phpdb/zipball/81844a5699bf397bf044bbe36ea90be361b4a021", - "reference": "81844a5699bf397bf044bbe36ea90be361b4a021", + "url": "https://api.github.com/repos/php-db/phpdb/zipball/74363f481958c8e2d192a8e8efafe9bc0684f958", + "reference": "74363f481958c8e2d192a8e8efafe9bc0684f958", "shasum": "" }, "require": { @@ -1856,39 +1630,39 @@ "issues": "https://github.com/php-db/phpdb/issues", "source": "https://github.com/php-db/phpdb" }, - "time": "2026-04-13T01:24:01+00:00" + "time": "2026-07-01T05:45:05+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "11.0.12", + "version": "14.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56" + "reference": "10d7da3628a99289cdf4c662dd7f0d73f1baec83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2c1ed04922802c15e1de5d7447b4856de949cf56", - "reference": "2c1ed04922802c15e1de5d7447b4856de949cf56", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/10d7da3628a99289cdf4c662dd7f0d73f1baec83", + "reference": "10d7da3628a99289cdf4c662dd7f0d73f1baec83", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", + "ext-mbstring": "*", "ext-xmlwriter": "*", "nikic/php-parser": "^5.7.0", - "php": ">=8.2", - "phpunit/php-file-iterator": "^5.1.0", - "phpunit/php-text-template": "^4.0.1", - "sebastian/code-unit-reverse-lookup": "^4.0.1", - "sebastian/complexity": "^4.0.1", - "sebastian/environment": "^7.2.1", - "sebastian/lines-of-code": "^3.0.1", - "sebastian/version": "^5.0.2", - "theseer/tokenizer": "^1.3.1" + "php": ">=8.4", + "phpunit/php-text-template": "^6.0", + "sebastian/complexity": "^6.0", + "sebastian/environment": "^9.3.2", + "sebastian/git-state": "^1.0", + "sebastian/lines-of-code": "^5.0.1", + "sebastian/version": "^7.0", + "theseer/tokenizer": "^2.0.1" }, "require-dev": { - "phpunit/phpunit": "^11.5.46" + "phpunit/phpunit": "^13.2.0" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -1897,7 +1671,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "11.0.x-dev" + "dev-main": "14.2.x-dev" } }, "autoload": { @@ -1926,7 +1700,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.12" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/14.2.2" }, "funding": [ { @@ -1946,32 +1720,32 @@ "type": "tidelift" } ], - "time": "2025-12-24T07:01:01+00:00" + "time": "2026-06-08T11:50:38+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "5.1.1", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903" + "reference": "6e5aa1fb0a95b1703d83e721299ee18bb4e2de50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/2f3a64888c814fc235386b7387dd5b5ed92ad903", - "reference": "2f3a64888c814fc235386b7387dd5b5ed92ad903", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6e5aa1fb0a95b1703d83e721299ee18bb4e2de50", + "reference": "6e5aa1fb0a95b1703d83e721299ee18bb4e2de50", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -1999,7 +1773,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.1" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/7.0.0" }, "funding": [ { @@ -2019,28 +1793,28 @@ "type": "tidelift" } ], - "time": "2026-02-02T13:52:54+00:00" + "time": "2026-02-06T04:33:26+00:00" }, { "name": "phpunit/php-invoker", - "version": "5.0.1", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2" + "reference": "42e5c5cae0c65df12d1b1a3ab52bf3f50f244d88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2", - "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/42e5c5cae0c65df12d1b1a3ab52bf3f50f244d88", + "reference": "42e5c5cae0c65df12d1b1a3ab52bf3f50f244d88", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^13.0" }, "suggest": { "ext-pcntl": "*" @@ -2048,7 +1822,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -2075,43 +1849,229 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/php-invoker/tree/7.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-invoker", + "type": "tidelift" } ], - "time": "2024-07-03T05:07:44+00:00" + "time": "2026-02-06T04:34:47+00:00" }, { "name": "phpunit/php-text-template", - "version": "4.0.1", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964" + "reference": "a47af19f93f76aa3368303d752aa5272ca3299f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/a47af19f93f76aa3368303d752aa5272ca3299f4", + "reference": "a47af19f93f76aa3368303d752aa5272ca3299f4", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "require-dev": { + "phpunit/phpunit": "^13.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-text-template", + "type": "tidelift" + } + ], + "time": "2026-02-06T04:36:37+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "9.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "a0e12065831f6ab0d83120dc61513eb8d9a966f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964", - "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/a0e12065831f6ab0d83120dc61513eb8d9a966f6", + "reference": "a0e12065831f6ab0d83120dc61513eb8d9a966f6", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^13.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/9.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-timer", + "type": "tidelift" + } + ], + "time": "2026-02-06T04:37:53+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "13.2.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "492c067e618de7b3c76105082c90f9d2833401b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/492c067e618de7b3c76105082c90f9d2833401b7", + "reference": "492c067e618de7b3c76105082c90f9d2833401b7", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.4.1", + "phpunit/php-code-coverage": "^14.2.2", + "phpunit/php-file-iterator": "^7.0.0", + "phpunit/php-invoker": "^7.0.0", + "phpunit/php-text-template": "^6.0.0", + "phpunit/php-timer": "^9.0.0", + "sebastian/cli-parser": "^5.0.0", + "sebastian/comparator": "^8.3.0", + "sebastian/diff": "^9.0", + "sebastian/environment": "^9.3.2", + "sebastian/exporter": "^8.1.0", + "sebastian/file-filter": "^1.0", + "sebastian/git-state": "^1.0", + "sebastian/global-state": "^9.0.1", + "sebastian/object-enumerator": "^8.0.0", + "sebastian/recursion-context": "^8.0.0", + "sebastian/type": "^7.0.1", + "sebastian/version": "^7.0.0", + "staabm/side-effects-detector": "^1.0.5" }, + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "13.2-dev" } }, "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], "classmap": [ "src/" ] @@ -2127,193 +2087,185 @@ "role": "lead" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/13.2.2" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsoring.html", + "type": "other" + } + ], + "time": "2026-06-29T13:36:29+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "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/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "template" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1" + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T05:08:43+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "phpunit/php-timer", - "version": "7.0.1", + "name": "psr/http-client", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3" + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", - "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "7.0-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", "keywords": [ - "timer" + "http", + "http-client", + "psr", + "psr-18" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "security": "https://github.com/sebastianbergmann/php-timer/security/policy", - "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1" + "source": "https://github.com/php-fig/http-client" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T05:09:35+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { - "name": "phpunit/phpunit", - "version": "11.5.55", + "name": "psr/http-factory", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "adc7262fccc12de2b30f12a8aa0b33775d814f00" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/adc7262fccc12de2b30f12a8aa0b33775d814f00", - "reference": "adc7262fccc12de2b30f12a8aa0b33775d814f00", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=8.2", - "phpunit/php-code-coverage": "^11.0.12", - "phpunit/php-file-iterator": "^5.1.1", - "phpunit/php-invoker": "^5.0.1", - "phpunit/php-text-template": "^4.0.1", - "phpunit/php-timer": "^7.0.1", - "sebastian/cli-parser": "^3.0.2", - "sebastian/code-unit": "^3.0.3", - "sebastian/comparator": "^6.3.3", - "sebastian/diff": "^6.0.2", - "sebastian/environment": "^7.2.1", - "sebastian/exporter": "^6.3.2", - "sebastian/global-state": "^7.0.2", - "sebastian/object-enumerator": "^6.0.1", - "sebastian/recursion-context": "^6.0.3", - "sebastian/type": "^5.1.3", - "sebastian/version": "^5.0.2", - "staabm/side-effects-detector": "^1.0.5" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files" + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" }, - "bin": [ - "phpunit" - ], "type": "library", "extra": { "branch-alias": { - "dev-main": "11.5-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ - "phpunit", - "testing", - "xunit" + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.55" + "source": "https://github.com/php-fig/http-factory" }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2026-02-18T12:37:06+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "roave/security-advisories", @@ -2321,12 +2273,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "36ba91e82e1b493faef2c13277d6bd2669ea9f31" + "reference": "50bf247a4e49927cb1ae55e7931d45670aa43c1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/36ba91e82e1b493faef2c13277d6bd2669ea9f31", - "reference": "36ba91e82e1b493faef2c13277d6bd2669ea9f31", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/50bf247a4e49927cb1ae55e7931d45670aa43c1d", + "reference": "50bf247a4e49927cb1ae55e7931d45670aa43c1d", "shasum": "" }, "conflict": { @@ -2760,7 +2712,7 @@ "kelvinmo/simplexrd": "<3.1.1", "kevinpapst/kimai2": "<1.16.7", "khodakhah/nodcms": "<=3.4.1", - "kimai/kimai": "<=2.55", + "kimai/kimai": "<=2.57", "kitodo/presentation": "<3.2.3|>=3.3,<3.3.4", "klaviyo/magento2-extension": ">=1,<3", "knplabs/knp-snappy": "<=1.7", @@ -2825,7 +2777,7 @@ "marshmallow/nova-tiptap": "<5.7", "matomo/matomo": "<1.11", "matyhtf/framework": "<3.0.6", - "mautic/core": "<5.2.10|>=6,<6.0.8|>=7.0.0.0-alpha,<7.0.1", + "mautic/core": "<5.2.11|>=6,<6.0.9|>=7,<7.1.2", "mautic/core-lib": ">=1.0.0.0-beta,<4.4.13|>=5.0.0.0-alpha,<5.1.1", "mautic/grapes-js-builder-bundle": ">=4,<4.4.18|>=5,<5.2.9|>=6,<6.0.7", "maximebf/debugbar": "<1.19", @@ -2835,6 +2787,7 @@ "mediawiki/cargo": "<3.8.3", "mediawiki/core": "<1.39.5|==1.40", "mediawiki/data-transfer": ">=1.39,<1.39.11|>=1.41,<1.41.3|>=1.42,<1.42.2", + "mediawiki/maps": "<12.1.3", "mediawiki/matomo": "<2.4.3", "mediawiki/semantic-media-wiki": "<4.0.2", "mehrwert/phpmyadmin": "<3.2", @@ -2938,7 +2891,7 @@ "paragonie/random_compat": "<2", "paragonie/sodium_compat": "<1.24|>=2,<2.5", "passbolt/passbolt_api": "<4.6.2", - "paymenter/paymenter": "<1.5", + "paymenter/paymenter": "<=1.5.4", "paypal/adaptivepayments-sdk-php": "<=3.9.2", "paypal/invoice-sdk-php": "<=3.9", "paypal/merchant-sdk-php": "<3.12", @@ -3091,9 +3044,9 @@ "silverstripe/versioned-admin": ">=1,<1.11.1", "simogeo/filemanager": "<=2.5", "simple-updates/phpwhois": "<=1", - "simplesamlphp/saml2": "<=4.16.15|>=5.0.0.0-alpha1,<=5.0.0.0-alpha19", - "simplesamlphp/saml2-legacy": "<=4.16.15", - "simplesamlphp/simplesamlphp": "<1.18.6", + "simplesamlphp/saml2": "<=4.20.2|>=5,<5.0.6|>=6,<6.2.1", + "simplesamlphp/saml2-legacy": "<=4.20.2", + "simplesamlphp/simplesamlphp": "<=2.4.6|>=2.5,<=2.5.1", "simplesamlphp/simplesamlphp-module-casserver": "<=7.0.2", "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", "simplesamlphp/simplesamlphp-module-openid": "<1", @@ -3117,6 +3070,7 @@ "soosyze/soosyze": "<=2", "spatie/browsershot": "<5.0.5", "spatie/image-optimizer": "<1.7.3", + "spatie/laravel-medialibrary": "<11.23", "spatie/schema-org": ">=3.23.1,<3.23.2|>=4,<4.0.2", "spencer14420/sp-php-email-handler": "<1", "spipu/html2pdf": "<5.2.8", @@ -3388,185 +3342,71 @@ "zetacomponents/mail": "<1.8.2", "zf-commons/zfc-user": "<1.2.2", "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", - "zfr/zfr-oauth2-server-module": "<0.1.2", - "zoujingli/thinkadmin": "<=6.1.53", - "zumba/json-serializer": "<3.2.3" - }, - "type": "metapackage", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "role": "maintainer" - }, - { - "name": "Ilya Tribusean", - "email": "slash3b@gmail.com", - "role": "maintainer" - } - ], - "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", - "keywords": [ - "dev" - ], - "support": { - "issues": "https://github.com/Roave/SecurityAdvisories/issues", - "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" - }, - "funding": [ - { - "url": "https://github.com/Ocramius", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", - "type": "tidelift" - } - ], - "time": "2026-06-26T23:29:05+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180", - "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-07-03T04:41:36+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/54391c61e4af8078e5b276ab082b6d3c54c9ad64", - "reference": "54391c61e4af8078e5b276ab082b6d3c54c9ad64", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "phpunit/phpunit": "^11.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] + "zfr/zfr-oauth2-server-module": "<0.1.2", + "zoujingli/thinkadmin": "<=6.1.53", + "zumba/json-serializer": "<3.2.3" }, + "type": "metapackage", "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "role": "maintainer" + }, + { + "name": "Ilya Tribusean", + "email": "slash3b@gmail.com", + "role": "maintainer" } ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", + "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "keywords": [ + "dev" + ], "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "security": "https://github.com/sebastianbergmann/code-unit/security/policy", - "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.3" + "issues": "https://github.com/Roave/SecurityAdvisories/issues", + "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/Ocramius", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", + "type": "tidelift" } ], - "time": "2025-03-19T07:56:08+00:00" + "time": "2026-07-02T21:06:44+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "4.0.1", + "name": "sebastian/cli-parser", + "version": "5.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "183a9b2632194febd219bb9246eee421dad8d45e" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "48a4654fa5e48c1c81214e9930048a572d4b23ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e", - "reference": "183a9b2632194febd219bb9246eee421dad8d45e", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/48a4654fa5e48c1c81214e9930048a572d4b23ca", + "reference": "48a4654fa5e48c1c81214e9930048a572d4b23ca", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -3581,47 +3421,60 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1" + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/5.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser", + "type": "tidelift" } ], - "time": "2024-07-03T04:45:54+00:00" + "time": "2026-02-06T04:39:44+00:00" }, { "name": "sebastian/comparator", - "version": "6.3.3", + "version": "8.3.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9" + "reference": "c025fc7604afab3f195fab7cdaf72327331af241" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", - "reference": "2c95e1e86cb8dd41beb8d502057d1081ccc8eca9", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c025fc7604afab3f195fab7cdaf72327331af241", + "reference": "c025fc7604afab3f195fab7cdaf72327331af241", "shasum": "" }, "require": { "ext-dom": "*", "ext-mbstring": "*", - "php": ">=8.2", - "sebastian/diff": "^6.0", - "sebastian/exporter": "^6.0" + "php": ">=8.4", + "sebastian/diff": "^9.0", + "sebastian/exporter": "^8.1.0" }, "require-dev": { - "phpunit/phpunit": "^11.4" + "phpunit/phpunit": "^13.2" }, "suggest": { "ext-bcmath": "For comparing BcMath\\Number objects" @@ -3629,7 +3482,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "6.3-dev" + "dev-main": "8.3-dev" } }, "autoload": { @@ -3669,7 +3522,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/8.3.0" }, "funding": [ { @@ -3689,33 +3542,33 @@ "type": "tidelift" } ], - "time": "2026-01-24T09:26:40+00:00" + "time": "2026-06-05T03:06:45+00:00" }, { "name": "sebastian/complexity", - "version": "4.0.1", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "ee41d384ab1906c68852636b6de493846e13e5a0" + "reference": "c5651c795c98093480df79350cb050813fc7a2f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0", - "reference": "ee41d384ab1906c68852636b6de493846e13e5a0", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/c5651c795c98093480df79350cb050813fc7a2f3", + "reference": "c5651c795c98093480df79350cb050813fc7a2f3", "shasum": "" }, "require": { "nikic/php-parser": "^5.0", - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -3739,41 +3592,53 @@ "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1" + "source": "https://github.com/sebastianbergmann/complexity/tree/6.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/complexity", + "type": "tidelift" } ], - "time": "2024-07-03T04:49:50+00:00" + "time": "2026-02-06T04:41:32+00:00" }, { "name": "sebastian/diff", - "version": "6.0.2", + "version": "9.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" + "reference": "a3fb6a298a265ff487a91bbea46e03cd01dbb226" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", - "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/a3fb6a298a265ff487a91bbea46e03cd01dbb226", + "reference": "a3fb6a298a265ff487a91bbea46e03cd01dbb226", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.0", - "symfony/process": "^4.2 || ^5" + "phpunit/phpunit": "^13.2", + "symfony/process": "^7.4.13" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "9.0-dev" } }, "autoload": { @@ -3806,35 +3671,47 @@ "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" + "source": "https://github.com/sebastianbergmann/diff/tree/9.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/diff", + "type": "tidelift" } ], - "time": "2024-07-03T04:53:05+00:00" + "time": "2026-06-05T03:04:51+00:00" }, { "name": "sebastian/environment", - "version": "7.2.1", + "version": "9.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4" + "reference": "6c9e487c9eb706a8d258102a1c0b0a3e53e86c2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/a5c75038693ad2e8d4b6c15ba2403532647830c4", - "reference": "a5c75038693ad2e8d4b6c15ba2403532647830c4", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6c9e487c9eb706a8d258102a1c0b0a3e53e86c2e", + "reference": "6c9e487c9eb706a8d258102a1c0b0a3e53e86c2e", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^13.1.11" }, "suggest": { "ext-posix": "*" @@ -3842,7 +3719,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "7.2-dev" + "dev-main": "9.3-dev" } }, "autoload": { @@ -3870,7 +3747,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/7.2.1" + "source": "https://github.com/sebastianbergmann/environment/tree/9.3.2" }, "funding": [ { @@ -3890,34 +3767,34 @@ "type": "tidelift" } ], - "time": "2025-05-21T11:55:47+00:00" + "time": "2026-05-25T13:41:38+00:00" }, { "name": "sebastian/exporter", - "version": "6.3.2", + "version": "8.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "70a298763b40b213ec087c51c739efcaa90bcd74" + "reference": "c0d29a945f8cf82f300a05e69874508e307ca4c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/70a298763b40b213ec087c51c739efcaa90bcd74", - "reference": "70a298763b40b213ec087c51c739efcaa90bcd74", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c0d29a945f8cf82f300a05e69874508e307ca4c6", + "reference": "c0d29a945f8cf82f300a05e69874508e307ca4c6", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": ">=8.2", - "sebastian/recursion-context": "^6.0" + "php": ">=8.4", + "sebastian/recursion-context": "^8.0" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^13.1.10" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.3-dev" + "dev-main": "8.1-dev" } }, "autoload": { @@ -3960,7 +3837,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.2" + "source": "https://github.com/sebastianbergmann/exporter/tree/8.1.0" }, "funding": [ { @@ -3980,35 +3857,173 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:12:51+00:00" + "time": "2026-05-21T11:50:56+00:00" + }, + { + "name": "sebastian/file-filter", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/file-filter.git", + "reference": "33a26f394330f6faa7684bb9cc73afb7727aae93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/file-filter/zipball/33a26f394330f6faa7684bb9cc73afb7727aae93", + "reference": "33a26f394330f6faa7684bb9cc73afb7727aae93", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "require-dev": { + "phpunit/phpunit": "^13.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for filtering files", + "homepage": "https://github.com/sebastianbergmann/file-filter", + "support": { + "issues": "https://github.com/sebastianbergmann/file-filter/issues", + "security": "https://github.com/sebastianbergmann/file-filter/security/policy", + "source": "https://github.com/sebastianbergmann/file-filter/tree/1.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/file-filter", + "type": "tidelift" + } + ], + "time": "2026-04-22T07:20:04+00:00" + }, + { + "name": "sebastian/git-state", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/git-state.git", + "reference": "792a952e0eba55b6960a48aeceb9f371aad1f76b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/git-state/zipball/792a952e0eba55b6960a48aeceb9f371aad1f76b", + "reference": "792a952e0eba55b6960a48aeceb9f371aad1f76b", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "require-dev": { + "phpunit/phpunit": "^13.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for describing the state of a Git checkout", + "homepage": "https://github.com/sebastianbergmann/git-state", + "support": { + "issues": "https://github.com/sebastianbergmann/git-state/issues", + "security": "https://github.com/sebastianbergmann/git-state/security/policy", + "source": "https://github.com/sebastianbergmann/git-state/tree/1.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/git-state", + "type": "tidelift" + } + ], + "time": "2026-03-21T12:54:28+00:00" }, { "name": "sebastian/global-state", - "version": "7.0.2", + "version": "9.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "3be331570a721f9a4b5917f4209773de17f747d7" + "reference": "ba68ba79da690cf7eddefd3ce5b78b20b9ba9945" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7", - "reference": "3be331570a721f9a4b5917f4209773de17f747d7", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ba68ba79da690cf7eddefd3ce5b78b20b9ba9945", + "reference": "ba68ba79da690cf7eddefd3ce5b78b20b9ba9945", "shasum": "" }, "require": { - "php": ">=8.2", - "sebastian/object-reflector": "^4.0", - "sebastian/recursion-context": "^6.0" + "php": ">=8.4", + "sebastian/object-reflector": "^6.0", + "sebastian/recursion-context": "^8.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^13.1.13" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "7.0-dev" + "dev-main": "9.0-dev" } }, "autoload": { @@ -4034,41 +4049,53 @@ "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2" + "source": "https://github.com/sebastianbergmann/global-state/tree/9.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "type": "tidelift" } ], - "time": "2024-07-03T04:57:36+00:00" + "time": "2026-06-01T15:11:33+00:00" }, { "name": "sebastian/lines-of-code", - "version": "3.0.1", + "version": "5.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a" + "reference": "d2cff273a90c79b0eb590baa682d4b5c318bdbb7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a", - "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d2cff273a90c79b0eb590baa682d4b5c318bdbb7", + "reference": "d2cff273a90c79b0eb590baa682d4b5c318bdbb7", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", - "php": ">=8.2" + "nikic/php-parser": "^5.7.0", + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^13.1.10" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -4092,42 +4119,54 @@ "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/5.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/lines-of-code", + "type": "tidelift" } ], - "time": "2024-07-03T04:58:38+00:00" + "time": "2026-05-19T16:23:37+00:00" }, { "name": "sebastian/object-enumerator", - "version": "6.0.1", + "version": "8.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "f5b498e631a74204185071eb41f33f38d64608aa" + "reference": "b39ab125fd9a7434b0ecbc4202eebce11a98cfc5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa", - "reference": "f5b498e631a74204185071eb41f33f38d64608aa", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/b39ab125fd9a7434b0ecbc4202eebce11a98cfc5", + "reference": "b39ab125fd9a7434b0ecbc4202eebce11a98cfc5", "shasum": "" }, "require": { - "php": ">=8.2", - "sebastian/object-reflector": "^4.0", - "sebastian/recursion-context": "^6.0" + "php": ">=8.4", + "sebastian/object-reflector": "^6.0", + "sebastian/recursion-context": "^8.0" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "8.0-dev" } }, "autoload": { @@ -4150,40 +4189,52 @@ "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/8.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/object-enumerator", + "type": "tidelift" } ], - "time": "2024-07-03T05:00:13+00:00" + "time": "2026-02-06T04:46:36+00:00" }, { "name": "sebastian/object-reflector", - "version": "4.0.1", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9" + "reference": "3ca042c2c60b0eab094f8a1b6a7093f4d4c72200" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9", - "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/3ca042c2c60b0eab094f8a1b6a7093f4d4c72200", + "reference": "3ca042c2c60b0eab094f8a1b6a7093f4d4c72200", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.0" + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -4206,40 +4257,52 @@ "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/6.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/object-reflector", + "type": "tidelift" } ], - "time": "2024-07-03T05:01:32+00:00" + "time": "2026-02-06T04:47:13+00:00" }, { "name": "sebastian/recursion-context", - "version": "6.0.3", + "version": "8.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc" + "reference": "74c5af21f6a5833e91767ca068c4d3dfec15317e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/f6458abbf32a6c8174f8f26261475dc133b3d9dc", - "reference": "f6458abbf32a6c8174f8f26261475dc133b3d9dc", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/74c5af21f6a5833e91767ca068c4d3dfec15317e", + "reference": "74c5af21f6a5833e91767ca068c4d3dfec15317e", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^13.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "8.0-dev" } }, "autoload": { @@ -4270,7 +4333,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.3" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/8.0.0" }, "funding": [ { @@ -4290,32 +4353,32 @@ "type": "tidelift" } ], - "time": "2025-08-13T04:42:22+00:00" + "time": "2026-02-06T04:51:28+00:00" }, { "name": "sebastian/type", - "version": "5.1.3", + "version": "7.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449" + "reference": "fee0309275847fefd7636167085e379c1dbf6990" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/f77d2d4e78738c98d9a68d2596fe5e8fa380f449", - "reference": "f77d2d4e78738c98d9a68d2596fe5e8fa380f449", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fee0309275847fefd7636167085e379c1dbf6990", + "reference": "fee0309275847fefd7636167085e379c1dbf6990", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^13.1.10" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.1-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -4339,7 +4402,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/type/issues", "security": "https://github.com/sebastianbergmann/type/security/policy", - "source": "https://github.com/sebastianbergmann/type/tree/5.1.3" + "source": "https://github.com/sebastianbergmann/type/tree/7.0.1" }, "funding": [ { @@ -4359,29 +4422,29 @@ "type": "tidelift" } ], - "time": "2025-08-09T06:55:48+00:00" + "time": "2026-05-20T06:49:11+00:00" }, { "name": "sebastian/version", - "version": "5.0.2", + "version": "7.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874" + "reference": "ad37a5552c8e2b88572249fdc19b6da7792e021b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874", - "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ad37a5552c8e2b88572249fdc19b6da7792e021b", + "reference": "ad37a5552c8e2b88572249fdc19b6da7792e021b", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -4405,15 +4468,27 @@ "support": { "issues": "https://github.com/sebastianbergmann/version/issues", "security": "https://github.com/sebastianbergmann/version/security/policy", - "source": "https://github.com/sebastianbergmann/version/tree/5.0.2" + "source": "https://github.com/sebastianbergmann/version/tree/7.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/version", + "type": "tidelift" } ], - "time": "2024-10-09T05:16:32+00:00" + "time": "2026-02-06T04:52:52+00:00" }, { "name": "staabm/side-effects-detector", @@ -4469,23 +4544,23 @@ }, { "name": "theseer/tokenizer", - "version": "1.3.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" + "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/7989e43bf381af0eac72e4f0ca5bcbfa81658be4", + "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" + "php": "^8.1" }, "type": "library", "autoload": { @@ -4507,7 +4582,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.3.1" + "source": "https://github.com/theseer/tokenizer/tree/2.0.1" }, "funding": [ { @@ -4515,7 +4590,7 @@ "type": "github" } ], - "time": "2025-11-17T20:03:58+00:00" + "time": "2025-12-08T11:19:18+00:00" } ], "aliases": [], @@ -4528,7 +4603,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "~8.3.0 || ~8.4.0 || ~8.5.0" + "php": "~8.4.0 || ~8.5.0" }, "platform-dev": {}, "plugin-api-version": "2.9.0" diff --git a/mago.json b/mago.json new file mode 100644 index 0000000..db1c5a5 --- /dev/null +++ b/mago.json @@ -0,0 +1,134 @@ +{ + "$schema": "https://mago.carthage.software/1.40.1/schema.json", + "version": "1", + "php-version": "8.5.0", + "source": { + "paths": ["src", "test"], + "includes": ["vendor"], + "excludes": [ + "vendor/nikic/fast-route/test/HackTypechecker/fixtures/all_options.php", + "vendor/nikic/fast-route/test/HackTypechecker/fixtures/no_options.php", + "vendor/nikic/fast-route/test/HackTypechecker/fixtures/empty_options.php" + ], + "glob": { + "literal-separator": false + } + }, + "formatter": { + "preset": "default", + "preserve-breaking-member-access-chain": true, + "preserve-breaking-member-access-chain-first-method-on-same-line": true, + "preserve-breaking-argument-list": true, + "preserve-breaking-array-like": true, + "preserve-breaking-parameter-list": true, + "preserve-breaking-attribute-list": true, + "preserve-breaking-conditional-expression": true, + "preserve-breaking-condition-expression": true, + "preserve-redundant-logical-binary-expression-parentheses": true, + "preserve-breaking-binary-expression": true, + "space-after-logical-not-unary-prefix-operator": true, + "always-break-named-arguments-list": true, + "align-assignment-like": true, + "sort-class-methods": true + }, + "linter": { + "minimum-fail-level": "Help", + "integrations": ["laminas", "phpunit"], + "rules": { + "literal-named-argument": { "enabled": true }, + "halstead": { "effort-threshold": 7000 }, + "valid-docblock": { "enabled": true }, + "no-negated-ternary": { "enabled": true }, + "no-short-bool-cast": { "enabled": true }, + "no-inline": { "enabled": true }, + "no-array-accumulation-in-loop": { "enabled": true }, + "no-literal-namespace-string": { "enabled": true }, + "no-parameter-shadowing": { "enabled": true }, + "no-side-effects-with-declarations": { "enabled": true }, + "prefer-array-spread": { "enabled": true }, + "prefer-explode-over-preg-split": { "enabled": true }, + "prefer-first-class-callable": { "check-functions": true }, + "prefer-test-attribute": { "enabled": true }, + "require-namespace": { "enabled": true }, + "prefer-pre-increment": { "enabled": true }, + "prefer-self-return-type": { "enabled": true }, + "sorted-integer-keys": { "enabled": true }, + "yoda-conditions": { "enabled": true }, + "file-name": { "enabled": true }, + "array-style": { "level": "Help" }, + "block-statement": { "level": "Help" }, + "braced-string-interpolation": { "enabled": true, "level": "Help" }, + "no-alias-function": { "level": "Help" }, + "no-php-tag-terminator": { "level": "Help" }, + "no-trailing-space": { "level": "Help" }, + "string-style": { "enabled": true, "level": "Help" }, + "ambiguous-constant-access": { "enabled": true }, + "ambiguous-function-call": { "enabled": true }, + "class-name": { "psr": true }, + "function-name": { "camel": true, "exclude": ["src/functions/*"] }, + "interface-name": { "psr": true }, + "method-name": { "enabled": true, "camel": true }, + "no-fully-qualified-global-class-like": { "enabled": true }, + "no-fully-qualified-global-constant": { "enabled": true }, + "no-fully-qualified-global-function": { "enabled": true }, + "property-name": { "enabled": true }, + "trait-name": { "psr": true }, + "variable-name": { "enabled": true, "camel": true, "either": false }, + "too-many-methods": { "exclude": ["test/"] }, + "no-iterator-to-array-in-foreach": { "enabled": true }, + "no-duplicate-match-arm": { "level": "Help" }, + "no-empty-comment": { "level": "Help" }, + "no-empty-loop": { "level": "Help" }, + "no-is-null": { "enabled": true, "level": "Help" }, + "no-null-property-init": { "enabled": true }, + "no-redundant-else": { "enabled": true }, + "disallowed-type-instantiation": { "enabled": true }, + "no-debug-symbols": { "level": "Help" }, + "no-assign-in-argument": { "enabled": true }, + "no-dead-store": { "enabled": true }, + "no-redundant-variable": { "enabled": true }, + "no-unused-closure-capture": { "enabled": true }, + "no-unused-global": { "enabled": true }, + "no-unused-static": { "enabled": true }, + "switch-continue-to-break": { "enabled": true }, + "invalid-open-tag": { "level": "Help" } + } + }, + "analyzer": { + "excludes": ["test"], + "plugins": ["psl", "psr-container"], + "find-unused-definitions": true, + "find-unused-expressions": true, + "find-overly-wide-return-types": true, + "analyze-dead-code": true, + "memoize-properties": true, + "check-throws": true, + "unchecked-exceptions": [ + "Error", + "LogicException", + "PHPUnit\\Framework\\Exception", + "PHPUnit\\Framework\\MockObject\\Exception", + "PHPUnit\\Event\\NoPreviousThrowableException" + ], + "unchecked-exception-classes": [], + "check-missing-override": true, + "find-unused-parameters": true, + "strict-list-index-checks": true, + "strict-array-index-existence": true, + "allow-array-truthy-operand": false, + "no-boolean-literal-comparison": true, + "check-missing-type-hints": true, + "check-arrow-function-missing-type-hints": true, + "register-super-globals": false, + "check-property-initialization": true, + "check-use-statements": true, + "check-name-casing": true, + "enforce-class-finality": true, + "class-initializers": [ + "PhpDb\\ResultSet\\AbstractResultSet::initialize", + "PHPUnit\\Framework\\TestCase::setUp", + "Laminas\\Form\\Element::init", + "Laminas\\InputFilter\\BaseInputFilter::init" + ] + } +} diff --git a/mago.toml b/mago.toml deleted file mode 100644 index 3c667bc..0000000 --- a/mago.toml +++ /dev/null @@ -1,176 +0,0 @@ -#:schema https://mago.carthage.software/1.40.1/schema.json -# Welcome to Mago! -# For full documentation, see https://mago.carthage.software/1.40.1/en/tools/overview/ -version = "1" -php-version = "8.4.1" -editor-url = "vscode://file/%file%:%line%:%column%" - -[source] -workspace = "." -paths = ["src/", "test/integration/", "test/unit/"] -includes = ["vendor"] -excludes = [] - -[source.glob] -literal-separator = true - -[formatter] -preset = "default" -preserve-breaking-member-access-chain = true -preserve-breaking-member-access-chain-first-method-on-same-line = true -preserve-breaking-argument-list = true -preserve-breaking-array-like = true -preserve-breaking-parameter-list = true -preserve-breaking-attribute-list = true -preserve-breaking-conditional-expression = true -preserve-breaking-condition-expression = true -preserve-redundant-logical-binary-expression-parentheses = true -# custom rules -space-after-logical-not-unary-prefix-operator = true -always-break-named-arguments-list = true -align-assignment-like = true -sort-class-methods = true -preserve-breaking-binary-expression = true - -[linter] -integrations = ["laminas", "phpunit"] - -[linter.rules] -literal-named-argument = { enabled = false } -halstead = { effort-threshold = 7000, level = "error" } -# Clarity -no-negated-ternary = { enabled = true, level = "error" } -no-short-bool-cast = { enabled = true, level = "error" } - -# Best Practice rules -no-inline = { enabled = true } -combine-consecutive-issets = { enabled = true, level = "error" } -loop-does-not-iterate = { enabled = true, level = "error" } -no-array-accumulation-in-loop = { enabled = true, level = "error" } -no-ini-set = { enabled = true, level = "error" } -no-literal-namespace-string = { enabled = true, level = "error" } -no-parameter-shadowing = { enabled = true, level = "error" } -no-side-effects-with-declarations = { enabled = true, level = "error" } -no-sprintf-concat = { enabled = true, level = "error" } -prefer-array-spread = { enabled = true, level = "error" } -prefer-explode-over-preg-split = { enabled = true, level = "error" } -prefer-first-class-callable = { enabled = true, level = "error", check-functions = true } -prefer-test-attribute = { enabled = true, level = "error" } -require-namespace = { enabled = true, level = "error" } -single-class-per-file = { enabled = true, level = "error" } -prefer-while-loop = { enabled = true, level = "error" } -prefer-arrow-function = { enabled = true, level = "error" } -prefer-early-continue = { enabled = true, level = "error" } -prefer-pre-increment = { enabled = true, level = "error" } -prefer-self-return-type = { enabled = true, level = "error" } -prefer-static-closure = { enabled = true, level = "error" } -sorted-integer-keys = { enabled = true, level = "error" } -use-compound-assignment = { enabled = true, level = "error" } -yoda-conditions = { enabled = true, level = "error"} - -# Consistency -file-name = { enabled = true, check-functions = true } -no-hash-comment = { level = "error" } -array-style = { enabled = true, level = "error" } -block-statement = { level = "error" } -braced-string-interpolation = { level = "error" } -no-alias-function = { level = "error" } -no-php-tag-terminator = { level = "error" } -no-trailing-space = { level = "error" } -string-style = { enabled = true, level = "error" } -ambiguous-constant-access = { enabled = true, level = "error" } -ambiguous-function-call = { enabled = true, level = "error" } -class-name = { level = "error" } -constant-name = { level = "error" } -enum-name = { level = "error" } -function-name = { level = "error", camel = true } -interface-name = { level = "error", psr = true } -lowercase-keyword = { level = "error" } -lowercase-type-hint = { level = "error" } -method-name = { enabled = true, level = "error" } -no-fully-qualified-global-class-like = { enabled = true, level = "error" } -no-fully-qualified-global-constant = { enabled = true, level = "error" } -no-fully-qualified-global-function = { enabled = true, level = "error" } -property-name = { enabled = true, level = "error" } -trait-name = { level = "error" } -variable-name = { enabled = true, level = "error", camel = true, either = false } - -# Maintainability -no-goto = { level = "error" } -no-boolean-flag-parameter = { level = "warning" } -no-else-clause = { level = "warning" } - -# Redundancy -inline-variable-return = { level = "error" } -no-iterator-to-array-in-foreach = { enabled = true, level = "error" } -no-redundant-literal-return = { level = "error" } -no-redundant-use = { level = "error" } -no-self-assignment = { level = "error" } -no-empty-loop = { level = "error" } -no-is-null = {enabled = true, level = "error" } -constant-condition = { level = "error" } -no-closing-tag = { level = "error" } -no-noop = { level = "error" } -no-null-property-init = { enabled = true, level = "error" } -no-protected-in-final = { level = "error" } -no-redundant-binary-string-prefix = { level = "error" } -no-redundant-block = { level = "error" } -no-redundant-continue = { level = "error" } -no-redundant-else = { enabled = true, level = "error" } -no-redundant-file = { level = "error" } -no-redundant-final = { level = "error" } -no-redundant-isset = { level = "error" } -no-redundant-math = { level = "error" } -no-redundant-method-override = { level = "error" } -no-redundant-nullsafe = { level = "error" } -no-redundant-parentheses = { level = "error" } -no-redundant-readonly = { level = "error" } -no-redundant-string-concat = { level = "error" } -no-redundant-write-visibility = { level = "error" } -no-redundant-yield-from = { level = "error" } -no-empty-comment = { level = "warning" } - -# Security -no-short-opening-tag = { level = "error" } -require-preg-quote-delimiter = { level = "error" } -no-debug-symbols = { level = "error" } - -# Correctness -assert-description = { level = "error" } -identity-comparison = { level = "error" } -no-assign-in-argument = { enabled = true, level = "error" } -no-assign-in-condition = { level = "error" } -no-dead-store = { enabled = true, level = "error" } -no-empty-catch-clause = { level = "error" } -no-redundant-variable = { enabled = true, level = "error" } -no-unused-closure-capture = {enabled = true, level = "error" } -no-unused-global = { enabled = true, level = "error" } -no-unused-static = { enabled = true, level = "error" } -strict-assertions = { level = "error" } -strict-behavior = { enabled = true, level = "error"} -strict-types = { level = "error" } -switch-continue-to-break = { enabled = true, level = "error" } -invalid-open-tag = { level = "error" } - -[analyzer] -plugins = ["psr-container"] -find-unused-definitions = true -find-unused-expressions = true -analyze-dead-code = true -memoize-properties = true -check-property-initialization = true -check-throws = false -unchecked-exceptions = ["Error", "LogicException"] -unchecked-exception-classes = [] -check-missing-override = true -find-unused-parameters = true -strict-list-index-checks = true -strict-array-index-existence = true -allow-array-truthy-operand = false -no-boolean-literal-comparison = false -check-missing-type-hints = true -register-super-globals = false - -class-initializers = [ - "PHPUnit\\Framework\\TestCase::setUp" -] \ No newline at end of file diff --git a/src/ConfigProvider.php b/src/ConfigProvider.php index 6cf0b4b..4dfbc46 100644 --- a/src/ConfigProvider.php +++ b/src/ConfigProvider.php @@ -14,21 +14,23 @@ namespace Webware\Core; +/** + * @type Dependencies = array{ + * factories: array + * } + * @type ProviderConfig = array{ + * dependencies: Dependencies + * } + */ final class ConfigProvider { /** - * @mago-return array{ - * aliases: array, - * invokables: array, - * factories: array - * } + * @return Dependencies */ public function getDependencies(): array { return [ - 'aliases' => [], - 'invokables' => [], - 'factories' => [ + 'factories' => [ Http\Middleware\AttachCoreServicesMiddleware::class => Container\AttachCoreServicesMiddlewareFactory::class, ], @@ -36,13 +38,7 @@ public function getDependencies(): array } /** - * @mago-return array{ - * dependencies: array{ - * aliases: array, - * invokables: array, - * factories: array - * } - * } + * @return ProviderConfig */ public function __invoke(): array { diff --git a/src/Configuration.php b/src/Configuration.php index a9b012c..aecbb38 100644 --- a/src/Configuration.php +++ b/src/Configuration.php @@ -4,13 +4,19 @@ namespace Webware\Core; +use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; -use Webware\Core\Exception\ContainerException; +/** + * @mago-expect analysis:class-must-be-final + */ readonly class Configuration implements ConfigurationInterface { private function __construct() {} + /** + * @throws ContainerExceptionInterface + */ public static function getAdminRouteNamePrefix(ContainerInterface $container, string $callingFactory): string { $config = static::getConfig($container, $callingFactory); @@ -18,6 +24,9 @@ public static function getAdminRouteNamePrefix(ContainerInterface $container, st return $config[static::ADMIN_ROUTE_NAME_PREFIX_KEY]; } + /** + * @throws ContainerExceptionInterface + */ public static function getAdminRouteSegment(ContainerInterface $container, string $callingFactory): string { $config = static::getConfig($container, $callingFactory); @@ -26,14 +35,13 @@ public static function getAdminRouteSegment(ContainerInterface $container, strin } /** - * - * @mago-return array{ + * @throws ContainerExceptionInterface + * @return array{ * admin_route_name_prefix: string, * admin_route_segment: string, * route_name_prefix: string, * route_segment: string, * } - * @throws ContainerException */ final public static function getConfig(ContainerInterface $container, string $callingFactory): array { @@ -41,12 +49,15 @@ final public static function getConfig(ContainerInterface $container, string $ca throw Exception\ContainerException::forMissingConfigService('config', $callingFactory); } - /** @mago-var array{'webware': array{admin_route_name_prefix: string, admin_route_segment: string, route_name_prefix: string, route_segment: string}} */ + /** @var array{'webware': array{admin_route_name_prefix: string, admin_route_segment: string, route_name_prefix: string, route_segment: string}} */ $config = $container->get('config'); return $config[static::CONFIG_KEY]; } + /** + * @throws ContainerExceptionInterface + */ public static function getRouteNamePrefix(ContainerInterface $container, string $callingFactory): string { $config = static::getConfig($container, $callingFactory); @@ -54,6 +65,9 @@ public static function getRouteNamePrefix(ContainerInterface $container, string return $config[static::ROUTE_NAME_PREFIX_KEY]; } + /** + * @throws ContainerExceptionInterface + */ public static function getRouteSegment(ContainerInterface $container, string $callingFactory): string { $config = static::getConfig($container, $callingFactory); diff --git a/src/Container/AttachCoreServicesMiddlewareFactory.php b/src/Container/AttachCoreServicesMiddlewareFactory.php index a947fdd..f9f90d0 100644 --- a/src/Container/AttachCoreServicesMiddlewareFactory.php +++ b/src/Container/AttachCoreServicesMiddlewareFactory.php @@ -5,11 +5,15 @@ namespace Webware\Core\Container; use Laminas\InputFilter\InputFilterPluginManager; +use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; use Webware\Core\Http\Middleware\AttachCoreServicesMiddleware; final class AttachCoreServicesMiddlewareFactory { + /** + * @throws ContainerExceptionInterface + */ public function __invoke(ContainerInterface $container): AttachCoreServicesMiddleware { return new AttachCoreServicesMiddleware( diff --git a/src/Http/Middleware/HttpMethodProcessorTrait.php b/src/Http/Middleware/HttpMethodProcessorTrait.php index 905a470..cf4319b 100644 --- a/src/Http/Middleware/HttpMethodProcessorTrait.php +++ b/src/Http/Middleware/HttpMethodProcessorTrait.php @@ -6,7 +6,6 @@ use DomainException; use Fig\Http\Message\RequestMethodInterface; -use Override; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface;