Update dependency phpstan/phpstan to v1.11.7 #24
Merged
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.67
->1.11.7
Release Notes
phpstan/phpstan (phpstan/phpstan)
v1.11.7
Compare Source
Improvements 🔧
match
expression analysis with enum with performance in mind (phpstan/phpstan-src@b98abe0), #11263-vvv
CLI option.-vv
for unignorable errors when generating the baseline (phpstan/phpstan-src@d931c89), #3973MutatingScope::resolveType()
- cache closure body analysis data (phpstan/phpstan-src@fd31156), #11283Bugfixes 🐛
@no-named-arguments
above class (phpstan/phpstan-src@815270d), #11275count()
narrowing on $matches (#3210), #11277, thanks @staabm!Function signature fixes 🤖
getimagesize
,getimagesizefromstring
: zero is a possible value for height and width (#3207), thanks @mfruehauf!Internals 🔍
ObjectType::getEnumCases()
(#3203, #3204), #11263, thanks @staabm!v1.11.6
Compare Source
v1.11.5
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 🔧
Bugfixes 🐛
get_debug_type()
DynamicFunctionReturnTypeExtension (#3128), thanks @patrickkusebauch!Function signature fixes 🤖
gnupg_init()
options
parameter is optional (#3129), thanks @yphoenix!RedisCluster::__construct
signature (#3130), #11158, thanks @wolfgangzwiauer!AMQPQueue::unbind()
routingKey type (#3143), thanks @ben-challis!AMQPQueue::consume()
callback (#3144), #9445, thanks @ben-challis!IntlDateFormatter
methods (#3149), thanks @chosten!Exception::getTrace()
return type (phpstan/phpstan-src@492cd89)Internals 🔍
PrepareCommand::fixComposerJson()
(phpstan/phpstan-src@4537ef1)lint >=
andPHP_VERSION_ID
in NodeScopeResolverTest (phpstan/phpstan-src@b530b0d)TypeInferenceTestCase::gatherAssertTypesFromDirectory()
(phpstan/phpstan-src@595de78)v1.11.4
Compare Source
Improvements 🔧
--generate-baseline
combined with--pro
(phpstan/phpstan-src@dd028cb), #11093phpstan/extension-installer
v1.4 (phpstan/phpstan-src@1d005ef)Bugfixes 🐛
numeric-string
types after string concat (#3117), thanks @staabm!count()
(#2812), thanks @staabm!array_slice()
returnsnon-empty-array
for existing offsets and positive limit (#3124), #10721, thanks @staabm!ClosureType()
as maybe impure by default when no$impurePoints
array provided (#3125), #11135, thanks @jf-m!Function signature fixes 🤖
tempnam()
andtmpfile()
to benevolent union (#3111), thanks @zonuexe!gnupg_init
function (#3118), thanks @pistej!Internals 🔍
react/promise
(phpstan/phpstan-src@da754e2)v1.11.3
Compare Source
Improvements 🔧
*ParameterClosureTypeExtension
(#3089), thanks @canvural!get_debug_type
function (#2910), #10558, #10585, thanks @patrickkusebauch!explode
return type precision (#3096), thanks @staabm!Bugfixes 🐛
array_map
argument take into account unpack (#2901), #10527, thanks @ryium!parse_url
(#2918), #4754, thanks @ChrisBrenton!$http_response_header
is alist<string>
(#2959), thanks @Seldaek!str_repeat()
(#2914), #10572, thanks @staabm!in_array
is not strict (#2539), #9662, #10228, thanks @staabm!substr()
type narrowing for possibly single char result (#3081), #11035, #9804, thanks @staabm!$this
cannot be reassigned when passed by reference (#3097), #10477, thanks @takaram!constant('')
(#3013), #10867, thanks @staabm!Function signature fixes 🤖
SplFileObject::fgets()
(#3103), thanks @DanielSiepmann!Locale
signatures (#2880), #7855, #8149, thanks @devnix!fread()
length parameter type and return type (#3105), thanks @thg2k!non-falsy-string
(#3108), thanks @schlndh!Internals 🔍
TemplateTagValueNode::$name
cannot be empty string (phpstan/phpdoc-parser@fcaefac), thanks @staabm!v1.11.2
Compare Source
Improvements 🔧
@phpstan-ignore
identifiers parser (#3079, #3090, #3091), thanks @janedbal!@phpstan-ignore identifier (comment), identifier2 (comment2)
$passedToType
frominFunctionCallsStack
(phpstan/phpstan-src@ca41b7d, phpstan/phpstan-src@da4fd7a), #5508, #10254, #10732Function signature fixes 🤖
Internals 🔍
nette/di
(phpstan/phpstan-src@2ab647e)array_filter
callbacks (phpstan/phpstan-src@754b7b8)@api
annotation toAcceptsResult::__construct
(#3092), thanks @canvural!v1.11.1
Compare Source
Improvements 🔧
sprintf()
constant result inference (#3075), thanks @staabm!Bugfixes 🐛
impure(Function|Method).pure
if it has@phpstan-assert
tags (phpstan/phpstan-src@9544f8a)reportPossiblyNonexistentConstantArrayOffset: true
(phpstan/phpstan-src@5277630), #10997self
andstatic
in@phpstan-closure-this
from trait stub file (phpstan/phpstan-src@9340249), #11009Function signature fixes 🤖
uri
instream_get_meta_data
calls is always present on PHP 8.3+ (phpstan/phpstan-src@885d46b), #11024, #10999v1.11.0
Compare Source
Read the article about PHPStan 1.11 on phpstan.org »
Major new features 🚀
@phpstan-ignore
comment (uses current or next line automatically)ignoreErrors
section of your configuration file (phpstan.neon)-v
@phpstan-ignore-line
and@phpstan-ignore-next-line
to the new@phpstan-ignore
comment style with error identifiers. The old comment style is dangerous because it ignores all errors, current and future, on that line.ignoreErrors
, from your baseline and also ignored locally in source code using comments--pro
CLI option@param-immediately-invoked-callable
,@param-later-invoked-callable
@phpstan-pure
@param-closure-this
to describe what$this
is bound to in a passed closurereportPossiblyNonexistentGeneralArrayOffset
reportPossiblyNonexistentConstantArrayOffset
Bleeding edge 🔪
@phpstan-pure
above functions and methodsnew
/function call/method call/static method call on a separate line without any side effects even without@phpstan-pure
PHPDoc tag on the declaration side@param-out
(phpstan/phpstan-src@56b2002)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 🔧
checkMissingIterableValueType: false
andcheckGenericClassInNonGenericObjectType: false
in favour of ignoring via identifiers (phpstan/phpstan-src@a649981)new
type (#3050), #9704, thanks @ruudk!RuleErrorBuilder::file()
- file path needs to exist (phpstan/phpstan-src@c453f29)$this
and used variables after invoking closure (#2980)@phan-
prefixes on recognized PHPDoc tags (#3000), thanks @anomiex!pure-callable
andpure-Closure
PHPDoc types (phpstan/phpstan-src@cdaff5f)highlight_string()
flips side-effects depending on $return (#3021), thanks @staabm!Bugfixes 🐛
AccessoryNonFalsyStringType::toInteger()
returnIntegerType
instead of non-zero (#3018), #10893, thanks @zonuexe!polluteScopeWithAlwaysIterableForeach
(#3029), #10922, thanks @VincentLanglet!count($x) > $n === true
negation (#3037), #10952, thanks @rvanvelzen!new
with wrong name case (phpstan/phpstan-src@59ac31a)preg_match_all
behaviour with no flags (phpstan/phpstan-src@a856ec7)file_get_contents
is an impure function (phpstan/phpstan-src@2b5b317)ClosureType::equals()
(phpstan/phpstan-src@29c35b5)exceptions.implicitThrows: false
(#3016), thanks @janedbal!ConstantArrayType::hasOffsetValueType()
for offset union type where all types are valid (phpstan/phpstan-src@26e949b)non-empty-list
always has offset 0 (phpstan/phpstan-src@f4d1d48)non-empty-string
/non-falsey-string
aftermb_strlen()
(#3038), thanks @staabm!Type::isOffsetAccessLegal()
to detect offset access that crashes even inisset()
(#3045), #8393, #10926, thanks @rajyan!match()
condition correctly (#3053), #10974, #9694, thanks @rvanvelzen!json_decode
with force array flag: subtract all objects, not just stdClass (#3052), thanks @rajyan!strlen($x) > $n === true
negation (#3040), thanks @staabm!Continue_
points should not be used forwhile (true)
(#3057), #10980, thanks @greew!Function signature fixes 🤖
stream_get_meta_data()
optional (#3024), #10887, thanks @hirokinoue!Closure::bind
$newScope
param (#2817), thanks @mvorisek!Imagick::identifyImage()
return type (#3017), thanks @SVillette!Internals 🔍
ClassReflection::getClassTypeDescription()
(phpstan/phpstan-src@dec9e43)RuleErrorBuilder::treatPhpDocTypesAsCertainTip()
for a bit more DRYness (#3035), thanks @axlon!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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.