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.
This PR contains the following updates:
1.3.1
->1.4.3
1.11.5
->1.12.13
1.4.4
->1.5.7
1.4.5
->1.4.12
Release Notes
phpstan/extension-installer (phpstan/extension-installer)
v1.4.3
Compare Source
v1.4.2
Compare Source
v1.4.1
Compare Source
v1.4.0
Compare Source
phpstan/phpstan (phpstan/phpstan)
v1.12.13
Compare Source
v1.12.12
Compare Source
Improvements 🔧
uppercase-string
PHPDoc type (#3613), thanks @pmjones!Bugfixes 🐛
sprintf
dynamic return type (#3640), #12065, thanks @VincentLanglet!static
return type in php-8-stubs (phpstan/phpstan-src@162f774), #12077non-empty-list
(#3682), #12131, thanks @herndlm!Function signature fixes 🤖
Closure::bind
andbindTo
return benevolent union with null (phpstan/phpstan-src@b049d8d)sha256
function definition (#3664), thanks @VincentLanglet!v1.12.11
Compare Source
Improvements 🔧
fidry/cpu-core-counter
(#3632), https://github.com/phpstan/phpstan/discussions/12026TypeCombinator::removeTruthy()
method (#3633), thanks @canvural!$a != ''
(#3304), thanks @thg2k!Bugfixes 🐛
self::
in a class attribute argument (phpstan/phpstan-src@3447391), #12011, #10314null
toarray_map(null, $a, $b)
(#3562), thanks @schlndh!ArrayType<mixed, X>
withcheckImplicitMixed
(level 10 in 2.0) (#3636), #12051, thanks @VincentLanglet!Function signature fixes 🤖
extract()
signature (#3512), thanks @VincentLanglet!get_defined_constants()
(#3635), thanks @thg2k!fgetcsv
acceptsnull
for$length
(#3077), thanks @staabm!v1.12.10
Compare Source
Bugfixes 🐛
for
endless loop detection (#3622), #11992, thanks @herndlm!v1.12.9
Compare Source
Improvements 🔧
@readonly
PHPDoc on the class as alternative to@immutable
(#3523), #11775, thanks @herndlm!Bugfixes 🐛
for
endless loops (#3573), #6807, #8463, #9374, thanks @herndlm!preg_match
greater than0
(#3612), #11293, thanks @staabm!void
return type in a union when the returned expr is originallyvoid
(phpstan/phpstan-src@80c1df2), #11980@phpstan-ignore
with trait in the same file (phpstan/phpstan-src@381c137), #11981Internals 🔍
v1.12.8
Compare Source
Improvements 🔧
Bugfixes 🐛
$this
in return type even in final classes (#3599), #11857, thanks @calebdw!E_DEPRECATED
from error_reporting (phpstan/phpstan-src@277e34b), #11937filterTypes()
(#3535), #11663, thanks @VincentLanglet!Function signature fixes 🤖
Imagick::writeImage(s)File
supportingformat
parameter (#3588), thanks @kingjia90!Internals 🔍
instanceof ConstantBooleanType
in loop analysis (#3577), #11913, thanks @herndlm!@api
to TypeExpr (#3601), thanks @ruudk!UnionType::filterTypes
(#3607), thanks @VincentLanglet!v1.12.7
Compare Source
Major new features 🚀
Improvements 🔧
-vvv
) to very verbose (-vv
) mode (#3345), thanks @janedbal!non-empty-array
andnon-empty-list
array shape kind (phpstan/phpstan-src@107a7e3)Bugfixes 🐛
array_reverse()
with optional keys (#3406), #11549, thanks @herndlm!Function signature fixes 🤖
get_defined_vars()
(#3546), thanks @janedbal!getAttributes
returnslist
(#3548), thanks @ManuelHu!Internals 🔍
PHPStan\dumpPhpDocType()
(#3559), #11561, thanks @zonuexe!v1.12.6
Compare Source
Bleeding edge 🔪
@phpstan-assert
PHPDoc tags (phpstan/phpstan-src@ca0a7e9), #11780If 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
: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 🔧
ClassConstFetch::$class
when it's a Name node (phpstan/phpstan-src@712c33e)ClassConstFetch::$name
(phpstan/phpstan-src@b38c852)Bugfixes 🐛
lowercase-string
IntegerRangeType::toString()
(#3475), thanks @staabm!Function signature fixes 🤖
spl_autoload_functions
on PHP8.0+ (#2810), thanks @ManuelHu!Internals 🔍
Scope::getMaybeDefinedVariables()
(#3521), #11772, thanks @ruudk!Type::sliceArray()
(#3514) (#3514), thanks @herndlm!v1.12.5
Compare Source
Improvements 🔧
ParametersAcceptorSelector::selectSingle()
(phpstan/phpstan-src@23c53a2)lowercase-string
(#3438), thanks @VincentLanglet!toInteger()
(#3434), thanks @staabm!MixedType::toString()
with subtracted type (#3420), thanks @staabm!MixedType::toBoolean()
with subtracted type (#3471), thanks @staabm!isset($arr[$k])
should narrow$k
(#3453), #11716, #8559, thanks @staabm!isset()
narrows string-key in int-keyed-array to numeric-string (#3472), thanks @staabm!Bugfixes 🐛
sprintf()
inference for constant values with format-width in pattern (#3474), thanks @staabm!filter_var()
(#2656), thanks @mvorisek!Function signature fixes 🤖
iptcparse
return type (#3483), thanks @ManuelHu!Internals 🔍
selectSingle()
when analysing function body in rules (phpstan/phpstan-src@41916ba)selectSingle()
in MutatingScope (phpstan/phpstan-src@865c618)ParametersAcceptorSelector::selectFromArgs()
instead ofselectSingle()
wherever possible (phpstan/phpstan-src@e283d3a)selectSingle()
in ParametersAcceptorSelector (phpstan/phpstan-src@1322aaf)@internal
getOnlyVariant()
method on FunctionReflection/ExtendedMethodReflection to use instead ofselectSingle()
(phpstan/phpstan-src@714877b)Type::chunkArray()
(#3408), thanks @herndlm!v1.12.4
Compare Source
Improvements 🔧
argument.named
are ignorable now (phpstan/phpstan-src@193b4f5)composerAutoloaderProjectPaths
on Windows (#3451), thanks @staabm!treatPhpDocTypesAsCertain
tip (#3452), #11689, thanks @ruudk!Bugfixes 🐛
array_map()
return value (#3425), #10715, #11056, #10685, thanks @rvanvelzen!range()
on PHP 7.x (#3424), thanks @staabm!range()
with float step should return an array of floats (#3447), #11692, thanks @staabm!*strlen()
with positive-int (#3407), #11558, thanks @staabm!Function signature fixes 🤖
Internals 🔍
paratest
(#3440), thanks @schlndh!Output::isDecorated
andOutput::isVeryVerbose
(#3436), thanks @ruudk!v1.12.3
Compare Source
Improvements 🔧
Bugfixes 🐛
ArrayFilterFunctionReturnTypeReturnTypeExtension
and support first-class callable (#3329), #11337, thanks @takaram!list<T>
toarray{T}
(#3412), #11642, thanks @staabm!Function signature fixes 🤖
curl_init()
false returns (#3409), #11640, thanks @tscni!Internals 🔍
COMPOSER_ROOT_VERSION
hack should no longer be necessary (#3414)v1.12.2
Compare Source
Improvements 🔧
Bugfixes 🐛
@mixin
class reflection extensions after all other class reflection extensions (phpstan/phpstan-src@c889baa), #11624, #11342, #10159, https://github.com/larastan/larastan/issues/2032count()
withpositive-int
(#3389), thanks @staabm!Type::reverseArray()
(#3344), thanks @herndlm!Function signature fixes 🤖
version_compare()
operator arg can be null (#3399), #4457, thanks @staabm!Internals 🔍
v1.12.1
Compare Source
Bleeding edge 🔪
@method
@template
tags above traits (phpstan/phpstan-src@aadbf62)@mixin
PHPDoc tag above traits (phpstan/phpstan-src@0d0de94)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
: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 🔧
(bool) $expr
like$expr != false
(#3380), #8881, #7685, #6006, #10528, thanks @staabm!(string) $expr
like$expr != false
(#3387), thanks @staabm!(int) $expr
like$expr != false
(#3384), thanks @staabm!(float) $expr
like$expr != false
(#3391), thanks @staabm!@mixin
above traits (phpstan/phpstan-src@f5e2e32)Bugfixes 🐛
array_filter
with callback optional persistance (#3366), #11570, thanks @robotomarvin!strlen() ==
and===
comparison with integer range (#3342), #11548, thanks @staabm!get_debug_type
produces wrong type for anonymous classes with parent (#3374), #11562, thanks @patrickkusebauch!preg_replace()
return type (#3338), #11547, thanks @staabm!static
in PHPDoc tags above traits as an error (phpstan/phpstan-src@777a82a), #11591$
-only case (#3394), #11622, thanks @staabm!@param-out
variable after assignment (phpstan/phpstan-src@5892e8d), #11580, #6642Internals 🔍
PHPStan\debugScope()
(phpstan/phpstan-src@5909fb2)v1.12.0
Compare Source
Read all about PHPStan 1.12 on phpstan.org »
Major new features 🚀
$matches
frompreg_match
generally available, out of bleeding edge (phpstan/phpstan-src@bd2cec1)Bleeding edge 🔪
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.