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 X
andcontinue 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
@var
PHPDoc 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
StaticType
coming 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
@var
in 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-type
to be used inside generics thanks to @leightonthomas (#5205) -
array_key_exists
now behaves a little safer thanks to @brainlock (#5197) - allow
is_array
check on a templatediterable
(#5198)
v4.5.1
- Fix #5196 - improve type resolution of templated properties before checking default values
- Fix #5194 - don’t emit
NonInvariantDocblockPropertyType
when 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,
NonInvariantPropertyType
andNonInvariantDocblockPropertyType
. - 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-string
has 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\Stringable
interface - 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 from
expressions - @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::fetchObject
wherestdClass
is not also used (#5099) - Provide more errors when using named params incorrectly (#4631)
-
Unused code detection @joehoyle added reference tracking for
global
variables (#5122) -
Taint Analysis
@psalm-flow
is 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
throw
variables 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.