chore(deps): update dependency phpstan/phpstan to ~1.9.0 #25
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.0->~1.9.0Release Notes
phpstan/phpstan
v1.9.4Compare Source
Improvements 🔧
checkArgumentTypes=true(#2106), thanks @staabm!TypeCombinator::intersect()(#2112), thanks @staabm!InitializerExprTypeResolver(#2114), thanks @staabm!TypeCombinator::removeFalsey()(#2003), thanks @axlon!usePathConstantsAsConstantString(#2050), thanks @MartinMystikJonas!Bugfixes 🐛
unset(#2107), #7805, thanks @rajyan!array_search()with constant array type haystack (#1806), #3789, thanks @takaram!parse_str()might return nested arrays by-ref (#1994), #8356, thanks @staabm!forloop (phpstan/phpstan-src@a8975b1), #8520Internals 🔍
getConstantStrings()on Type (#1979), thanks @staabm!v1.9.3Compare 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 🔧
DateTimeZone::__constructthrow type extension (#2034)deprecationRulesInstalledconfiguration (#2062), thanks @villfa!treatPhpDocTypesAsCertain(#2065), thanks @VincentLanglet!Scope::getType(). Cheap checks first. (#2071), thanks @staabm!Bugfixes 🐛
@param-outon methods (#2028), #8421, thanks @staabm!mixedon annotation assignment (#2017), thanks @herndlm!$nativeExpressionTypesin MutatingScope (#2021), thanks @herndlm!.php(phpstan/phpstan-src@bff85e2), #8480Function signature fixes 🤖
Internals 🔍
NodeScopeResolverTestcases (#1992), thanks @herndlm!UnionTypeHelper(#1988), thanks @herndlm!$expressionTypesand$nativeExpressionTypesin Scope creation methods (#2022), thanks @herndlm!getLevelValue()(phpstan/phpstan-src@4f7e20b)TypeTraverserinArrayChunkFunctionReturnTypeExtension(#2082), thanks @herndlm!TypeTraverserinArraySliceFunctionReturnTypeExtension(#2085), thanks @herndlm!TypeTraverserinArrayReverseFunctionReturnTypeExtension(#2084), thanks @herndlm!TypeTraverserinStrSplitFunctionReturnTypeExtension(#2087), thanks @herndlm!v1.9.2Compare Source
Bugfixes 🐛
NeverType(#1968), #8277, thanks @herndlm!Function signature fixes 🤖
json_encode()always produce anon-empty-string, when successful (#1980), thanks @Slamdunk!sodium_crypto_generichash*always produce anon-empty-string(#1981), thanks @Slamdunk!sodium_crypto_sign*always producenon-empty-string(#1985), thanks @Slamdunk!Internals 🔍
Type::isVoid()(#1982), thanks @herndlm!v1.9.1Compare Source
Improvements 🔧
AccessoryArrayListTypeis part of BC promise (#1967), thanks @enumag!objecttostringresult in an error (#1948), thanks @rvanvelzen!checkBenevolentUnionTypesconfig (#1940), thanks @VincentLanglet!Bugfixes 🐛
mt_randreturn type (#1956), #8272, thanks @enumag!strtrreturnsnon-empty-string(#1963), thanks @staabm!v1.9.0Compare Source
Check out the article about this release!
Major new features 🚀
@phpstan-assert,@phpstan-assert-if-true,@phpstan-assert-if-false(#1317), #7110, #8186, thanks @rvanvelzen!@phpstan-self-out/@phpstan-this-outsupport (#1799), thanks @rvanvelzen!@param-outsupport (#1804), #7231, #6871, #6186, #4372, #5785, thanks @staabm!ClassReflection::getAllowedSubTypes()(#1477), thanks @jiripudil!checkBenevolentUnionTypesto strictly check BenevolentUnionType (#1930), #8223, thanks @VincentLanglet!Bleeding edge 🔪
listtype (#1751), #3311, #8185, #6243, thanks @rvanvelzen!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 🔧
non-negative-intandnon-positive-int(#1803), thanks @rvanvelzen!NonexistentOffsetInArrayDimFetchCheck(#1801), thanks @herndlm!@methodextension to look at@throwsin __call (#1842), #8163, thanks @VincentLanglet!$this/staticin conditional return types (#1863), thanks @rvanvelzen!mb_convert_case()andmb_convert_kana()(#1866), thanks @zonuexe!callable-objectandcallable-string(#1906), thanks @rvanvelzen!FunctionReflection/ExtendedMethodReflection::returnsByReference()(#1899), #6005, thanks @staabm!MutatingScope::enterNamespace()is part of BC promise (phpstan/phpstan-src@92732ca)Bugfixes 🐛
ScopeorFunctionReflectionin userland class (phpstan/phpstan-src@2796f8d)no-named-argumentsimplies variadic argument is alist(#1796), thanks @herndlm!Countableincount()(#1876), thanks @staabm!RuleLevelHelper::accepts()for constant arrays (#1911), #8209, thanks @rvanvelzen!get_object_var()as private property read (#1902), #3654, thanks @vovochka404!@param-out(phpstan/phpstan-src@cf40007)$thisin nativeExpressionTypes (#1936), thanks @rajyan!@phpstan-self-out(#1949), thanks @staabm!Function signature fixes 🤖
mb_check_encoding()acceptsarray<string>in PHP 7.2+ (#1867), thanks @zonuexe!Internals 🔍
Type::getConstantArraysas successor forTypeUtils::getOldConstantArrays(#1684), thanks @herndlm!TypeUtils::getArrays()andTypeUtils::getAnyArrays()(#1687), thanks @herndlm!Type::getLastIterableValueType()(#1811), thanks @herndlm!Type::getFirstIterableValueType()(#1811), thanks @herndlm!Type::getFirstIterableKeyType()andType::getLastIterableKeyType()(#1812), #8152, thanks @herndlm!JustNullableTypeTrait(#1821), thanks @herndlm!Type::isConstantArray()(#1822), thanks @herndlm!getConstantArrays()usage withisConstantArray()(#1827), thanks @herndlm!Type::getArraySize()(#1828), thanks @herndlm!Type::flipArray()(#1832), thanks @herndlm!Type::getKeysArray()andType::getValuesArray()(#1851), thanks @herndlm!FunctionReflection::getDocComment()(#1834), thanks @staabm!Type::popArray()andType::shiftArray()(#1847), thanks @herndlm!Type::shuffleArray()(#1853), thanks @herndlm!ConstantArrayType::generalizeToArray()(#1856), thanks @herndlm!array_pop/array_shiftarg (#1864), thanks @herndlm!ArrayType::castToArrayKey()withType::toArrayKey()(#1841), thanks @rvanvelzen!Type::fillKeysArray()(#1869), thanks @herndlm!ErrorTypefor invalid keys (#1869), thanks @herndlm!is_(int,object,resource,scalar)extensions with stubs (#1884), thanks @BackEndTea!pow()return type extension to re-useBinaryOp\Powtype inference (#1900), thanks @staabm!Type::getArrays()usage inInvalidKeyInArrayDimFetchRule(#1872), thanks @herndlm!Type::searchArray()(#1874), thanks @herndlm!variableTypesto save byexprString(#1909), thanks @rajyan!variableTypesandmoreSpecificTypes(#1919), thanks @rajyan!::set-*in GitHub Actions (#1917), thanks @rez1dent3!Type::intersectKeyArray()(#1916), 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.
🔕 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.