Update all non-major dependencies (patch)
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
phpstan/phpstan | require-dev | patch |
1.8.2 -> 1.8.3
|
phpunit/phpunit (source) | require-dev | patch |
9.5.23 -> 9.5.24
|
Release Notes
phpstan/phpstan
v1.8.3
This release fixes 76 issues!
🔧
Improvements - Added
non-falsy-string
(truthy-string
) type (#1542, #1660, #1661, #1662), #5317, #5370, #7199, thanks @staabm! - New configuration option:
checkImplicitMixed
(#1645), thanks @MartinMystikJonas! - Support constant string-unions in
substr()
(#1532), #7663, thanks @staabm! - Tagged unions preparation (#1548), #5232, #7511, #7224, #6997, #6556, #6181, #5743, #4708, #3821, #2911, #7156, #6728, #6364, #5758
- Tagged unions (#1547), #6469, #3801, #6599
- Added error message to impossible instanceof rule to warn when comparing a trait (#1570), thanks @mad-briller!
- Implement
ltrim()
return type extension to supportclass-string
(#1597), #7483, thanks @staabm! - Improve type inference from conditional return type (#1604), thanks @rvanvelzen!
- Optimization: ArrayType::setOffsetValueType() - generalize key + item type if it goes over a threshold (https://github.com/phpstan/phpstan-src/commit/24aee609ebf91b0100e2f60b78cde5a785936b81, https://github.com/phpstan/phpstan-src/commit/10ba3c681647b281f774f48fb1843d4b5c75b7da)
- Optimization: ConstantArrayTypeBuilder - generalize key types and value types in degraded general array (https://github.com/phpstan/phpstan-src/commit/dbdcb817fced0f375a420fc3bff44c2d331c856d)
- Make
@psalm-readonly-allow-private-mutation
as alias of@readonly
(#1609), #7774, thanks @zonuexe! - Implement
gettype()
inference in TypeSpecifier (#1611), #6901, thanks @staabm! - Use argument types as parameter types for inline closures (#7798) (#1628), #7798, thanks @leongersen!
- Optimization: inline calls in TrinaryLogic to reduce method call overhead (#1563), thanks @staabm!
- Handle the expression
expr & number
for positive numbers (#1629), thanks @thg2k! - Add type specifying extension for
ctype_digit
(#1635), thanks @fluffycondor! -
array_flip()
for constant arrays (https://github.com/phpstan/phpstan-src/commit/a6cec395f64806bd12522926970843423f3f7290) -
array_filter()
for constant arrays (https://github.com/phpstan/phpstan-src/commit/771b860d0c7ca73bfb255df4c14cffa97caada93) -
array_intersect_key()
for constant arrays (https://github.com/phpstan/phpstan-src/commit/a96cdf2bf5cf2b145a5c0fbbe007776e8d7bd7b8) - Enfore optional parameters in callable types (#1354), #7320, thanks @rvanvelzen!
- Optimization: match/enum performance (https://github.com/phpstan/phpstan-src/commit/092ef3be68a8e478dec09bbeb779fff46b09c023)
- Optimization: TrinaryLogic - lazy evaluation methods (https://github.com/phpstan/phpstan-src/commit/f8f6e2a8df9499e5f9603935a2557964c285fae4)
🐛
Bugfixes - Support
ConstantArrayType
callables with union values (#1529), #2343, thanks @herndlm! - PHPDoc readonly rules do not report for native readonly props (#1521), #7648, thanks @herndlm!
- Fix error for custom autoloaders calling
eval()
(https://github.com/phpstan/phpstan-src/commit/058d739904a9f0641e5643fd8b089d2203f9c1d3), #7647 - Remove undefined constants from scope (#1534), thanks @herndlm!
- Fixed double reporting of promoted properties (#1533), #7662, thanks @mad-briller!
- Fixed extracting PHP 8 stubs (https://github.com/phpstan/php-8-stubs/commit/363a282adde9457b2158580df4da8d83c7d95527), #7676
- Remove old
pg_*
functions with multiple variants from signature map on PHP 8.1 (https://github.com/phpstan/phpstan-src/commit/8128a63348918ee3d94eb8ba513252c1188b5cc3), #7138 - Fix ObjectType resolving inside bound Closure (#1543), #7675, thanks @herndlm!
- Fix
in_array
non-empty-array type specification (#1545), #7684, thanks @herndlm! - Fix incorrect mixed template type for impossible union template type intersection (#1546), #7688, thanks @rvanvelzen!
- Improve
ConstantArrayType::unsetOffset
(#1537), #5223, thanks @herndlm! - Fix incorrect incomplete match error for
treatPhpDocTypesAsCertain: false
(#1560), #7622, thanks @rvanvelzen! - Fix variable certainty after exhaustive switch (#1561), #1016, thanks @rvanvelzen!
- Fix resolving variants for union type methods (#1574), #7593, #6946, #5754, thanks @rvanvelzen!
- Fix assigning arbitrary expressions in foreach key (#1582), #7737, thanks @rvanvelzen!
- Assume offset value set was successful for further analysis (https://github.com/phpstan/phpstan-src/commit/1537424191a4cf27577dd3cfc07d162b09c20a12), #7469, #3391, #7417
- Support removing
class-string
s fromGenericClassStringType
(#1590), #7698, thanks @staabm! - Fix
Array_
expr type resolving with unpacked array items (#1586), #7724, thanks @herndlm! - Fix
Array_
expr type resolving with unpacked constant array items (#1619), #7776, thanks @herndlm! - ArrayDimFetch: assign vs. narrowing a type (https://github.com/phpstan/phpstan-src/commit/229df9ba73177149f3db8d476ca2c41b065c8092)
- Discover BetterReflection sources using PSR-4 (https://github.com/phpstan/phpstan-src/commit/8ab002a13a6a94cfab24284b48e7ad4c5bd60973)
- Fix internal error with
json_decode()
without arguments (https://github.com/phpstan/phpstan-src/commit/bf6d4c003a589f2dd75dacab8306c336bb9ff81c), #7762 - array_key_exists - fix for AST-based offset (https://github.com/phpstan/phpstan-src/commit/8613169c105fd38d4cdbdc56e3655be822ef4ed2), #7763
- Escape control characters in
ConstantStringType::describe()
(#1612), thanks @rvanvelzen! - Fix offset access + key-of template type combination (#1623), #7788, thanks @rvanvelzen!
- Fix array_search extension incorrectly returning null (#1633), #7809, thanks @herndlm!
- Specify existent offset with key variable when entering foreach (https://github.com/phpstan/phpstan-src/commit/14592ddf2b9dd454430c61c525b35894ae446856)
- Generalize file and dir magic constants (https://github.com/phpstan/phpstan-src/commit/f09b288ac022c9ba5cb490f6877c37fac2b2c7c9)
- Unsetting an offset should remove
non-empty-array
(https://github.com/phpstan/phpstan-src/commit/32353a92691b88c4f662d170a165efa7910e330c) - Narrow
$data[$key]
after specifying$key
(https://github.com/phpstan/phpstan-src/commit/46a8f32f5474b6f6127fb17a1638e7e11897be52), #6008 - Fix PreInc/PreDec of NeverType (#1641), #7044, #3277, thanks @herndlm!
- Consider
MixedType
explicitness inMethodParameterComparisonHelper::isTypeCompatible
(#1491), #7415, thanks @herndlm! - Do not consider mixed explicitness for parameter contravariance (#1648), thanks @herndlm!
- serialize/unserialize is not allowed in enum (#1643), #7837, thanks @staabm!
- Fixed generalizing arrays in scope, simplified offset unset in
ConstantArrayType
(https://github.com/phpstan/phpstan-src/commit/617311022636af148ce910635adf85624fe59f8f), #6013, #2851, #6008 - Fix NeverType for more operators (#1649), thanks @staabm!
- support length parameter in
sscanf()
(#1593), thanks @staabm! - sscanf: allow nulls in returned array (#1577), #7735, thanks @staabm!
- Fixed comparison of empty array with a scalar type (#1650), thanks @staabm!
- Fix
sscanf()
inference with regex format patterns (#1576), #7563, #7764, thanks @staabm! - Resources may be opened or closed (#1617), #5845, thanks @staabm!
- Fix ConstantArrayType intersecting with HasOffsetValueType (https://github.com/phpstan/phpstan-src/commit/9c49d4c913f3df7579269f457bfdea282c9c2036)
- Take subtracted type into account in
MixedType
(#1656), thanks @staabm! - Fix resolving mixed + array (#1579), #7492, #6783, #3872, thanks @staabm!
- Fixed non-falsy-string inference with '0' (#1658), #7877, #7881, thanks @staabm!
- Fix numeric-string negated intersection (#1639), #7814, thanks @fluffycondor!
- Make
PHPStan\dumpType
pure (#1665), #7803, thanks @rvanvelzen! - Fix wrong message - Instanceof between Xxx and string (#1669), #5728, thanks @lulco!
- Fix unset bug (https://github.com/phpstan/phpstan-src/commit/024738fcc7fe98eec72a274ee742a51442a681a3), #6170
- Make ArrayKeyExistsFunctionTypeSpecifyingExtension understand an empty array (https://github.com/phpstan/phpstan-src/commit/c057aa9d1feff5ce61f96f397ef92e7389a17477)
🤖
Function signature fixes -
Imagick::queryFontMetrics
more specific return type (#1530), thanks @MartkCz! -
Imagick::roundCornersImage
correct naming and optional params (#1531), thanks @MartkCz! -
str_split
returns an empty array since PHP 8.2 (#1544), thanks @herndlm! -
XmlReader::next|read()
has side-effects (#1551), #5920, thanks @staabm! - Reflection:
getName()
returns anon-empty-string
(#1599), #7056, thanks @staabm! - More precise
ord()
signature (#1620), thanks @thg2k! - More specific type for
port
component of 'parse_url()
(#1622), thanks @thg2k! - Allow null as second parameter for json_decode (#1672), thanks @webmaster777!
- Encoding functions returns non-empty-string (#1664), thanks @staabm!
🔍
Internals - HasOffsetType - create only for ConstantIntegerType|ConstantStringType (https://github.com/phpstan/phpstan-src/commit/0a2fc63e1fc7414bf96df2e0879f689e3c4bdd00)
- Simplify
non-empty-array
removal inarray_push
/array_unshift
(#1552), thanks @herndlm! - Fix
VirtualNode::getType()
returning an incorrect value for ClassConstantsNode and MethodReturnStatementsNode (#1568), thanks @Muqsit! - Add return type stub for
SimpleXMLElement::asXML
(#1606), thanks @herndlm! - Simplify TypeSpecifier (#1613), thanks @staabm!
- Avoid unnecessary intersection in
MutatingScope::filterBySpecifiedTypes
(#1536), thanks @herndlm! - Make
IntegerRangeType
constructor private (#1624), #7803, thanks @herndlm! - Remove
jean85/pretty-package-versions
dependency (#1607), thanks @herndlm! - Require
brianium/paratest
^6.5 to fix PHP 8.2 deprecation notices (#1631), thanks @herndlm! - Replace pickArrays method in array_search extension with getAnyArrays helper (#1632), thanks @herndlm!
- Intersect HasOffsetValue type only with possible arrays (#1634), thanks @herndlm!
- Avoid benevolent union behaviour for more type methods (#1644), thanks @herndlm!
- Use isArray instead of array supertype checks (#1634), thanks @herndlm!
- Use isString instead of string supertype checks (#1634), thanks @herndlm!
- Make MutatingScope::invalidateMethodsOnExpression() private (https://github.com/phpstan/phpstan-src/commit/f3fe24577f0cff89dafaa3a68b9b37dcdf851cb1)
- Deprecate
TypeUtils::containsCallable()
(#1667), thanks @herndlm! - Use TypeUtils::getOldConstantArrays in array_pop and array_shift extensions (#1668), thanks @herndlm!
- Use TypeUtils::getOldConstantArrays in array_fill_keys extension (#1676), thanks @herndlm!
- Use TypeUtils::getOldConstantArrays in array_reduce extension (#1677), thanks @herndlm!
- Use TypeUtils::getOldConstantArrays in array pointer functions extension (#1678), thanks @herndlm!
- Use TypeUtils::getOldConstantArrays in array_map extension (#1680), thanks @herndlm!
- Use TypeUtils::getOldConstantArrays in RegularExpressionPatternRule (#1679), thanks @herndlm!
- Use TypeUtils::getOldConstantArrays in array_key_first and array_key_last extensions (#1681), thanks @herndlm!
- Use TypeUtils::getOldConstantArrays in array_intersect_key extension (#1682), thanks @herndlm!
- Use TypeUtils::getOldConstantArrays in array_column extension (#1683), thanks @herndlm!
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.