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:
v3.0.9
->v3.0.11
^1.6.10
->^1.6.11
^1.1
->^1.2.0
^1.4
->^1.9.1
^1.0
->^1.2.2
^1.1
->^1.4.4
^9.5
->^9.5.26
2.21.2
->2.22.0
^3.6
->^3.7.1
^6.0
->^6.1.3
^6.0
->^6.1.5
^6.0
->^6.1.6
^6.0
->^6.1.5
^6.0
->^6.1.0
^6.0
->^6.1.6
Release Notes
actions/cache
v3.0.11
Compare Source
What's Changed
New Contributors
Full Changelog: actions/cache@v3...v3.0.11
v3.0.10
: v3.0.10Compare Source
restore-keys
in README.mdbovigo/vfsStream
v1.6.11
Compare Source
$context
property invfsStreamWrapper
phpstan/extension-installer
v1.2.0
Compare Source
phpstan/phpstan
v1.9.1
Compare Source
Improvements 🔧
AccessoryArrayListType
is part of BC promise (#1967), thanks @enumag!object
tostring
result in an error (#1948), thanks @rvanvelzen!checkBenevolentUnionTypes
config (#1940), thanks @VincentLanglet!Bugfixes 🐛
mt_rand
return type (#1956), #8272, thanks @enumag!strtr
returnsnon-empty-string
(#1963), thanks @staabm!v1.9.0
Compare 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-out
support (#1799), thanks @rvanvelzen!@param-out
support (#1804), #7231, #6871, #6186, #4372, #5785, thanks @staabm!ClassReflection::getAllowedSubTypes()
(#1477), thanks @jiripudil!checkBenevolentUnionTypes
to strictly check BenevolentUnionType (#1930), #8223, thanks @VincentLanglet!Bleeding edge 🔪
list
type (#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-int
andnon-positive-int
(#1803), thanks @rvanvelzen!NonexistentOffsetInArrayDimFetchCheck
(#1801), thanks @herndlm!@method
extension to look at@throws
in __call (#1842), #8163, thanks @VincentLanglet!$this
/static
in conditional return types (#1863), thanks @rvanvelzen!mb_convert_case()
andmb_convert_kana()
(#1866), thanks @zonuexe!callable-object
andcallable-string
(#1906), thanks @rvanvelzen!FunctionReflection
/ExtendedMethodReflection::returnsByReference()
(#1899), #6005, thanks @staabm!MutatingScope::enterNamespace()
is part of BC promise (phpstan/phpstan-src@92732ca)Bugfixes 🐛
Scope
orFunctionReflection
in userland class (phpstan/phpstan-src@2796f8d)no-named-arguments
implies variadic argument is alist
(#1796), thanks @herndlm!Countable
incount()
(#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)$this
in 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::getConstantArrays
as 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_shift
arg (#1864), thanks @herndlm!ArrayType::castToArrayKey()
withType::toArrayKey()
(#1841), thanks @rvanvelzen!Type::fillKeysArray()
(#1869), thanks @herndlm!ErrorType
for invalid keys (#1869), thanks @herndlm!is_(int,object,resource,scalar)
extensions with stubs (#1884), thanks @BackEndTea!pow()
return type extension to re-useBinaryOp\Pow
type inference (#1900), thanks @staabm!Type::getArrays()
usage inInvalidKeyInArrayDimFetchRule
(#1872), thanks @herndlm!Type::searchArray()
(#1874), thanks @herndlm!variableTypes
to save byexprString
(#1909), thanks @rajyan!variableTypes
andmoreSpecificTypes
(#1919), thanks @rajyan!::set-*
in GitHub Actions (#1917), thanks @rez1dent3!Type::intersectKeyArray()
(#1916), thanks @herndlm!v1.8.11
Compare Source
Improvements 🔧
Bugfixes 🐛
@mixin
result cache issue (phpstan/phpstan-src@7228d4d), #7831@template
tags in the result cache (phpstan/phpstan-src@4c0cb98)@method
,@property
,@extends
,@implements
tags (phpstan/phpstan-src@ec5b633)@use
(phpstan/phpstan-src@08703d1)v1.8.10
Compare Source
Improvements 🔧
Bugfixes 🐛
Function signature fixes 🤖
CURLOPT_*
parameter types (#1836), #8152, #8157, thanks @jlherren!v1.8.9
Compare Source
Improvements 🔧
TypeCombinator::reduceArrays()
even more (#1814), thanks @rvanvelzen!array_search()
type specifier performance (#1818), #8147, thanks @rvanvelzen!Bugfixes 🐛
key_exists
be treated likearray_key_exists
(#1800), #8091, thanks @takaram!Function signature fixes 🤖
SoapFault
constructor datatype (#1798), thanks @ahmedash95!IntlDateFormatter::create
return signature (#1776), thanks @Kleinast!RedisCluster::del
(#1829), thanks @ostrolucky!fpm_get_status
function signature (#1771), thanks @mad-briller!connection_status
function signature (#1774), thanks @mad-briller!headers_list()
returns a list of headers as strings. (#1770), thanks @johnbillion!v1.8.8
Compare Source
Improvements 🔧
ExprPrinter
by BC promise (#1794), thanks @staabm!isset
specification in falsy scope (#1781), thanks @herndlm!sphpstan/phpdoc-parser
to 1.9.0 (phpstan/phpstan-src@fd94186)Bugfixes 🐛
MutatingScope::generalizeType
(#1732), #8015, thanks @herndlm!get_parent_class()
(#1383), #5552, thanks @staabm!Composer\InstalledVersions
to parse PHPStan version (phpstan/phpstan-src@acbb55b), #8117Function signature fixes 🤖
zadd
argument order (#1779), thanks @araab!zscan
return types (#1780), thanks @araab!XMLWriter::startElementNS()
$namespace
arg is nullable (#1772), thanks @staabm!v1.8.7
Compare Source
Improvements 🔧
TypeCombinator::reduceArrays()
performance with retained type completeness (#1741), thanks @rvanvelzen!@readonly
property allows private mutation (#1610), #7778, thanks @zonuexe!@property
annotations (#1786), thanks @mad-briller!tip
message to JSON error formatter (#1727), thanks @staabm!Bugfixes 🐛
namespace {}
) (#1758), thanks @rvanvelzen!ignoreErrors
(#1769), thanks @MartinMystikJonas!ignoreErrors
: fixreportUnmatched
withoutpath
/paths
(#1773), thanks @MartinMystikJonas!getRawArgs()
instead (phpstan/phpstan-src@6cd3d5d), #8078CURLOPT_POSTFIELDS
param type (#1782), thanks @ahmedash95!IssetCheck
/MutatingScope::issetCheck
deviations and remove too early exits (#1784),thanks @herndlm!
false
tolerant withisset
(#1791), #8068, thanks @ahmedash95!Function signature fixes 🤖
time_nanosleep
return type signature (#1787), #8097, thanks @staabm!Internals 🔍
v1.8.6
Compare Source
Improvements 🔧
reportUnmatched
(#1686), thanks @MartinMystikJonas!ConstantArrayType::isKeysSupersetOf()
(#1729), #8017, thanks @rvanvelzen!$argc
,$argv
global variables types (#1718), thanks @staabm!oversized-array
type to enfore max number ofHasOffsetValueType
accessory types (#1666), thanks @rvanvelzen!UnionTypeHelper::sortTypes()
stability (#1746), thanks @rvanvelzen!Bleeding edge 🔪
curl_setopt
function signature based on 2nd arg (#1719), thanks @staabm!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
Bugfixes 🐛
::class
as literal string (#1692), #7823, thanks @staabm!BuilderHelpers::normalizeValue()
, it's not needed (phpstan/phpstan-src@ec28678), #8029Function signature fixes 🤖
gnupg::geterror
can return false (#1735), thanks @Firehed!pathinfo()
return type (#1734), #8033, thanks @rvanvelzen!stream_*
functions all return a list of strings. (#1745), thanks @johnbillion!v1.8.5
Compare Source
Improvements 🔧
true
pseudotypes in native unions (#1539), thanks @staabm!Bugfixes 🐛
ConstantArrayType::isKeysSupersetOf
for tagged unions (#1693), #7898, thanks @herndlm!::class
type for final classes (#1699), thanks @rvanvelzen!v1.8.4
Compare Source
PHPStan 1.8.3 but faster!
Improvements 🔧
Bugfixes 🐛
::class
on string expression (#1425), thanks @rvanvelzen!reportUnmatchedIgnoredErrors
is changed (phpstan/phpstan-src@84852ab)array_filter()
that does not return all items (phpstan/phpstan-src@2e89a22), #7909v1.8.3
Compare Source
This release fixes 76 issues! :tada:
Improvements 🔧
non-falsy-string
(truthy-string
) type (#1542, #1660, #1661, #1662), #5317, #5370, #7199, thanks @staabm!checkImplicitMixed
(#1645), thanks @MartinMystikJonas!substr()
(#1532), #7663, thanks @staabm!ltrim()
return type extension to supportclass-string
(#1597), #7483, thanks @staabm!@psalm-readonly-allow-private-mutation
as alias of@readonly
(#1609), #7774, thanks @zonuexe!gettype()
inference in TypeSpecifier (#1611), #6901, thanks @staabm!expr & number
for positive numbers (#1629), thanks @thg2k!ctype_digit
(#1635), thanks [@fluffycondConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, 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.