diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f5efeacb..282cee92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,13 +51,11 @@ jobs: strategy: max-parallel: 10 matrix: - php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] - psr7: ['^1.9.1', '^2.5.1'] + php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] + psr7: ['^1.9.1', '^2.6.3'] include: - - php: '8.0' - psr7: '^1.9.1@dev' - - php: '8.3' - psr7: '^2.5.1@dev' + - php: '8.4' + psr7: '^2.6.3@dev' exclude: - php: '8.1' psr7: '^1.9.1' @@ -65,6 +63,8 @@ jobs: psr7: '^1.9.1' - php: '8.3' psr7: '^1.9.1' + - php: '8.4' + psr7: '^1.9.1' steps: - name: Set up PHP @@ -106,7 +106,7 @@ jobs: strategy: max-parallel: 10 matrix: - php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] + php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] steps: - name: Set up PHP diff --git a/composer.json b/composer.json index 25d5c8ad..9d54cf16 100644 --- a/composer.json +++ b/composer.json @@ -81,8 +81,8 @@ "require": { "php": "^7.2.5 || ^8.0", "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^1.9.1 || ^2.6.3", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" }, @@ -94,7 +94,7 @@ "bamarni/composer-bin-plugin": "^1.8.2", "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 2f1bc41c..55bebee3 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -145,6 +145,11 @@ parameters: count: 1 path: src/Handler/CurlMultiHandler.php + - + message: "#^Strict comparison using \\=\\=\\= between false and resource will always evaluate to false\\.$#" + count: 1 + path: src/Handler/CurlMultiHandler.php + - message: "#^Property GuzzleHttp\\\\Handler\\\\EasyHandle\\:\\:\\$handle has unknown class CurlHandle as its type\\.$#" count: 1 diff --git a/phpstan.neon.dist b/phpstan.neon.dist index b6df67fb..4a8a3217 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -3,8 +3,10 @@ includes: - vendor-bin/phpstan/vendor/phpstan/phpstan-deprecation-rules/rules.neon parameters: + ignoreErrors: + - + identifier: missingType.iterableValue level: max - checkMissingIterableValueType: false paths: - src bootstrapFiles: diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 0693bddd..56e1022f 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -1,11 +1,11 @@ - + - $options + - getBoundary + @@ -16,42 +16,42 @@ ]]> - $result + - (bool) $discard - (bool) $httpOnly - (bool) $secure - (int) $maxAge - (string) $domain - (string) $name - (string) $path - (string) $timestamp - (string) $value + + + + + + + + + - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int, string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) + + + + + + + + + - $timeoutRequiresNoSignal + - $timeoutRequiresNoSignal + handle]]> @@ -60,22 +60,25 @@ handle]]> handle]]> handle]]> - $handle - $resource - $resource - $resource - $resource - $resource - $resource - $sslKey + + + + + + + + - $sslKey + - private $handles = []; - resource[]|\CurlHandle[] + + + + + @@ -104,36 +107,37 @@ _mh)]]> - false === $multiHandle + - resource|\CurlMultiHandle - resource|\CurlMultiHandle + + - trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an integer to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__) + - void + - resource|\CurlHandle + - (int) $options['delay'] * 1000 + - - $uri - - empty($options) + + + + + @@ -246,14 +250,9 @@ - $request + - - - $location - - delay)(++$options['retries'], $response, $request)]]> @@ -261,14 +260,14 @@ - $depth - $depth + + - \var_dump($input) + - $_SERVER[$name] + diff --git a/psalm.xml b/psalm.xml index 04d8486f..86d8671d 100644 --- a/psalm.xml +++ b/psalm.xml @@ -6,6 +6,8 @@ xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" errorBaseline="psalm-baseline.xml" + findUnusedBaselineEntry="true" + findUnusedCode="false" > diff --git a/vendor-bin/php-cs-fixer/composer.json b/vendor-bin/php-cs-fixer/composer.json index 049eacf1..72998c75 100644 --- a/vendor-bin/php-cs-fixer/composer.json +++ b/vendor-bin/php-cs-fixer/composer.json @@ -1,7 +1,7 @@ { "require": { "php": "^7.4 || ^8.0", - "friendsofphp/php-cs-fixer": "3.52.1" + "friendsofphp/php-cs-fixer": "3.59.3" }, "config": { "preferred-install": "dist" diff --git a/vendor-bin/phpstan/composer.json b/vendor-bin/phpstan/composer.json index 62076918..77598be9 100644 --- a/vendor-bin/phpstan/composer.json +++ b/vendor-bin/phpstan/composer.json @@ -1,8 +1,8 @@ { "require": { "php": "^7.4 || ^8.0", - "phpstan/phpstan": "1.10.47", - "phpstan/phpstan-deprecation-rules": "1.1.4" + "phpstan/phpstan": "1.11.7", + "phpstan/phpstan-deprecation-rules": "1.2.0" }, "config": { "preferred-install": "dist" diff --git a/vendor-bin/psalm/composer.json b/vendor-bin/psalm/composer.json index 2f215e85..020abe56 100644 --- a/vendor-bin/psalm/composer.json +++ b/vendor-bin/psalm/composer.json @@ -1,7 +1,7 @@ { "require": { "php": "^7.4 || ^8.0", - "psalm/phar": "5.16.0" + "psalm/phar": "5.25.0" }, "config": { "preferred-install": "dist"