chore(deps): update all non-major dependencies
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| phpstan/phpstan | require-dev | patch |
0.12.73 -> 0.12.76
|
| vimeo/psalm | require-dev | minor |
4.4.1 -> 4.5.2
|
Release Notes
phpstan/phpstan
v0.12.76
Bugfixes 🐛
- Support for
break Xandcontinue X(phpstan/phpstan-src@31fcad6), #4535, #4346, #2913, #2926, #2549, #2003, #1945, #651, #1283 - Fixed nullsafe operator with null coalesce (phpstan/phpstan-src@
990ba51), #4527
v0.12.75
Improvements 🔧
- StubValidator - do not check missing callable signatures (phpstan/phpstan-src@
b7d6080)
Bleeding edge 🔪
- Detect wrong usage of
@varPHPDoc tag (level 2) (phpstan/phpstan-src@5886053) - Check array deconstruction (level 3) (phpstan/phpstan-src@
aae34d9), #3267
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.
Bugfixes 🐛
- PHP 8 - fix signatures with multiple variants (phpstan/phpstan-src@
8633000), #4514 - Fixed local ignoring using annotations in traits (phpstan/phpstan-src@
785b663), #4513 - Updated PHP 8 stubs (phpstan/phpstan-src@
cc9a674), #4519 -
SplObjectStorage's ArrayAccess will never return null (phpstan/phpstan-src@6062437), #4436 - Resolve unknown generic type to bound instead of ErrorType (phpstan/phpstan-src@
6ef87d1) - Fixed assigning generic object without a constructor (like
SplObjectStorage) to a property (phpstan/phpstan-src@2017318), #3777
Function signature fixes 🤖
- Avoid false positive for namespaced Xpath (#447), thanks @VincentLanglet!
v0.12.74
Improvements 🔧
- Resolve
StaticTypecoming from dynamic return type extensions (phpstan/phpstan-src@76b65b4)
Bugfixes 🐛
- WrongVariableNameInVarTagRule - fix iteratee variable above foreach (phpstan/phpstan-src@
3d365fc), #4504 - Fix undefined variable in
@varin unreachable code (phpstan/phpstan-src@ec4e7ed), #4505
vimeo/psalm
v4.5.2
4.5.0 introduced syntax incompatible with PHP 7.2, this fixes it – thanks to @drealecs, and @weirdan who prevented future regressions.
- fixes a possible infinite loop with some generic instantiation (#5211)
- adds completions for function names thanks to @joehoyle (#5128)
- allows
@psalm-typeto be used inside generics thanks to @leightonthomas (#5205) -
array_key_existsnow behaves a little safer thanks to @brainlock (#5197) - allow
is_arraycheck on a templatediterable(#5198)
v4.5.1
- Fix #5196 - improve type resolution of templated properties before checking default values
- Fix #5194 - don’t emit
NonInvariantDocblockPropertyTypewhen redefining core class properties
This should also reinstate psalm/phar publishing
v4.5.0
Features
- @Danysan1 added support for CodeClimate (#5030)
-
@bdsl added detection of property type variance in #5131. Non-invariant property types causes a fatal error if the property types are specified in PHP code, but can also signal issues with your code if they're specified in docblocks. Psalm has two separate issues for this,
NonInvariantPropertyTypeandNonInvariantDocblockPropertyType. - Taint Analysis @adrienlucas added an option to dump the taint flow graph for debugging purposes (#5080)
- Language Server @joehoyle added support for static class method completion (#5085) and completions for array keys (#5105) and constants (#5115)
- Thanks to @weirdan, Psalm now emits exit code 1 only when it has internal issues. When it finds issues with your code it emits code 2 (#5087)
-
@weirdan added checks to prevent invalid implementation of
Traversable(#5171)
Changes
- The meaning of
non-empty-stringhas been clarified to mean "every string except the empty string''". A new type,non-falsy-string, represents "every string except the empty string and the string'0'". This follows PHP's treatment of falsiness, where the string'0'is treated as false.
Bugfixes
- Don't discard staticness of objects when combining types (#5029)
- @orklah fixed #5021 by having Psalm calculate more literal values
-
@lukasbestle fixed #5037 by removing the
SimpleXMLIterator's reliance on the new\Stringableinterface - avoid false-positive in a dynamic property fetch inside a ternary
- prevent complex assertions from crashing reflection (#5025)
- improve string non-emptiness combinations (#5017)
-
@weirdan fixed #5048 by ensuring the autoloader is started in
psalm --init -
@danog fixed #4289 by checking iterator types in
yield fromexpressions - @weirdan fixed #5057 by adding flows to array spreads
-
@weirdan ensured
class_alias()calls are respected when accessing static properties (#5068) - Language Server @joehoyle fixed a cache invalidation issue in language server mode (#5084)
- @orklah provided a fix for #5082 by only transforming a keyed array to a callable array if there are two elements
-
@sj-i improved signatures for
PDOStatement(#5100) - Taint Analysis prevented an issue where taint analysis could loop endlessly
- fix issue using
PDOStatement::fetchObjectwherestdClassis not also used (#5099) - Provide more errors when using named params incorrectly (#4631)
-
Unused code detection @joehoyle added reference tracking for
globalvariables (#5122) -
Taint Analysis
@psalm-flowis now supported in methods (#5137) -
@pilif added a parameter to
DateTime::createFromInterface(#5138) - Psalter @orklah fixed a bug that used an inexact return type for anonymous classes (#5145)
-
Unused code detection @weirdan marked
throwvariables as always used (#5166) -
@vudaltsov improved the signature for
PDO::pgsqlGetNotify(#5169) - improve handling of callables in the form
[$some_var, 'some_method_name'](#5176)
Internal
Renovate configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.