Update PHPStan packages to v2 (major) #768
Open
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.10.14
->^2.0.0
^1.3.37
->^2.0.0
^1.3.11
->^2.0.0
^1.5.1
->^2.0.0
^1.3.1
->^2.0.0
Release Notes
phpstan/phpstan (phpstan/phpstan)
v2.0.4
Compare Source
This release includes improvements and fixes from PHPStan 1.12.13.
Improvements 🔧
strictRulesInstalled
parameter (#3729), thanks @staabm!Bugfixes 🐛
htmlspecialchars
andhtmlentities
beingnon-empty-string
without ENT_SUBSTITUTE flag (#3710), #12021, thanks @jack-worman!Function signature fixes 🤖
fgetcsv
return type; never returns null (#3712), thanks @janedbal!apcu_cache_info
andapcu_sma_info
signatures (#3726, phpstan/phpstan-src@e7e8093), thanks @vindic!Internals 🔍
v2.0.3
Compare Source
This release includes improvements and fixes from PHPStan 1.12.12.
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 🔧
Bugfixes 🐛
in_array
(#3646), #12083, thanks @janedbal!Function signature fixes 🤖
Internals 🔍
Scope::getPhpVersion()
(#3642), thanks @staabm!Printer::__construct()
(#3680), thanks @samsonasik!v2.0.2
Compare Source
Improvements 🔧
diagnose
command (#3609), thanks @staabm!phpVersion.min
andmax
in VersionCompareFunctionDynamicReturnTypeExtension (#3631), thanks @staabm!Internals 🔍
v2.0.1
Compare Source
Bugfixes 🐛
v2.0.0
Compare Source
Read more about PHPStan 2.0.
Check out the UPGRADING guide!.
Buy the PHPStan elephpant and T-shirts!
Major new features 🚀
mixed
types strictly, not just explicitmixed
list
type (#1751), #3311, #8185, #6243, thanks @rvanvelzen!@readonly
rule that disallows default values (#1391), thanks @herndlm!@phpstan-consistent-constructor
(#1296), thanks @canvural!is_a()
orclass_parents()
(phpstan/phpstan-src@c4a662a)new ReflectionMethod()
(phpstan/phpstan-src@5363066)instanceof
of classes not covered by backward compatibility promise (phpstan/phpstan-src@ff4d02d)instanceof
of classes covered by backward compatibility promise but where the assumption might change (phpstan/phpstan-src@996bc69)@phpstan-self-out
(phpstan/phpstan-src@6838669)@param-out
(phpstan/phpstan-src@30c4b9e), #10260@param-closure-this
(phpstan/phpstan-src@2fa539a), #10933@var
tag type against native type (phpstan/phpstan-src@a69e3bc)reportWrongPhpDocTypeInVarTag
totrue
to have all types validated, not just native onesreportAnyTypeWideningInVarTag: true
for stricter behaviour (#2840), thanks @janedbal!@phpstan-pure
above functions and methodsPHPStan\Type\Type
interface via@var
(phpstan/phpstan-src@713b98f), https://github.com/nunomaduro/larastan/issues/1567#issuecomment-1460445389@mixin
PHPDoc tag above traits (phpstan/phpstan-src@0d0de94)@extends
,@implements
,@use
for unresolvable types (phpstan/phpstan-src@2bb5282), #11552@method
tags (phpstan/phpstan-src@5b7e474)@method
@template
tags above traits (phpstan/phpstan-src@aadbf62)@property
tags (phpstan/phpstan-src@55ea2ae), #10752, #9356var_export
without$return=true
(#3225), #11320, thanks @staabm!new
/function call/method call/static method call on a separate line without any side effects even without@phpstan-pure
PHPDoc tag on the declaration sidecall_user_func()
(#2479), thanks @staabm!array_filter()
calls (#1077), #6840, thanks @leongersen!array_values()
calls (#2917), thanks @kamil-zacek!@no-named-arguments
(phpstan/phpstan-src@74ba8c2), #5968@phpstan-self-out
(phpstan/phpstan-src@892b319)@mixin
(phpstan/phpstan-src@3175c81)polluteScopeWithBlock
(defaults totrue
,false
inphpstan-strict-rules
) (phpstan/phpstan-src@946cf18)@readonly
property and@immutable
class PHPDoc (#1295, #1335), #4082, thanks @herndlm!instanceof *Type
in favour of new methods onType
interface, (phpstan/phpstan-src@436e6d3), learn more: Why Is instanceof *Type Wrong and Getting Deprecated?Improvements 🔧
exceptions.check.tooWideThrowType
made true by default (phpstan/phpstan-src@1b1da3e)implicitThrows
to only look for explicit throw points in too-wide@throws
rules when set tofalse
(phpstan/phpstan-src@a0e688c)GenericObjectType
(#2818, #2821)RuleLevelHelper::accepts()
behaviour (phpstan/phpstan-src@941fc81), #11119, #4174Throw_
(phpstan/phpstan-src@22eef6d), #4912@param-out
(phpstan/phpstan-src@56b2002)@final
method in OverridingMethodRule, #9135@param-out
(phpstan/phpstan-src@7ceb19d), https://github.com/phpstan/phpstan/issues/8880#issuecomment-1426971473skipCheckGenericClasses
(phpstan/phpstan-src@28c2c79)??
/isset
/empty
with different message (#1253), thanks @rajyan!is_array
(#1191), thanks @herndlm!isset()
, not just on PHP 8.2+ (#3476), thanks @ondrejmirtes!Collection<...>|Foo[]
being resolved to Collection of Foo (phpstan/phpstan-src@fff8f09)PhpMethodReflection
andPhpFunctionReflection::isVariadic()
(#3534), thanks @staabm!Bugfixes 🐛
mixed
type based on config (#2885), thanks @schlndh!Function signature fixes 🤖
0|positive-int
(#1027), thanks @staabm!Imagick
parameter types (#2334), thanks @zonuexe!max()
/min()
should expect non-empty-array (#2163), thanks @staabm!Closure::bind
$newScope
param (#2817), thanks @mvorisek!error_log
errors withmessage_type=2
(#2428), #9380, thanks @staabm!FILE_NO_DEFAULT_CONTEXT
infile()
(#2482), thanks @staabm!file()
flags args (#2476, #2482), thanks @staabm!flock()
operation flags (#2477), thanks @staabm!stream_socket_client()
signature (#2519), thanks @staabm!scandir()
signature (#2518), thanks @staabm!extract()
signature (#2517), thanks @staabm!RecursiveIteratorIterator::__construct()
parameter types (#2835), thanks @staabm!Locale
signatures (#2880), thanks @devnix!$mode
parameter for thecount()
(#3190), thanks @kuma3!filter_input*
type param type (#2271), thanks @herndlm!curl_setopt
function signature based on 2nd arg (#1719), thanks @staabm!count_chars()
(#3596), thanks @u01jmg3!Internals 🔍
$templateTags
is required (phpstan/phpstan-src@5b58f83)$usePathConstantsAsConstantString
made required (phpstan/phpstan-src@f88d9ba)PhpMethodReflectionFactory::create()
- all parameters are required (phpstan/phpstan-src@8bfbf8f)$nodeType
and$acceptsNamedArguments
made required (phpstan/phpstan-src@4937527)$ignorable
ofcompare()
method made required (phpstan/phpstan-src@f85a500)$dateTimeClass
of DateTimeModifyReturnTypeExtension constructor made required (phpstan/phpstan-src@a8cd423)PhpVersion
parameter to variousType
methods (#3478), thanks @VincentLanglet!getClass()
return types in extension interfaces (#1754), thanks @staabm!FunctionCallParametersCheck::check()
parameters (phpstan/phpstan-src@710e09c)instanceof self
inConstantArrayType
(#3552), thanks @herndlm!bashunit -a
exit_code to check for errors (#3533), thanks @Chemaclass!v1.12.13
Compare Source
Improvements 🔧
get_defined_vars()
return type contains known variables (#3624), #11948, #11740, thanks @MartinMystikJonas!UnionType->isSuperTypeOfWithReason()
(#3692, #3713), thanks @staabm!IntersectionType->getEnumCases()
(#3695), thanks @staabm!MixedType::toArrayKey()
returnsBenevolentUnionType
(#3696)ClassAsClassConstantRule
(#3697), #10859, thanks @paulbalandan!FunctionCallParametersCheck
(#3734), thanks @staabm!MutatingScope::getNodeKey()
(#3736), thanks @staabm!Bugfixes 🐛
iterator_to_array
return type with generators (#3652), thanks @paulbalandan!#
comments in regex withx
modifier (#3735, #3739), #12242, thanks @staabm!Function signature fixes 🤖
DOMDocument::create*()
return types (#3737), #12278, thanks @staabm!Internals 🔍
Rule
andRuleTestCase
(#3698), thanks @paulbalandan!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](https://redirect.github.com/phpstan/phpstanConfiguration
📅 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.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.