diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 0bb31a3..9b2a04b 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -48,8 +48,6 @@ jobs: strategy: matrix: php-version: - - "7.4" - - "8.0" - "8.1" - "8.2" - "8.3" @@ -59,10 +57,10 @@ jobs: codestyle: - "false" include: - - php-version: "8.2" + - php-version: "8.4" deps: "locked" codestyle: "true" - - php-version: "7.4" + - php-version: "8.1" deps: "lowest" codestyle: "false" diff --git a/composer.json b/composer.json index 80aec8c..7a620c6 100644 --- a/composer.json +++ b/composer.json @@ -28,9 +28,9 @@ "identity" ], "require": { - "php": "^7.4 || ^8.0", + "php": "^8.1", "ext-json": "*", - "facile-it/php-jose-verifier": "^0.3 || ^0.4.3", + "facile-it/php-jose-verifier": "^0.5.0-beta1", "php-http/discovery": "^1.6", "psr/http-client": "^1.0", "psr/http-client-implementation": "^1.0", @@ -39,12 +39,8 @@ "psr/http-message": "^1.0 || ^2.0", "psr/http-message-implementation": "^1.0", "psr/http-server-middleware": "^1.0", - "web-token/jwt-checker": "^2.0 || ^3.0", - "web-token/jwt-core": "^2.0 || ^3.0", - "web-token/jwt-encryption": "^2.0 || ^3.0", - "web-token/jwt-key-mgmt": "^2.0.7 || ^3.0", - "web-token/jwt-signature": "^2.0 || ^3.0", - "web-token/jwt-signature-algorithm-rsa": "^2.0 || ^3.0" + "spomky-labs/aes-key-wrap": "^7.0", + "web-token/jwt-library": "^3.4.3" }, "autoload": { "files": [ @@ -83,23 +79,7 @@ "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^8.5.14 || ^9.3", "symfony/console": "^4.3 || ^5.0 || ^6.0", - "vimeo/psalm": "^5.6.0", - "web-token/jwt-encryption-algorithm-aescbc": "^2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-aesgcm": "^2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-aesgcmkw": "^2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-aeskw": "^2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-dir": "^2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-ecdh-es": "^2.0 || ^3.0", - "web-token/jwt-signature-algorithm-eddsa": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-ecdh-es": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-experimental": "^2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-pbes2": "^2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-rsa": "^2.0 || ^3.0", - "web-token/jwt-signature-algorithm-ecdsa": "^2.0 || ^3.0", - "web-token/jwt-signature-algorithm-eddsa": "^2.0 || ^3.0", - "web-token/jwt-signature-algorithm-experimental": "^2.0 || ^3.0", - "web-token/jwt-signature-algorithm-hmac": "^2.0 || ^3.0", - "web-token/jwt-signature-algorithm-none": "^2.0 || ^3.0" + "vimeo/psalm": "^5.6.0" }, "suggest": { "facile-it/php-oauth2-http-client": "To use a PSR HTTP client to interact with OAuth2/OpenID protected APIs", @@ -107,8 +87,8 @@ "dflydev/fig-cookies": "To use the SessionCookieMiddleware" }, "scripts": { - "cs-check": "php-cs-fixer fix --dry-run --diff --allow-risky=yes", - "cs-fix": "php-cs-fixer fix --diff --allow-risky=yes", + "cs-check": "PHP_CS_FIXER_IGNORE_ENV=1 php-cs-fixer fix --dry-run --diff --allow-risky=yes", + "cs-fix": "PHP_CS_FIXER_IGNORE_ENV=1 php-cs-fixer fix --diff --allow-risky=yes", "psalm": "psalm", "test": "phpunit", "test-coverage": "phpunit --coverage-text", diff --git a/composer.lock b/composer.lock index e787733..78e9e0b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,29 +4,29 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8cc799e2e661c6258162bdc7ef200b34", + "content-hash": "183fbebec5d4e2e52273ea54c56067c7", "packages": [ { "name": "brick/math", - "version": "0.11.0", + "version": "0.12.3", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" + "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", + "url": "https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba", + "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba", "shasum": "" }, "require": { - "php": "^8.0" + "php": "^8.1" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^9.0", - "vimeo/psalm": "5.0.0" + "phpunit/phpunit": "^10.1", + "vimeo/psalm": "6.8.8" }, "type": "library", "autoload": { @@ -46,12 +46,17 @@ "arithmetic", "bigdecimal", "bignum", + "bignumber", "brick", - "math" + "decimal", + "integer", + "math", + "mathematics", + "rational" ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.11.0" + "source": "https://github.com/brick/math/tree/0.12.3" }, "funding": [ { @@ -59,67 +64,49 @@ "type": "github" } ], - "time": "2023-01-15T23:15:59+00:00" + "time": "2025-02-28T13:11:00+00:00" }, { "name": "facile-it/php-jose-verifier", - "version": "0.4.3", + "version": "0.5.0-beta1", "source": { "type": "git", "url": "https://github.com/facile-it/php-jose-verifier.git", - "reference": "87b63f735c77ead878d4c8447399d4844541580a" + "reference": "e5f7e713523b71621ecdceb689acc97d8aae551c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facile-it/php-jose-verifier/zipball/87b63f735c77ead878d4c8447399d4844541580a", - "reference": "87b63f735c77ead878d4c8447399d4844541580a", + "url": "https://api.github.com/repos/facile-it/php-jose-verifier/zipball/e5f7e713523b71621ecdceb689acc97d8aae551c", + "reference": "e5f7e713523b71621ecdceb689acc97d8aae551c", "shasum": "" }, "require": { "ext-json": "*", - "php": "^7.2 || ^8.0", - "php-http/discovery": "^1.7", + "nyholm/psr7": "^1.8", + "php": "^8.1", "psr/http-client": "^1.0", - "psr/http-message": "^1.0 || 2.0", + "psr/http-message": "^1.0 || ^2.0", "psr/simple-cache": "^1.0 || ^2.0 || ^3.0", "spomky-labs/base64url": "^2.0.1", + "symfony/http-client": "^6.0 || ^7.0", "symfony/polyfill-mbstring": "^1.15", - "web-token/jwt-checker": "^2.2.0 || ^3.0", - "web-token/jwt-core": "^2.2.0 || ^3.0", - "web-token/jwt-key-mgmt": "^2.2.0 || ^3.0", - "web-token/jwt-signature": "^2.2.0 || ^3.0", - "web-token/jwt-signature-algorithm-rsa": "^2.2.0 || ^3.0" + "web-token/jwt-library": "^3.4" }, "require-dev": { - "facile-it/facile-coding-standard": "^0.5", - "friendsofphp/php-cs-fixer": "^3.0", - "laminas/laminas-diactoros": "^2.2 || ^3.0.0", - "php-http/curl-client": "^2.1", - "phpspec/prophecy-phpunit": "^1.1 || ^2.0", - "phpunit/phpunit": "^8.5.14 || ^9.3", - "vimeo/psalm": "^4.30.0 || ^5.13.1", - "web-token/jwt-encryption": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-aescbc": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-aesgcm": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-aesgcmkw": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-aeskw": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-dir": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-ecdh-es": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-experimental": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-pbes2": "^2.2.0 || ^3.0", - "web-token/jwt-encryption-algorithm-rsa": "^2.2.0 || ^3.0", - "web-token/jwt-nested-token": "^2.2.0 || ^3.0", - "web-token/jwt-signature-algorithm-ecdsa": "^2.2.0 || ^3.0", - "web-token/jwt-signature-algorithm-experimental": "^2.2.0 || ^3.0", - "web-token/jwt-signature-algorithm-hmac": "^2.2.0 || ^3.0", - "web-token/jwt-signature-algorithm-none": "^2.2.0 || ^3.0", - "web-token/jwt-util-ecc": "^2.2.0 || ^3.0" + "facile-it/facile-coding-standard": "^1.2.0", + "friendsofphp/php-cs-fixer": "^3.14.3", + "phpspec/prophecy-phpunit": "^2.0.1", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5.20 || ^11.1.0", + "spomky-labs/aes-key-wrap": "^7.0", + "vimeo/psalm": "^5.23.1", + "web-token/jwt-library": "^3.4.3" }, "type": "library", "autoload": { "files": [ - "src/functions/derived_key.php", - "src/functions/jose_secret_key.php" + "src/Internal/functions/derived_key.php", + "src/Internal/functions/jose_secret_key.php" ], "psr-4": { "Facile\\JoseVerifier\\": "src/" @@ -152,30 +139,108 @@ ], "support": { "issues": "https://github.com/facile-it/php-jose-verifier/issues", - "source": "https://github.com/facile-it/php-jose-verifier/tree/0.4.3" + "source": "https://github.com/facile-it/php-jose-verifier/tree/0.5.0-beta1" + }, + "time": "2024-04-27T12:54:08+00:00" + }, + { + "name": "nyholm/psr7", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/Nyholm/psr7.git", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0" + }, + "provide": { + "php-http/message-factory-implementation": "1.0", + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "http-interop/http-factory-tests": "^0.9", + "php-http/message-factory": "^1.0", + "php-http/psr7-integration-tests": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", + "symfony/error-handler": "^4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Nyholm\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + }, + { + "name": "Martijn van der Ven", + "email": "martijn@vanderven.se" + } + ], + "description": "A fast PHP7 implementation of PSR-7", + "homepage": "https://tnyholm.se", + "keywords": [ + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/Nyholm/psr7/issues", + "source": "https://github.com/Nyholm/psr7/tree/1.8.2" }, - "time": "2023-07-28T09:54:13+00:00" + "funding": [ + { + "url": "https://github.com/Zegnat", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2024-09-09T07:06:30+00:00" }, { "name": "paragonie/constant_time_encoding", - "version": "v2.6.3", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "58c3f47f650c94ec05a151692652a868995d2938" + "reference": "df1e7fde177501eee2037dd159cf04f5f301a512" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", - "reference": "58c3f47f650c94ec05a151692652a868995d2938", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512", + "reference": "df1e7fde177501eee2037dd159cf04f5f301a512", "shasum": "" }, "require": { - "php": "^7|^8" + "php": "^8" }, "require-dev": { - "phpunit/phpunit": "^6|^7|^8|^9", - "vimeo/psalm": "^1|^2|^3|^4" + "phpunit/phpunit": "^9", + "vimeo/psalm": "^4|^5" }, "type": "library", "autoload": { @@ -221,20 +286,111 @@ "issues": "https://github.com/paragonie/constant_time_encoding/issues", "source": "https://github.com/paragonie/constant_time_encoding" }, - "time": "2022-06-14T06:56:20+00:00" + "time": "2024-05-08T12:36:18+00:00" + }, + { + "name": "paragonie/sodium_compat", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/paragonie/sodium_compat.git", + "reference": "a673d5f310477027cead2e2f2b6db5d8368157cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/a673d5f310477027cead2e2f2b6db5d8368157cb", + "reference": "a673d5f310477027cead2e2f2b6db5d8368157cb", + "shasum": "" + }, + "require": { + "php": "^8.1", + "php-64bit": "*" + }, + "require-dev": { + "phpunit/phpunit": "^7|^8|^9", + "vimeo/psalm": "^4|^5" + }, + "suggest": { + "ext-sodium": "Better performance, password hashing (Argon2i), secure memory management (memzero), and better security." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "files": [ + "autoload.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com" + }, + { + "name": "Frank Denis", + "email": "jedisct1@pureftpd.org" + } + ], + "description": "Pure PHP implementation of libsodium; uses the PHP extension if it exists", + "keywords": [ + "Authentication", + "BLAKE2b", + "ChaCha20", + "ChaCha20-Poly1305", + "Chapoly", + "Curve25519", + "Ed25519", + "EdDSA", + "Edwards-curve Digital Signature Algorithm", + "Elliptic Curve Diffie-Hellman", + "Poly1305", + "Pure-PHP cryptography", + "RFC 7748", + "RFC 8032", + "Salpoly", + "Salsa20", + "X25519", + "XChaCha20-Poly1305", + "XSalsa20-Poly1305", + "Xchacha20", + "Xsalsa20", + "aead", + "cryptography", + "ecdh", + "elliptic curve", + "elliptic curve cryptography", + "encryption", + "libsodium", + "php", + "public-key cryptography", + "secret-key cryptography", + "side-channel resistant" + ], + "support": { + "issues": "https://github.com/paragonie/sodium_compat/issues", + "source": "https://github.com/paragonie/sodium_compat/tree/v2.1.0" + }, + "time": "2024-09-04T12:51:01+00:00" }, { "name": "php-http/discovery", - "version": "1.19.1", + "version": "1.20.0", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "57f3de01d32085fea20865f9b16fb0e69347c39e" + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/57f3de01d32085fea20865f9b16fb0e69347c39e", - "reference": "57f3de01d32085fea20865f9b16fb0e69347c39e", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", "shasum": "" }, "require": { @@ -258,7 +414,8 @@ "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "symfony/phpunit-bridge": "^6.2" + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" }, "type": "composer-plugin", "extra": { @@ -297,9 +454,58 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.1" + "source": "https://github.com/php-http/discovery/tree/1.20.0" + }, + "time": "2024-10-02T11:20:13+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" }, - "time": "2023-07-11T07:02:26+00:00" + "time": "2021-02-03T23:26:27+00:00" }, { "name": "psr/clock", @@ -349,18 +555,66 @@ }, "time": "2022-11-25T14:36:26+00:00" }, + { + "name": "psr/container", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "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/1.1.2" + }, + "time": "2021-11-05T16:50:12+00:00" + }, { "name": "psr/http-client", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/php-fig/http-client.git", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31" + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/0955afe48220520692d2d09f7ab7e0f93ffd6a31", - "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { @@ -397,26 +651,26 @@ "psr-18" ], "support": { - "source": "https://github.com/php-fig/http-client/tree/1.0.2" + "source": "https://github.com/php-fig/http-client" }, - "time": "2023-04-10T20:12:12+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -440,7 +694,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -452,9 +706,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -622,6 +876,56 @@ }, "time": "2023-04-11T06:14:47+00:00" }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, { "name": "psr/simple-cache", "version": "3.0.0", @@ -674,11 +978,87 @@ "time": "2021-10-29T13:26:27+00:00" }, { - "name": "spomky-labs/base64url", - "version": "v2.0.4", + "name": "spomky-labs/aes-key-wrap", + "version": "v7.0.0", "source": { "type": "git", - "url": "https://github.com/Spomky-Labs/base64url.git", + "url": "https://github.com/Spomky-Labs/aes-key-wrap.git", + "reference": "fbeb834b1f83aa8fbdfbd4c12124f71d4c1606ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Spomky-Labs/aes-key-wrap/zipball/fbeb834b1f83aa8fbdfbd4c12124f71d4c1606ae", + "reference": "fbeb834b1f83aa8fbdfbd4c12124f71d4c1606ae", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-openssl": "*", + "php": ">=8.0" + }, + "require-dev": { + "infection/infection": "^0.25.4", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-beberlei-assert": "^1.0", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.0", + "rector/rector": "^0.12.5", + "symplify/easy-coding-standard": "^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "AESKW\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Florent Morselli", + "homepage": "https://github.com/Spomky-Labs/aes-key-wrap/contributors" + } + ], + "description": "AES Key Wrap for PHP.", + "homepage": "https://github.com/Spomky-Labs/aes-key-wrap", + "keywords": [ + "A128KW", + "A192KW", + "A256KW", + "RFC3394", + "RFC5649", + "aes", + "key", + "padding", + "wrap" + ], + "support": { + "issues": "https://github.com/Spomky-Labs/aes-key-wrap/issues", + "source": "https://github.com/Spomky-Labs/aes-key-wrap/tree/v7.0.0" + }, + "funding": [ + { + "url": "https://github.com/Spomky", + "type": "github" + }, + { + "url": "https://www.patreon.com/FlorentMorselli", + "type": "patreon" + } + ], + "time": "2021-12-08T20:36:59+00:00" + }, + { + "name": "spomky-labs/base64url", + "version": "v2.0.4", + "source": { + "type": "git", + "url": "https://github.com/Spomky-Labs/base64url.git", "reference": "7752ce931ec285da4ed1f4c5aa27e45e097be61d" }, "dist": { @@ -740,41 +1120,40 @@ }, { "name": "spomky-labs/pki-framework", - "version": "1.1.0", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/Spomky-Labs/pki-framework.git", - "reference": "d3ba688bf40e7c6e0dabf065ee18fc210734e760" + "reference": "5ac374c3e295c8b917208ff41b4d30f76668478c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Spomky-Labs/pki-framework/zipball/d3ba688bf40e7c6e0dabf065ee18fc210734e760", - "reference": "d3ba688bf40e7c6e0dabf065ee18fc210734e760", + "url": "https://api.github.com/repos/Spomky-Labs/pki-framework/zipball/5ac374c3e295c8b917208ff41b4d30f76668478c", + "reference": "5ac374c3e295c8b917208ff41b4d30f76668478c", "shasum": "" }, "require": { - "brick/math": "^0.10 || ^0.11", + "brick/math": "^0.10|^0.11|^0.12", "ext-mbstring": "*", "php": ">=8.1" }, "require-dev": { - "ekino/phpstan-banned-code": "^1.0", + "ekino/phpstan-banned-code": "^1.0|^2.0|^3.0", "ext-gmp": "*", "ext-openssl": "*", - "infection/infection": "^0.26", + "infection/infection": "^0.28|^0.29", "php-parallel-lint/php-parallel-lint": "^1.3", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-beberlei-assert": "^1.0", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^10.0", - "rector/rector": "^0.15", + "phpstan/extension-installer": "^1.3|^2.0", + "phpstan/phpstan": "^1.8|^2.0", + "phpstan/phpstan-deprecation-rules": "^1.0|^2.0", + "phpstan/phpstan-phpunit": "^1.1|^2.0", + "phpstan/phpstan-strict-rules": "^1.3|^2.0", + "phpunit/phpunit": "^10.1|^11.0", + "rector/rector": "^1.0|^2.0", "roave/security-advisories": "dev-latest", - "symfony/phpunit-bridge": "^6.1", - "symfony/var-dumper": "^6.1", - "symplify/easy-coding-standard": "^11.1", - "thecodingmachine/phpstan-safe-rule": "^1.2" + "symfony/string": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0", + "symplify/easy-coding-standard": "^12.0" }, "suggest": { "ext-bcmath": "For better performance (or GMP)", @@ -834,7 +1213,7 @@ ], "support": { "issues": "https://github.com/Spomky-Labs/pki-framework/issues", - "source": "https://github.com/Spomky-Labs/pki-framework/tree/1.1.0" + "source": "https://github.com/Spomky-Labs/pki-framework/tree/1.2.2" }, "funding": [ { @@ -846,48 +1225,60 @@ "type": "patreon" } ], - "time": "2023-02-13T17:21:24+00:00" + "time": "2025-01-03T09:35:48+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", + "name": "symfony/console", + "version": "v6.4.17", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + "url": "https://github.com/symfony/console.git", + "reference": "799445db3f15768ecc382ac5699e6da0520a0a04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "url": "https://api.github.com/repos/symfony/console/zipball/799445db3f15768ecc382ac5699e6da0520a0a04", + "reference": "799445db3f15768ecc382ac5699e6da0520a0a04", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "ext-mbstring": "*" + "psr/log-implementation": "1.0|2.0|3.0" }, - "suggest": { - "ext-mbstring": "For best performance" + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -895,25 +1286,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "cli", + "command-line", + "console", + "terminal" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + "source": "https://github.com/symfony/console/tree/v6.4.17" }, "funding": [ { @@ -929,108 +1319,129 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-12-07T12:07:30+00:00" }, { - "name": "web-token/jwt-checker", - "version": "3.2.7", + "name": "symfony/deprecation-contracts", + "version": "v3.5.1", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-checker.git", - "reference": "b0bbb546fe6f5d7f0a25750356260c6c541878a3" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-checker/zipball/b0bbb546fe6f5d7f0a25750356260c6c541878a3", - "reference": "b0bbb546fe6f5d7f0a25750356260c6c541878a3", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", + "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/clock": "^1.0", - "web-token/jwt-core": "^3.2" + "php": ">=8.1" }, "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Checker\\": "" + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.5-dev" } }, + "autoload": { + "files": [ + "function.php" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-checker/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Checker component of the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", "support": { - "source": "https://github.com/web-token/jwt-checker/tree/3.2.7" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-05-18T16:20:51+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { - "name": "web-token/jwt-core", - "version": "3.2.7", + "name": "symfony/http-client", + "version": "v6.4.19", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-core.git", - "reference": "db58b6ebbe1a7d5869688e989b1cf110c6ab888f" + "url": "https://github.com/symfony/http-client.git", + "reference": "3294a433fc9d12ae58128174896b5b1822c28dad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-core/zipball/db58b6ebbe1a7d5869688e989b1cf110c6ab888f", - "reference": "db58b6ebbe1a7d5869688e989b1cf110c6ab888f", + "url": "https://api.github.com/repos/symfony/http-client/zipball/3294a433fc9d12ae58128174896b5b1822c28dad", + "reference": "3294a433fc9d12ae58128174896b5b1822c28dad", "shasum": "" }, "require": { - "brick/math": "^0.9|^0.10|^0.11", - "ext-json": "*", - "ext-mbstring": "*", - "paragonie/constant_time_encoding": "^2.4", "php": ">=8.1", - "spomky-labs/pki-framework": "^1.0" + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-client-contracts": "~3.4.4|^3.5.2", + "symfony/service-contracts": "^2.5|^3" }, "conflict": { - "spomky-labs/jose": "*" + "php-http/discovery": "<1.15", + "symfony/http-foundation": "<6.3" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "3.0" + }, + "require-dev": { + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4|^2.0", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Jose\\Component\\Core\\": "" - } + "Symfony\\Component\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1038,156 +1449,152 @@ ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Core component of the JWT Framework.", - "homepage": "https://github.com/web-token", + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", + "homepage": "https://symfony.com", "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" + "http" ], "support": { - "source": "https://github.com/web-token/jwt-core/tree/3.2.7" + "source": "https://github.com/symfony/http-client/tree/v6.4.19" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-02-02T17:35:17+00:00" + "time": "2025-02-13T09:55:13+00:00" }, { - "name": "web-token/jwt-encryption", - "version": "3.2.7", + "name": "symfony/http-client-contracts", + "version": "v3.5.2", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-encryption.git", - "reference": "a16c36d16a00475f6b782340e8c88e70b1e57509" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption/zipball/a16c36d16a00475f6b782340e8c88e70b1e57509", - "reference": "a16c36d16a00475f6b782340e8c88e70b1e57509", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ee8d807ab20fcb51267fdace50fbe3494c31e645", + "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645", "shasum": "" }, "require": { - "php": ">=8.1", - "web-token/jwt-core": "^3.2" - }, - "suggest": { - "web-token/jwt-encryption-algorithm-aescbc": "AES CBC Based Content Encryption Algorithms", - "web-token/jwt-encryption-algorithm-aesgcm": "AES GCM Based Content Encryption Algorithms", - "web-token/jwt-encryption-algorithm-aesgcmkw": "AES GCM Key Wrapping Based Key Encryption Algorithms", - "web-token/jwt-encryption-algorithm-aeskw": "AES Key Wrapping Based Key Encryption Algorithms", - "web-token/jwt-encryption-algorithm-dir": "Direct Key Encryption Algorithms", - "web-token/jwt-encryption-algorithm-ecdh-es": "ECDH-ES Based Key Encryption Algorithms", - "web-token/jwt-encryption-algorithm-experimental": "Experimental Key and Signature Algorithms", - "web-token/jwt-encryption-algorithm-pbes2": "PBES2 Based Key Encryption Algorithms", - "web-token/jwt-encryption-algorithm-rsa": "RSA Based Key Encryption Algorithms" + "php": ">=8.1" }, "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\": "" - } - }, + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.5-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-encryption/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Encryption component of the JWT Framework.", - "homepage": "https://github.com/web-token", + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "source": "https://github.com/web-token/jwt-encryption/tree/3.2.7" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.2" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-05-18T16:20:51+00:00" + "time": "2024-12-07T08:49:48+00:00" }, { - "name": "web-token/jwt-key-mgmt", - "version": "3.2.7", + "name": "symfony/polyfill-ctype", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-key-mgmt.git", - "reference": "3b51eeeff38ac58ee86ec83d073b88b8294b1c7e" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-key-mgmt/zipball/3b51eeeff38ac58ee86ec83d073b88b8294b1c7e", - "reference": "3b51eeeff38ac58ee86ec83d073b88b8294b1c7e", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "ext-openssl": "*", - "php": ">=8.1", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "web-token/jwt-core": "^3.2" + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" }, "suggest": { - "ext-sodium": "Sodium is required for OKP key creation, EdDSA signature algorithm and ECDH-ES key encryption with OKP keys", - "php-http/httplug": "To enable JKU/X5U support.", - "php-http/message-factory": "To enable JKU/X5U support.", - "web-token/jwt-util-ecc": "To use EC key analyzers." + "ext-ctype": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Jose\\Component\\KeyManagement\\": "" + "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1196,75 +1603,74 @@ ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-key-mgmt/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Key Management component of the JWT Framework.", - "homepage": "https://github.com/web-token", + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" + "compatibility", + "ctype", + "polyfill", + "portable" ], "support": { - "source": "https://github.com/web-token/jwt-key-mgmt/tree/3.2.7" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-05-18T16:20:51+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "web-token/jwt-signature", - "version": "3.2.7", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-signature.git", - "reference": "156e0b0ef534e53eecf23a32a92ee6d8cb4fdac4" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-signature/zipball/156e0b0ef534e53eecf23a32a92ee6d8cb4fdac4", - "reference": "156e0b0ef534e53eecf23a32a92ee6d8cb4fdac4", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=8.1", - "web-token/jwt-core": "^3.2" + "php": ">=7.2" }, "suggest": { - "web-token/jwt-signature-algorithm-ecdsa": "ECDSA Based Signature Algorithms", - "web-token/jwt-signature-algorithm-eddsa": "EdDSA Based Signature Algorithms", - "web-token/jwt-signature-algorithm-experimental": "Experimental Signature Algorithms", - "web-token/jwt-signature-algorithm-hmac": "HMAC Based Signature Algorithms", - "web-token/jwt-signature-algorithm-none": "None Signature Algorithm", - "web-token/jwt-signature-algorithm-rsa": "RSA Based Signature Algorithms" + "ext-intl": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Jose\\Component\\Signature\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1273,74 +1679,80 @@ ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-signature/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Signature component of the JWT Framework.", - "homepage": "https://github.com/web-token", + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/web-token/jwt-signature/tree/3.2.7" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-05-18T16:20:51+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "web-token/jwt-signature-algorithm-rsa", - "version": "3.2.7", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-signature-algorithm-rsa.git", - "reference": "1015c68cc4e7d7a355e40bba6beeee3fe21b5572" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-signature-algorithm-rsa/zipball/1015c68cc4e7d7a355e40bba6beeee3fe21b5572", - "reference": "1015c68cc4e7d7a355e40bba6beeee3fe21b5572", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "brick/math": "^0.9|^0.10|^0.11", - "ext-openssl": "*", - "php": ">=8.1", - "web-token/jwt-signature": "^3.2" + "php": ">=7.2" }, "suggest": { - "ext-bcmath": "GMP or BCMath is highly recommended to improve the library performance", - "ext-gmp": "GMP or BCMath is highly recommended to improve the library performance" + "ext-intl": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Jose\\Component\\Signature\\Algorithm\\": "" - } + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1348,86 +1760,79 @@ ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "RSA Based Signature Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/web-token/jwt-signature-algorithm-rsa/tree/3.2.7" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-05-18T16:20:51+00:00" - } - ], - "packages-dev": [ + "time": "2024-09-09T11:45:10+00:00" + }, { - "name": "amphp/amp", - "version": "v2.6.2", + "name": "symfony/polyfill-mbstring", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/amphp/amp.git", - "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", - "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1", - "ext-json": "*", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^7 | ^8 | ^9", - "psalm/phar": "^3.11@dev", - "react/promise": "^2" + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.x-dev" + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { "files": [ - "lib/functions.php", - "lib/Internal/functions.php" + "bootstrap.php" ], "psr-4": { - "Amp\\": "lib" + "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1436,87 +1841,81 @@ ], "authors": [ { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Niklas Keller", - "email": "me@kelunik.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A non-blocking concurrency framework for PHP applications.", - "homepage": "https://amphp.org/amp", + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", "keywords": [ - "async", - "asynchronous", - "awaitable", - "concurrency", - "event", - "event-loop", - "future", - "non-blocking", - "promise" + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" ], "support": { - "irc": "irc://irc.freenode.org/amphp", - "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v2.6.2" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { - "url": "https://github.com/amphp", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2022-02-20T17:52:18+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "amphp/byte-stream", - "version": "v1.8.1", + "name": "symfony/service-contracts", + "version": "v3.5.1", "source": { "type": "git", - "url": "https://github.com/amphp/byte-stream.git", - "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd", - "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0", + "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0", "shasum": "" }, "require": { - "amphp/amp": "^2", - "php": ">=7.1" + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1.4", - "friendsofphp/php-cs-fixer": "^2.3", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^6 || ^7 || ^8", - "psalm/phar": "^3.11.4" + "conflict": { + "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { - "dev-master": "1.x-dev" + "dev-main": "3.5-dev" } }, "autoload": { - "files": [ - "lib/functions.php" - ], "psr-4": { - "Amp\\ByteStream\\": "lib" - } + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1524,113 +1923,175 @@ ], "authors": [ { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Niklas Keller", - "email": "me@kelunik.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A stream abstraction to make working with non-blocking I/O simple.", - "homepage": "http://amphp.org/byte-stream", + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", "keywords": [ - "amp", - "amphp", - "async", - "io", - "non-blocking", - "stream" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "irc": "irc://irc.freenode.org/amphp", - "issues": "https://github.com/amphp/byte-stream/issues", - "source": "https://github.com/amphp/byte-stream/tree/v1.8.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.1" }, "funding": [ { - "url": "https://github.com/amphp", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2021-03-30T17:13:30+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { - "name": "brick/varexporter", - "version": "0.3.8", + "name": "symfony/string", + "version": "v6.4.15", "source": { "type": "git", - "url": "https://github.com/brick/varexporter.git", - "reference": "b5853edea6204ff8fa10633c3a4cccc4058410ed" + "url": "https://github.com/symfony/string.git", + "reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/varexporter/zipball/b5853edea6204ff8fa10633c3a4cccc4058410ed", - "reference": "b5853edea6204ff8fa10633c3a4cccc4058410ed", + "url": "https://api.github.com/repos/symfony/string/zipball/73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f", + "reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f", "shasum": "" }, "require": { - "nikic/php-parser": "^4.0", - "php": "^7.2 || ^8.0" + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^8.5 || ^9.0", - "vimeo/psalm": "4.23.0" + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "Brick\\VarExporter\\": "src/" - } + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "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": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", "keywords": [ - "var_export" + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" ], "support": { - "issues": "https://github.com/brick/varexporter/issues", - "source": "https://github.com/brick/varexporter/tree/0.3.8" + "source": "https://github.com/symfony/string/tree/v6.4.15" }, "funding": [ { - "url": "https://github.com/BenMorel", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-01-21T23:05:38+00:00" + "time": "2024-11-13T13:31:12+00:00" }, { - "name": "clue/stream-filter", - "version": "v1.6.0", + "name": "web-token/jwt-library", + "version": "3.4.7", "source": { "type": "git", - "url": "https://github.com/clue/stream-filter.git", - "reference": "d6169430c7731d8509da7aecd0af756a5747b78e" + "url": "https://github.com/web-token/jwt-library.git", + "reference": "1a25c8ced3e2b3c31d32dcfad215cbd8cb812f28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/d6169430c7731d8509da7aecd0af756a5747b78e", - "reference": "d6169430c7731d8509da7aecd0af756a5747b78e", + "url": "https://api.github.com/repos/web-token/jwt-library/zipball/1a25c8ced3e2b3c31d32dcfad215cbd8cb812f28", + "reference": "1a25c8ced3e2b3c31d32dcfad215cbd8cb812f28", "shasum": "" }, "require": { - "php": ">=5.3" + "brick/math": "^0.9|^0.10|^0.11|^0.12", + "ext-json": "*", + "ext-mbstring": "*", + "paragonie/constant_time_encoding": "^2.6|^3.0", + "paragonie/sodium_compat": "^1.20|^2.0", + "php": ">=8.1", + "psr/cache": "^3.0", + "psr/clock": "^1.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "spomky-labs/pki-framework": "^1.2.1", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/polyfill-mbstring": "^1.12" }, - "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" + "conflict": { + "spomky-labs/jose": "*" + }, + "suggest": { + "ext-bcmath": "GMP or BCMath is highly recommended to improve the library performance", + "ext-gmp": "GMP or BCMath is highly recommended to improve the library performance", + "ext-openssl": "For key management (creation, optimization, etc.) and some algorithms (AES, RSA, ECDSA, etc.)", + "ext-sodium": "Sodium is required for OKP key creation, EdDSA signature algorithm and ECDH-ES key encryption with OKP keys", + "paragonie/sodium_compat": "Sodium is required for OKP key creation, EdDSA signature algorithm and ECDH-ES key encryption with OKP keys", + "spomky-labs/aes-key-wrap": "For all Key Wrapping algorithms (A128KW, A192KW, A256KW, A128GCMKW, A192GCMKW, A256GCMKW, PBES2-HS256+A128KW, PBES2-HS384+A192KW, PBES2-HS512+A256KW...)", + "symfony/http-client": "To enable JKU/X5U support." }, "type": "library", "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { - "Clue\\StreamFilter\\": "src/" + "Jose\\Component\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1639,68 +2100,91 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering" + "name": "Florent Morselli", + "homepage": "https://github.com/Spomky" + }, + { + "name": "All contributors", + "homepage": "https://github.com/web-token/jwt-framework/contributors" } ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/php-stream-filter", + "description": "JWT library", + "homepage": "https://github.com/web-token", "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" + "JOSE", + "JWE", + "JWK", + "JWKSet", + "JWS", + "Jot", + "RFC7515", + "RFC7516", + "RFC7517", + "RFC7518", + "RFC7519", + "RFC7520", + "bundle", + "jwa", + "jwt", + "symfony" ], "support": { - "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.6.0" + "issues": "https://github.com/web-token/jwt-library/issues", + "source": "https://github.com/web-token/jwt-library/tree/3.4.7" }, "funding": [ { - "url": "https://clue.engineering/support", - "type": "custom" + "url": "https://github.com/Spomky", + "type": "github" }, { - "url": "https://github.com/clue", - "type": "github" + "url": "https://www.patreon.com/FlorentMorselli", + "type": "patreon" } ], - "time": "2022-02-21T13:15:14+00:00" - }, + "time": "2024-07-02T16:35:11+00:00" + } + ], + "packages-dev": [ { - "name": "composer/pcre", - "version": "3.1.0", + "name": "amphp/amp", + "version": "v2.6.4", "source": { "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + "url": "https://github.com/amphp/amp.git", + "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", - "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "url": "https://api.github.com/repos/amphp/amp/zipball/ded3d9be08f526089eb7ee8d9f16a9768f9dec2d", + "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": ">=7.1" }, "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1", + "ext-json": "*", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^7 | ^8 | ^9", + "react/promise": "^2", + "vimeo/psalm": "^3.12" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { + "files": [ + "lib/functions.php", + "lib/Internal/functions.php" + ], "psr-4": { - "Composer\\Pcre\\": "src" + "Amp\\": "lib" } }, "notification-url": "https://packagist.org/downloads/", @@ -1709,68 +2193,81 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "description": "A non-blocking concurrency framework for PHP applications.", + "homepage": "https://amphp.org/amp", "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" + "async", + "asynchronous", + "awaitable", + "concurrency", + "event", + "event-loop", + "future", + "non-blocking", + "promise" ], "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.0" + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/amp/issues", + "source": "https://github.com/amphp/amp/tree/v2.6.4" }, "funding": [ { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", + "url": "https://github.com/amphp", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2022-11-17T09:50:14+00:00" + "time": "2024-03-21T18:52:26+00:00" }, { - "name": "composer/semver", - "version": "3.3.2", + "name": "amphp/byte-stream", + "version": "v1.8.2", "source": { "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" + "url": "https://github.com/amphp/byte-stream.git", + "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/4f0e968ba3798a423730f567b1b50d3441c16ddc", + "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "amphp/amp": "^2", + "php": ">=7.1" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1.4", + "friendsofphp/php-cs-fixer": "^2.3", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^6 || ^7 || ^8", + "psalm/phar": "^3.11.4" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, "autoload": { + "files": [ + "lib/functions.php" + ], "psr-4": { - "Composer\\Semver\\": "src" + "Amp\\ByteStream\\": "lib" } }, "notification-url": "https://packagist.org/downloads/", @@ -1779,153 +2276,111 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" }, { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", + "description": "A stream abstraction to make working with non-blocking I/O simple.", + "homepage": "https://amphp.org/byte-stream", "keywords": [ - "semantic", - "semver", - "validation", - "versioning" + "amp", + "amphp", + "async", + "io", + "non-blocking", + "stream" ], "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" + "issues": "https://github.com/amphp/byte-stream/issues", + "source": "https://github.com/amphp/byte-stream/tree/v1.8.2" }, "funding": [ { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", + "url": "https://github.com/amphp", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2022-04-01T19:23:25+00:00" + "time": "2024-04-13T18:00:56+00:00" }, { - "name": "composer/xdebug-handler", - "version": "3.0.3", + "name": "brick/varexporter", + "version": "0.4.0", "source": { "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" + "url": "https://github.com/brick/varexporter.git", + "reference": "2fd038f7c9d12d468130c6e1b3ce06e4160a7dbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "url": "https://api.github.com/repos/brick/varexporter/zipball/2fd038f7c9d12d468130c6e1b3ce06e4160a7dbb", + "reference": "2fd038f7c9d12d468130c6e1b3ce06e4160a7dbb", "shasum": "" }, "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" + "nikic/php-parser": "^4.0", + "php": "^7.4 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^8.5 || ^9.0", + "vimeo/psalm": "5.15.0" }, "type": "library", "autoload": { "psr-4": { - "Composer\\XdebugHandler\\": "src" + "Brick\\VarExporter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", + "description": "A powerful alternative to var_export(), which can export closures and objects without __set_state()", "keywords": [ - "Xdebug", - "performance" + "var_export" ], "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + "issues": "https://github.com/brick/varexporter/issues", + "source": "https://github.com/brick/varexporter/tree/0.4.0" }, "funding": [ { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", + "url": "https://github.com/BenMorel", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2022-02-25T21:32:43+00:00" + "time": "2023-09-01T21:10:07+00:00" }, { - "name": "dflydev/fig-cookies", - "version": "v3.1.0", + "name": "clue/ndjson-react", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/dflydev/dflydev-fig-cookies.git", - "reference": "ebe6c15c9895fc490efe620ad734c8ef4a85bdb0" + "url": "https://github.com/clue/reactphp-ndjson.git", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-fig-cookies/zipball/ebe6c15c9895fc490efe620ad734c8ef4a85bdb0", - "reference": "ebe6c15c9895fc490efe620ad734c8ef4a85bdb0", + "url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0", + "reference": "392dc165fce93b5bb5c637b67e59619223c931b0", "shasum": "" }, "require": { - "ext-pcre": "*", - "php": "^7.2 || ^8.0", - "psr/http-message": "^1.0.1 || ^2" + "php": ">=5.3", + "react/stream": "^1.2" }, "require-dev": { - "doctrine/coding-standard": "^8", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12.16", - "phpunit/phpunit": "^7.2.6 || ^9", - "scrutinizer/ocular": "^1.8", - "squizlabs/php_codesniffer": "^3.3", - "vimeo/psalm": "^4.4" + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", + "react/event-loop": "^1.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0.x-dev" - } - }, "autoload": { "psr-4": { - "Dflydev\\FigCookies\\": "src/Dflydev/FigCookies" + "Clue\\React\\NDJson\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1934,94 +2389,141 @@ ], "authors": [ { - "name": "Beau Simensen", - "email": "beau@dflydev.com" + "name": "Christian Lück", + "email": "christian@clue.engineering" } ], - "description": "Cookies for PSR-7 HTTP Message Interface.", + "description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.", + "homepage": "https://github.com/clue/reactphp-ndjson", "keywords": [ - "cookies", - "psr-7", - "psr7" + "NDJSON", + "json", + "jsonlines", + "newline", + "reactphp", + "streaming" ], "support": { - "issues": "https://github.com/dflydev/dflydev-fig-cookies/issues", - "source": "https://github.com/dflydev/dflydev-fig-cookies/tree/v3.1.0" + "issues": "https://github.com/clue/reactphp-ndjson/issues", + "source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0" }, - "time": "2023-07-18T20:41:43+00:00" + "funding": [ + { + "url": "https://clue.engineering/support", + "type": "custom" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2022-12-23T10:58:28+00:00" }, { - "name": "dnoegel/php-xdg-base-dir", - "version": "v0.1.1", + "name": "clue/stream-filter", + "version": "v1.7.0", "source": { "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + "url": "https://github.com/clue/stream-filter.git", + "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", + "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": ">=5.3" }, "require-dev": { - "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, "type": "library", "autoload": { + "files": [ + "src/functions_include.php" + ], "psr-4": { - "XdgBaseDir\\": "src/" + "Clue\\StreamFilter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "implementation of xdg base directory specification for php", + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering" + } + ], + "description": "A simple and modern approach to stream filtering in PHP", + "homepage": "https://github.com/clue/stream-filter", + "keywords": [ + "bucket brigade", + "callback", + "filter", + "php_user_filter", + "stream", + "stream_filter_append", + "stream_filter_register" + ], "support": { - "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", - "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + "issues": "https://github.com/clue/stream-filter/issues", + "source": "https://github.com/clue/stream-filter/tree/v1.7.0" }, - "time": "2019-12-04T15:06:13+00:00" + "funding": [ + { + "url": "https://clue.engineering/support", + "type": "custom" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2023-12-20T15:40:13+00:00" }, { - "name": "doctrine/annotations", - "version": "2.0.1", + "name": "composer/pcre", + "version": "3.3.2", "source": { "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" + "url": "https://github.com/composer/pcre.git", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" + "php": "^7.4 || ^8.0" }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6", - "vimeo/psalm": "^4.10" + "conflict": { + "phpstan/phpstan": "<1.11.10" }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + "require-dev": { + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" }, "type": "library", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-main": "3.x-dev" + } + }, "autoload": { "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + "Composer\\Pcre\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2030,117 +2532,68 @@ ], "authors": [ { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.3.2" + }, + "funding": [ { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" + "url": "https://packagist.com", + "type": "custom" }, { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" + "url": "https://github.com/composer", + "type": "github" }, { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.1" - }, - "time": "2023-02-02T22:02:53+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { - "name": "doctrine/deprecations", - "version": "v1.1.1", + "name": "composer/semver", + "version": "3.4.3", "source": { "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3" + "url": "https://github.com/composer/semver.git", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", - "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" - }, - "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" } }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.1.1" - }, - "time": "2023-06-03T09:27:29+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" - }, - "type": "library", "autoload": { "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2149,65 +2602,77 @@ ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ - "constructor", - "instantiate" + "semantic", + "semver", + "validation", + "versioning" ], "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { - "url": "https://www.doctrine-project.org/sponsorship.html", + "url": "https://packagist.com", "type": "custom" }, { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" + "url": "https://github.com/composer", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], - "time": "2022-12-30T00:23:10+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { - "name": "doctrine/lexer", - "version": "3.0.0", + "name": "composer/xdebug-handler", + "version": "3.0.5", "source": { "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "84a527db05647743d50373e0ec53a152f2cde568" + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", - "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { - "php": "^8.1" + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^9.5", - "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.0" + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "src" + "Composer\\XdebugHandler\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2216,158 +2681,408 @@ ], "authors": [ { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" } ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "description": "Restarts a process without Xdebug.", "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" + "Xdebug", + "performance" ], "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/3.0.0" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" }, "funding": [ { - "url": "https://www.doctrine-project.org/sponsorship.html", + "url": "https://packagist.com", "type": "custom" }, { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" + "url": "https://github.com/composer", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], - "time": "2022-12-15T16:57:16+00:00" + "time": "2024-05-06T16:37:16+00:00" }, { - "name": "facile-it/facile-coding-standard", - "version": "0.5.2", + "name": "dflydev/fig-cookies", + "version": "v3.1.0", "source": { "type": "git", - "url": "https://github.com/facile-it/facile-coding-standard.git", - "reference": "cab0ae4c37209ecae8a34dc78e3c8b49c7d4be96" + "url": "https://github.com/dflydev/dflydev-fig-cookies.git", + "reference": "ebe6c15c9895fc490efe620ad734c8ef4a85bdb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facile-it/facile-coding-standard/zipball/cab0ae4c37209ecae8a34dc78e3c8b49c7d4be96", - "reference": "cab0ae4c37209ecae8a34dc78e3c8b49c7d4be96", + "url": "https://api.github.com/repos/dflydev/dflydev-fig-cookies/zipball/ebe6c15c9895fc490efe620ad734c8ef4a85bdb0", + "reference": "ebe6c15c9895fc490efe620ad734c8ef4a85bdb0", "shasum": "" }, "require": { - "composer-plugin-api": "^1.1 || ^2.0", - "ext-json": "*", - "friendsofphp/php-cs-fixer": "^3.0", + "ext-pcre": "*", "php": "^7.2 || ^8.0", - "symfony/console": "^4.0 || ^5.0 || ^6.0" + "psr/http-message": "^1.0.1 || ^2" }, "require-dev": { - "composer/composer": "^1.3.2 || ^2.0", - "composer/semver": "^3.0", - "mikey179/vfsstream": "^1.6.8", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^8.5.21", - "vimeo/psalm": "^4.9" + "doctrine/coding-standard": "^8", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12.16", + "phpunit/phpunit": "^7.2.6 || ^9", + "scrutinizer/ocular": "^1.8", + "squizlabs/php_codesniffer": "^3.3", + "vimeo/psalm": "^4.4" }, - "type": "composer-plugin", + "type": "library", "extra": { - "class": "Facile\\CodingStandards\\Installer\\Plugin" + "branch-alias": { + "dev-main": "3.0.x-dev" + } }, "autoload": { "psr-4": { - "Facile\\CodingStandards\\": "src/" + "Dflydev\\FigCookies\\": "src/Dflydev/FigCookies" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Facile.it coding standard", + "authors": [ + { + "name": "Beau Simensen", + "email": "beau@dflydev.com" + } + ], + "description": "Cookies for PSR-7 HTTP Message Interface.", "keywords": [ - "Coding Standard", - "facile", - "facile.it" + "cookies", + "psr-7", + "psr7" ], "support": { - "issues": "https://github.com/facile-it/facile-coding-standard/issues", - "source": "https://github.com/facile-it/facile-coding-standard/tree/0.5.2" + "issues": "https://github.com/dflydev/dflydev-fig-cookies/issues", + "source": "https://github.com/dflydev/dflydev-fig-cookies/tree/v3.1.0" }, - "time": "2022-05-02T07:11:07+00:00" + "time": "2023-07-18T20:41:43+00:00" }, { - "name": "felixfbecker/advanced-json-rpc", - "version": "v3.2.1", + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", "source": { "type": "git", - "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", - "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447" + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447", - "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", "shasum": "" }, "require": { - "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "php": "^7.1 || ^8.0", - "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0" + "php": ">=5.3.2" }, "require-dev": { - "phpunit/phpunit": "^7.0 || ^8.0" + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" }, "type": "library", "autoload": { "psr-4": { - "AdvancedJsonRpc\\": "lib/" + "XdgBaseDir\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "ISC" - ], - "authors": [ - { - "name": "Felix Becker", - "email": "felix.b@outlook.com" - } + "MIT" ], - "description": "A more advanced JSONRPC implementation", + "description": "implementation of xdg base directory specification for php", "support": { - "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", - "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1" + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" }, - "time": "2021-06-11T22:34:44+00:00" + "time": "2019-12-04T15:06:13+00:00" }, { - "name": "felixfbecker/language-server-protocol", - "version": "v1.5.2", + "name": "doctrine/deprecations", + "version": "1.1.4", "source": { "type": "git", - "url": "https://github.com/felixfbecker/php-language-server-protocol.git", - "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842" + "url": "https://github.com/doctrine/deprecations.git", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842", - "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "1.4.10 || 2.0.3", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.4" + }, + "time": "2024-12-07T21:18:45+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:23:10+00:00" + }, + { + "name": "evenement/evenement", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/igorw/evenement.git", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc", + "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^9 || ^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Evenement\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "Événement is a very simple event dispatching library for PHP", + "keywords": [ + "event-dispatcher", + "event-emitter" + ], + "support": { + "issues": "https://github.com/igorw/evenement/issues", + "source": "https://github.com/igorw/evenement/tree/v3.0.2" + }, + "time": "2023-08-08T05:53:35+00:00" + }, + { + "name": "facile-it/facile-coding-standard", + "version": "0.5.3", + "source": { + "type": "git", + "url": "https://github.com/facile-it/facile-coding-standard.git", + "reference": "46cb2ee4cc5827b7b452e23687b889ff45a78216" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facile-it/facile-coding-standard/zipball/46cb2ee4cc5827b7b452e23687b889ff45a78216", + "reference": "46cb2ee4cc5827b7b452e23687b889ff45a78216", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1 || ^2.0", + "ext-json": "*", + "friendsofphp/php-cs-fixer": "^3.0", + "php": "^7.2 || ^8.0", + "symfony/console": "^4.0 || ^5.0 || ^6.0" + }, + "require-dev": { + "composer/composer": "^1.3.2 || ^2.0", + "composer/semver": "^3.0", + "mikey179/vfsstream": "^1.6.8", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^8.5.21", + "vimeo/psalm": "^4.9" + }, + "type": "composer-plugin", + "extra": { + "class": "Facile\\CodingStandards\\Installer\\Plugin" + }, + "autoload": { + "psr-4": { + "Facile\\CodingStandards\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Facile.it coding standard", + "keywords": [ + "Coding Standard", + "facile", + "facile.it" + ], + "support": { + "issues": "https://github.com/facile-it/facile-coding-standard/issues", + "source": "https://github.com/facile-it/facile-coding-standard/tree/0.5.3" + }, + "time": "2023-09-13T13:06:53+00:00" + }, + { + "name": "felixfbecker/advanced-json-rpc", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", + "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447", + "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447", + "shasum": "" + }, + "require": { + "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", + "php": "^7.1 || ^8.0", + "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "AdvancedJsonRpc\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "description": "A more advanced JSONRPC implementation", + "support": { + "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", + "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1" + }, + "time": "2021-06-11T22:34:44+00:00" + }, + { + "name": "felixfbecker/language-server-protocol", + "version": "v1.5.3", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-language-server-protocol.git", + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9", + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9", "shasum": "" }, "require": { @@ -2408,22 +3123,22 @@ ], "support": { "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", - "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2" + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3" }, - "time": "2022-03-02T22:36:06+00:00" + "time": "2024-04-30T00:40:11+00:00" }, { "name": "fidry/cpu-core-counter", - "version": "0.5.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/theofidry/cpu-core-counter.git", - "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623" + "reference": "8520451a140d3f46ac33042715115e290cf5785f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623", - "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f", + "reference": "8520451a140d3f46ac33042715115e290cf5785f", "shasum": "" }, "require": { @@ -2431,13 +3146,13 @@ }, "require-dev": { "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", "phpstan/extension-installer": "^1.2.0", "phpstan/phpstan": "^1.9.2", "phpstan/phpstan-deprecation-rules": "^1.0.0", "phpstan/phpstan-phpunit": "^1.2.2", "phpstan/phpstan-strict-rules": "^1.4.4", - "phpunit/phpunit": "^9.5.26 || ^8.5.31", - "theofidry/php-cs-fixer-config": "^1.0", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", "webmozarts/strict-phpunit": "^7.5" }, "type": "library", @@ -2463,7 +3178,7 @@ ], "support": { "issues": "https://github.com/theofidry/cpu-core-counter/issues", - "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1" + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0" }, "funding": [ { @@ -2471,58 +3186,61 @@ "type": "github" } ], - "time": "2022-12-24T12:35:10+00:00" + "time": "2024-08-06T10:04:20+00:00" }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.22.0", + "version": "v3.70.2", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "92b019f6c8d79aa26349d0db7671d37440dc0ff3" + "reference": "1ca468270efbb75ce0c7566a79cca8ea2888584d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/92b019f6c8d79aa26349d0db7671d37440dc0ff3", - "reference": "92b019f6c8d79aa26349d0db7671d37440dc0ff3", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/1ca468270efbb75ce0c7566a79cca8ea2888584d", + "reference": "1ca468270efbb75ce0c7566a79cca8ea2888584d", "shasum": "" }, "require": { - "composer/semver": "^3.3", + "clue/ndjson-react": "^1.0", + "composer/semver": "^3.4", "composer/xdebug-handler": "^3.0.3", - "doctrine/annotations": "^2", - "doctrine/lexer": "^2 || ^3", + "ext-filter": "*", "ext-json": "*", "ext-tokenizer": "*", + "fidry/cpu-core-counter": "^1.2", "php": "^7.4 || ^8.0", - "sebastian/diff": "^4.0 || ^5.0", - "symfony/console": "^5.4 || ^6.0", - "symfony/event-dispatcher": "^5.4 || ^6.0", - "symfony/filesystem": "^5.4 || ^6.0", - "symfony/finder": "^5.4 || ^6.0", - "symfony/options-resolver": "^5.4 || ^6.0", - "symfony/polyfill-mbstring": "^1.27", - "symfony/polyfill-php80": "^1.27", - "symfony/polyfill-php81": "^1.27", - "symfony/process": "^5.4 || ^6.0", - "symfony/stopwatch": "^5.4 || ^6.0" + "react/child-process": "^0.6.5", + "react/event-loop": "^1.0", + "react/promise": "^2.0 || ^3.0", + "react/socket": "^1.0", + "react/stream": "^1.0", + "sebastian/diff": "^4.0 || ^5.1 || ^6.0 || ^7.0", + "symfony/console": "^5.4 || ^6.4 || ^7.0", + "symfony/event-dispatcher": "^5.4 || ^6.4 || ^7.0", + "symfony/filesystem": "^5.4 || ^6.4 || ^7.0", + "symfony/finder": "^5.4 || ^6.4 || ^7.0", + "symfony/options-resolver": "^5.4 || ^6.4 || ^7.0", + "symfony/polyfill-mbstring": "^1.31", + "symfony/polyfill-php80": "^1.31", + "symfony/polyfill-php81": "^1.31", + "symfony/process": "^5.4 || ^6.4 || ^7.2", + "symfony/stopwatch": "^5.4 || ^6.4 || ^7.0" }, "require-dev": { - "facile-it/paraunit": "^1.3 || ^2.0", - "justinrainbow/json-schema": "^5.2", - "keradus/cli-executor": "^2.0", - "mikey179/vfsstream": "^1.6.11", - "php-coveralls/php-coveralls": "^2.5.3", + "facile-it/paraunit": "^1.3.1 || ^2.5", + "infection/infection": "^0.29.10", + "justinrainbow/json-schema": "^5.3 || ^6.0", + "keradus/cli-executor": "^2.1", + "mikey179/vfsstream": "^1.6.12", + "php-coveralls/php-coveralls": "^2.7", "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", - "phpspec/prophecy": "^1.16", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5", - "phpunitgoodpractices/polyfill": "^1.6", - "phpunitgoodpractices/traits": "^1.9.2", - "symfony/phpunit-bridge": "^6.2.3", - "symfony/yaml": "^5.4 || ^6.0" + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", + "phpunit/phpunit": "^9.6.22 || ^10.5.45 || ^11.5.7", + "symfony/var-dumper": "^5.4.48 || ^6.4.18 || ^7.2.0", + "symfony/yaml": "^5.4.45 || ^6.4.18 || ^7.2.0" }, "suggest": { "ext-dom": "For handling output formats in XML", @@ -2535,7 +3253,10 @@ "autoload": { "psr-4": { "PhpCsFixer\\": "src/" - } + }, + "exclude-from-classmap": [ + "src/Fixer/Internal/*" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2560,7 +3281,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.22.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.70.2" }, "funding": [ { @@ -2568,26 +3289,26 @@ "type": "github" } ], - "time": "2023-07-16T23:08:06+00:00" + "time": "2025-03-03T21:07:23+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.7.0", + "version": "7.9.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5" + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5", - "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0", - "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^2.7.0", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -2596,11 +3317,11 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -2678,7 +3399,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.7.0" + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" }, "funding": [ { @@ -2694,28 +3415,28 @@ "type": "tidelift" } ], - "time": "2023-05-21T14:04:53+00:00" + "time": "2024-07-24T11:22:20+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.0", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6" + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/3a494dc7dc1d7d12e511890177ae2d0e6c107da6", - "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6", + "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "type": "library", "extra": { @@ -2761,7 +3482,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.0" + "source": "https://github.com/guzzle/promises/tree/2.0.4" }, "funding": [ { @@ -2777,20 +3498,20 @@ "type": "tidelift" } ], - "time": "2023-05-21T13:50:22+00:00" + "time": "2024-10-17T10:06:22+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.5.0", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "b635f279edd83fc275f822a1188157ffea568ff6" + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6", - "reference": "b635f279edd83fc275f822a1188157ffea568ff6", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", "shasum": "" }, "require": { @@ -2804,9 +3525,9 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -2877,7 +3598,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.5.0" + "source": "https://github.com/guzzle/psr7/tree/2.7.0" }, "funding": [ { @@ -2893,36 +3614,36 @@ "type": "tidelift" } ], - "time": "2023-04-17T16:11:26+00:00" + "time": "2024-07-18T11:15:46+00:00" }, { "name": "laminas/laminas-component-installer", - "version": "3.3.0", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-component-installer.git", - "reference": "e1ceb9a7e768660e338974e22d8f74a0771980a9" + "reference": "8752d73b5df8c368ec0bf2aff2b32e00e0ac8b1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-component-installer/zipball/e1ceb9a7e768660e338974e22d8f74a0771980a9", - "reference": "e1ceb9a7e768660e338974e22d8f74a0771980a9", + "url": "https://api.github.com/repos/laminas/laminas-component-installer/zipball/8752d73b5df8c368ec0bf2aff2b32e00e0ac8b1b", + "reference": "8752d73b5df8c368ec0bf2aff2b32e00e0ac8b1b", "shasum": "" }, "require": { "composer-plugin-api": "^2.0", - "php": "~8.0.0 || ~8.1.0 || ~8.2.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-component-installer": "*" }, "require-dev": { - "composer/composer": "^2.4.4", - "laminas/laminas-coding-standard": "~2.5.0", + "composer/composer": "^2.7.7", + "laminas/laminas-coding-standard": "~3.0.0", "mikey179/vfsstream": "^1.6.11", - "phpunit/phpunit": "^9.5.26", - "psalm/plugin-phpunit": "^0.18.0", - "vimeo/psalm": "^5.0.0", + "phpunit/phpunit": "^10.5.35", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.24.0", "webmozart/assert": "^1.11.0" }, "type": "composer-plugin", @@ -2960,26 +3681,26 @@ "type": "community_bridge" } ], - "time": "2023-07-17T06:52:58+00:00" + "time": "2024-11-26T14:11:43+00:00" }, { "name": "laminas/laminas-config-aggregator", - "version": "1.13.0", + "version": "1.18.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-config-aggregator.git", - "reference": "5c445bbe9afabb7fd7c38382f27930f11632dd90" + "reference": "a5cc009f58daa4e1b968abd65972fa3a481c22c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-config-aggregator/zipball/5c445bbe9afabb7fd7c38382f27930f11632dd90", - "reference": "5c445bbe9afabb7fd7c38382f27930f11632dd90", + "url": "https://api.github.com/repos/laminas/laminas-config-aggregator/zipball/a5cc009f58daa4e1b968abd65972fa3a481c22c5", + "reference": "a5cc009f58daa4e1b968abd65972fa3a481c22c5", "shasum": "" }, "require": { - "brick/varexporter": "^0.3.7", - "laminas/laminas-stdlib": "^3.10.1", - "php": "~8.0.0 || ~8.1.0 || ~8.2.0", + "brick/varexporter": "^0.5.0 || ^0.4.0 || ^0.6.0", + "laminas/laminas-stdlib": "^3.18.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", "webimpress/safe-writer": "^2.2.0" }, "conflict": { @@ -2987,12 +3708,11 @@ "zendframework/zend-config-aggregator": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.4.0", - "laminas/laminas-config": "^3.8.0", - "laminas/laminas-servicemanager": "^3.19", - "phpunit/phpunit": "^9.5.26", - "psalm/plugin-phpunit": "^0.18.0", - "vimeo/psalm": "^5.0" + "laminas/laminas-coding-standard": "~3.0.1", + "laminas/laminas-config": "^3.10.1", + "phpunit/phpunit": "^10.5.45", + "psalm/plugin-phpunit": "^0.19.2", + "vimeo/psalm": "^6.8.6" }, "suggest": { "laminas/laminas-config": "Allows loading configuration from XML, INI, YAML, and JSON files", @@ -3029,39 +3749,40 @@ "type": "community_bridge" } ], - "time": "2022-12-03T21:22:49+00:00" + "time": "2025-02-21T18:18:40+00:00" }, { "name": "laminas/laminas-di", - "version": "3.12.0", + "version": "3.15.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-di.git", - "reference": "8d4074b5f51b747a6e4e055995f1bdf2a825d5a6" + "reference": "de00225cfbe30d7fab1e9cf476e154be25f2c878" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-di/zipball/8d4074b5f51b747a6e4e055995f1bdf2a825d5a6", - "reference": "8d4074b5f51b747a6e4e055995f1bdf2a825d5a6", + "url": "https://api.github.com/repos/laminas/laminas-di/zipball/de00225cfbe30d7fab1e9cf476e154be25f2c878", + "reference": "de00225cfbe30d7fab1e9cf476e154be25f2c878", "shasum": "" }, "require": { - "laminas/laminas-stdlib": "^3.6", - "php": "~8.0.0 || ~8.1.0 || ~8.2.0", + "laminas/laminas-stdlib": "^3.18.0", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", "psr/container": "^1.1.1", - "psr/log": "^1.1.4 || ^3.0.0" + "psr/log": "^1.1.4 || ^2.0.0 || ^3.0.0" }, "conflict": { - "laminas/laminas-servicemanager": "<3.13.0", + "amphp/amp": "<2.6.4", + "laminas/laminas-servicemanager": "<3.13.0 || >=4.0.0", "laminas/laminas-servicemanager-di": "*", "zendframework/zend-di": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.4.0", - "laminas/laminas-servicemanager": "^3.12", - "mikey179/vfsstream": "^1.6.11@alpha", + "laminas/laminas-coding-standard": "~2.5.0", + "laminas/laminas-servicemanager": "^3.22", + "mikey179/vfsstream": "^1.6.12", "phpbench/phpbench": "^1.2.7", - "phpunit/phpunit": "^9.5.26", + "phpunit/phpunit": "^9.6.22", "psalm/plugin-phpunit": "^0.18.0", "squizlabs/php_codesniffer": "^3.7.1", "vimeo/psalm": "^5.0" @@ -3106,29 +3827,32 @@ "type": "community_bridge" } ], - "time": "2023-01-02T18:24:36+00:00" + "time": "2025-02-25T14:43:45+00:00" }, { "name": "laminas/laminas-diactoros", - "version": "3.0.0", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "2515f4134258b1b418c23cb86606b8a09dd01aea" + "reference": "143a16306602ce56b8b092a7914fef03c37f9ed2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/2515f4134258b1b418c23cb86606b8a09dd01aea", - "reference": "2515f4134258b1b418c23cb86606b8a09dd01aea", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/143a16306602ce56b8b092a7914fef03c37f9ed2", + "reference": "143a16306602ce56b8b092a7914fef03c37f9ed2", "shasum": "" }, "require": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0", - "psr/http-factory": "^1.0.2", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", + "psr/http-factory": "^1.1", "psr/http-message": "^1.1 || ^2.0" }, + "conflict": { + "amphp/amp": "<2.6.4" + }, "provide": { - "psr/http-factory-implementation": "^1.1 || ^2.0", + "psr/http-factory-implementation": "^1.0", "psr/http-message-implementation": "^1.1 || ^2.0" }, "require-dev": { @@ -3136,18 +3860,18 @@ "ext-dom": "*", "ext-gd": "*", "ext-libxml": "*", - "http-interop/http-factory-tests": "^0.9.0", + "http-interop/http-factory-tests": "^2.2.0", "laminas/laminas-coding-standard": "~2.5.0", - "php-http/psr7-integration-tests": "^1.3", - "phpunit/phpunit": "^9.5.28", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.9" + "php-http/psr7-integration-tests": "^1.4.0", + "phpunit/phpunit": "^10.5.36", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "extra": { "laminas": { - "config-provider": "Laminas\\Diactoros\\ConfigProvider", - "module": "Laminas\\Diactoros" + "module": "Laminas\\Diactoros", + "config-provider": "Laminas\\Diactoros\\ConfigProvider" } }, "autoload": { @@ -3191,25 +3915,25 @@ "type": "community_bridge" } ], - "time": "2023-05-04T21:18:23+00:00" + "time": "2024-10-14T11:59:49+00:00" }, { "name": "laminas/laminas-servicemanager", - "version": "3.21.0", + "version": "3.23.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-servicemanager.git", - "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda" + "reference": "a8640182b892b99767d54404d19c5c3b3699f79b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/625f2aa3bc6dd02688b2da5155b3a69870812bda", - "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda", + "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/a8640182b892b99767d54404d19c5c3b3699f79b", + "reference": "a8640182b892b99767d54404d19c5c3b3699f79b", "shasum": "" }, "require": { - "laminas/laminas-stdlib": "^3.17", - "php": "~8.1.0 || ~8.2.0", + "laminas/laminas-stdlib": "^3.19", + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", "psr/container": "^1.0" }, "conflict": { @@ -3226,16 +3950,15 @@ }, "require-dev": { "composer/package-versions-deprecated": "^1.11.99.5", - "friendsofphp/proxy-manager-lts": "^1.0.14", - "laminas/laminas-code": "^4.10.0", + "friendsofphp/proxy-manager-lts": "^1.0.18", + "laminas/laminas-code": "^4.14.0", "laminas/laminas-coding-standard": "~2.5.0", "laminas/laminas-container-config-test": "^0.8", - "laminas/laminas-dependency-plugin": "^2.2", - "mikey179/vfsstream": "^1.6.11", - "phpbench/phpbench": "^1.2.9", - "phpunit/phpunit": "^10.0.17", + "mikey179/vfsstream": "^1.6.12", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.36", "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.8.0" + "vimeo/psalm": "^5.26.1" }, "suggest": { "friendsofphp/proxy-manager-lts": "ProxyManager ^2.1.1 to handle lazy initialization of services" @@ -3282,34 +4005,34 @@ "type": "community_bridge" } ], - "time": "2023-05-14T12:24:54+00:00" + "time": "2024-10-28T21:32:16+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.17.0", + "version": "3.20.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "dd35c868075bad80b6718959740913e178eb4274" + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/dd35c868075bad80b6718959740913e178eb4274", - "reference": "dd35c868075bad80b6718959740913e178eb4274", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/8974a1213be42c3e2f70b2c27b17f910291ab2f4", + "reference": "8974a1213be42c3e2f70b2c27b17f910291ab2f4", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.9", - "phpunit/phpunit": "^10.0.16", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.8" + "laminas/laminas-coding-standard": "^3.0", + "phpbench/phpbench": "^1.3.1", + "phpunit/phpunit": "^10.5.38", + "psalm/plugin-phpunit": "^0.19.0", + "vimeo/psalm": "^5.26.1" }, "type": "library", "autoload": { @@ -3341,20 +4064,20 @@ "type": "community_bridge" } ], - "time": "2023-03-20T13:51:37+00:00" + "time": "2024-10-29T13:46:07+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.11.1", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "reference": "024473a478be9df5fdaca2c793f2232fe788e414" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414", + "reference": "024473a478be9df5fdaca2c793f2232fe788e414", "shasum": "" }, "require": { @@ -3362,11 +4085,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -3392,7 +4116,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0" }, "funding": [ { @@ -3400,20 +4124,20 @@ "type": "tidelift" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2025-02-12T12:17:51+00:00" }, { "name": "netresearch/jsonmapper", - "version": "v4.2.0", + "version": "v4.5.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "f60565f8c0566a31acf06884cdaa591867ecc956" + "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956", - "reference": "f60565f8c0566a31acf06884cdaa591867ecc956", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5", + "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5", "shasum": "" }, "require": { @@ -3424,7 +4148,7 @@ "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0", + "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0", "squizlabs/php_codesniffer": "~3.5" }, "type": "library", @@ -3449,31 +4173,31 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0" + "source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0" }, - "time": "2023-04-09T17:37:40+00:00" + "time": "2024-09-08T10:13:13+00:00" }, { "name": "nikic/php-parser", - "version": "v4.16.0", + "version": "v4.19.4", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "19526a33fb561ef417e822e85f08a00db4059c17" + "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17", - "reference": "19526a33fb561ef417e822e85f08a00db4059c17", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/715f4d25e225bc47b293a8b997fe6ce99bf987d2", + "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.1" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -3505,26 +4229,27 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.4" }, - "time": "2023-06-25T14:52:30+00:00" + "time": "2024-09-29T15:01:53+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -3565,9 +4290,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -3622,16 +4353,16 @@ }, { "name": "php-http/cache-plugin", - "version": "1.8.0", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/php-http/cache-plugin.git", - "reference": "6bf9fbf66193f61d90c2381b75eb1fa0202fd314" + "reference": "b3e6c25d89ee5e4ac82115ed23b21ba87986d614" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/cache-plugin/zipball/6bf9fbf66193f61d90c2381b75eb1fa0202fd314", - "reference": "6bf9fbf66193f61d90c2381b75eb1fa0202fd314", + "url": "https://api.github.com/repos/php-http/cache-plugin/zipball/b3e6c25d89ee5e4ac82115ed23b21ba87986d614", + "reference": "b3e6c25d89ee5e4ac82115ed23b21ba87986d614", "shasum": "" }, "require": { @@ -3639,7 +4370,7 @@ "php-http/client-common": "^1.9 || ^2.0", "php-http/message-factory": "^1.0", "psr/cache": "^1.0 || ^2.0 || ^3.0", - "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" }, "require-dev": { "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0" @@ -3670,22 +4401,22 @@ ], "support": { "issues": "https://github.com/php-http/cache-plugin/issues", - "source": "https://github.com/php-http/cache-plugin/tree/1.8.0" + "source": "https://github.com/php-http/cache-plugin/tree/1.8.1" }, - "time": "2023-04-28T10:56:55+00:00" + "time": "2023-11-21T08:52:56+00:00" }, { "name": "php-http/client-common", - "version": "2.7.0", + "version": "2.7.2", "source": { "type": "git", "url": "https://github.com/php-http/client-common.git", - "reference": "880509727a447474d2a71b7d7fa5d268ddd3db4b" + "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/880509727a447474d2a71b7d7fa5d268ddd3db4b", - "reference": "880509727a447474d2a71b7d7fa5d268ddd3db4b", + "url": "https://api.github.com/repos/php-http/client-common/zipball/0cfe9858ab9d3b213041b947c881d5b19ceeca46", + "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46", "shasum": "" }, "require": { @@ -3695,7 +4426,7 @@ "psr/http-client": "^1.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.0 || ^2.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0", + "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0", "symfony/polyfill-php80": "^1.17" }, "require-dev": { @@ -3739,33 +4470,33 @@ ], "support": { "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.7.0" + "source": "https://github.com/php-http/client-common/tree/2.7.2" }, - "time": "2023-05-17T06:46:59+00:00" + "time": "2024-09-24T06:21:48+00:00" }, { "name": "php-http/curl-client", - "version": "2.3.0", + "version": "2.3.3", "source": { "type": "git", "url": "https://github.com/php-http/curl-client.git", - "reference": "f7352c0796549949900d28fe991e19c90572386a" + "reference": "f3eb48d266341afec0229a7a37a03521d3646b81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/curl-client/zipball/f7352c0796549949900d28fe991e19c90572386a", - "reference": "f7352c0796549949900d28fe991e19c90572386a", + "url": "https://api.github.com/repos/php-http/curl-client/zipball/f3eb48d266341afec0229a7a37a03521d3646b81", + "reference": "f3eb48d266341afec0229a7a37a03521d3646b81", "shasum": "" }, "require": { "ext-curl": "*", - "php": "^7.1 || ^8.0", + "php": "^7.4 || ^8.0", "php-http/discovery": "^1.6", "php-http/httplug": "^2.0", "php-http/message": "^1.2", "psr/http-client": "^1.0", "psr/http-factory-implementation": "^1.0", - "symfony/options-resolver": "^3.4 || ^4.0 || ^5.0 || ^6.0" + "symfony/options-resolver": "^3.4 || ^4.0 || ^5.0 || ^6.0 || ^7.0" }, "provide": { "php-http/async-client-implementation": "1.0", @@ -3773,9 +4504,10 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "guzzlehttp/psr7": "^1.0", - "laminas/laminas-diactoros": "^2.0", + "guzzlehttp/psr7": "^2.0", + "laminas/laminas-diactoros": "^2.0 || ^3.0", "php-http/client-integration-tests": "^3.0", + "php-http/message-factory": "^1.1", "phpunit/phpunit": "^7.5 || ^9.4" }, "type": "library", @@ -3803,27 +4535,27 @@ ], "support": { "issues": "https://github.com/php-http/curl-client/issues", - "source": "https://github.com/php-http/curl-client/tree/2.3.0" + "source": "https://github.com/php-http/curl-client/tree/2.3.3" }, - "time": "2023-04-28T14:56:41+00:00" + "time": "2024-10-31T07:36:58+00:00" }, { "name": "php-http/guzzle7-adapter", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-http/guzzle7-adapter.git", - "reference": "fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01" + "reference": "03a415fde709c2f25539790fecf4d9a31bc3d0eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/guzzle7-adapter/zipball/fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01", - "reference": "fb075a71dbfa4847cf0c2938c4e5a9c478ef8b01", + "url": "https://api.github.com/repos/php-http/guzzle7-adapter/zipball/03a415fde709c2f25539790fecf4d9a31bc3d0eb", + "reference": "03a415fde709c2f25539790fecf4d9a31bc3d0eb", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^7.0", - "php": "^7.2 | ^8.0", + "php": "^7.3 | ^8.0", "php-http/httplug": "^2.0", "psr/http-client": "^1.0" }, @@ -3834,14 +4566,11 @@ }, "require-dev": { "php-http/client-integration-tests": "^3.0", + "php-http/message-factory": "^1.1", + "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^8.0|^9.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.2.x-dev" - } - }, "autoload": { "psr-4": { "Http\\Adapter\\Guzzle7\\": "src/" @@ -3865,22 +4594,22 @@ ], "support": { "issues": "https://github.com/php-http/guzzle7-adapter/issues", - "source": "https://github.com/php-http/guzzle7-adapter/tree/1.0.0" + "source": "https://github.com/php-http/guzzle7-adapter/tree/1.1.0" }, - "time": "2021-03-09T07:35:15+00:00" + "time": "2024-11-26T11:14:36+00:00" }, { "name": "php-http/httplug", - "version": "2.4.0", + "version": "2.4.1", "source": { "type": "git", "url": "https://github.com/php-http/httplug.git", - "reference": "625ad742c360c8ac580fcc647a1541d29e257f67" + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67", - "reference": "625ad742c360c8ac580fcc647a1541d29e257f67", + "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4", + "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4", "shasum": "" }, "require": { @@ -3922,22 +4651,22 @@ ], "support": { "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.4.0" + "source": "https://github.com/php-http/httplug/tree/2.4.1" }, - "time": "2023-04-14T15:10:03+00:00" + "time": "2024-09-23T11:39:58+00:00" }, { "name": "php-http/message", - "version": "1.16.0", + "version": "1.16.2", "source": { "type": "git", "url": "https://github.com/php-http/message.git", - "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd" + "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/47a14338bf4ebd67d317bf1144253d7db4ab55fd", - "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd", + "url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a", + "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a", "shasum": "" }, "require": { @@ -3991,9 +4720,9 @@ ], "support": { "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.0" + "source": "https://github.com/php-http/message/tree/1.16.2" }, - "time": "2023-05-17T06:43:38+00:00" + "time": "2024-10-02T11:34:13+00:00" }, { "name": "php-http/message-factory", @@ -4052,31 +4781,26 @@ }, { "name": "php-http/promise", - "version": "1.1.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/php-http/promise.git", - "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88" + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", - "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", + "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.3.2", - "phpspec/phpspec": "^5.1.2 || ^6.2" + "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3", + "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { "Http\\Promise\\": "src/" @@ -4103,9 +4827,9 @@ ], "support": { "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.1.0" + "source": "https://github.com/php-http/promise/tree/1.3.1" }, - "time": "2020-07-07T09:29:14+00:00" + "time": "2024-03-15T13:55:21+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -4162,28 +4886,35 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.3.0", + "version": "5.6.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" + "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", + "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", "shasum": "" }, "require": { + "doctrine/deprecations": "^1.1", "ext-filter": "*", - "php": "^7.2 || ^8.0", + "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7|^2.0", "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2", - "psalm/phar": "^4.8" + "mockery/mockery": "~1.3.5 || ~1.6.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "psalm/phar": "^5.26" }, "type": "library", "extra": { @@ -4207,35 +4938,35 @@ }, { "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" + "email": "opensource@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.1" }, - "time": "2021-10-19T17:43:47+00:00" + "time": "2024-12-07T09:39:29+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.7.2", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "b2fe4d22a5426f38e014855322200b97b5362c0d" + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b2fe4d22a5426f38e014855322200b97b5362c0d", - "reference": "b2fe4d22a5426f38e014855322200b97b5362c0d", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", - "php": "^7.4 || ^8.0", + "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.13" + "phpstan/phpdoc-parser": "^1.18|^2.0" }, "require-dev": { "ext-tokenizer": "*", @@ -4271,35 +5002,36 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.2" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0" }, - "time": "2023-05-30T18:13:47+00:00" + "time": "2024-11-09T15:12:26+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.17.0", + "version": "v1.20.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "15873c65b207b07765dbc3c95d20fdf4a320cbe2" + "reference": "a0165c648cab6a80311c74ffc708a07bb53ecc93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/15873c65b207b07765dbc3c95d20fdf4a320cbe2", - "reference": "15873c65b207b07765dbc3c95d20fdf4a320cbe2", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/a0165c648cab6a80311c74ffc708a07bb53ecc93", + "reference": "a0165c648cab6a80311c74ffc708a07bb53ecc93", "shasum": "" }, "require": { "doctrine/instantiator": "^1.2 || ^2.0", - "php": "^7.2 || 8.0.* || 8.1.* || 8.2.*", + "php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.* || 8.4.*", "phpdocumentor/reflection-docblock": "^5.2", - "sebastian/comparator": "^3.0 || ^4.0", - "sebastian/recursion-context": "^3.0 || ^4.0" + "sebastian/comparator": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { + "friendsofphp/php-cs-fixer": "^3.40", "phpspec/phpspec": "^6.0 || ^7.0", "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^8.0 || ^9.0" + "phpunit/phpunit": "^8.0 || ^9.0 || ^10.0" }, "type": "library", "extra": { @@ -4332,6 +5064,7 @@ "keywords": [ "Double", "Dummy", + "dev", "fake", "mock", "spy", @@ -4339,33 +5072,36 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/v1.17.0" + "source": "https://github.com/phpspec/prophecy/tree/v1.20.0" }, - "time": "2023-02-02T15:41:36+00:00" + "time": "2024-11-19T13:12:41+00:00" }, { "name": "phpspec/prophecy-phpunit", - "version": "v2.0.2", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy-phpunit.git", - "reference": "9f26c224a2fa335f33e6666cc078fbf388255e87" + "reference": "8819516c1b489ecee4c60db5f5432fac1ea8ac6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/9f26c224a2fa335f33e6666cc078fbf388255e87", - "reference": "9f26c224a2fa335f33e6666cc078fbf388255e87", + "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/8819516c1b489ecee4c60db5f5432fac1ea8ac6f", + "reference": "8819516c1b489ecee4c60db5f5432fac1ea8ac6f", "shasum": "" }, "require": { "php": "^7.3 || ^8", - "phpspec/prophecy": "^1.3", - "phpunit/phpunit": "^9.1" + "phpspec/prophecy": "^1.18", + "phpunit/phpunit": "^9.1 || ^10.1 || ^11.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.10" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -4391,36 +5127,36 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy-phpunit/issues", - "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.0.2" + "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.3.0" }, - "time": "2023-04-18T11:58:05+00:00" + "time": "2024-11-19T13:24:17+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "1.23.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "a2b24135c35852b348894320d47b3902a94bc494" + "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/a2b24135c35852b348894320d47b3902a94bc494", - "reference": "a2b24135c35852b348894320d47b3902a94bc494", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", + "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^5.3.0", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", "symfony/process": "^5.2" }, "type": "library", @@ -4438,41 +5174,41 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.23.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0" }, - "time": "2023-07-23T22:17:56+00:00" + "time": "2025-02-19T13:28:12+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.27", + "version": "9.2.32", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "b0a88255cb70d52653d80c890bd7f38740ea50d1" + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/b0a88255cb70d52653d80c890bd7f38740ea50d1", - "reference": "b0a88255cb70d52653d80c890bd7f38740ea50d1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-text-template": "^2.0.4", + "sebastian/code-unit-reverse-lookup": "^2.0.3", + "sebastian/complexity": "^2.0.3", + "sebastian/environment": "^5.1.5", + "sebastian/lines-of-code": "^1.0.4", + "sebastian/version": "^3.0.2", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^9.6" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -4481,7 +5217,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "9.2.x-dev" } }, "autoload": { @@ -4510,7 +5246,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/9.2.27" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" }, "funding": [ { @@ -4518,7 +5254,7 @@ "type": "github" } ], - "time": "2023-07-26T13:44:30+00:00" + "time": "2024-08-22T04:23:01+00:00" }, { "name": "phpunit/php-file-iterator", @@ -4763,45 +5499,45 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.10", + "version": "9.6.22", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a6d351645c3fe5a30f5e86be6577d946af65a328" + "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a6d351645c3fe5a30f5e86be6577d946af65a328", - "reference": "a6d351645c3fe5a30f5e86be6577d946af65a328", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f80235cb4d3caa59ae09be3adf1ded27521d1a9c", + "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1 || ^2", + "doctrine/instantiator": "^1.5.0 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", + "myclabs/deep-copy": "^1.12.1", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.13", - "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-code-coverage": "^9.2.32", + "phpunit/php-file-iterator": "^3.0.6", "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", + "phpunit/php-text-template": "^2.0.4", + "phpunit/php-timer": "^5.0.3", + "sebastian/cli-parser": "^1.0.2", + "sebastian/code-unit": "^1.0.8", "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", + "sebastian/diff": "^4.0.6", + "sebastian/environment": "^5.1.5", + "sebastian/exporter": "^4.0.6", + "sebastian/global-state": "^5.0.7", + "sebastian/object-enumerator": "^4.0.4", + "sebastian/resource-operations": "^3.0.4", + "sebastian/type": "^3.2.1", "sebastian/version": "^3.0.2" }, "suggest": { @@ -4846,7 +5582,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.10" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.22" }, "funding": [ { @@ -4862,24 +5598,24 @@ "type": "tidelift" } ], - "time": "2023-07-10T04:04:23+00:00" + "time": "2024-12-05T13:48:26+00:00" }, { - "name": "psr/cache", - "version": "3.0.0", + "name": "psr/event-dispatcher", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", "shasum": "" }, "require": { - "php": ">=8.0.0" + "php": ">=7.2.0" }, "type": "library", "extra": { @@ -4889,7 +5625,7 @@ }, "autoload": { "psr-4": { - "Psr\\Cache\\": "src/" + "Psr\\EventDispatcher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4899,42 +5635,47 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "homepage": "http://www.php-fig.org/" } ], - "description": "Common interface for caching libraries", + "description": "Standard interfaces for event handling.", "keywords": [ - "cache", + "events", "psr", - "psr-6" + "psr-14" ], "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" }, - "time": "2021-02-03T23:26:27+00:00" + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "psr/container", - "version": "1.1.2", + "name": "ralouphie/getallheaders", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", "shasum": "" }, "require": { - "php": ">=7.4.0" + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" }, "type": "library", "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } + "files": [ + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4942,51 +5683,42 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], + "description": "A polyfill for getallheaders.", "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" }, - "time": "2021-11-05T16:50:12+00:00" + "time": "2019-03-08T08:55:37+00:00" }, { - "name": "psr/event-dispatcher", - "version": "1.0.0", + "name": "react/cache", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + "url": "https://github.com/reactphp/cache.git", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b", + "reference": "d47c472b64aa5608225f47965a484b75c7817d5b", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=5.3.0", + "react/promise": "^3.0 || ^2.0 || ^1.1" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } + "require-dev": { + "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35" }, + "type": "library", "autoload": { "psr-4": { - "Psr\\EventDispatcher\\": "src/" + "React\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4995,48 +5727,74 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Standard interfaces for event handling.", + "description": "Async, Promise-based cache interface for ReactPHP", "keywords": [ - "events", - "psr", - "psr-14" + "cache", + "caching", + "promise", + "reactphp" ], "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + "issues": "https://github.com/reactphp/cache/issues", + "source": "https://github.com/reactphp/cache/tree/v1.2.0" }, - "time": "2019-01-08T18:20:26+00:00" + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2022-11-30T15:59:55+00:00" }, { - "name": "psr/log", - "version": "3.0.0", + "name": "react/child-process", + "version": "v0.6.6", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "url": "https://github.com/reactphp/child-process.git", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", "shasum": "" }, "require": { - "php": ">=8.0.0" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/event-loop": "^1.2", + "react/stream": "^1.4" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/socket": "^1.16", + "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" }, + "type": "library", "autoload": { "psr-4": { - "Psr\\Log\\": "src" + "React\\ChildProcess\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5045,48 +5803,74 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Event-driven library for executing child processes with ReactPHP.", "keywords": [ - "log", - "psr", - "psr-3" + "event-driven", + "process", + "reactphp" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "issues": "https://github.com/reactphp/child-process/issues", + "source": "https://github.com/reactphp/child-process/tree/v0.6.6" }, - "time": "2021-07-14T16:46:02+00:00" + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2025-01-01T16:37:48+00:00" }, { - "name": "ralouphie/getallheaders", - "version": "3.0.3", + "name": "react/dns", + "version": "v1.13.0", "source": { "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" + "url": "https://github.com/reactphp/dns.git", + "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", + "url": "https://api.github.com/repos/reactphp/dns/zipball/eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", + "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=5.3.0", + "react/cache": "^1.0 || ^0.6 || ^0.5", + "react/event-loop": "^1.2", + "react/promise": "^3.2 || ^2.7 || ^1.2.1" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3 || ^2", + "react/promise-timer": "^1.11" }, "type": "library", "autoload": { - "files": [ - "src/getallheaders.php" - ] + "psr-4": { + "React\\Dns\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5094,72 +5878,403 @@ ], "authors": [ { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "A polyfill for getallheaders.", + "description": "Async DNS resolver for ReactPHP", + "keywords": [ + "async", + "dns", + "dns-resolver", + "reactphp" + ], "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" + "issues": "https://github.com/reactphp/dns/issues", + "source": "https://github.com/reactphp/dns/tree/v1.13.0" }, - "time": "2019-03-08T08:55:37+00:00" + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-06-13T14:18:03+00:00" }, { - "name": "sebastian/cli-parser", - "version": "1.0.1", + "name": "react/event-loop", + "version": "v1.5.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + "url": "https://github.com/reactphp/event-loop.git", + "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", + "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } + "suggest": { + "ext-pcntl": "For signal handling support when using the StreamSelectLoop" }, + "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "React\\EventLoop\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", + "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", + "keywords": [ + "asynchronous", + "event-loop" + ], "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + "issues": "https://github.com/reactphp/event-loop/issues", + "source": "https://github.com/reactphp/event-loop/tree/v1.5.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2023-11-13T13:48:05+00:00" + }, + { + "name": "react/promise", + "version": "v3.2.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "8a164643313c71354582dc850b42b33fa12a4b63" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63", + "reference": "8a164643313c71354582dc850b42b33fa12a4b63", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "phpstan/phpstan": "1.10.39 || 1.4.10", + "phpunit/phpunit": "^9.6 || ^7.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "React\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.2.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-05-24T10:39:05+00:00" + }, + { + "name": "react/socket", + "version": "v1.16.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/socket.git", + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/dns": "^1.13", + "react/event-loop": "^1.2", + "react/promise": "^3.2 || ^2.6 || ^1.2.1", + "react/stream": "^1.4" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/async": "^4.3 || ^3.3 || ^2", + "react/promise-stream": "^1.4", + "react/promise-timer": "^1.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Socket\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", + "keywords": [ + "Connection", + "Socket", + "async", + "reactphp", + "stream" + ], + "support": { + "issues": "https://github.com/reactphp/socket/issues", + "source": "https://github.com/reactphp/socket/tree/v1.16.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-07-26T10:38:09+00:00" + }, + { + "name": "react/stream", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/stream.git", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d", + "shasum": "" + }, + "require": { + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.8", + "react/event-loop": "^1.2" + }, + "require-dev": { + "clue/stream-filter": "~1.2", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", + "keywords": [ + "event-driven", + "io", + "non-blocking", + "pipe", + "reactphp", + "readable", + "stream", + "writable" + ], + "support": { + "issues": "https://github.com/reactphp/stream/issues", + "source": "https://github.com/reactphp/stream/tree/v1.4.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2024-06-11T12:45:25+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "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 parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-09-28T06:08:49+00:00" + "time": "2024-03-02T06:27:43+00:00" }, { "name": "sebastian/code-unit", @@ -5348,20 +6463,20 @@ }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -5393,7 +6508,7 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" }, "funding": [ { @@ -5401,20 +6516,20 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-12-22T06:19:30+00:00" }, { "name": "sebastian/diff", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", "shasum": "" }, "require": { @@ -5459,7 +6574,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" }, "funding": [ { @@ -5467,7 +6582,7 @@ "type": "github" } ], - "time": "2023-05-07T05:35:17+00:00" + "time": "2024-03-02T06:30:58+00:00" }, { "name": "sebastian/environment", @@ -5534,16 +6649,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.5", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", "shasum": "" }, "require": { @@ -5599,7 +6714,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" }, "funding": [ { @@ -5607,20 +6722,20 @@ "type": "github" } ], - "time": "2022-09-14T06:03:37+00:00" + "time": "2024-03-02T06:33:00+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.5", + "version": "5.0.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", "shasum": "" }, "require": { @@ -5663,7 +6778,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" }, "funding": [ { @@ -5671,24 +6786,24 @@ "type": "github" } ], - "time": "2022-02-14T08:28:10+00:00" + "time": "2024-03-02T06:35:11+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "1.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", + "nikic/php-parser": "^4.18 || ^5.0", "php": ">=7.3" }, "require-dev": { @@ -5720,7 +6835,7 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" }, "funding": [ { @@ -5728,7 +6843,7 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-12-22T06:20:34+00:00" }, { "name": "sebastian/object-enumerator", @@ -5907,16 +7022,16 @@ }, { "name": "sebastian/resource-operations", - "version": "3.0.3", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", "shasum": "" }, "require": { @@ -5928,7 +7043,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -5949,8 +7064,7 @@ "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" }, "funding": [ { @@ -5958,7 +7072,7 @@ "type": "github" } ], - "time": "2020-09-28T06:45:17+00:00" + "time": "2024-03-14T16:00:52+00:00" }, { "name": "sebastian/type", @@ -6071,16 +7185,16 @@ }, { "name": "spatie/array-to-xml", - "version": "3.2.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/spatie/array-to-xml.git", - "reference": "f9ab39c808500c347d5a8b6b13310bd5221e39e7" + "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f9ab39c808500c347d5a8b6b13310bd5221e39e7", - "reference": "f9ab39c808500c347d5a8b6b13310bd5221e39e7", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67", + "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67", "shasum": "" }, "require": { @@ -6093,6 +7207,11 @@ "spatie/pest-plugin-snapshots": "^1.1" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, "autoload": { "psr-4": { "Spatie\\ArrayToXml\\": "src" @@ -6118,7 +7237,7 @@ "xml" ], "support": { - "source": "https://github.com/spatie/array-to-xml/tree/3.2.0" + "source": "https://github.com/spatie/array-to-xml/tree/3.4.0" }, "funding": [ { @@ -6130,44 +7249,52 @@ "type": "github" } ], - "time": "2023-07-19T18:30:26+00:00" + "time": "2024-12-16T12:45:15+00:00" }, { - "name": "spomky-labs/aes-key-wrap", - "version": "v7.0.0", + "name": "symfony/event-dispatcher", + "version": "v6.4.13", "source": { "type": "git", - "url": "https://github.com/Spomky-Labs/aes-key-wrap.git", - "reference": "fbeb834b1f83aa8fbdfbd4c12124f71d4c1606ae" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Spomky-Labs/aes-key-wrap/zipball/fbeb834b1f83aa8fbdfbd4c12124f71d4c1606ae", - "reference": "fbeb834b1f83aa8fbdfbd4c12124f71d4c1606ae", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", + "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", "shasum": "" }, "require": { - "ext-mbstring": "*", - "ext-openssl": "*", - "php": ">=8.0" + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { - "infection/infection": "^0.25.4", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-beberlei-assert": "^1.0", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.0", - "rector/rector": "^0.12.5", - "symplify/easy-coding-standard": "^10.0" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { - "AESKW\\": "src/" - } + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6175,259 +7302,18 @@ ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky-Labs/aes-key-wrap/contributors" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "AES Key Wrap for PHP.", - "homepage": "https://github.com/Spomky-Labs/aes-key-wrap", - "keywords": [ - "A128KW", - "A192KW", - "A256KW", - "RFC3394", - "RFC5649", - "aes", - "key", - "padding", - "wrap" - ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/Spomky-Labs/aes-key-wrap/issues", - "source": "https://github.com/Spomky-Labs/aes-key-wrap/tree/v7.0.0" - }, - "funding": [ - { - "url": "https://github.com/Spomky", - "type": "github" - }, - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2021-12-08T20:36:59+00:00" - }, - { - "name": "symfony/console", - "version": "v6.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", - "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v6.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-05-29T12:49:39+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-05-23T14:45:45+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v6.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", - "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/event-dispatcher-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/service-contracts": "<2.5" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.13" }, "funding": [ { @@ -6443,20 +7329,20 @@ "type": "tidelift" } ], - "time": "2023-04-21T14:41:17+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.3.0", + "version": "v3.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7642f5e970b672283b7823222ae8ef8bbc160b9f", + "reference": "7642f5e970b672283b7823222ae8ef8bbc160b9f", "shasum": "" }, "require": { @@ -6465,12 +7351,12 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.5-dev" } }, "autoload": { @@ -6503,7 +7389,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.1" }, "funding": [ { @@ -6519,20 +7405,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/filesystem", - "version": "v6.3.1", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae" + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", - "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3", + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3", "shasum": "" }, "require": { @@ -6540,6 +7426,9 @@ "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, + "require-dev": { + "symfony/process": "^5.4|^6.4|^7.0" + }, "type": "library", "autoload": { "psr-4": { @@ -6566,7 +7455,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.3.1" + "source": "https://github.com/symfony/filesystem/tree/v6.4.13" }, "funding": [ { @@ -6582,27 +7471,27 @@ "type": "tidelift" } ], - "time": "2023-06-01T08:30:39+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/finder", - "version": "v6.3.0", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2" + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d9b01ba073c44cef617c7907ce2419f8d00d75e2", - "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2", + "url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", "shasum": "" }, "require": { "php": ">=8.1" }, "require-dev": { - "symfony/filesystem": "^6.0" + "symfony/filesystem": "^6.0|^7.0" }, "type": "library", "autoload": { @@ -6630,7 +7519,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.3.0" + "source": "https://github.com/symfony/finder/tree/v6.4.17" }, "funding": [ { @@ -6646,20 +7535,20 @@ "type": "tidelift" } ], - "time": "2023-04-02T01:25:41+00:00" + "time": "2024-12-29T13:51:37+00:00" }, { "name": "symfony/options-resolver", - "version": "v6.3.0", + "version": "v6.4.16", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd" + "reference": "368128ad168f20e22c32159b9f761e456cec0c78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a10f19f5198d589d5c33333cffe98dc9820332dd", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/368128ad168f20e22c32159b9f761e456cec0c78", + "reference": "368128ad168f20e22c32159b9f761e456cec0c78", "shasum": "" }, "require": { @@ -6697,7 +7586,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.3.0" + "source": "https://github.com/symfony/options-resolver/tree/v6.4.16" }, "funding": [ { @@ -6713,39 +7602,30 @@ "type": "tidelift" } ], - "time": "2023-05-12T14:21:09+00:00" + "time": "2024-11-20T10:57:02+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.27.0", + "name": "symfony/polyfill-php80", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" + "php": ">=7.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -6753,8 +7633,11 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6762,24 +7645,28 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "ctype", "polyfill", - "portable" + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" }, "funding": [ { @@ -6795,281 +7682,30 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", + "name": "symfony/polyfill-php81", + "version": "v1.31.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" + "php": ">=7.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -7106,1277 +7742,49 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" }, "funding": [ { "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/process", - "version": "v6.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8741e3ed7fe2e91ec099e02446fb86667a0f1628", - "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v6.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-05-19T08:06:44+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-05-30T19:17:29+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v6.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", - "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/service-contracts": "^2.5|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a way to profile code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-02-16T10:14:28+00:00" - }, - { - "name": "symfony/string", - "version": "v6.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f", - "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" - }, - "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/intl": "^6.2", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v6.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-03-21T21:06:29+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "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.2.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2021-07-28T10:34:58+00:00" - }, - { - "name": "vimeo/psalm", - "version": "5.13.1", - "source": { - "type": "git", - "url": "https://github.com/vimeo/psalm.git", - "reference": "086b94371304750d1c673315321a55d15fc59015" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/086b94371304750d1c673315321a55d15fc59015", - "reference": "086b94371304750d1c673315321a55d15fc59015", - "shasum": "" - }, - "require": { - "amphp/amp": "^2.4.2", - "amphp/byte-stream": "^1.5", - "composer-runtime-api": "^2", - "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^2.0 || ^3.0", - "dnoegel/php-xdg-base-dir": "^0.1.1", - "ext-ctype": "*", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "ext-tokenizer": "*", - "felixfbecker/advanced-json-rpc": "^3.1", - "felixfbecker/language-server-protocol": "^1.5.2", - "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", - "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.14", - "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0", - "sebastian/diff": "^4.0 || ^5.0", - "spatie/array-to-xml": "^2.17.0 || ^3.0", - "symfony/console": "^4.1.6 || ^5.0 || ^6.0", - "symfony/filesystem": "^5.4 || ^6.0" - }, - "provide": { - "psalm/psalm": "self.version" - }, - "require-dev": { - "amphp/phpunit-util": "^2.0", - "bamarni/composer-bin-plugin": "^1.4", - "brianium/paratest": "^6.9", - "ext-curl": "*", - "mockery/mockery": "^1.5", - "nunomaduro/mock-final-classes": "^1.1", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpdoc-parser": "^1.6", - "phpunit/phpunit": "^9.6", - "psalm/plugin-mockery": "^1.1", - "psalm/plugin-phpunit": "^0.18", - "slevomat/coding-standard": "^8.4", - "squizlabs/php_codesniffer": "^3.6", - "symfony/process": "^4.4 || ^5.0 || ^6.0" - }, - "suggest": { - "ext-curl": "In order to send data to shepherd", - "ext-igbinary": "^2.0.5 is required, used to serialize caching data" - }, - "bin": [ - "psalm", - "psalm-language-server", - "psalm-plugin", - "psalm-refactor", - "psalter" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev", - "dev-4.x": "4.x-dev", - "dev-3.x": "3.x-dev", - "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psalm\\": "src/Psalm/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matthew Brown" - } - ], - "description": "A static analysis tool for finding errors in PHP applications", - "keywords": [ - "code", - "inspection", - "php", - "static analysis" - ], - "support": { - "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/5.13.1" - }, - "time": "2023-06-27T16:39:49+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-aescbc", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-aescbc.git", - "reference": "17da32a21abb19add2b9740ea60d09782df44bc7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-aescbc/zipball/17da32a21abb19add2b9740ea60d09782df44bc7", - "reference": "17da32a21abb19add2b9740ea60d09782df44bc7", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=8.1", - "web-token/jwt-encryption": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\ContentEncryption\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "AES CBC Based Content Encryption Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-aescbc/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-aesgcm", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-aesgcm.git", - "reference": "1244115e211a0dbf65657426b14659a3ed79487c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-aesgcm/zipball/1244115e211a0dbf65657426b14659a3ed79487c", - "reference": "1244115e211a0dbf65657426b14659a3ed79487c", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=8.1", - "web-token/jwt-encryption": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\ContentEncryption\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "AES GCM Based Content Encryption Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-aesgcm/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-aesgcmkw", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-aesgcmkw.git", - "reference": "ac9bf395cce5b95f4c45a2ceea5810f7cdd0017f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-aesgcmkw/zipball/ac9bf395cce5b95f4c45a2ceea5810f7cdd0017f", - "reference": "ac9bf395cce5b95f4c45a2ceea5810f7cdd0017f", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=8.1", - "spomky-labs/aes-key-wrap": "^7.0", - "web-token/jwt-encryption": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\KeyEncryption\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "AES GCM Key Wrapping Based Key Encryption Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-aesgcmkw/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-aeskw", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-aeskw.git", - "reference": "978a1c028ac89b734b3af6f9b0a96ea0f56a43db" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-aeskw/zipball/978a1c028ac89b734b3af6f9b0a96ea0f56a43db", - "reference": "978a1c028ac89b734b3af6f9b0a96ea0f56a43db", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=8.1", - "spomky-labs/aes-key-wrap": "^7.0", - "web-token/jwt-encryption": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\KeyEncryption\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "AES Key Wrapping Based Key Encryption Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-aeskw/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-dir", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-dir.git", - "reference": "5ec2cc25a8235ac383d07aba75cb8409589d9efe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-dir/zipball/5ec2cc25a8235ac383d07aba75cb8409589d9efe", - "reference": "5ec2cc25a8235ac383d07aba75cb8409589d9efe", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "web-token/jwt-encryption": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\KeyEncryption\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "Direct Key Encryption Algorithm the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-dir/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-ecdh-es", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-ecdh-es.git", - "reference": "42e6cee2b7ddaa5ce05ecbc74b56ac4d3f0e32b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-ecdh-es/zipball/42e6cee2b7ddaa5ce05ecbc74b56ac4d3f0e32b3", - "reference": "42e6cee2b7ddaa5ce05ecbc74b56ac4d3f0e32b3", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=8.1", - "spomky-labs/aes-key-wrap": "^7.0", - "web-token/jwt-encryption": "^3.2", - "web-token/jwt-util-ecc": "^3.2" - }, - "suggest": { - "ext-sodium": "Sodium is required for OKP key creation, EdDSA signature algorithm and ECDH-ES key encryption with OKP keys" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\KeyEncryption\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "ECDH-ES Based Key Encryption Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-ecdh-es/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-experimental", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-experimental.git", - "reference": "57de23f6e88a75623e3d3fa3cbbea3c238dda18a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-experimental/zipball/57de23f6e88a75623e3d3fa3cbbea3c238dda18a", - "reference": "57de23f6e88a75623e3d3fa3cbbea3c238dda18a", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=8.1", - "web-token/jwt-encryption-algorithm-rsa": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "Experimental Key and Content Encryption Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-experimental/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-pbes2", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-pbes2.git", - "reference": "6faa05d5a0ab5d8fc3b8667abab680130793827f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-pbes2/zipball/6faa05d5a0ab5d8fc3b8667abab680130793827f", - "reference": "6faa05d5a0ab5d8fc3b8667abab680130793827f", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "web-token/jwt-encryption": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\KeyEncryption\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "PBES2* Based Key Encryption Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-pbes2/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-encryption-algorithm-rsa", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-encryption-algorithm-rsa.git", - "reference": "60376ae765be1c389bf6a6a07d105c3e371a0fdd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-encryption-algorithm-rsa/zipball/60376ae765be1c389bf6a6a07d105c3e371a0fdd", - "reference": "60376ae765be1c389bf6a6a07d105c3e371a0fdd", - "shasum": "" - }, - "require": { - "brick/math": "^0.9|^0.10|^0.11", - "ext-openssl": "*", - "php": ">=8.1", - "symfony/polyfill-mbstring": "^1.12", - "web-token/jwt-encryption": "^3.2" - }, - "suggest": { - "ext-bcmath": "GMP or BCMath is highly recommended to improve the library performance", - "ext-gmp": "GMP or BCMath is highly recommended to improve the library performance" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Encryption\\Algorithm\\KeyEncryption\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "RSA Based Key Encryption Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-encryption-algorithm-rsa/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-signature-algorithm-ecdsa", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-signature-algorithm-ecdsa.git", - "reference": "34b119d6b5eca53914ad3b96660e5bd7fb5538b9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-signature-algorithm-ecdsa/zipball/34b119d6b5eca53914ad3b96660e5bd7fb5538b9", - "reference": "34b119d6b5eca53914ad3b96660e5bd7fb5538b9", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=8.1", - "web-token/jwt-signature": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Signature\\Algorithm\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "ECDSA Based Signature Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-signature-algorithm-ecdsa/tree/3.2.7" - }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-05-18T16:20:51+00:00" - }, - { - "name": "web-token/jwt-signature-algorithm-eddsa", - "version": "3.2.7", - "source": { - "type": "git", - "url": "https://github.com/web-token/jwt-signature-algorithm-eddsa.git", - "reference": "2ee185c4378671e5b0fd0a47021f3df74246f9b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-signature-algorithm-eddsa/zipball/2ee185c4378671e5b0fd0a47021f3df74246f9b3", - "reference": "2ee185c4378671e5b0fd0a47021f3df74246f9b3", - "shasum": "" - }, - "require": { - "ext-sodium": "*", - "php": ">=8.1", - "web-token/jwt-signature": "^3.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Jose\\Component\\Signature\\Algorithm\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" - } - ], - "description": "EdDSA Signature Algorithm the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], - "support": { - "source": "https://github.com/web-token/jwt-signature-algorithm-eddsa/tree/3.2.7" - }, - "funding": [ + "type": "custom" + }, { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-05-18T16:20:51+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { - "name": "web-token/jwt-signature-algorithm-experimental", - "version": "3.2.7", + "name": "symfony/process", + "version": "v6.4.19", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-signature-algorithm-experimental.git", - "reference": "5839b18e271440121ca950c5bc126c1c2163dcc2" + "url": "https://github.com/symfony/process.git", + "reference": "7a1c12e87b08ec9c97abdd188c9b3f5a40e37fc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-signature-algorithm-experimental/zipball/5839b18e271440121ca950c5bc126c1c2163dcc2", - "reference": "5839b18e271440121ca950c5bc126c1c2163dcc2", + "url": "https://api.github.com/repos/symfony/process/zipball/7a1c12e87b08ec9c97abdd188c9b3f5a40e37fc3", + "reference": "7a1c12e87b08ec9c97abdd188c9b3f5a40e37fc3", "shasum": "" }, "require": { - "php": ">=8.1", - "web-token/jwt-signature-algorithm-hmac": "^3.2", - "web-token/jwt-signature-algorithm-rsa": "^3.2" + "php": ">=8.1" }, "type": "library", "autoload": { "psr-4": { - "Jose\\Component\\Signature\\Algorithm\\": "" - } + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8384,68 +7792,61 @@ ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Experimental Signature Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", "support": { - "source": "https://github.com/web-token/jwt-signature-algorithm-experimental/tree/3.2.7" + "source": "https://github.com/symfony/process/tree/v6.4.19" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-05-18T16:20:51+00:00" + "time": "2025-02-04T13:35:48+00:00" }, { - "name": "web-token/jwt-signature-algorithm-hmac", - "version": "3.2.7", + "name": "symfony/stopwatch", + "version": "v6.4.19", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-signature-algorithm-hmac.git", - "reference": "16b091bb8d41bd0f0897f04195ce1e99b24ca15b" + "url": "https://github.com/symfony/stopwatch.git", + "reference": "dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-signature-algorithm-hmac/zipball/16b091bb8d41bd0f0897f04195ce1e99b24ca15b", - "reference": "16b091bb8d41bd0f0897f04195ce1e99b24ca15b", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c", + "reference": "dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c", "shasum": "" }, "require": { "php": ">=8.1", - "web-token/jwt-signature": "^3.2" + "symfony/service-contracts": "^2.5|^3" }, "type": "library", "autoload": { "psr-4": { - "Jose\\Component\\Signature\\Algorithm\\": "" - } + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8453,140 +7854,170 @@ ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "HMAC Based Signature Algorithms the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", "support": { - "source": "https://github.com/web-token/jwt-signature-algorithm-hmac/tree/3.2.7" + "source": "https://github.com/symfony/stopwatch/tree/v6.4.19" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2023-05-18T16:20:51+00:00" + "time": "2025-02-21T10:06:30+00:00" }, { - "name": "web-token/jwt-signature-algorithm-none", - "version": "3.2.7", + "name": "theseer/tokenizer", + "version": "1.2.3", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-signature-algorithm-none.git", - "reference": "db776b4b44e0ae1aaf78e58d28a899c4c0fd4c7b" + "url": "https://github.com/theseer/tokenizer.git", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-signature-algorithm-none/zipball/db776b4b44e0ae1aaf78e58d28a899c4c0fd4c7b", - "reference": "db776b4b44e0ae1aaf78e58d28a899c4c0fd4c7b", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { - "php": ">=8.1", - "web-token/jwt-signature": "^3.2" + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { - "psr-4": { - "Jose\\Component\\Signature\\Algorithm\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" } ], - "description": "None Signature Algorithm the JWT Framework.", - "homepage": "https://github.com/web-token", - "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" - ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { - "source": "https://github.com/web-token/jwt-signature-algorithm-none/tree/3.2.7" + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" + "url": "https://github.com/theseer", + "type": "github" } ], - "time": "2023-05-18T16:20:51+00:00" + "time": "2024-03-03T12:36:25+00:00" }, { - "name": "web-token/jwt-util-ecc", - "version": "3.2.7", + "name": "vimeo/psalm", + "version": "5.26.1", "source": { "type": "git", - "url": "https://github.com/web-token/jwt-util-ecc.git", - "reference": "b2337052dbee724d710c1fdb0d3609835a5f8609" + "url": "https://github.com/vimeo/psalm.git", + "reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-token/jwt-util-ecc/zipball/b2337052dbee724d710c1fdb0d3609835a5f8609", - "reference": "b2337052dbee724d710c1fdb0d3609835a5f8609", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/d747f6500b38ac4f7dfc5edbcae6e4b637d7add0", + "reference": "d747f6500b38ac4f7dfc5edbcae6e4b637d7add0", "shasum": "" }, "require": { - "brick/math": "^0.9|^0.10|^0.11", - "php": ">=8.1" + "amphp/amp": "^2.4.2", + "amphp/byte-stream": "^1.5", + "composer-runtime-api": "^2", + "composer/semver": "^1.4 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", + "dnoegel/php-xdg-base-dir": "^0.1.1", + "ext-ctype": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-tokenizer": "*", + "felixfbecker/advanced-json-rpc": "^3.1", + "felixfbecker/language-server-protocol": "^1.5.2", + "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0", + "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", + "nikic/php-parser": "^4.17", + "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0", + "spatie/array-to-xml": "^2.17.0 || ^3.0", + "symfony/console": "^4.1.6 || ^5.0 || ^6.0 || ^7.0", + "symfony/filesystem": "^5.4 || ^6.0 || ^7.0" + }, + "conflict": { + "nikic/php-parser": "4.17.0" + }, + "provide": { + "psalm/psalm": "self.version" + }, + "require-dev": { + "amphp/phpunit-util": "^2.0", + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.9", + "ext-curl": "*", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.6", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0" }, "suggest": { - "ext-bcmath": "GMP or BCMath is highly recommended to improve the library performance", - "ext-gmp": "GMP or BCMath is highly recommended to improve the library performance" + "ext-curl": "In order to send data to shepherd", + "ext-igbinary": "^2.0.5 is required, used to serialize caching data" + }, + "bin": [ + "psalm", + "psalm-language-server", + "psalm-plugin", + "psalm-refactor", + "psalter" + ], + "type": "project", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev", + "dev-2.x": "2.x-dev", + "dev-3.x": "3.x-dev", + "dev-4.x": "4.x-dev", + "dev-master": "5.x-dev" + } }, - "type": "library", "autoload": { "psr-4": { - "Jose\\Component\\Core\\Util\\Ecc\\": "" + "Psalm\\": "src/Psalm/" } }, "notification-url": "https://packagist.org/downloads/", @@ -8595,44 +8026,22 @@ ], "authors": [ { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/web-token/jwt-framework/contributors" + "name": "Matthew Brown" } ], - "description": "ECC Tools for the JWT Framework.", - "homepage": "https://github.com/web-token", + "description": "A static analysis tool for finding errors in PHP applications", "keywords": [ - "JOSE", - "JWE", - "JWK", - "JWKSet", - "JWS", - "Jot", - "RFC7515", - "RFC7516", - "RFC7517", - "RFC7518", - "RFC7519", - "RFC7520", - "bundle", - "jwa", - "jwt", - "symfony" + "code", + "inspection", + "php", + "static analysis" ], "support": { - "source": "https://github.com/web-token/jwt-util-ecc/tree/3.2.7" + "docs": "https://psalm.dev/docs", + "issues": "https://github.com/vimeo/psalm/issues", + "source": "https://github.com/vimeo/psalm" }, - "funding": [ - { - "url": "https://www.patreon.com/FlorentMorselli", - "type": "patreon" - } - ], - "time": "2023-02-02T13:35:41+00:00" + "time": "2024-09-08T18:53:08+00:00" }, { "name": "webimpress/safe-writer", @@ -8754,13 +8163,15 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "facile-it/php-jose-verifier": 10 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^7.4 || ^8.0", + "php": "^8.1", "ext-json": "*" }, - "platform-dev": [], - "plugin-api-version": "2.3.0" + "platform-dev": {}, + "plugin-api-version": "2.6.0" } diff --git a/src/AlgorithmManagerBuilder.php b/src/AlgorithmManagerBuilder.php index cb261bc..f0b7e5d 100644 --- a/src/AlgorithmManagerBuilder.php +++ b/src/AlgorithmManagerBuilder.php @@ -17,7 +17,7 @@ class AlgorithmManagerBuilder * * @psalm-var list> */ - private $algorithmClasses; + private array $algorithmClasses; /** * @param string[]|null $algorithmClasses diff --git a/src/Claims/AggregateParser.php b/src/Claims/AggregateParser.php index 8e6f6de..7dd0963 100644 --- a/src/Claims/AggregateParser.php +++ b/src/Claims/AggregateParser.php @@ -5,25 +5,22 @@ namespace Facile\OpenIDClient\Claims; use function array_filter; +use function array_key_exists; use Facile\OpenIDClient\Client\ClientInterface; -use function is_array; final class AggregateParser extends AbstractClaims implements AggregatedParserInterface { public function unpack(ClientInterface $client, array $claims): array { - $claimSources = $claims['_claim_sources'] ?? null; - $claimNames = $claims['_claim_names'] ?? null; - - if (! is_array($claimSources)) { + if (! array_key_exists('_claim_sources', $claims)) { return $claims; } - if (! is_array($claimNames)) { + if (! array_key_exists('_claim_names', $claims)) { return $claims; } - $aggregatedSources = array_filter($claimSources, fn ($value): bool => $this->isAggregateSource($value)); + $aggregatedSources = array_filter($claims['_claim_sources'], fn ($value): bool => $this->isAggregateSource($value)); $claimPayloads = []; foreach ($aggregatedSources as $sourceName => $source) { @@ -31,6 +28,6 @@ public function unpack(ClientInterface $client, array $claims): array unset($claims['_claim_sources'][$sourceName]); } - return $this->cleanClaims($this->assignClaims($claims, $claimNames, $claimPayloads)); + return $this->cleanClaims($this->assignClaims($claims, $claims['_claim_names'], $claimPayloads)); } } diff --git a/src/Claims/AggregatedParserInterface.php b/src/Claims/AggregatedParserInterface.php index 9742b00..58bf764 100644 --- a/src/Claims/AggregatedParserInterface.php +++ b/src/Claims/AggregatedParserInterface.php @@ -5,9 +5,10 @@ namespace Facile\OpenIDClient\Claims; use Facile\OpenIDClient\Client\ClientInterface; +use Facile\OpenIDClient\Token\TokenSetInterface; /** - * @psalm-import-type TokenSetClaimsType from \Facile\OpenIDClient\Token\TokenSetInterface + * @psalm-import-type TokenSetClaimsType from TokenSetInterface */ interface AggregatedParserInterface { diff --git a/src/Claims/DistributedParser.php b/src/Claims/DistributedParser.php index dbe3452..ffa63f1 100644 --- a/src/Claims/DistributedParser.php +++ b/src/Claims/DistributedParser.php @@ -5,13 +5,13 @@ namespace Facile\OpenIDClient\Claims; use function array_filter; +use function array_key_exists; use function Facile\OpenIDClient\check_server_response; use Facile\OpenIDClient\Client\ClientInterface as OpenIDClient; use Facile\OpenIDClient\Exception\RuntimeException; use Facile\OpenIDClient\Issuer\IssuerBuilderInterface; use Http\Discovery\Psr17FactoryDiscovery; use Http\Discovery\Psr18ClientDiscovery; -use function is_array; use Jose\Component\Core\AlgorithmManager; use Jose\Component\Signature\JWSVerifier; use Jose\Component\Signature\Serializer\JWSSerializer; @@ -22,11 +22,9 @@ final class DistributedParser extends AbstractClaims implements DistributedParserInterface { - /** @var ClientInterface */ - private $client; + private ClientInterface $client; - /** @var RequestFactoryInterface */ - private $requestFactory; + private RequestFactoryInterface $requestFactory; public function __construct( ?IssuerBuilderInterface $issuerBuilder = null, @@ -44,18 +42,15 @@ public function __construct( public function fetch(OpenIDClient $client, array $claims, array $accessTokens = []): array { - $claimSources = $claims['_claim_sources'] ?? null; - $claimNames = $claims['_claim_names'] ?? null; - - if (! is_array($claimSources)) { + if (! array_key_exists('_claim_sources', $claims)) { return $claims; } - if (! is_array($claimNames)) { + if (! array_key_exists('_claim_names', $claims)) { return $claims; } - $distributedSources = array_filter($claimSources, fn ($value): bool => $this->isDistributedSource($value)); + $distributedSources = array_filter($claims['_claim_sources'], fn ($value): bool => $this->isDistributedSource($value)); /** @var array $responses */ $responses = []; @@ -64,7 +59,7 @@ public function fetch(OpenIDClient $client, array $claims, array $accessTokens = ->withHeader('accept', 'application/jwt'); $accessToken = $source['access_token'] ?? ($accessTokens[$sourceName] ?? null); - if ($accessToken) { + if ($accessToken !== null) { $request = $request->withHeader('authorization', 'Bearer ' . $accessToken); } @@ -86,6 +81,6 @@ public function fetch(OpenIDClient $client, array $claims, array $accessTokens = } } - return $this->cleanClaims($this->assignClaims($claims, $claimNames, $claimPayloads)); + return $this->cleanClaims($this->assignClaims($claims, $claims['_claim_names'], $claimPayloads)); } } diff --git a/src/Client/Metadata/ClientMetadata.php b/src/Client/Metadata/ClientMetadata.php index ddd781a..9d68729 100644 --- a/src/Client/Metadata/ClientMetadata.php +++ b/src/Client/Metadata/ClientMetadata.php @@ -9,18 +9,19 @@ use function array_keys; use function array_merge; use function count; +use Facile\JoseVerifier\TokenVerifierInterface; use Facile\OpenIDClient\Exception\InvalidArgumentException; use function implode; /** - * @psalm-import-type ClientMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type ClientMetadataType from TokenVerifierInterface */ final class ClientMetadata implements ClientMetadataInterface { /** * @var array * - * @psalm-var ClientMetadataObject + * @psalm-var ClientMetadataType */ private $metadata; @@ -37,7 +38,7 @@ final class ClientMetadata implements ClientMetadataInterface * * @param array $claims * - * @psalm-param ClientMetadataObject|array $claims + * @psalm-param ClientMetadataType|array $claims */ public function __construct(string $clientId, array $claims = []) { @@ -47,7 +48,7 @@ public function __construct(string $clientId, array $claims = []) $defaults = self::$defaults; - /** @var ClientMetadataObject $merged */ + /** @var ClientMetadataType $merged */ $merged = array_merge($defaults, $claims, $requiredClaims); $this->metadata = $merged; } @@ -57,7 +58,7 @@ public function __construct(string $clientId, array $claims = []) * * @return static * - * @psalm-param ClientMetadataObject $claims + * @psalm-param ClientMetadataType $claims */ public static function fromArray(array $claims): self { diff --git a/src/Client/Metadata/ClientMetadataInterface.php b/src/Client/Metadata/ClientMetadataInterface.php index 8f27268..fd9b46c 100644 --- a/src/Client/Metadata/ClientMetadataInterface.php +++ b/src/Client/Metadata/ClientMetadataInterface.php @@ -4,12 +4,13 @@ namespace Facile\OpenIDClient\Client\Metadata; +use Facile\JoseVerifier\TokenVerifierInterface; use JsonSerializable; /** - * @psalm-import-type ClientMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type JWKObject from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type JWKSetObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type ClientMetadataType from TokenVerifierInterface + * @psalm-import-type JWTPayloadType from TokenVerifierInterface + * @psalm-import-type JWKSetType from TokenVerifierInterface */ interface ClientMetadataInterface extends JsonSerializable { @@ -65,21 +66,21 @@ public function getIntrospectionEndpointAuthMethod(): string; public function getRevocationEndpointAuthMethod(): string; /** - * @psalm-return JWKSetObject|null + * @psalm-return JWKSetType|null */ public function getJwks(): ?array; /** * @return array * - * @psalm-return ClientMetadataObject + * @psalm-return ClientMetadataType */ public function jsonSerialize(): array; /** * @return array * - * @psalm-return ClientMetadataObject + * @psalm-return ClientMetadataType */ public function toArray(): array; } diff --git a/src/Client/Metadata/MetadataFactoryInterface.php b/src/Client/Metadata/MetadataFactoryInterface.php index ba7b93f..6557549 100644 --- a/src/Client/Metadata/MetadataFactoryInterface.php +++ b/src/Client/Metadata/MetadataFactoryInterface.php @@ -4,15 +4,17 @@ namespace Facile\OpenIDClient\Client\Metadata; +use Facile\JoseVerifier\TokenVerifierInterface; + /** - * @psalm-import-type ClientMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type ClientMetadataType from TokenVerifierInterface */ interface MetadataFactoryInterface { /** * @param array $metadata * - * @psalm-param ClientMetadataObject $metadata + * @psalm-param ClientMetadataType $metadata */ public function fromArray(array $metadata): ClientMetadataInterface; } diff --git a/src/Issuer/IssuerBuilder.php b/src/Issuer/IssuerBuilder.php index db6a66d..53febc3 100644 --- a/src/Issuer/IssuerBuilder.php +++ b/src/Issuer/IssuerBuilder.php @@ -10,11 +10,9 @@ final class IssuerBuilder implements IssuerBuilderInterface { - /** @var MetadataProviderBuilder|null */ - private $metadataProviderBuilder; + private ?MetadataProviderBuilder $metadataProviderBuilder = null; - /** @var JwksProviderBuilder|null */ - private $jwksProviderBuilder; + private ?JwksProviderBuilder $jwksProviderBuilder = null; public function setMetadataProviderBuilder(?MetadataProviderBuilder $metadataProviderBuilder): self { @@ -45,8 +43,7 @@ public function build(string $resource): IssuerInterface $metadataBuilder = $this->buildMetadataProviderBuilder(); $metadata = IssuerMetadata::fromArray($metadataBuilder->build()->fetch($resource)); - $jwksProviderBuilder = $this->buildJwksProviderBuilder(); - $jwksProviderBuilder->setJwksUri($metadata->getJwksUri()); + $jwksProviderBuilder = ($this->buildJwksProviderBuilder())->withJwksUri($metadata->getJwksUri()); $jwksProvider = $jwksProviderBuilder->build(); return new Issuer( diff --git a/src/Issuer/Metadata/IssuerMetadata.php b/src/Issuer/Metadata/IssuerMetadata.php index 1fea6be..f86c7bf 100644 --- a/src/Issuer/Metadata/IssuerMetadata.php +++ b/src/Issuer/Metadata/IssuerMetadata.php @@ -9,32 +9,33 @@ use function array_keys; use function array_merge; use function count; +use Facile\JoseVerifier\TokenVerifierInterface; use Facile\OpenIDClient\Exception\InvalidArgumentException; use function implode; /** - * @psalm-import-type IssuerMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type IssuerRemoteMetadataType from TokenVerifierInterface */ final class IssuerMetadata implements IssuerMetadataInterface { /** * @var array * - * @psalm-var IssuerMetadataObject + * @psalm-var IssuerRemoteMetadataType */ - private $metadata; + private array $metadata; /** @var string[] */ - private static $requiredKeys = [ + private static array $requiredKeys = [ 'issuer', 'authorization_endpoint', 'jwks_uri', ]; /** - * IssuerMetadata constructor. - * * @param array $claims + * + * @psalm-param IssuerRemoteMetadataType|array $claims */ public function __construct( string $issuer, @@ -48,7 +49,7 @@ public function __construct( 'jwks_uri' => $jwksUri, ]; - /** @var IssuerMetadataObject $merged */ + /** @psalm-var IssuerRemoteMetadataType $merged */ $merged = array_merge($claims, $requiredClaims); $this->metadata = $merged; } @@ -58,7 +59,7 @@ public function __construct( * * @return static * - * @psalm-param IssuerMetadataObject $claims + * @psalm-param IssuerRemoteMetadataType $claims */ public static function fromArray(array $claims): self { @@ -67,7 +68,7 @@ public static function fromArray(array $claims): self throw new InvalidArgumentException('Invalid issuer metadata. Missing keys: ' . implode(', ', $missingKeys)); } - return new static( + return new IssuerMetadata( $claims['issuer'], $claims['authorization_endpoint'], $claims['jwks_uri'], diff --git a/src/Issuer/Metadata/IssuerMetadataInterface.php b/src/Issuer/Metadata/IssuerMetadataInterface.php index b7991a8..51363c3 100644 --- a/src/Issuer/Metadata/IssuerMetadataInterface.php +++ b/src/Issuer/Metadata/IssuerMetadataInterface.php @@ -4,18 +4,15 @@ namespace Facile\OpenIDClient\Issuer\Metadata; +use Facile\JoseVerifier\TokenVerifierInterface; use JsonSerializable; /** - * @psalm-import-type IssuerMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type OpenIdDisplayType from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type OpenIdClaimType from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type OpenIdResponseType from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type OpenIdResponseMode from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type OpenIdGrantType from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type OpenIdApplicationType from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type OpenIdSubjectType from \Facile\JoseVerifier\Psalm\PsalmTypes - * @psalm-import-type OpenIdAuthMethod from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type IssuerRemoteMetadataType from TokenVerifierInterface + * @psalm-import-type OpenIdResponseMode from TokenVerifierInterface + * @psalm-import-type OpenIdGrantType from TokenVerifierInterface + * @psalm-import-type OpenIdClaimType from TokenVerifierInterface + * @psalm-import-type OpenIdSubjectType from TokenVerifierInterface */ interface IssuerMetadataInterface extends JsonSerializable { @@ -157,9 +154,9 @@ public function getOpPolicyUri(): ?string; public function getOpTosUri(): ?string; /** - * @return string[] + * @return string[]|null * - * @psalm-return list + * @psalm-return list|null */ public function getCodeChallengeMethodsSupported(): ?array; @@ -348,14 +345,14 @@ public function getMtlsEndpointAliases(): array; /** * @return array * - * @psalm-return IssuerMetadataObject + * @psalm-return IssuerRemoteMetadataType */ public function jsonSerialize(): array; /** * @return array * - * @psalm-return IssuerMetadataObject + * @psalm-return IssuerRemoteMetadataType */ public function toArray(): array; } diff --git a/src/Issuer/Metadata/Provider/CachedProviderDecorator.php b/src/Issuer/Metadata/Provider/CachedProviderDecorator.php index 479bb0e..cf27ec5 100644 --- a/src/Issuer/Metadata/Provider/CachedProviderDecorator.php +++ b/src/Issuer/Metadata/Provider/CachedProviderDecorator.php @@ -4,6 +4,7 @@ namespace Facile\OpenIDClient\Issuer\Metadata\Provider; +use Facile\JoseVerifier\TokenVerifierInterface; use function is_array; use function json_decode; use function json_encode; @@ -13,7 +14,7 @@ use function substr; /** - * @psalm-import-type IssuerMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type IssuerRemoteMetadataType from TokenVerifierInterface */ final class CachedProviderDecorator implements RemoteProviderInterface { @@ -51,7 +52,7 @@ public function __construct( /** * @return array * - * @psalm-return IssuerMetadataObject + * @psalm-return IssuerRemoteMetadataType * * @psalm-suppress MixedReturnTypeCoercion */ @@ -63,7 +64,7 @@ public function fetch(string $uri): array $cached = $this->cache->get($cacheId) ?? ''; try { - /** @psalm-var null|string|IssuerMetadataObject $data */ + /** @psalm-var null|string|IssuerRemoteMetadataType $data */ $data = json_decode($cached, true, 512, JSON_THROW_ON_ERROR); } catch (JsonException $e) { $data = null; diff --git a/src/Issuer/Metadata/Provider/DiscoveryProvider.php b/src/Issuer/Metadata/Provider/DiscoveryProvider.php index d92226b..5d993fa 100644 --- a/src/Issuer/Metadata/Provider/DiscoveryProvider.php +++ b/src/Issuer/Metadata/Provider/DiscoveryProvider.php @@ -5,6 +5,7 @@ namespace Facile\OpenIDClient\Issuer\Metadata\Provider; use function array_key_exists; +use Facile\JoseVerifier\TokenVerifierInterface; use Facile\OpenIDClient\Exception\RuntimeException; use function Facile\OpenIDClient\parse_metadata_response; use function preg_match; @@ -16,7 +17,7 @@ use function strpos; /** - * @psalm-import-type IssuerMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type IssuerRemoteMetadataType from TokenVerifierInterface */ final class DiscoveryProvider implements DiscoveryProviderInterface { @@ -51,7 +52,7 @@ public function isAllowedUri(string $uri): bool /** * @return array * - * @psalm-return IssuerMetadataObject + * @psalm-return IssuerRemoteMetadataType * * @psalm-suppress MixedReturnTypeCoercion */ @@ -84,7 +85,7 @@ public function discovery(string $url): array /** * @return array * - * @psalm-return IssuerMetadataObject + * @psalm-return IssuerRemoteMetadataType */ private function fetchOpenIdConfiguration(string $uri): array { @@ -92,7 +93,7 @@ private function fetchOpenIdConfiguration(string $uri): array ->withHeader('accept', 'application/json'); try { - /** @psalm-var IssuerMetadataObject $data */ + /** @psalm-var IssuerRemoteMetadataType $data */ $data = parse_metadata_response($this->client->sendRequest($request)); } catch (ClientExceptionInterface $e) { throw new RuntimeException('Unable to fetch provider metadata', 0, $e); diff --git a/src/Issuer/Metadata/Provider/DiscoveryProviderInterface.php b/src/Issuer/Metadata/Provider/DiscoveryProviderInterface.php index 4b79ef3..1df5043 100644 --- a/src/Issuer/Metadata/Provider/DiscoveryProviderInterface.php +++ b/src/Issuer/Metadata/Provider/DiscoveryProviderInterface.php @@ -4,15 +4,17 @@ namespace Facile\OpenIDClient\Issuer\Metadata\Provider; +use Facile\JoseVerifier\TokenVerifierInterface; + /** - * @psalm-import-type IssuerMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type IssuerMetadataType from TokenVerifierInterface */ interface DiscoveryProviderInterface extends RemoteProviderInterface { /** * @return array * - * @psalm-return IssuerMetadataObject + * @psalm-return IssuerMetadataType */ public function discovery(string $url): array; } diff --git a/src/Issuer/Metadata/Provider/RemoteProviderInterface.php b/src/Issuer/Metadata/Provider/RemoteProviderInterface.php index 4640a07..c5bf396 100644 --- a/src/Issuer/Metadata/Provider/RemoteProviderInterface.php +++ b/src/Issuer/Metadata/Provider/RemoteProviderInterface.php @@ -4,8 +4,10 @@ namespace Facile\OpenIDClient\Issuer\Metadata\Provider; +use Facile\JoseVerifier\TokenVerifierInterface; + /** - * @psalm-import-type IssuerMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type IssuerRemoteMetadataType from TokenVerifierInterface */ interface RemoteProviderInterface { @@ -14,7 +16,7 @@ public function isAllowedUri(string $uri): bool; /** * @return array * - * @psalm-return IssuerMetadataObject + * @psalm-return IssuerRemoteMetadataType */ public function fetch(string $uri): array; } diff --git a/src/Issuer/Metadata/Provider/WebFingerProvider.php b/src/Issuer/Metadata/Provider/WebFingerProvider.php index 8ac3c29..ed02108 100644 --- a/src/Issuer/Metadata/Provider/WebFingerProvider.php +++ b/src/Issuer/Metadata/Provider/WebFingerProvider.php @@ -7,6 +7,7 @@ use function array_key_exists; use function array_pop; use function explode; +use Facile\JoseVerifier\TokenVerifierInterface; use Facile\OpenIDClient\Exception\InvalidArgumentException; use Facile\OpenIDClient\Exception\RuntimeException; use function Facile\OpenIDClient\parse_metadata_response; @@ -24,7 +25,7 @@ use function substr; /** - * @psalm-import-type IssuerMetadataObject from \Facile\JoseVerifier\Psalm\PsalmTypes + * @psalm-import-type IssuerRemoteMetadataType from TokenVerifierInterface */ final class WebFingerProvider implements RemoteProviderInterface, WebFingerProviderInterface { @@ -128,7 +129,7 @@ public function fetch(string $uri): array throw new RuntimeException('Discovered issuer mismatch'); } - /** @var IssuerMetadataObject $metadata */ + /** @var IssuerRemoteMetadataType $metadata */ return $metadata; } diff --git a/src/RequestObject/RequestObjectFactory.php b/src/RequestObject/RequestObjectFactory.php index 1b93dad..7af009a 100644 --- a/src/RequestObject/RequestObjectFactory.php +++ b/src/RequestObject/RequestObjectFactory.php @@ -14,8 +14,6 @@ use function implode; use Jose\Component\Core\AlgorithmManager; use Jose\Component\Core\JWKSet; -use Jose\Component\Encryption\Compression\CompressionMethodManager; -use Jose\Component\Encryption\Compression\Deflate; use Jose\Component\Encryption\JWEBuilder; use Jose\Component\Encryption\Serializer\CompactSerializer as EncryptionCompactSerializer; use Jose\Component\Encryption\Serializer\JWESerializer; @@ -55,11 +53,7 @@ public function __construct( ) { $this->algorithmManager = $algorithmManager ?? (new AlgorithmManagerBuilder())->build(); $this->jwsBuilder = $jwsBuilder ?? new JWSBuilder($this->algorithmManager); - $this->jweBuilder = $jweBuilder ?? new JWEBuilder( - $this->algorithmManager, - $this->algorithmManager, - new CompressionMethodManager([new Deflate()]) - ); + $this->jweBuilder = $jweBuilder ?? new JWEBuilder($this->algorithmManager); $this->signatureSerializer = $signatureSerializer ?? new SignatureCompactSerializer(); $this->encryptionSerializer = $encryptionSerializer ?? new EncryptionCompactSerializer(); } diff --git a/src/Service/AuthorizationService.php b/src/Service/AuthorizationService.php index 303d9be..e7a3f73 100644 --- a/src/Service/AuthorizationService.php +++ b/src/Service/AuthorizationService.php @@ -169,11 +169,11 @@ public function callback( if (null !== $idToken) { /** @psalm-var TokenSetClaimsType $claims */ $claims = $this->idTokenVerifierBuilder->build($client) - ->withNonce(null !== $authSession ? $authSession->getNonce() : null) - ->withState(null !== $authSession ? $authSession->getState() : null) + ->withState($authSession?->getState()) ->withCode($tokenSet->getCode()) - ->withMaxAge($maxAge) ->withAccessToken($tokenSet->getAccessToken()) + ->withMaxAge($maxAge) + ->withNonce($authSession?->getNonce()) ->verify($idToken); $tokenSet = $tokenSet->withClaims($claims); } @@ -227,9 +227,9 @@ public function fetchToken( if (null !== $idToken) { /** @psalm-var TokenSetClaimsType $claims */ $claims = $this->idTokenVerifierBuilder->build($client) - ->withNonce(null !== $authSession ? $authSession->getNonce() : null) - ->withState(null !== $authSession ? $authSession->getState() : null) + ->withState($authSession?->getState()) ->withMaxAge($maxAge) + ->withNonce($authSession?->getNonce()) ->verify($idToken); $tokenSet = $tokenSet->withClaims($claims); } diff --git a/src/Service/Builder/AbstractServiceBuilder.php b/src/Service/Builder/AbstractServiceBuilder.php index 73f1f9c..ea77171 100644 --- a/src/Service/Builder/AbstractServiceBuilder.php +++ b/src/Service/Builder/AbstractServiceBuilder.php @@ -33,11 +33,11 @@ public function setRequestFactory(RequestFactoryInterface $requestFactory): self protected function getHttpClient(): ClientInterface { - return $this->httpClient = $this->httpClient ?? Psr18ClientDiscovery::find(); + return $this->httpClient ??= Psr18ClientDiscovery::find(); } protected function getRequestFactory(): RequestFactoryInterface { - return $this->requestFactory = $this->requestFactory ?? Psr17FactoryDiscovery::findRequestFactory(); + return $this->requestFactory ??= Psr17FactoryDiscovery::findRequestFactory(); } } diff --git a/src/Service/Builder/AuthorizationServiceBuilder.php b/src/Service/Builder/AuthorizationServiceBuilder.php index 7a429a3..4fc0af6 100644 --- a/src/Service/Builder/AuthorizationServiceBuilder.php +++ b/src/Service/Builder/AuthorizationServiceBuilder.php @@ -46,17 +46,17 @@ public function setResponseVerifierBuilder(TokenVerifierBuilderInterface $respon protected function getTokenSetFactory(): TokenSetFactoryInterface { - return $this->tokenSetFactory = $this->tokenSetFactory ?? new TokenSetFactory(); + return $this->tokenSetFactory ??= new TokenSetFactory(); } protected function getIdTokenVerifierBuilder(): IdTokenVerifierBuilderInterface { - return $this->idTokenVerifierBuilder = $this->idTokenVerifierBuilder ?? new IdTokenVerifierBuilder(); + return $this->idTokenVerifierBuilder ??= new IdTokenVerifierBuilder(); } protected function getResponseVerifierBuilder(): TokenVerifierBuilderInterface { - return $this->responseVerifierBuilder = $this->responseVerifierBuilder ?? new ResponseVerifierBuilder(); + return $this->responseVerifierBuilder ??= new ResponseVerifierBuilder(); } public function build(): AuthorizationService diff --git a/src/Service/Builder/UserInfoServiceBuilder.php b/src/Service/Builder/UserInfoServiceBuilder.php index ef750f7..8aecb6e 100644 --- a/src/Service/Builder/UserInfoServiceBuilder.php +++ b/src/Service/Builder/UserInfoServiceBuilder.php @@ -15,7 +15,7 @@ final class UserInfoServiceBuilder extends AbstractServiceBuilder protected function getUserInfoVerifierBuilder(): TokenVerifierBuilderInterface { - return $this->userInfoVerifierBuilder = $this->userInfoVerifierBuilder ?? new UserInfoVerifierBuilder(); + return $this->userInfoVerifierBuilder ??= new UserInfoVerifierBuilder(); } public function build(): UserInfoService diff --git a/src/Service/UserInfoService.php b/src/Service/UserInfoService.php index 0b02b1a..51ba3d8 100644 --- a/src/Service/UserInfoService.php +++ b/src/Service/UserInfoService.php @@ -80,7 +80,7 @@ public function getUserInfo(OpenIDClient $client, TokenSetInterface $tokenSet, b } else { $request = $this->requestFactory->createRequest('GET', $endpointUri) ->withHeader('accept', $expectJwt ? 'application/jwt' : 'application/json') - ->withHeader('authorization', ($tokenSet->getTokenType() ?: 'Bearer') . ' ' . $accessToken); + ->withHeader('authorization', ($tokenSet->getTokenType() ?? 'Bearer') . ' ' . $accessToken); } $httpClient = $client->getHttpClient() ?? $this->client; diff --git a/src/Token/AccessTokenVerifierBuilder.php b/src/Token/AccessTokenVerifierBuilder.php index 31e459a..ef4a8fa 100644 --- a/src/Token/AccessTokenVerifierBuilder.php +++ b/src/Token/AccessTokenVerifierBuilder.php @@ -4,20 +4,14 @@ namespace Facile\OpenIDClient\Token; -use Facile\JoseVerifier\TokenVerifierBuilderInterface; use Facile\JoseVerifier\TokenVerifierInterface; use Facile\OpenIDClient\Client\ClientInterface; final class AccessTokenVerifierBuilder implements AccessTokenVerifierBuilderInterface { - /** @var bool */ - private $aadIssValidation = false; + private bool $aadIssValidation = false; - /** @var int */ - private $clockTolerance = 0; - - /** @var null|TokenVerifierBuilderInterface */ - private $joseBuilder; + private int $clockTolerance = 0; public function setAadIssValidation(bool $aadIssValidation): self { @@ -33,26 +27,16 @@ public function setClockTolerance(int $clockTolerance): self return $this; } - public function setJoseBuilder(?TokenVerifierBuilderInterface $joseBuilder): void - { - $this->joseBuilder = $joseBuilder; - } - - private function getJoseBuilder(): TokenVerifierBuilderInterface - { - return $this->joseBuilder ?? new \Facile\JoseVerifier\AccessTokenVerifierBuilder(); - } - public function build(ClientInterface $client): TokenVerifierInterface { - $builder = $this->getJoseBuilder(); - $builder->setJwksProvider($client->getIssuer()->getJwksProvider()); - $builder->setClientMetadata($client->getMetadata()->toArray()); - $builder->setClientJwksProvider($client->getJwksProvider()); - $builder->setIssuerMetadata($client->getIssuer()->getMetadata()->toArray()); - $builder->setClockTolerance($this->clockTolerance); - $builder->setAadIssValidation($this->aadIssValidation); - - return $builder->build(); + return \Facile\JoseVerifier\Builder\AccessTokenVerifierBuilder::create( + $client->getIssuer()->getMetadata()->toArray(), + $client->getMetadata()->toArray(), + ) + ->withJwksProvider($client->getIssuer()->getJwksProvider()) + ->withClientJwksProvider($client->getJwksProvider()) + ->withClockTolerance($this->clockTolerance) + ->withAadIssValidation($this->aadIssValidation) + ->build(); } } diff --git a/src/Token/IdTokenVerifierBuilder.php b/src/Token/IdTokenVerifierBuilder.php index bd43380..0d346ed 100644 --- a/src/Token/IdTokenVerifierBuilder.php +++ b/src/Token/IdTokenVerifierBuilder.php @@ -9,11 +9,9 @@ final class IdTokenVerifierBuilder implements IdTokenVerifierBuilderInterface { - /** @var bool */ - private $aadIssValidation = false; + private bool $aadIssValidation = false; - /** @var int */ - private $clockTolerance = 0; + private int $clockTolerance = 0; public function setAadIssValidation(bool $aadIssValidation): self { @@ -31,15 +29,15 @@ public function setClockTolerance(int $clockTolerance): self public function build(ClientInterface $client): IdTokenVerifierInterface { - $builder = new \Facile\JoseVerifier\IdTokenVerifierBuilder(); - - $builder->setJwksProvider($client->getIssuer()->getJwksProvider()); - $builder->setClientMetadata($client->getMetadata()->toArray()); - $builder->setClientJwksProvider($client->getJwksProvider()); - $builder->setIssuerMetadata($client->getIssuer()->getMetadata()->toArray()); - $builder->setClockTolerance($this->clockTolerance); - $builder->setAadIssValidation($this->aadIssValidation); - - return $builder->build(); + /** @psalm-var IdTokenVerifierInterface */ + return \Facile\JoseVerifier\Builder\IdTokenVerifierBuilder::create( + $client->getIssuer()->getMetadata()->toArray(), + $client->getMetadata()->toArray(), + ) + ->withJwksProvider($client->getIssuer()->getJwksProvider()) + ->withClientJwksProvider($client->getJwksProvider()) + ->withClockTolerance($this->clockTolerance) + ->withAadIssValidation($this->aadIssValidation) + ->build(); } } diff --git a/src/Token/ResponseVerifierBuilder.php b/src/Token/ResponseVerifierBuilder.php index 873cdfe..6c86f63 100644 --- a/src/Token/ResponseVerifierBuilder.php +++ b/src/Token/ResponseVerifierBuilder.php @@ -4,16 +4,15 @@ namespace Facile\OpenIDClient\Token; -use Facile\JoseVerifier\AuthorizationResponseVerifierBuilder; +use Facile\JoseVerifier\Builder\AuthorizationResponseVerifierBuilder; +use Facile\JoseVerifier\TokenVerifierInterface; use Facile\OpenIDClient\Client\ClientInterface; final class ResponseVerifierBuilder implements TokenVerifierBuilderInterface { - /** @var bool */ - private $aadIssValidation = false; + private bool $aadIssValidation = false; - /** @var int */ - private $clockTolerance = 0; + private int $clockTolerance = 0; public function setAadIssValidation(bool $aadIssValidation): self { @@ -29,17 +28,16 @@ public function setClockTolerance(int $clockTolerance): self return $this; } - public function build(ClientInterface $client): \Facile\JoseVerifier\TokenVerifierInterface + public function build(ClientInterface $client): TokenVerifierInterface { - $builder = new AuthorizationResponseVerifierBuilder(); - - $builder->setJwksProvider($client->getIssuer()->getJwksProvider()); - $builder->setClientMetadata($client->getMetadata()->toArray()); - $builder->setClientJwksProvider($client->getJwksProvider()); - $builder->setIssuerMetadata($client->getIssuer()->getMetadata()->toArray()); - $builder->setClockTolerance($this->clockTolerance); - $builder->setAadIssValidation($this->aadIssValidation); - - return $builder->build(); + return AuthorizationResponseVerifierBuilder::create( + $client->getIssuer()->getMetadata()->toArray(), + $client->getMetadata()->toArray(), + ) + ->withJwksProvider($client->getIssuer()->getJwksProvider()) + ->withClientJwksProvider($client->getJwksProvider()) + ->withClockTolerance($this->clockTolerance) + ->withAadIssValidation($this->aadIssValidation) + ->build(); } } diff --git a/src/Token/UserInfoVerifierBuilder.php b/src/Token/UserInfoVerifierBuilder.php index 2bcb8f5..c23b59b 100644 --- a/src/Token/UserInfoVerifierBuilder.php +++ b/src/Token/UserInfoVerifierBuilder.php @@ -4,15 +4,14 @@ namespace Facile\OpenIDClient\Token; +use Facile\JoseVerifier\TokenVerifierInterface; use Facile\OpenIDClient\Client\ClientInterface; final class UserInfoVerifierBuilder implements TokenVerifierBuilderInterface { - /** @var bool */ - private $aadIssValidation = false; + private bool $aadIssValidation = false; - /** @var int */ - private $clockTolerance = 0; + private int $clockTolerance = 0; public function setAadIssValidation(bool $aadIssValidation): self { @@ -28,17 +27,16 @@ public function setClockTolerance(int $clockTolerance): self return $this; } - public function build(ClientInterface $client): \Facile\JoseVerifier\TokenVerifierInterface + public function build(ClientInterface $client): TokenVerifierInterface { - $builder = new \Facile\JoseVerifier\UserInfoVerifierBuilder(); - - $builder->setJwksProvider($client->getIssuer()->getJwksProvider()); - $builder->setClientMetadata($client->getMetadata()->toArray()); - $builder->setClientJwksProvider($client->getJwksProvider()); - $builder->setIssuerMetadata($client->getIssuer()->getMetadata()->toArray()); - $builder->setClockTolerance($this->clockTolerance); - $builder->setAadIssValidation($this->aadIssValidation); - - return $builder->build(); + return \Facile\JoseVerifier\Builder\UserInfoVerifierBuilder::create( + $client->getIssuer()->getMetadata()->toArray(), + $client->getMetadata()->toArray(), + ) + ->withJwksProvider($client->getIssuer()->getJwksProvider()) + ->withClientJwksProvider($client->getJwksProvider()) + ->withClockTolerance($this->clockTolerance) + ->withAadIssValidation($this->aadIssValidation) + ->build(); } } diff --git a/src/functions/get_endpoint_uri.php b/src/functions/get_endpoint_uri.php index 5828b41..d102195 100644 --- a/src/functions/get_endpoint_uri.php +++ b/src/functions/get_endpoint_uri.php @@ -27,7 +27,7 @@ function get_endpoint_uri(OpenIDClient $client, string $endpointMetadata): strin ->getMtlsEndpointAliases()['token_endpoint'] ?? null; } - if (! $endpoint) { + if ($endpoint === null) { /** @var null|string $endpoint */ $endpoint = $client->getIssuer()->getMetadata()->get($endpointMetadata); } diff --git a/stubs/Jose/Component/Core/JWK.php.stub b/stubs/Jose/Component/Core/JWK.php.stub index 7f01716..6cbfc0d 100644 --- a/stubs/Jose/Component/Core/JWK.php.stub +++ b/stubs/Jose/Component/Core/JWK.php.stub @@ -7,90 +7,13 @@ namespace Jose\Component\Core; use InvalidArgumentException; use JsonSerializable; -/** - * @psalm-type JWKType = array{kty: "RSA"|"EC"|"oct"|string, use?: "sig"|"enc"|string, key_ops?: list<"sign"|"verify"|"encrypt"|"decrypt"|"wrapKey"|"unwrapKey"|"deriveKey"|"deriveBits"|string>, kid?: string, alg?: string, x5u?: string, x5c?: list, x5t?: string, x5t#S256?: string, crv?: string, x?: string, y?: string, k?: string, n?: string, e?: string, d?: string, p?: string, q?: string, dp?: string, dq?: string, qi?: string} - * - * @template T of array&array{kty: string} - */ class JWK implements JsonSerializable { /** - * Creates a JWK object using the given values. The member "kty" is mandatory. Other members are NOT checked. - * @psalm-param T $values + * @param array $values */ public function __construct(array $values) { } - - /** - * Creates a JWK object using the given Json string. - * - * @return JWK&array{kty: string}> - */ - public static function createFromJson(string $json): self - { - } - - /** - * Returns the values to be serialized. - * - * @return array - */ - public function jsonSerialize(): array - { - } - - /** - * Get the value with a specific key. - * - * @psalm-param key-of $key - * - * @return mixed - * - * @throws InvalidArgumentException When key does not exist - */ - public function get(string $key) - { - } - - /** - * Returns true if the JWK has the value identified by. - * - * @param string $key The key - */ - public function has(string $key): bool - { - } - - /** - * Get all values stored in the JWK object. - * - * @psalm-return T - */ - public function all(): array - { - } - - /** - * Returns the thumbprint of the key. - * - * @see https://tools.ietf.org/html/rfc7638 - */ - public function thumbprint(string $hash_algorithm): string - { - } - - /** - * Returns the associated public key. - * This method has no effect for: - * - public keys - * - shared keys - * - unknown keys. - * - * Known keys are "oct", "RSA", "EC" and "OKP". - */ - public function toPublic(): self - { - } -} +} \ No newline at end of file diff --git a/stubs/Jose/Component/Core/JWKSet.php.stub b/stubs/Jose/Component/Core/JWKSet.php.stub index 5e8be5f..b07bc89 100644 --- a/stubs/Jose/Component/Core/JWKSet.php.stub +++ b/stubs/Jose/Component/Core/JWKSet.php.stub @@ -8,19 +8,16 @@ use Countable; use InvalidArgumentException; use IteratorAggregate; use JsonSerializable; -use Traversable; use Facile\JoseVerifier\Psalm\PsalmTypes; /** - * @psalm-import-type JWKType from JWK - * @psalm-type JWKSetType = array{keys: list} - * - * @template-implements IteratorAggregate + * @implements IteratorAggregate */ class JWKSet implements Countable, IteratorAggregate, JsonSerializable { /** - * @param JWKSetType $data + * @psalm-param array{keys: list>} $data + * @return static */ public static function createFromKeyData(array $data): self {} @@ -28,19 +25,6 @@ class JWKSet implements Countable, IteratorAggregate, JsonSerializable public static function createFromJson(string $json): self {} - /** - * @param int $mode - */ - public function count($mode = COUNT_NORMAL): int - {} - - /** - * @internal - * @return Traversable - */ - public function getIterator(): Traversable - {} - /** * @return JWK[] */ @@ -84,7 +68,7 @@ class JWKSet implements Countable, IteratorAggregate, JsonSerializable {} /** - * @return JWKSetType + * @return array{keys: list>} */ public function jsonSerialize(): array {} diff --git a/stubs/Jose/Component/Encryption/JWE.php.stub b/stubs/Jose/Component/Encryption/JWE.php.stub index c41e46e..e346edd 100644 --- a/stubs/Jose/Component/Encryption/JWE.php.stub +++ b/stubs/Jose/Component/Encryption/JWE.php.stub @@ -123,4 +123,4 @@ class JWE implements JWT public function split(): array { } -} +} \ No newline at end of file diff --git a/stubs/Jose/Component/Signature/Signature.php.stub b/stubs/Jose/Component/Signature/Signature.php.stub index 8760c1f..091fe23 100644 --- a/stubs/Jose/Component/Signature/Signature.php.stub +++ b/stubs/Jose/Component/Signature/Signature.php.stub @@ -108,4 +108,4 @@ class Signature public function getSignature(): string { } -} +} \ No newline at end of file diff --git a/tests/Token/AccessTokenVerifierBuilderTest.php b/tests/Token/AccessTokenVerifierBuilderTest.php new file mode 100644 index 0000000..5ce523b --- /dev/null +++ b/tests/Token/AccessTokenVerifierBuilderTest.php @@ -0,0 +1,23 @@ +build($this->getClientInterface()); + + $this->assertInstanceOf(TokenVerifierInterface::class, $instance); + } +} diff --git a/tests/Token/ClientInterfaceTrait.php b/tests/Token/ClientInterfaceTrait.php new file mode 100644 index 0000000..6b65d99 --- /dev/null +++ b/tests/Token/ClientInterfaceTrait.php @@ -0,0 +1,40 @@ +prophesize(JwksProviderInterface::class); + + $issuerMetadataProphecy = $this->prophesize(IssuerMetadataInterface::class); + $issuerMetadataProphecy->toArray()->willReturn(['issuer' => 'issuer']); + + $issuerProphecy = $this->prophesize(IssuerInterface::class); + $issuerProphecy->getMetadata()->willReturn($issuerMetadataProphecy->reveal()); + $issuerProphecy->getJwksProvider()->willReturn($jwksProviderProphecy->reveal()); + + $metadataProphecy = $this->prophesize(ClientMetadataInterface::class); + $metadataProphecy->toArray()->willReturn(['client_id' => 'client_id']); + + $clientProphecy = $this->prophesize(ClientInterface::class); + $clientProphecy->getMetadata()->willReturn($metadataProphecy->reveal()); + $clientProphecy->getIssuer()->willReturn($issuerProphecy->reveal()); + $clientProphecy->getJwksProvider()->willReturn($jwksProviderProphecy->reveal()); + + return $clientProphecy->reveal(); + } +} diff --git a/tests/Token/IdTokenVerifierBuilderTest.php b/tests/Token/IdTokenVerifierBuilderTest.php new file mode 100644 index 0000000..b5b71c6 --- /dev/null +++ b/tests/Token/IdTokenVerifierBuilderTest.php @@ -0,0 +1,23 @@ +build($this->getClientInterface()); + + $this->assertInstanceOf(TokenVerifierInterface::class, $instance); + } +} diff --git a/tests/Token/ResponseVerifierBuilderTest.php b/tests/Token/ResponseVerifierBuilderTest.php new file mode 100644 index 0000000..2c5cef3 --- /dev/null +++ b/tests/Token/ResponseVerifierBuilderTest.php @@ -0,0 +1,23 @@ +build($this->getClientInterface()); + + $this->assertInstanceOf(TokenVerifierInterface::class, $instance); + } +} diff --git a/tests/Token/UserInfoVerifierBuilderTest.php b/tests/Token/UserInfoVerifierBuilderTest.php new file mode 100644 index 0000000..e6b9f35 --- /dev/null +++ b/tests/Token/UserInfoVerifierBuilderTest.php @@ -0,0 +1,23 @@ +build($this->getClientInterface()); + + $this->assertInstanceOf(TokenVerifierInterface::class, $instance); + } +}