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.8.11
->1.10.14
1.2.2
->1.3.11
1.4.4
->1.5.1
Release Notes
phpstan/phpstan
v1.10.14
Compare Source
Bleeding edge 🔪
filter_input*
type param type (#2271), thanks @herndlm!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 🔧
Bugfixes 🐛
BackedEnum::tryFrom
not being nullable (#2302), thanks @schlndh!never
forarray_combine
with different number of elements (#2303), thanks @herndlm!equals()
(phpstan/phpstan-src@e01ce68)get_parent_class()
on interfaces (#2336), #4302, thanks @staabm!Function signature fixes 🤖
Memcache/MemcachePool::get
method signature (#2344), thanks @dravnic!Internals 🔍
Type::toPhpDocNode()
(phpstan/phpstan-src@8633125)symfony/polyfill-php72
(phpstan/phpstan-src@8ff8fb0)v1.10.13
Compare Source
mixed
input (#2338), #9178, thanks @zonuexe!v1.10.12
Compare Source
Major new features 🚀
Bleeding edge 🔪
Imagick
parameter types (#2334), thanks @zonuexe!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 🔧
filter_*
array handling, supportFILTER_REQUIRE_ARRAY
(#2318), thanks @herndlm!@property
types (#2327, #2328, #2329), #9062, thanks @jtojnar!filter_input()
(#2010), #6261, thanks @herndlm!filter_input
with invalid first args (#2333), thanks @herndlm!@property
and@method
to override above the same class (phpstan/phpstan-src@3467a21)FilterVarArrayDynamicReturnTypeExtension
(#2257), thanks @zonuexe!Bugfixes 🐛
TypeSpecifierContext::truthy()
(#2230), #3013, #7686, thanks @VincentLanglet!treatPhpDocTypesAsCertain
(#2250), #8937, thanks @VincentLanglet!Function signature fixes 🤖
Internals 🔍
cweagans/composer-patches
(#2307), thanks @herndlm!assert*
functions in TypeInferenceTestCase (#2326), thanks @staabm!v1.10.11
Compare Source
Bleeding edge 🔪
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 🔧
template-type
(callingType::getTemplateType()
method) (phpstan/phpstan-src@b6d0c87), https://github.com/phpstan/phpstan/discussions/9053enum-string
empty-scalar
non-empty-scalar
non-empty-literal-string
pure-callable
closed-resource
non-empty-mixed
callable-array
Bugfixes 🐛
StaticType::isSuperTypeOf()
for subtypes ofObjectType
(phpstan/phpstan-src@b439fed), #9142TypehintHelper::decideTypeFromReflection()
should accept correct ancestor's ClassReflection, not just class name (phpstan/phpstan-src@297a9fe)Function signature fixes 🤖
IntlPartsIterator
(#2324), thanks @zonuexe!v1.10.10
Compare Source
Improvements 🔧
--xdebug
when Xdebug is enabled (phpstan/phpstan-src@1d4ede1)Bugfixes 🐛
treatPhpDocTypesAsCertain
for variables (phpstan/phpstan-src@5b7a115), #9126treatPhpDocTypesAsCertain
in more places (phpstan/phpstan-src@49d2aa6)Function signature fixes 🤖
Imagick::profileImage()
type (#2312), thanks @zonuexe!v1.10.9
Compare Source
Improvements 🔧
treatPhpDocTypesAsCertain
(phpstan/phpstan-src@40400ae)treatPhpDocTypesAsCertain
(phpstan/phpstan-src@72472dd)treatPhpDocTypesAsCertain
(phpstan/phpstan-src@d892c34)Function signature fixes 🤖
pg_pconnect
function signature (#2300), thanks @dravnic!NumberFormatter::parseCurrency
(#2309), thanks @rovansteen!v1.10.8
Compare Source
Improvements 🔧
.php
baseline file in analysed paths and warn about possible PHPStan slowdown (phpstan/phpstan-src@d6d9ef7)Bugfixes 🐛
@var
afterclass_exists()
(#2292), #9055, thanks @staabm!Ds\Map::get()
@throws
inference (#2297), #9066, thanks @simPod!sprintf
/printf
(#2301), #9072, #2342, thanks @kukulich!Internals 🔍
v1.10.7
Compare Source
Improvements 🔧
from()
andtryFrom()
(phpstan/phpstan-src@edcaaba)Function signature fixes 🤖
XMLReader::XML
return type (phpstan/phpstan-src@195cb7b)Internals 🔍
v1.10.6
Compare Source
Bleeding edge 🔪
PHPStan\Type\Type
interface via@var
(phpstan/phpstan-src@713b98f), https://github.com/nunomaduro/larastan/issues/1567#issuecomment-1460445389If 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 🔧
Bugfixes 🐛
array_combine()
on PHP 8+ (#2276), #9011, thanks @staabm!v1.10.5
Compare Source
Improvements 🔧
Bugfixes 🐛
v1.10.4
Compare Source
Improvements 🔧
Bugfixes 🐛
array_column
(#2244), #8917, thanks @VincentLanglet!filter_var()
handling of a couple of simple scalars and null (#2262), thanks @herndlm!value-of
for multiple enums (phpstan/phpstan-src@3adc91d), #8983->value
on unions of enums (phpstan/phpstan-src@05b85ba), #9000Function signature fixes 🤖
Ds\Sequence::copy()
(#1954), thanks @MidnightDesign!password_hash()
return type (#2260), #5978, thanks @VincentLanglet!v1.10.3
Compare Source
Improvements 🔧
@not-deprecated
annotation (#2255), https://github.com/phpstan/phpstan/discussions/7422, thanks @stof!Bugfixes 🐛
array_chunk()
(phpstan/phpstan-src@e4a6d20), #8956v1.10.2
Compare Source
Improvements 🔧
Function signature fixes 🤖
object
returned bydb2_*()
functions are always instances ofstdClass
(#2249), thanks @phansys!v1.10.1
Compare Source
Bugfixes 🐛
treatPhpDocTypesAsCertain: false
(#2248), #8932, thanks @VincentLanglet!in_array
and enums (phpstan/phpstan-src@7d6f0f6)v1.10.0
Compare Source
Read the article about this release: PHPStan 1.10 Comes With a Lie Detector
Major new features 🚀
elseif
branch and last match expression arm are not reported by default (#2105), #8042, #8485, #7721, #4242, #8240, thanks @staabm!reportAlwaysTrueInLastCondition
totrue
to have them reported againelseif
branch and last match expression arm.instanceof *Type
in favour of new methods onType
interface, (phpstan/phpstan-src@436e6d3), learn more: Why Is instanceof *Type Wrong and Getting Deprecated?phpstan-deprecation-rules
installedBleeding edge 🔪
@var
tag type against native type (phpstan/phpstan-src@a69e3bc)reportWrongPhpDocTypeInVarTag
totrue
to have all types validated, not just native onesRuleLevelHelper::accepts()
behaviour (phpstan/phpstan-src@941fc81)@param-out
(phpstan/phpstan-src@7ceb19d), https://github.com/phpstan/phpstan/issues/8880#issuecomment-1426971473If 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 🔧
MutatingScope::getNativeType()
(#1943), #4689, #7578, #6260treatPhpDocTypesAsCertain
in NumberComparisonOperatorsConstantConditionRule (phpstan/phpstan-src@649eb70), #6776, #7075InClassMethodNode
- addgetClassReflection()
(phpstan/phpstan-src@c4ee0b8)Type::getTemplateType()
and deprecateGenericTypeVariableResolver
(phpstan/phpstan-src@b73a8aa, phpstan/phpstan-src@01b4d4e)Bugfixes 🐛
Function signature fixes 🤖
PDO::sqliteCreateFunction
(#2208), #8802, thanks @VincentLanglet!db2_autocommit()
(#2239), thanks @phansys!Internals 🔍
TypeUtils::getDirectClassNames()
andinstanceof TypeWithClassName
, useType::getObjectClassNames()
instead (#1924), thanks @herndlm!isSuperTypeOf()
instead ofaccepts()
in the right places (phpstan/phpstan-src@ddb9dc5)IncompatibleDefaultParameterTypeRule
(phpstan/phpstan-src@a79ad03)Type::acceptsWithReason()
(phpstan/phpstan-src@b763bd9), #3281testEditorUrlWithRelativePath()
test on PhpStorm console (#2229), thanks @staabm!Type::isEnum()
(phpstan/phpstan-src@93113cb)Type::getObjectClassReflections()
(phpstan/phpstan-src@4c7046e)v1.9.18
Compare Source
Improvements 🔧
Bugfixes 🐛
Internals 🔍
ConstantArrayType::hasOffsetValueType()
(#2238), thanks @herndlm!v1.9.17
Compare Source
Bugfixes 🐛
list{}
parsing (https://github.com/phpstan/phpdoc-parser/pull/177), thanks @zonuexe!ThisType
(phpstan/phpstan-src@d3e3292), #8857v1.9.16
Compare Source
v1.9.15
Compare Source
Improvements 🔧
ignoreErrors
entries for same message and path are summed together (phpstan/phpstan-src@fa70062)Bugfixes 🐛
filter_var()
with float input and FILTER_VALIDATE_INT (#2206), #8797, thanks @herndlm!method_exists()
onclass-string&literal-string
(#2193), #8752, thanks @staabm!filter_var()
range edge cases (#2207), #8776, thanks @herndlm!$this instanceof X will always be false
in traits (#2045), #3632, thanks @staabm!Function signature fixes 🤖
forward_static_call_array
for named arguments on PHP 8 (phpstan/phpstan-src@fb5c111), https://github.com/phpstan/phpstan/discussions/8761Internals 🔍
FilterFunctionReturnTypeHelper
(#2190), thanks @herndlm!FilterFunctionReturnTypeHelper
(#2198), thanks @herndlm!$otherTypes
inFilterFunctionReturnTypeHelper
(#2205), thanks @herndlm!v1.9.14
Compare Source
Bugfixes 🐛
filter_var()
narrowing with unknown options (#2146), #8516, thanks @herndlm!ctype_digit()
with cast parameter (#2189), #8736, thanks @staabm!Function signature fixes 🤖
Redis::connect()
signature to upstream changes (#2187, #2188), #8733, thanks @greg0ire!Internals 🔍
v1.9.13
Compare Source
Bugfixes 🐛
#[AllowDynamicProperties]
might still have dynamic properties (phpstan/phpstan-src@051b06e), #8727, #8474v1.9.12
Compare Source
Improvements 🔧
pow()
(#1904), #5614, thanks @staabm!nikic/php-parser
(phpstan/phpstan-src@e2956f0)array_key_exists
type-specifying extension (#1941), #2970, thanks @VincentLanglet!Internals 🔍
v1.9.11
Compare Source
Bugfixes 🐛
@phpstan-
prefixed tags (#2177), #8697, thanks @zonuexe!v1.9.10
Compare Source
v1.9.9
Compare Source
Improvements 🔧
Type::getEnumCases()
to use instead ofinstanceof EnumCaseObjectType
(phpstan/phpstan-src@a0242e0)Bugfixes 🐛
elseif
can be exhaustive and noelse
branch is needed (phpstan/phpstan-src@94e6e46), #7547__CLASS__
,__NAMESPACE__
in traits (#2043), #3019, thanks @staabm!class_implements
dynamic return type extension (#2023), #4335, thanks @VincentLanglet!Function signature fixes 🤖
ReflectionClass::newInstanceArgs()
type fix for named arguments (#2176), #8679, thanks @s3b4stian!Internals 🔍
TrinaryLogic::lazyAnd()
andlazyOr()
if current instance allows it (#2173), thanks @herndlm!MissingTypehintCheck
(#2174), thanks @herndlm!v1.9.8
Compare Source
Improvements 🔧
Bugfixes 🐛
array_shift
et al. have side effects (phpstan/phpstan-src@6276ce1), #8084get_class()
in traits always evaluate to true (#2044), #3633, thanks @staabm!v1.9.7
Compare Source
Bleeding edge 🔪
skipCheckGenericClasses
(phpstan/phpstan-src@28c2c79)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 🔧
UnionType::pickTypes
overriden inBenevolentUnionType
for a more benevolent behaviour (phpstan/phpstan-src@480626e)Bugfixes 🐛
Function signature fixes 🤖
min()
andmax()
do not returnfalse
on PHP 8 (#2161), thanks @staabm!Internals 🔍
v1.9.6
Compare Source
Improvements 🔧
Bugfixes 🐛
v1.9.5
Compare Source
Improvements 🔧
MutatingScope::shouldInvalidateExpression()
(#2139), thanks @staabm!ReturnStatementsNode::hasNativeReturnTypehint()
(#2141), thanks @janedbal!lowercase-string
andnon-empty-lowercase-string
are known (phpstan/phpstan-src@884ceb0)Bugfixes 🐛
pathinfo($s, PATHINFO_ALL)
return type (#2014), thanks @staabm!MixedType::hasOffsetValueType()
for subtracted types (#2135), #6705, thanks @herndlm!parent::__set_state()
method is only object (#2138), thanks @blankse!Internals 🔍
FilterVarDynamicReturnTypeExtension
(#2120), thanks @herndlm!Type::isScalar()
(#2149), thanks @herndlm!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 has been generated by Mend Renovate. View repository job log here.