Update all non-major dependencies (minor)
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
friendsofphp/php-cs-fixer | require-dev | minor |
3.4.0 -> 3.5.0
|
phpstan/phpstan | require-dev | minor |
1.2.0 -> 1.4.0
|
vimeo/psalm | require-dev | minor |
4.15.0 -> 4.18.1
|
Release Notes
FriendsOfPHP/PHP-CS-Fixer
v3.5.0
- bug #6058 Fix
Tokens::insertSlices
not moving around all affected tokens (paulbalandan, SpacePossum) - bug #6160 NonPrintableCharacterFixer - fix for when removing non-printable character break PHP syntax (kubawerlos)
- bug #6165 DeclareEqualNormalizeFixer - fix for declare having multiple directives (kubawerlos)
- bug #6170 NonPrintableCharacterFixer - fix for string in single quotes, having non-breaking space, linebreak, and single quote inside (kubawerlos)
- bug #6181 UseTransformer - Trait import in enum fix (PHP8.1) (SpacePossum)
- bug #6188 PhpdocTo(Param|Property|Return)TypeFixer - fix for type intersections (kubawerlos)
- bug #6202 SquareBraceTransformer - fix for destructing square brace after double arrow (kubawerlos)
- bug #6209 OrderedClassElementsFixer - PHP8.0 support abstract private methods in traits (SpacePossum)
- bug #6224 ArgumentsAnalyzer - support PHP8.1 readonly (SpacePossum)
- feature #4571 BlankLineBeforeStatementFixer - can now add blank lines before doc-comments (addiks, SpacePossum)
- feature #5953 GetClassToClassKeywordFixer - introduction (paulbalandan)
- minor #6108 Drop support for Symfony v4 (keradus)
- minor #6163 CI: update used PHP version (keradus)
- minor #6167 SingleSpaceAfterConstructFixer - allow multiline const (y_ahiru, SpacePossum)
- minor #6168 indexes -> indices (SpacePossum)
- minor #6171 Fix tests and CS (SpacePossum)
- minor #6172 DX: Tokens::insertSlices - groom code and fix tests (keradus)
- minor #6174 PhpdocAlignFixer: fix property-read/property-write descriptions not getting aligned (antichris)
- minor #6177 DX: chmod +x for benchmark.sh file (keradus)
- minor #6180 gitlab reporter - add fixed severity to match format (cbourreau)
- minor #6183 Simplify DiffConsoleFormatter (kubawerlos)
- minor #6184 Do not support array of patterns in Preg methods (kubawerlos)
- minor #6185 Upgrade PHPStan (kubawerlos)
- minor #6189 Finder - fix usage of ignoreDotFiles (kubawerlos)
- minor #6190 DX: DiffConsoleFormatter - escape - (keradus)
- minor #6194 Update Docker setup (julienfalque)
- minor #6196 clean ups (SpacePossum)
- minor #6198 DX: format dot files (kubawerlos)
- minor #6200 DX: Composer's branch-alias leftovers cleanup (kubawerlos)
- minor #6203 Bump required PHP to 7.4 (keradus)
- minor #6205 DX: bump PHPUnit to v9, PHPUnit bridge to v6 and Prophecy-PHPUnit to v2 (keradus)
- minor #6210 NullableTypeDeclarationForDefaultNullValueFixer - fix tests (HypeMC)
- minor #6212 bump year 2021 -> 2022 (SpacePossum)
- minor #6215 DX: Doctrine\Annotation\Tokens - fix phpstan violations (keradus)
- minor #6216 DX: Doctrine\Annotation\Tokens - drop unused methods (keradus)
- minor #6217 DX: lock SCA tools for MR builds (keradus)
- minor #6218 Use composer/xdebug-handler v3 (gharlan)
- minor #6222 Show runtime on version command (SpacePossum)
- minor #6229 Simplify Tokens::isMonolithicPhp tests (kubawerlos)
- minor #6232 Use expectNotToPerformAssertions where applicable (SpacePossum)
- minor #6233 Update Tokens::isMonolithicPhp (kubawerlos)
- minor #6236 Annotation - improve getting variable name (kubawerlos)
phpstan/phpstan
v1.4.0
This release fixes 25 issues!
🚀
Major new features - Support for PHP 8.1
readonly
properties (RFC)- Readonly properties must be assigned in the constructor of the declaring class
- Memoized type of a readonly property is not invalidated even when calling a method with side effects
- Readonly properties cannot be passed by reference
- Improved detection of incorrect types assigned to properties:
🔧
Improvements -
ParametersAcceptorSelector
- message forShouldNotHappenException
(https://github.com/phpstan/phpstan-src/commit/d3c34832c7e27ee068cef99c437add30cce5ad23), #6328 - Constructor of
BenevolentUnionType
is covered by BC promise (https://github.com/phpstan/phpstan-src/commit/8f28dc8453f0da1f1476fe2f732e7be3f209d726)
🐛
Bugfixes - Fix PHPDocs with
require
statement (https://github.com/phpstan/phpstan-src/commit/b5a2c8f2b5f0b87c09f87a1457610212e688d6e2), #6348 - Fix inferring template types in
ClosureType
(#921), thanks @canvural! - Fix
random_int()
without args crash (https://github.com/phpstan/phpstan-src/commit/6d7ba0f0db550df34aac51af3a0f8f13e710ca0c), #6361
Thanks to some internal refactorings listed below, the following issues have been fixed: #5337, #4910, #5316, #5607, #3766, #3858, #3310, #3264, #2806, #5328, #3044, #6184, #3339, #5656, #5362, #3867, #5707
- Fix scope after for-loop (https://github.com/phpstan/phpstan-src/commit/4fb1a77b02415356c98fd86323cdc19495b652dd)
- Improve preserving
ConstantArrayType
after setting new offset (https://github.com/phpstan/phpstan-src/commit/ec117fa2aec96ea1aef1190c3decb9d945219e21) -
ConstantArrayTypeBuilder
- preserveConstantArrayType
for integer range offsets (https://github.com/phpstan/phpstan-src/commit/3eab4628f2f031456eb320b43f9c722ab419d370) - Fix generalizing
ConstantIntegerType
in Scope (https://github.com/phpstan/phpstan-src/commit/d6c7595ba5ee9ea6ff137082fe3a59d8803962ae) - Scope generalization for integer range types (https://github.com/phpstan/phpstan-src/commit/36513388a628fac652f5d9cc5db8c6cdf21a175e)
🤖
Function signature fixes - Changed signature of
gmp_div
(#915), thanks @danielmarschall! -
PDO::prepare()
might returnfalse
(#916, https://github.com/phpstan/phpstan-src/commit/a9881e3afd4a105f0bd1391fb57a8e5c3462d2bc), thanks @staabm! - More precise
preg_match*
return type signatures (#918), thanks @staabm!
v1.3.3
🔧
Improvements - ThrowableReturnTypeExtension honors
@method
tag forgetCode()
method above child Exception classes (https://github.com/phpstan/phpstan-src/commit/e04cc8dfb8f6b3a2c4ac399232a6691baed1d162) - Development repository
phpstan/phpstan-src
now uses promoted properties (https://github.com/phpstan/phpstan-src/pull/910)
v1.3.2
Improvements
- Scope - Improved file description for traits used by anonymous classes (https://github.com/phpstan/phpstan-src/commit/10e46026885ba643d63513594682efd634bf6350), #6312
🐛
Bugfixes - Fix handling renamed trait method (https://github.com/phpstan/phpstan-src/commit/8498b01253f94f142554463aa23f2b842ee8f0c4), #6306
- Fix FileTypeMapper call in MethodTemplateTypeRule (https://github.com/phpstan/phpstan-src/commit/63838ee7c202d7b116a5d3dd57f9bb608fdb54fd)
- Fix looking for PHPDocs in trait in anonymous class in trait (https://github.com/phpstan/phpstan-src/commit/11176c76aac5b7e15cc16d32e88ecc31cf6de64b), #6253
- Better progress bar visuals for CI environments (https://github.com/phpstan/phpstan-src/commit/0993d180e5a15a17631d525909356081be59ffeb), #6295
🤖
Function signature fixes - These functions return
false
since PHP 5.4 (#907), thanks @johnbillion! - Improve
Exception::getCode()
type (https://github.com/phpstan/phpstan-src/commit/11817175c9977a835d8a0dcc6f8edf2d87744b47)
v1.3.1
🐛
Bugfixes - Fixed
mixed
type not considered nullable (https://github.com/phpstan/phpstan-src/commit/c0aad86b543c97ce00e012f0092c22fa96728f35), #6293, #6158 - Fix renamed trait method visibility (https://github.com/phpstan/phpstan-src/commit/fc5be6a991e355094a97c3b9cdc27ff39284f192), #6264
- Fix
PDO::pgsqlGetNotify()
call (https://github.com/phpstan/phpstan-src/commit/3624bbb2c47c997f2048cc490854e32bb7a77e92), #6255 - Fix PHPDocs in file with
#!
shebang (https://github.com/phpstan/phpstan-src/commit/c87284a8eafcea2fde391b69a29daa8f4a0adf37), #6252 - Fix infinite recursion in
@mixin
extensions (https://github.com/phpstan/phpstan-src/commit/9ab4e6fd8ef29d7bf7b0b729250e04f3dd5ad75d), #6300
🤖
Function signature fixes - Fix return type of
SessionHandler::gc()
(#899), thanks @Khartir! - added
preg_quote
to NonEmptyStringFunctionsReturnTypeExtension (#881), thanks @staabm! - Support non-empty-string type in string-replace functions (#879), thanks @staabm!
- uniqid() always returns a non-empty-string (#905), thanks @MidnightDesign!
v1.3.0
🚀
Major new features -
Support for PHP 8.1 Enums - RFC
- Thanks to @kukulich for custom Enum rules!
- Upgraded Roave/BetterReflection to 5.0.0
- PHP 7.1+ is still supported because the dependency is downgraded automatically in our own fork
- This brings plenty of bugfixes, for example PHP 8.0 Attributes can now be read in static reflection context
- PHPStan now works when OPCache is enabled!
- Thanks to this commit: https://github.com/phpstan/phpstan-src/commit/e30f4467ab8fa2421f7da6c3909061ab4d5ba743
- The development repository
phpstan/phpstan-src
is now PHP 8.0+ only, while the distribution packagephpstan/phpstan
still supports PHP 7.1+.- This is achieved thanks to automatic downgrade of source code using Rector during PHAR compilation
- PHPStan now ships with Symfony PHP polyfills for PHP 7.2-8.0.
🔧
Improvements - Update
nikic/php-parser
to 4.13.2 (https://github.com/phpstan/phpstan-src/commit/8939964ecfb44a01629c3f2747dbecbc6b273ea0) - Update to Symfony 5.4 (#863)
- CLI option
--allow-empty-baseline
to allow generating empty baseline (#776), thanks @Lctrs! - Support for
@phpstan-property
,@phpstan-property-read
, and@phpstan-property-write
(#775), thanks @mad-briller! - Add support for the
key-of<...>
andvalue-of<...>
types (#800), thanks @ste93cry! - GithubErrorFormatter > Allow any
ErrorFormatter
(#854), thanks @ruudk! - Array unpacking support for string-keyed arrays (#803), thanks @canvural!
- Moved some classes from ClassBlacklistReflectionProvider to staticReflectionClassNamePatterns config so that they are in effect for ClassBlacklistSourceLocator too (https://github.com/phpstan/phpstan-src/commit/e40ba1569885ce70cdfea4d06abe429960589b31)
- PHPStanTestCase: Added a helper method to assert no errors happend (#894), thanks @staabm!
🐛
Bugfixes - Resolve deprecated tag also from parents (#792), thanks @eiriksm!
-
echo
isn't callable either. (#777), thanks @johnbillion! - Resolve object type by class const fetch in switch statement (#745), thanks @marmichalski!
- Allow also
$object::class
with Identical (#745), thanks @marmichalski! - Fixed ErrorFormatter tests in terminals with console support (#805), thanks @kukulich!
- Copy all environment variables when running PHPStan Pro (https://github.com/phpstan/phpstan-src/commit/e61ad9575a000b410efcf2824ef3a4c87083e1b6), #5433
- Allow destructuring of objects implementing ArrayAccess (#819), thanks @herndlm!
- Spreading of general arrays should not lead to a non-empty-array (#818), thanks @herndlm!
- Simplify FileTypeMapper (https://github.com/phpstan/phpstan-src/commit/256d11b8fe9f19924b9f4decc3451665fc8c2769)
- Make FileTypeMapper more deterministic (https://github.com/phpstan/phpstan-src/commit/ae6dca5d4f485fde77a1b2c7eaca55fe2ec9b28a)
- Fix normal vs. stub PHPDoc (https://github.com/phpstan/phpstan-src/commit/e9dd3a30339de34a3fe11092b3aa245216038953)
- ReflectionAttribute is no longer final class (https://github.com/phpstan/phpstan-src/commit/97e153ce52148d94719e3af442aa7358f3a73d07)
- ReflectionAttribute stub - IS_INSTANCEOF constant (https://github.com/phpstan/phpstan-src/commit/cfb6fad051a4419872b4de47db45c398c90be6e1)
- DependencyResolver - cause autoloading less often when looking at literal arrays (https://github.com/phpstan/phpstan-src/commit/b927c87f585d314ba5a766203a32671186d612c5), #6187, #6096
- MemoizingReflectionProvider - cache
hasClass()
as case-sensitive (https://github.com/phpstan/phpstan-src/commit/792ce0af4b4bd59f8c5c4f67a28685922e0fff15), #6096 - XdebugHandler - setPersistent (#726), #5809, thanks @fsmoak!
- Simplify AutoloadSourceLocator - let it actually autoload the file (https://github.com/phpstan/phpstan-src/commit/e30f4467ab8fa2421f7da6c3909061ab4d5ba743)
- AutoloadSourceLocator - filter classes by startLine only if there are multiple of them (#882)
- ComposerJsonAndInstalledJsonSourceLocatorMaker - fix for autoload-dev section (#882)
- TestCaseSourceLocatorFactory - skip invalid Composer locations (#882)
- Fix ReturnTypeRule (#882)
- Silent
@
operator should use& $errno
check (#889), thanks @samsonasik! - ClassTemplateTypeRule should not be executed for interfaces (https://github.com/phpstan/phpstan-src/commit/9adf6bff2e4a3564dfacb073f99d7638797c0a19)
- MixinRule - check interfaces and enums (https://github.com/phpstan/phpstan-src/commit/8519cca4247f34ca201f38e16f57dd7aff275fe0)
🤖
Function signature fixes - Added DynamicReturnTypeExtension for
trigger_error
(#766), thanks @staabm! - The array returned by
array_count_values()
can never contain a zero. (#773), thanks @johnbillion! - Add ThrowableReturnTypeExtension (#795), thanks @herndlm!
- Update functionMap for XSLTProcessor (#797), thanks @hbrecht!
- imap_delete / imap_undelete: correction (#799), thanks @hbrecht!
- Fix the signature of the value returned from the
date_parse
anddate_parse_from_format
functions (#807), thanks @ste93cry! - Fix the signature of
get_resources()
(#837), thanks @MidnightDesign! - Fix preg_filter function signature (#826), thanks @johnstevenson!
- Fix ldap_set_rebind_proc signature (#851), thanks @villfa!
-
restore_error_handler
andrestore_exception_handler
always return booleantrue
. (#850), thanks @johnbillion! - More specific return types for some
DateTimeZone
methods (#857), thanks @johnbillion! - Add missing
Set::map()
method toext-ds
stub (#855), thanks @simPod! - Support variable constant flags in
preg_split
(https://github.com/phpstan/phpstan-src/commit/a16c7aeac11f3072edc2d5f01dfef4e5442290d2), thanks @clxmstaab!
vimeo/psalm
v4.18.1
What's changed
Fixed
- Revert "Merge pull request #7239 from DeyV/master" by @weirdan in https://github.com/vimeo/psalm/pull/7346 (fixed crash reported in #7329)
Full Changelog: https://github.com/vimeo/psalm/compare/4.18...4.18.1
v4.18
Compatibility
Psalm now required Composer 2.
What's Changed
Deprecations
- Deprecated
Codebase::$php_major_version
andCodebase::$php_minor_version
properties by @weirdan in https://github.com/vimeo/psalm/pull/7265 - Deprecated
THtmlEscapedString
by @weirdan in https://github.com/vimeo/psalm/pull/7284
Features
- Template and variable types inference for methods marked with psalm-if-this-is by @klimick in https://github.com/vimeo/psalm/pull/7259
- [Feat]: Initial Support for LSP Code Actions by @tm1000 in https://github.com/vimeo/psalm/pull/7255
- Allow assertions on mutable object properties. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7252
- Disallow ksorting lists by @danog in https://github.com/vimeo/psalm/pull/7019
Fixes
- Remove "is not in project" warnings by @tm1000 in https://github.com/vimeo/psalm/pull/7256
- Report missing file path properly by @simPod in https://github.com/vimeo/psalm/pull/7266
- uniqid() returns a non-empty-string by @MidnightDesign in https://github.com/vimeo/psalm/pull/7271
- pdo: more precise generic type by @staabm in https://github.com/vimeo/psalm/pull/7274
- resolve ClassConstant for both sides in isContainedBy by @orklah in https://github.com/vimeo/psalm/pull/7286
- Identify ints from TClassConstant when checking for LiteralEquality by @orklah in https://github.com/vimeo/psalm/pull/7287
- resolve type alias and class const on UnionTypeComparator by @orklah in https://github.com/vimeo/psalm/pull/7288
- Fix parse_url() return type by @villfa in https://github.com/vimeo/psalm/pull/7293
- don't crash when pushing a template to in_array by @orklah in https://github.com/vimeo/psalm/pull/7311
- Made all reflection classes implement Reflector by @donquixote in https://github.com/vimeo/psalm/pull/7317
- fix empty string not quoted in keyed array offset by @orklah in https://github.com/vimeo/psalm/pull/7309
- Prevented crashes on
array_map(...)
by @weirdan in https://github.com/vimeo/psalm/pull/7321 - Fix analysis when __invoke() exists by @villfa in https://github.com/vimeo/psalm/pull/7325
Internal changes
- Increase composer timeout by @weirdan in https://github.com/vimeo/psalm/pull/7264
- Move from deprecated Composer 1 to Composer 2 runtime api by @DeyV in https://github.com/vimeo/psalm/pull/7239
New Contributors
- @DeyV made their first contribution in https://github.com/vimeo/psalm/pull/7239
- @MidnightDesign made their first contribution in https://github.com/vimeo/psalm/pull/7271
- @donquixote made their first contribution in https://github.com/vimeo/psalm/pull/7317
Full Changelog: https://github.com/vimeo/psalm/compare/4.17.0...4.18
v4.17.0
What's Changed
Features
- Fix first-class callables with built-in, magic, undefined methods and callable expressions by @trowski in https://github.com/vimeo/psalm/pull/7232
Fixes
- quote more chars in keyed array names by @orklah in https://github.com/vimeo/psalm/pull/7225
- handle literal equality with integer ranges by @orklah in https://github.com/vimeo/psalm/pull/7224
- Allow XdebugHandler version 3 by @johnstevenson in https://github.com/vimeo/psalm/pull/7211
- Improve CliUtils $argv handling by @vstm in https://github.com/vimeo/psalm/pull/7210
- Fix closure param type inference in generic context by @klimick in https://github.com/vimeo/psalm/pull/7200
- Fix @psalm-internal with trailing whitespaces by @sj-i in https://github.com/vimeo/psalm/pull/7207
- add missing samesite array attribute by @swiffer in https://github.com/vimeo/psalm/pull/7215
- Contextual inference for closure param types by @klimick in https://github.com/vimeo/psalm/pull/7228
- allow suppressing unevaluatedCode by @orklah in https://github.com/vimeo/psalm/pull/7236
- mysqli_fetch_object: added missing generic by @staabm in https://github.com/vimeo/psalm/pull/7240
- Checking
psalm-if-this-is
before applyingpsalm-this-out
by @klimick in https://github.com/vimeo/psalm/pull/7251 - allow calling mutation_free function inside a mutation_free context by @orklah in https://github.com/vimeo/psalm/pull/7253
- Fixes #7246, wrap getTypeContextAtPosition in try/catch by @tm1000 in https://github.com/vimeo/psalm/pull/7247
- forbid calling impure callable in immutable context by @orklah in https://github.com/vimeo/psalm/pull/7260
- revert #7054 by @orklah in https://github.com/vimeo/psalm/pull/7263
Internal changes
- remove always true/false conditions by @orklah in https://github.com/vimeo/psalm/pull/7229
- code grooming by @orklah in https://github.com/vimeo/psalm/pull/7230
- more code grooming by @orklah in https://github.com/vimeo/psalm/pull/7233
- Speed up Windows tests by @weirdan in https://github.com/vimeo/psalm/pull/7245
- Improve negated reconciliation logic by @muglug in https://github.com/vimeo/psalm/pull/7261
New Contributors
- @johnstevenson made their first contribution in https://github.com/vimeo/psalm/pull/7211
- @vstm made their first contribution in https://github.com/vimeo/psalm/pull/7210
- @swiffer made their first contribution in https://github.com/vimeo/psalm/pull/7215
Full Changelog: https://github.com/vimeo/psalm/compare/4.16.1...4.17.0
v4.16.1
What's Changed
Fixes
- Use
strpos
instead ofstr_contains
by @weirdan in https://github.com/vimeo/psalm/pull/7220
Full Changelog: https://github.com/vimeo/psalm/compare/4.16.0...4.16.1
v4.16.0
What's Changed
Removed
-
Codebase::$use_referencing_files
,Context::$possible_param_types
andFunctionLikeStorage::$template_covariants
were removed. We do not believe they were used by anyone, thus we don't consider it to be a BC break
Features
- Detect unused properties that are written to inside arrays by @muglug in https://github.com/vimeo/psalm/pull/7129
- Allow operator overloading for Decimal extension (fixes #3938). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7103
- Fix count_chars stubs by @kamil-tekiela in https://github.com/vimeo/psalm/pull/7094
- Added support for first-class callables by @trowski in https://github.com/vimeo/psalm/pull/7113
- Allow suppressing UnusedPsalmSuppress, remove unused suppressions. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7133
- Forbid positional arg after named arg by @klimick in https://github.com/vimeo/psalm/pull/7136
- in_array returns false in strict mode if types are incompatibles by @mathroc in https://github.com/vimeo/psalm/pull/7141
- "No errors found!" message is now printed within a nice green block by @SMAtaurRahman in https://github.com/vimeo/psalm/pull/7150
- Use igbinary for communication between processes if possible by @sj-i in https://github.com/vimeo/psalm/pull/7162
- Add Set::map() to ext-ds stub by @simPod in https://github.com/vimeo/psalm/pull/7156
- Improve project files discovery performance by @dvz in https://github.com/vimeo/psalm/pull/7161
- allow marking enum cases as deprecated by @pilif in https://github.com/vimeo/psalm/pull/7192
Fixes
- Fix non-empty-literal-string to behave as subtype of non-empty-string (fixes #7095). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7105
- fix reconciliation between positive-int and inferior/superior assertions by @orklah in https://github.com/vimeo/psalm/pull/7106
- don't stop analyzing array, even if we already have a type and we can't create an object like by @orklah in https://github.com/vimeo/psalm/pull/7093
- fix missing case for displaying varId by @orklah in https://github.com/vimeo/psalm/pull/7054
- array_count_values return type for uncertain arrays by @weirdan in https://github.com/vimeo/psalm/pull/7115
- Class property issue suppression fixes. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7130
- Fix type inference of closure params by @klimick in https://github.com/vimeo/psalm/pull/7135
- Fix closure param type inference with named params by @klimick in https://github.com/vimeo/psalm/pull/7139
- Post-assertions in loops by @klimick in https://github.com/vimeo/psalm/pull/7143
- fix CI by @orklah in https://github.com/vimeo/psalm/pull/7153
- Fix optional arguments in number_format (fixes #7158). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7159
- Fix ldap_set_rebind_proc signature by @villfa in https://github.com/vimeo/psalm/pull/7145
- Fixed compatibility with SoapClient by @yethee in https://github.com/vimeo/psalm/pull/7140
- display class-strings in keyed arrays syntax and allow using them for assertions by @orklah in https://github.com/vimeo/psalm/pull/7152
- ISSUE-5962 Fixed wrong line number for @method annotations by @nowaja in https://github.com/vimeo/psalm/pull/7157
- Fix conflicting array_map return provider fake variables. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7167
- Fix faulty comparison with typed closure by @muglug in https://github.com/vimeo/psalm/pull/7175
- doesn't infer empty for ReflectionClass::getAttributes without params by @orklah in https://github.com/vimeo/psalm/pull/7180
- Fixed ignoreTypeStats & useStrictTypes flag value detection for directories in config by @SMAtaurRahman in https://github.com/vimeo/psalm/pull/7182
- fix #7178 again by @orklah in https://github.com/vimeo/psalm/pull/7189
- fix other occurences of getAttributes by @orklah in https://github.com/vimeo/psalm/pull/7190
- MySqli: some parameters are nullable by @igitur in https://github.com/vimeo/psalm/pull/7186
- allow destructuring on a possible null variable as long as there is an array alongside by @orklah in https://github.com/vimeo/psalm/pull/7193
- Added pure annotations to enum functions by @ricardoboss in https://github.com/vimeo/psalm/pull/7194
- fix(stubs): UnitEnum::cases() can return an empty list by @azjezz in https://github.com/vimeo/psalm/pull/7197
- Add early file filtering to
FileProvider::getFilesInDir()
by @dvz in https://github.com/vimeo/psalm/pull/7201 - flag the context as "inside_conditional" when analyzing leftover cases to prevent emitting unused error by @orklah in https://github.com/vimeo/psalm/pull/7203
- Restore attributes in ClassConstantStorage by @weirdan in https://github.com/vimeo/psalm/pull/7217
Docs
- Updated list of current maintainers by @weirdan in https://github.com/vimeo/psalm/pull/7064
Internal changes
- Remove useless chunk of code in ScopeAnalyzer by @muglug in https://github.com/vimeo/psalm/pull/7097
- Use getSingleAtomic() instead of array_values(getAtomicTypes())[0]. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7134
- fix some more expressions that can be replaced by getSingleAtomic by @orklah in https://github.com/vimeo/psalm/pull/7137
- Fix parser cache files maintenance by @dvz in https://github.com/vimeo/psalm/pull/7082
- Convertion of partials to full imports by @rarila in https://github.com/vimeo/psalm/pull/7155
- Set allow-plugins for Composer 2.2 by @villfa in https://github.com/vimeo/psalm/pull/7149
- Codingstyle: declare construct & namespace declaration by @rarila in https://github.com/vimeo/psalm/pull/7165
- Remove superflous exclude pattern in phpcs.xml by @rarila in https://github.com/vimeo/psalm/pull/7168
- Removed misleading parentheses after language construct by @kamil-tekiela in https://github.com/vimeo/psalm/pull/7183
- fix wrong handling of flags in context by @orklah in https://github.com/vimeo/psalm/pull/7195
- allow phpcodesniffer-composer-installer plugin by @orklah in https://github.com/vimeo/psalm/pull/7205
- Workaround for PHPUnit process isolation issue with composer 2.2 by @weirdan in https://github.com/vimeo/psalm/pull/7208
- Remove unused in-array assertions by @muglug in https://github.com/vimeo/psalm/pull/7202
New Contributors
- @dvz made their first contribution in https://github.com/vimeo/psalm/pull/7082
- @yethee made their first contribution in https://github.com/vimeo/psalm/pull/7140
- @nowaja made their first contribution in https://github.com/vimeo/psalm/pull/7157
- @igitur made their first contribution in https://github.com/vimeo/psalm/pull/7186
Full Changelog: https://github.com/vimeo/psalm/compare/v4.15.0...4.16.0
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.