Bleeding edge 🔪
- RegularExpressionPatternRule: validate preg_quote'd patterns (#3270), thanks @staabm!
- No implicit wildcard in FileExcluder (phpstan/phpstan-src@e19e6e5), #10299
- Precise array shape for
preg_match_all()
$matches (#3256), thanks @staabm!
If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon
:
includes:
- vendor/phpstan/phpstan/conf/bleedingEdge.neon
Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more
Improvements 🔧
- DefaultStubFilesProvider - consider all composerAutoloaderProjectPaths when filtering 3rd party stub files (phpstan/phpstan-src@582a0f8), #11393
Bugfixes 🐛
- RegexArrayShapeMatcher: Fix non-emptiness of leading optional groups (#3267), #11376, thanks @staabm!
- RegexArrayShapeMatcher: Support resolving of constants in patterns (#3265), #11384, thanks @staabm!
- RegexExpressionHelper - Support all bracket style delimiters (#3273), thanks @staabm!
- Regex parsing fixes for newline characters and marker verbs (#3268), #11360, #8948, thanks @Seldaek!
- RegexArrayShapeMatcher - Support 'n' modifier (#3271), thanks @staabm!
- Improve
abs()
return type (#3263), #11367, thanks @julienfalque! - UselessFunctionReturnValueRule: More precise error message (#3266), #11377, thanks @staabm!