diff --git a/.github/workflows/bc.yml b/.github/workflows/bc.yml index f8cc564..0ea4a5c 100644 --- a/.github/workflows/bc.yml +++ b/.github/workflows/bc.yml @@ -30,4 +30,4 @@ jobs: os: >- ['ubuntu-latest'] php: >- - ['8.0'] + ['8.4'] diff --git a/.github/workflows/mutation.yml b/.github/workflows/mutation.yml index 8150499..a56769e 100644 --- a/.github/workflows/mutation.yml +++ b/.github/workflows/mutation.yml @@ -27,6 +27,6 @@ jobs: os: >- ['ubuntu-latest'] php: >- - ['8.2'] + ['8.4'] secrets: STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 438f228..ba33717 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## 2.2.2 under development -- no changes in this release. +- Bug #79: Explicitly marking parameters as nullable (@Tigrov) ## 2.2.1 March 05, 2025 diff --git a/composer.json b/composer.json index 01f2725..d9889d3 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,7 @@ } ], "require": { - "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0", + "php": "~7.4.0 || 8.0 - 8.4", "ext-hash": "*", "psr/http-factory": "^1.0", "psr/http-factory-implementation": "1.0", @@ -48,8 +48,8 @@ "require-dev": { "maglnet/composer-require-checker": "^3.8 || ^4.2", "nyholm/psr7": "^1.8.2", - "phpunit/phpunit": "^9.6.22", - "rector/rector": "^2.0.9", + "phpunit/phpunit": "^9.6.23", + "rector/rector": "^2.0.16", "roave/infection-static-analysis-plugin": "^1.18", "spatie/phpunit-watcher": "^1.23.6", "vimeo/psalm": "^4.30 || ^5.26.1 || ^6.8.8", @@ -76,7 +76,6 @@ }, "config": { "sort-packages": true, - "bump-after-update": "dev", "allow-plugins": { "infection/extension-installer": true, "composer/package-versions-deprecated": true diff --git a/src/CsrfHeaderMiddleware.php b/src/CsrfHeaderMiddleware.php index b820594..1c91ffd 100644 --- a/src/CsrfHeaderMiddleware.php +++ b/src/CsrfHeaderMiddleware.php @@ -37,7 +37,7 @@ final class CsrfHeaderMiddleware implements MiddlewareInterface public function __construct( ResponseFactoryInterface $responseFactory, - RequestHandlerInterface $failureHandler = null + ?RequestHandlerInterface $failureHandler = null ) { $this->responseFactory = $responseFactory; $this->failureHandler = $failureHandler; diff --git a/src/CsrfMiddleware.php b/src/CsrfMiddleware.php index 038a820..ae886fe 100644 --- a/src/CsrfMiddleware.php +++ b/src/CsrfMiddleware.php @@ -42,7 +42,7 @@ final class CsrfMiddleware implements MiddlewareInterface public function __construct( ResponseFactoryInterface $responseFactory, CsrfTokenInterface $token, - RequestHandlerInterface $failureHandler = null + ?RequestHandlerInterface $failureHandler = null ) { $this->responseFactory = $responseFactory; $this->token = $token; diff --git a/src/CsrfTokenMiddleware.php b/src/CsrfTokenMiddleware.php index f55d49d..1401b11 100644 --- a/src/CsrfTokenMiddleware.php +++ b/src/CsrfTokenMiddleware.php @@ -41,7 +41,7 @@ final class CsrfTokenMiddleware implements MiddlewareInterface public function __construct( ResponseFactoryInterface $responseFactory, CsrfTokenInterface $token, - RequestHandlerInterface $failureHandler = null + ?RequestHandlerInterface $failureHandler = null ) { $this->responseFactory = $responseFactory; $this->token = $token; diff --git a/tests/CsrfHeaderMiddlewareProcessTest.php b/tests/CsrfHeaderMiddlewareProcessTest.php index 8ee926b..ccc54d6 100644 --- a/tests/CsrfHeaderMiddlewareProcessTest.php +++ b/tests/CsrfHeaderMiddlewareProcessTest.php @@ -146,7 +146,7 @@ public function handle(ServerRequestInterface $request): ResponseInterface } private function createMiddleware( - RequestHandlerInterface $failureHandler = null + ?RequestHandlerInterface $failureHandler = null ): CsrfHeaderMiddleware { return new CsrfHeaderMiddleware(new Psr17Factory(), $failureHandler); } diff --git a/tests/CsrfTokenMiddlewareProcessTest.php b/tests/CsrfTokenMiddlewareProcessTest.php index 66c8763..f11c890 100644 --- a/tests/CsrfTokenMiddlewareProcessTest.php +++ b/tests/CsrfTokenMiddlewareProcessTest.php @@ -232,7 +232,7 @@ private function getBodyRequestParamsByToken(string $token): array protected function createCsrfTokenMiddleware( ?CsrfTokenInterface $csrfToken = null, - RequestHandlerInterface $failureHandler = null + ?RequestHandlerInterface $failureHandler = null ): CsrfTokenMiddleware { $csrfToken = new MaskedCsrfToken($csrfToken ?? $this->createCsrfToken()); $this->token = $csrfToken->getValue(); diff --git a/tests/DeprecatedTokenCsrfMiddlewareTest.php b/tests/DeprecatedTokenCsrfMiddlewareTest.php index 0ccbb48..18c9117 100644 --- a/tests/DeprecatedTokenCsrfMiddlewareTest.php +++ b/tests/DeprecatedTokenCsrfMiddlewareTest.php @@ -232,7 +232,7 @@ private function getBodyRequestParamsByToken(string $token): array protected function createCsrfMiddleware( ?CsrfTokenInterface $csrfToken = null, - RequestHandlerInterface $failureHandler = null + ?RequestHandlerInterface $failureHandler = null ): CsrfMiddleware { $csrfToken = new MaskedCsrfToken($csrfToken ?? $this->createCsrfToken()); $this->token = $csrfToken->getValue(); diff --git a/tests/MaskedCsrfTokenTest.php b/tests/MaskedCsrfTokenTest.php index c794701..35361e5 100644 --- a/tests/MaskedCsrfTokenTest.php +++ b/tests/MaskedCsrfTokenTest.php @@ -19,7 +19,7 @@ public function testBase(): void $this->assertSame('test_token', TokenMask::remove($csrfToken->getValue())); } - private function createCsrfToken(string $token = null): MaskedCsrfToken + private function createCsrfToken(?string $token = null): MaskedCsrfToken { $mock = $this->createMock(MockCsrfTokenStorage::class); if ($token !== null) {