Drop PHP 7.4 and 8.0 support, modernize to PHP 8.1+#59
Merged
Conversation
- Bump composer.json php constraint to ^8.1 - Drop 7.4/8.0 from CI matrix - Bump phpcs/phpstan php_version to 80100 - Promote constructor properties to readonly - Add trailing commas in multi-line declarations - Replace switch with match in HandlerFactory - Use native mixed type in NeonHelper Co-Authored-By: Claude Code
Restore runtime guard against malformed input; suppress the now-stricter phpstan warnings (isset.offset, throws.unusedType) inline. Co-Authored-By: Claude Code
The presence of message or rawMessage is guaranteed both by phpstan-src's baseline writers and by BaselineHandler::decodeBaseline(), so the else throw is truly unreachable. Co-Authored-By: Claude Code
This was referenced May 18, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
composer.jsonphp constraint from^7.4 || ^8.0to^8.1php_versionto80100(and drop the now-defaultDisallowTrailingCommaInDeclarationoverride)phpVersionto80100readonlyswitch→matchinHandlerFactorymixedtype inNeonHelper::encode()BaselineSplitter::groupErrorsByIdentifier()— drop unreachable branch now that PHPStan correctly infers the union shape@phpstan-ignore offsetAccess.notFoundInspired by shipmonk-rnd/phpstan-rules#361 and shipmonk-rnd/dead-code-detector#296.
Test plan
composer checkis green (composer-normalize, phpcs, phpstan, phpunit, collision detector, dep analyser)Co-Authored-By: Claude Code