chore(deps): update all non-major dependencies (minor) - autoclosed
-
Review changes -
-
Download -
Patches
-
Plain diff
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
phpstan/phpstan | require-dev | minor |
1.8.11 -> 1.9.1
|
vimeo/psalm | require-dev | minor |
4.29.0 -> 4.30.0
|
Release Notes
phpstan/phpstan
v1.9.1
Improvements 

-
AccessoryArrayListType
is part of BC promise (#1967), thanks @enumag! - Specify types from true/false asserts (#1957), thanks @rvanvelzen!
- Support conditional types in phpdoc asserts (#1964), thanks @rvanvelzen!
- Let casting
object
tostring
result in an error (#1948), thanks @rvanvelzen! - Add more support for
checkBenevolentUnionTypes
config (#1940), thanks @VincentLanglet! - Error on unknown parameter name in parameter conditional type (#1966), #8284, thanks @rvanvelzen!
Bugfixes 

- List type cast to array is still a list (#1958, #1959), #8280, thanks @rajyan!
- Fix
mt_rand
return type (#1956), #8272, thanks @enumag! -
strtr
returnsnon-empty-string
(#1963), thanks @staabm!
v1.9.0
Check out the article about this release!
Major new features 

-
PHPDoc-based type narrowing with
@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!- Can be used to change the type of the current object after calling a method on it. This is useful for generic mutable objects.
- Documentation
-
@param-out
support (#1804), #7231, #6871, #6186, #4372, #5785, thanks @staabm!- Can be used to specify type of function argument passed by reference
- Documentation
- Add extensible
ClassReflection::getAllowedSubTypes()
(#1477), thanks @jiripudil! - Add config parameter
checkBenevolentUnionTypes
to strictly check BenevolentUnionType (#1930), #8223, thanks @VincentLanglet!
Bleeding edge 

-
Array
list
type (#1751), #3311, #8185, #6243, thanks @rvanvelzen!- Lists are arrays with sequential integer keys starting at 0
- Improve error wording of the NonexistentOffset, BooleanAndConstantConditionRule, and BooleanOrConstantConditionRule (#1882), thanks @VincentLanglet!
- MissingMagicSerializationMethodsRule (#1711), #7482, thanks @staabm!
- Unescape strings in phpdoc-parser (https://github.com/phpstan/phpstan-src/commit/97786ed8376b478ec541ea9df1c450c1fbfe7461)
- Stub files validation - detect duplicate classes and functions (https://github.com/phpstan/phpstan-src/commit/ddf8d5c3859c2c75c20f525a0e2ca8b99032373a, https://github.com/phpstan/phpstan-src/commit/17e4b74335e5235d7cd6708eb687a774a0eeead4)
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
:
includes:
- vendor/phpstan/phpstan/conf/bleedingEdge.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 

- Add
non-negative-int
andnon-positive-int
(#1803), thanks @rvanvelzen! - Optimize
NonexistentOffsetInArrayDimFetchCheck
(#1801), thanks @herndlm! - Modify the built-in
@method
extension to look at@throws
in __call (#1842), #8163, thanks @VincentLanglet! - Improve impossible type checker for void-returning functions (#1857), #8169, thanks @rvanvelzen!
- Allow using
$this
/static
in conditional return types (#1863), thanks @rvanvelzen! - Emit warnings when Xdebug is not used according to CLI flags (#1878), thanks @staabm!
- Improve array_fill return type extension (#1879), thanks @rvanvelzen!
- Add support for
mb_convert_case()
andmb_convert_kana()
(#1866), thanks @zonuexe! - Accept and describe
callable-object
andcallable-string
(#1906), thanks @rvanvelzen! - Add colon as prefix of line number in table report, when running in VSCode terminal (#1901), #8086, thanks @LeoVie!
- Cover ExtendedMethodReflection by BC promise (but not implementing it, only calling the methods) (#1913), thanks @staabm!
- Locate identifiers by type for OptimizedSingleFileSourceLocator (#1114), thanks @tomasfejfar!
- Implement
FunctionReflection
/ExtendedMethodReflection::returnsByReference()
(#1899), #6005, thanks @staabm! - Add noreturn as PseudoTypeClass (#1937), #8242, thanks @zonuexe!
- Introduce new simple ScopeFactory (https://github.com/phpstan/phpstan-src/commit/1cc337acc877bc02f1a6686fbfe38994a987fbc5)
-
MutatingScope::enterNamespace()
is part of BC promise (https://github.com/phpstan/phpstan-src/commit/92732ca8de9d479762337bbc25c629f20d096e0c)
Bugfixes 

- Preserve non-empty-array type when generalizing arrays (#1752), #7996, thanks @herndlm!
- There's no valid use-case to implement
Scope
orFunctionReflection
in userland class (https://github.com/phpstan/phpstan-src/commit/2796f8dd8fd5156abd8f19f4ecab2be14248782c) -
no-named-arguments
implies variadic argument is alist
(#1796), thanks @herndlm! - Fix list checking on level 7 vs. level 8 (https://github.com/phpstan/phpstan-src/commit/926058491578747d2f99ec6b02ad28c988f3c28d), #8071
- MixedType: support subtracted in array-type methods (#1852), #3370, thanks @staabm!
- Allow compare SimpleXMLElement to number (#1755), #1795, thanks @muno92!
- Fix min max call on array of union types (#1795), #8088, thanks @VincentLanglet!
- Support
Countable
incount()
(#1876), thanks @staabm! - Improve
RuleLevelHelper::accepts()
for constant arrays (#1911), #8209, thanks @rvanvelzen! - Fix closure return type based on by-ref use (#1914), #6806, #4739, #5753, #6559, #6902, #7220, thanks @rvanvelzen!
- Consider
get_object_var()
as private property read (#1902), #3654, thanks @vovochka404! - Temporary solution to handle "maybe" certainty types assign in nativeExpressionTypes (#1932), thanks @rajyan!
- Refactor arrow function scope logic to make it consistent with anonymous functions (#1935), thanks @rajyan!
- Fix static bleedingEdge toggles in tests (#1928), thanks @rvanvelzen!
- Improve unset on ConstantArrayType (#1927), #8225, thanks @VincentLanglet!
- Fix stale result cache for
@param-out
(https://github.com/phpstan/phpstan-src/commit/cf40007c004d7d24e286b8663a3d0e0ed8f3fbb7) - Fix stale result cache for arrow functions (https://github.com/phpstan/phpstan-src/commit/29690576ea459e24b3eab1d2987628c7d166ce09)
- Fix closure return type for different same-code array_map arguments in same scope (#1915), #8179, thanks @rvanvelzen!
-
$this
in nativeExpressionTypes (#1936), thanks @rajyan! - Handle ClassConstFetch in Scope (#1944), #7913, thanks @rajyan!
- Retain non-variable expression types in closure (#1929), #8205, thanks @rvanvelzen!
- Fix stale result cache for asserts (https://github.com/phpstan/phpstan-src/commit/471265fc62f30504f4a0aecf79585bef42e69213)
- Fix stale result cache for
@phpstan-self-out
(#1949), thanks @staabm!
Function signature fixes 

- Fix class_implements return type (#1797), thanks @enumag!
-
mb_check_encoding()
acceptsarray<string>
in PHP 7.2+ (#1867), thanks @zonuexe!
Internals 

- Introduce ArrayType traits (#1715), thanks @herndlm!
- Introduce
Type::getConstantArrays
as successor forTypeUtils::getOldConstantArrays
(#1684), thanks @herndlm! - Deprecate
TypeUtils::getArrays()
andTypeUtils::getAnyArrays()
(#1687), thanks @herndlm! - Add
Type::getLastIterableValueType()
(#1811), thanks @herndlm! - Add
Type::getFirstIterableValueType()
(#1811), thanks @herndlm! - Add
Type::getFirstIterableKeyType()
andType::getLastIterableKeyType()
(#1812), #8152, thanks @herndlm! - Preparation for native types (#1823), #5333, thanks @rajyan!
- Move iterable methods from array to iterable traits (#1821), thanks @herndlm!
- Do not use other traits in
JustNullableTypeTrait
(#1821), thanks @herndlm! - Add
Type::isConstantArray()
(#1822), thanks @herndlm! - Replace single
getConstantArrays()
usage withisConstantArray()
(#1827), thanks @herndlm! - Add
Type::getArraySize()
(#1828), thanks @herndlm! - Add
Type::flipArray()
(#1832), thanks @herndlm! - Add
Type::getKeysArray()
andType::getValuesArray()
(#1851), thanks @herndlm! - Implement
FunctionReflection::getDocComment()
(#1834), thanks @staabm! - Add
Type::popArray()
andType::shiftArray()
(#1847), thanks @herndlm! - Add
Type::shuffleArray()
(#1853), thanks @herndlm! - Deprecate
ConstantArrayType::generalizeToArray()
(#1856), thanks @herndlm! - Explicitly specify native type for
array_pop
/array_shift
arg (#1864), thanks @herndlm! - Replace
ArrayType::castToArrayKey()
withType::toArrayKey()
(#1841), thanks @rvanvelzen! - remove IsFloatFunctionTypeSpecifyingExtension (#1880), thanks @staabm!
- remove IsNumericFunctionTypeSpecifyingExtension (#1880), thanks @staabm!
- Remove is_bool, is_countable and is_null type specifying extensions (#1881), thanks @mad-briller!
- Add
Type::fillKeysArray()
(#1869), thanks @herndlm! - Consistently return
ErrorType
for invalid keys (#1869), thanks @herndlm! - Replace
is_(int,object,resource,scalar)
extensions with stubs (#1884), thanks @BackEndTea! - Refactor
pow()
return type extension to re-useBinaryOp\Pow
type inference (#1900), thanks @staabm! - Get rid of of
Type::getArrays()
usage inInvalidKeyInArrayDimFetchRule
(#1872), thanks @herndlm! - Add
Type::searchArray()
(#1874), thanks @herndlm! - MutatingScope: change
variableTypes
to save byexprString
(#1909), thanks @rajyan! - MutatingScope: merge
variableTypes
andmoreSpecificTypes
(#1919), thanks @rajyan! - Upgrade deprecated
::set-*
in GitHub Actions (#1917), thanks @rez1dent3! - Improve non-array specification for recently cleaned-up array functions (#1907), thanks @herndlm!
- Retain sort order in intersection type (#1906), thanks @rvanvelzen!
- Add
Type::intersectKeyArray()
(#1916), thanks @herndlm! - Changelog generator - allow excluding branch (https://github.com/phpstan/phpstan-src/commit/aaf4b7df4493d44e7ca21e2b52daa2ec2c7c5033)
- MutatingScope refactoring and regression test (#1934), thanks @rajyan!
- Refactor to save nativeTypeExpressions by ExpressionTypeHolder (#1936), thanks @rajyan!
- Merge constantTypes with expressionTypes (#1938), thanks @rajyan!
vimeo/psalm
v4.30.0
What's Changed
Features
- Enhance type detection for internal php functions
key
,current
,end
andreset
by @boesing in https://github.com/vimeo/psalm/pull/8584 - Add dictionary delta for PHP 8.2 by @lptn in https://github.com/vimeo/psalm/pull/8634
- Add support for phpstan assertions by @VincentLanglet in https://github.com/vimeo/psalm/pull/8654
Fixes
- Add additional checks for concat of non-empty strings to return non-falsy by @gphargreaves in https://github.com/vimeo/psalm/pull/8585
- Correct return type of DateTimeImmutable sub method stub by @gphargreaves in https://github.com/vimeo/psalm/pull/8583
- fix wrong php version id in $_FILES by @kkmuffme in https://github.com/vimeo/psalm/pull/8600
- #7810/improve reflection stubs by @gphargreaves in https://github.com/vimeo/psalm/pull/8592
- ensure callbacks have the required number of params by @kkmuffme in https://github.com/vimeo/psalm/pull/8594
- Fix for issue #8631 by @hamburnyog in https://github.com/vimeo/psalm/pull/8639
- Fix XMLReader::expand() nullable parameter $baseNode by @BenMorel in https://github.com/vimeo/psalm/pull/8641
- Do not report serialize as unused by @VincentLanglet in https://github.com/vimeo/psalm/pull/8650
- serialize is not pure for array of object by @VincentLanglet in https://github.com/vimeo/psalm/pull/8652
- Fix Spl file handling signatures by @neclimdul in https://github.com/vimeo/psalm/pull/8644
- Remove
argc
andargv
elements from$_ENV
by @weirdan in https://github.com/vimeo/psalm/pull/8666 - adding openssl_x509_verify by @orklah in https://github.com/vimeo/psalm/pull/8677
Internal changes
- Allow to set PHP 8.2 version by @franmomu in https://github.com/vimeo/psalm/pull/8643
- Fix assert testing callmap return types by @othercorey in https://github.com/vimeo/psalm/pull/8676
New Contributors
- @neclimdul made their first contribution in https://github.com/vimeo/psalm/pull/8644
Full Changelog: https://github.com/vimeo/psalm/compare/4.29.0...4.30.0
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.
Merge request reports
Activity
- Approvals
- Assignees & reviewers
- Comments (from bots)
- Comments (from users)
- Commits & branches
- Edits
- Labels
- Lock status
- Mentions
- Merge request status
- Tracking