mezzio-tooling
mezzio-tooling copied to clipboard
Update dependency vimeo/psalm to v6
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| vimeo/psalm | ^5.17.0 -> ^6.0.0 |
Release Notes
vimeo/psalm (vimeo/psalm)
v6.13.1
What's Changed
Fixes
- Add windows support to psalm-review by @HenkPoley in #11528
Full Changelog: https://github.com/vimeo/psalm/compare/6.13.0...6.13.1
v6.13.0
What's Changed
Features
- :sparkles: Full support for iterables for
iterator_to_arrayby @andrew-demb in #11430 - Add an
arrayCacheconfiguration key that can be used to disable the newly introduced array cache: this will slightly slow down execution times while reducing RAM usage, avoiding OOM issues on bigger codebases by @danog
Full Changelog: https://github.com/vimeo/psalm/compare/6.12.1...6.13.0
v6.12.1
What's Changed
Fixes
- Fix false negatives with mixed in templated value-of/key-of by @danog in #11499
- Avoid tainting problems with first-class callables by @danog
Full Changelog: https://github.com/vimeo/psalm/compare/6.12.0...6.12.1
v6.12.0: - Cache refactoring
This release features a major cache refactoring, improving stability, removing race conditions and adding a new feature called cache consolidation, which consolidates the cache, normally composed of split files, into one single file with the --consolidate-cache flag, for quicker runs when doing whole project scans!
To use cache consolidation, simply run Psalm with the --consolidate-cache flag after running a normal analysis: running with this flag will skip analysis and only consolidate the cache.
If you consolidate your cache in CI runs, sure to re-consolidate the cache again after running Psalm before re-saving the updated cache.
What's Changed
Features
- Implement cache consolidation with --consolidate-cache flag by @danog in #11450
- Cache refactoring by @danog in #11415
- Add ignoreIncludeSideEffects configuration key by @danog in #11451
Fixes
- Fix crash on numeric annotation by @VincentLanglet in #11445
- Disable diffing if not in diff run by @danog in #11447
- Update stubs for ext-mongodb 2.0 by @alcaeus in #11453
- Update stubs for ext-mongodb 2.1 by @alcaeus in #11454
Docs
- [Doc] Clarify union vs. intersection for
numericsupertype by @kylekatarnls in #11444
New Contributors
- @kylekatarnls made their first contribution in #11444
Full Changelog: https://github.com/vimeo/psalm/compare/6.11.0...6.12.0
v6.11.0
What's Changed
Features
- Add new
ClassFilePathProviderInterfaceplugin hook to polyfill custom autoloaders by @danog in #11422
Fixes
- Small analysis bugfix by @danog
Subscribe to the brand new Psalm newsletter to stay up to date with all of Psalm's news!
Full Changelog: https://github.com/vimeo/psalm/compare/6.10.3...6.11.0
v6.10.3
What's Changed
Fixes
Full Changelog: https://github.com/vimeo/psalm/compare/6.10.2...6.10.3
v6.10.2
What's Changed
Fixes
- InvalidNamedArgument "objectOrClass" for ReflectionClass constructor due to incorrect stub by @savinmikhail in #11407
- DateTimeImmutable::setTimestamp rename argument to $timestamp by @savinmikhail in #11409
- fix: alter of ClassMustBeFinal inserts final before attributes by @Tofandel in #11390
- Add fix for PropertyHooks by @craig-mcmahon in #11411
- Disable diff mode by @danog in #11416
New Contributors
- @savinmikhail made their first contribution in #11407
- @craig-mcmahon made their first contribution in #11411
Full Changelog: https://github.com/vimeo/psalm/compare/6.10.1...6.10.2
v6.10.1
What's Changed
Fixes
- Deprecate reflection's setAccessible on 8.1+ by @danog in #11401
- Better types for mb_substitute_character by @danog in #11400
Full Changelog: https://github.com/vimeo/psalm/compare/6.10.0...6.10.1
v6.10.0
Join the new official Psalm news channel and the Psalm community!
The news channel will be used to share inside exclusive news about upcoming Psalm features (including property hook support, coming within the next few releases!), and the community group can be used to discuss and share the way you use Psalm!
What's Changed
Features
- Add rank to SARIF report by @danog in #11383
- Add forceJit and noCache configuration keys by @danog in #11380
Full Changelog: https://github.com/vimeo/psalm/compare/6.9.6...6.10.0
v6.9.6
Add git, ssh and composer to the docker image by @danog.
Full Changelog: https://github.com/vimeo/psalm/compare/6.9.5...6.9.6
v6.9.5
What's Changed
Fixes
- Fix some possible JIT crashes in official docker image by @danog
- Improve stub generation by @danog
- Merge multiple docblocks for statements by @robchett in #11371
Full Changelog: https://github.com/vimeo/psalm/compare/6.9.4...6.9.5
v6.9.4
What's Changed
Fixes
- Backport #11364 to 6.x by @haas-dtv in #11369
Full Changelog: https://github.com/vimeo/psalm/compare/6.9.3...6.9.4
v6.9.3
What's Changed
Fixes
Internal changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.9.2...6.9.3
v6.9.2
Fixes multiplatform builds for the latest tag of the docker image ».
Full Changelog: https://github.com/vimeo/psalm/compare/6.9.1...6.9.2
v6.9.1
v6.9.0: - Docker image!
Psalm now has an official docker image!
It uses a custom build of PHP built from scratch, running Psalm +30% faster on average than normal PHP (+50% faster if comparing to PHP without opcache installed).
To use it, simply run:
docker run -v $PWD:/app --rm -it ghcr.io/danog/psalm:latest /composer/vendor/bin/psalm --no-cache
Issues due to missing extensions can be fixed by enabling them in psalm.xml and/or requiring them in composer.json, see here » for more info.
Extensions not stubbed by Psalm itself (and thus not available as a psalm config option) may be stubbed using traditional PHP stubs.
What's Changed
Features
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.9...6.9.0
v6.8.9
What's Changed
Fixes
- Fix polyfill version range by @danog in #11345
- Improve idn_to_* signatures for 8.4 by @danog in #11351
- push original callable when creating callable-object in order to keep return type by @orklah in #11354
Internal changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.8...6.8.9
v6.8.8
What's Changed
Fixes
Internal changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.7...6.8.8
v6.8.7
What's Changed
Fixes
- Fix array_reverse type for
list{0: int, 1?: int}etc. by @MoonE in #11150 - Improve closure template inference by @danog in #11334
- Allow RoundingMode as param to round by @danog in #11335
- Fix issues with array_any by @danog
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.6...6.8.7
v6.8.6
What's Changed
Fixes
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.5...6.8.6
v6.8.5
What's Changed
Fixes
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.4...6.8.5
v6.8.4
This release introduces fully reproducible builds (the composer.lock file is now added to phars).
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.3...6.8.4
v6.8.3
What's Changed
Fixes
- Fix phar build by bumping box (the minimum supported PHP version for the phar is now PHP 8.2) by @danog in #11324
Internal changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.2...6.8.3
v6.8.2
What's Changed
Fixes
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.1...6.8.2
v6.8.1
What's Changed
Internal changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.8.0...6.8.1
v6.8.0
What's Changed
Features
- Add longScanWarning config by @danog in #11302
- Preload all classes before forking (+5% performance) by @danog in #11309
- Improve new array function types, add Deprecated attr support by @danog in #11303
Fixes
- Die when PHP doc not found in update-property-map.php by @M393 in #11136
- Do not throw exceptions on deprecation errors while autoloading deps by @danog in #11313
- Fix ElseIfAnalyzer inconsistency and remove dead code by @theodorejb in #10611
- Deduplicate loop analysis by @theodorejb in #10782
- Add correct type to readline_completion_function by @danog in #11316
- Add rdkafka to extension list in config.xsd by @danog in #11314
New Contributors
Full Changelog: https://github.com/vimeo/psalm/compare/6.7.1...6.8.0
v6.7.1
What's Changed
Internal changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.7.0...6.7.1
v6.7.0
What's Changed
Features
- Add new
allowBoolToLiteralBoolComparisonconfig (disabled by default), used to control emission ofRedundantIdentityWithTrueissues (previously, their emission was controlled by thestrictBinaryOperandsconfig) by @danog in #11283 - Enable missing
#[Override]attribute detection (automatic Psalter fixer available) by @danog in #11283 - Enable strict binary operand comparison checks (useful for strict_types migration) by @danog in #11283
- Seal all class properties and methods: this enforces exact description of all class magic (__get/__call...) methods and properties with
@methodor@property, see here for more info by @danog in #11283 - Disable dangerous
@psalm-suppress allannotation (may be re-enabled manually with the disableSuppressAll config) by @danog in #11283 - Types in lazy objects by @BenMorel in #11296
Fixes
- Fix parameter name in SplObjectStorage by @kamil-tekiela in #11134
- Fix empty compact report if baseline file is used by @andrey-tech in #11111
Internal changes
- Expose Progress instance to plugins by @danog in #11297
- Change PluginEntryPointInterface to take a PluginRegistrationSocket @danog in #11298
New Contributors
- @andrey-tech made their first contribution in #11111
Full Changelog: https://github.com/vimeo/psalm/compare/6.6.2...6.7.0
v6.6.2
What's Changed
Fixes
- Allow running generate_testsuites.php from a different dir by @MoonE in #11155
- Add missing reset of context inside_general_use by @MoonE in #11157
- Fix false positives for UnusedIssueHandlerSuppression by @edsrzf in #11212
- Fix condition on literal-string by @VincentLanglet in #11252
- Object property types by @MoonE in #11291
- Fix some more tests when running phpunit with args by @MoonE in #11153
- Fix type of property-get with coalesce by @MoonE in #11152
- Fix condition on lowercase-string by @VincentLanglet in #11293
Full Changelog: https://github.com/vimeo/psalm/compare/6.6.1...6.6.2
v6.6.1
What's Changed
Fixes
- fix: add taint source on plugin-added taints by @Patrick-Remy in #10206
- handle instanceof $this by @orklah in #11286
Docs
- Fix key type in PossiblyUndefinedStringArrayOffset.md by @emmanuelGuiton in #11277
Full Changelog: https://github.com/vimeo/psalm/compare/6.6.0...6.6.1
v6.6.0
What's Changed
Features
- Add ClassMustBeFinal issue by @danog in #11279
- Enable MissingOverrideAttribute on all PHP versions by @danog in #11284
Fixes
- Fix trait issue with MissingOverrideAttribute by @danog in #11284
- Enable attribute parsing on versions lower than 8.0 by @danog in #11284
- Fix type assertion for Arithemtic addition and subtraction by @KevinVanSonsbeek in #11269
- Fix config error in LSP by @tm1000 in #11255
- Replace felixfbecker/advanced-json-rpc with maintained fork by @danog in #11282
Docs
Internal changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.5.1...6.6.0
v6.5.1
What's Changed
Fixes
- Specify minimum PHP patch release in composer.json as well by @danog in #11271
- Bump
symfony/filesystemby @weirdan in #11273
Internal changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.5.0...6.5.1
v6.5.0
What's Changed
Features
- The psalm.dev REPL now supports the
disableVarParsingconfig by @danog - Add allFunctionsGlobal and allConstantsGlobal options, useful for legacy codebases which do not use Composer to preload functions and constants by @danog in #11259
Fixes
- Fix deep scanning of files light-scanned in main thread by @danog in #11264
- Template inference bugfix by @danog in #11267
- Force usage of latest patch version of PHP to avoid PHP bugs by @danog in #11270
Full Changelog: https://github.com/vimeo/psalm/compare/6.4.1...6.5.0
v6.4.1
What's Changed
Fixes
- Disable uv to avoid fork() issues by @danog in #11250
- Fix issue with insufficient shared memory for interned strings buffer by @yethee in #11243
- Simplify redis return types by @danog in #11256
- Improve performance and accuracy of types comparison by @danog in #11257
- Fix TemplateInferredTypeReplacer by @VincentLanglet in #11258
Internal changes
- Allow sebastian/diff v7 by @liviuconcioiu in #11260
New Contributors
- @liviuconcioiu made their first contribution in #11260
Full Changelog: https://github.com/vimeo/psalm/compare/6.4.0...6.5.0
v6.4.0
What's Changed
Features
- Add forbiddenConstants config by @danog in #11245
- Add --review shortcut for psalm.phar by @danog in #11246
Fixes
Full Changelog: https://github.com/vimeo/psalm/compare/6.3.0...6.4.0
v6.3.0
This release adds the new psalm-review tool!
What's Changed
Features
Fixes
- Fix return type of yield from by @danog in #11236
- Fix standalone block analysis by @danog in #11234
- Fix indirect magic property usage by @danog in #11238
- Allow iterating over generator with void send() type by @danog in #11240
- Fix closure typehints in arrays by @danog in #11239
Full Changelog: https://github.com/vimeo/psalm/compare/6.2.0...6.3.0
v6.2.0
This release was possible thanks to a Psalm support contract!
This release adds the new LiteralKeyUnshapedArray issue, controlled by the disallowLiteralKeysOnUnshapedArrays configuration flag (false by default), useful to enforce usage of shaped arrays instead of generic arrays.
What's Changed
Features
- Add LiteralKeyUnshapedArray issue by @danog in #11230
- Periodic logging for long processing by @danog in #11231
Fixes
- Fix storage should not be null errors by @danog in #11232
- Avoid further issues caused by duplicate class declarations by @danog in #11233
- Parse uppercase-string by @VincentLanglet in #11228
Full Changelog: https://github.com/vimeo/psalm/compare/6.1.0...6.2.0
v6.1.0
This release was possible thanks to a Psalm support contract!
This release greatly improves multithreaded mode, fixing some nasty issues and greatly improving efficiency, thanks to efficient task scheduling powered by amphp/parallel (& some custom code to allow usage of copy-on-write optimizations with forks instead of spawning new processes).
This release also adds a runtime check to prevent Psalm from running on Linux systems where VM overcommitting is disabled: Psalm makes heavy use of VM overcommitting (specifically during forking in multithreaded mode) to greatly reduce RAM usage and improve performance.
Note that in the vast majority of Linux systems, VM overcommitting is already enabled by default.
What's Changed
Features
- Refactor Pool for much more efficient multithreaded parallelism by @danog in #11219
- Add support for --scan-threads CLI and config flag by @danog in #11216
- Log files being processed for too long by @danog in #11225
- Add VM overcommit warning by @danog in #1121
Fixes
Internal changes
Other changes
Full Changelog: https://github.com/vimeo/psalm/compare/6.0.0...6.1.0
v6.0.0: Psalm v6
This is the first release of Psalm v6!
Users are encouraged to switch to Psalm v6 right away, as v5 is not supported anymore.
Also announcing Psalm's new support model: you can support Psalm development by requesting a support contract from Daniil Gentili, the only active maintainer of Psalm.
Support contracts can cover full integration of Psalm into existing codebases, support for Psalm issues and development of additional Psalm features.
See here » for info, pricing and contact information.
Main highlights of Psalm v6:
- PHP 8.4 support
- Amp v3 support
- PHP-Parser v5 support
- Fully overhauled dictionaries, for much more accurate and always up to date signatures for PHP and extension functions and methods, and much simpler PHP version upgrades.
ignoreInternalFunctionFalseReturnandignoreInternalFunctionNullReturnare nowfalseby default: this means Psalm now warns when a false/null return type of a native function is not explicitly checked.- Modernization of the codebase for higher performance.
- Many other bugfixes and performance improvements.
Plugin authors should consult the changelog for info about BC-breaking changes.
What's Changed
Features
- Add --force-jit flag by @danog in #11165
- Xpath injection detection #10162 by @cgocast in #10163
- Backed enum value changed to Atomic instead of scalar int or strings by @tuqqu in #10165
- Introduce NonVariableReferenceReturn issue by @tuqqu in #10227
- Detect DoS by sleep #10178 by @cgocast in #10183
- Introduce
DuplicatePropertyissue by @tuqqu in #10265 - Disable ignoreInternalFunction(False|Null)Return by default by @robchett in #10211
- Add intl extension stub by @braindawg in #10276
- Improved type of callable-array by @robchett in #9794
- Add progress for scanning stage by @robchett in #10345
- Allow enum cases to be global constants by @robchett in #10339
- Report unused issue handler suppressions by @robchett in #10341
- Support @(no-)seal-(properties|methods) annotations without prefix by @robchett in #10344
- Stub constants for ZipArchive from ext-zip by @braindawg in #10332
- Allow type aliases for static variables by @robchett in #10362
- Inherit magic methods from @mixin by @robchett in #10356
- TaintedExtract by @cgocast in #10417
- feat: Default baseline file by @jorgsowa in #10696
- Add phpstub for amqp extension (php-amqp) by @mkilmanas in #11172
- Add phpstub for amqp extension (php-amqp) by @mkilmanas in #11181
Fixes
- Fix #10047 by @cgocast in #10048
- Respect stubs in all cases by @mmcev106 in #10092
- Hotfix Shepard build by @robchett in #10268
- Hotfix shepard build by @robchett in #10343
- Add constants from SOAP extension to stub by @braindawg in #10333
- Incorrectly asserting non-empty-list after combining with empty list by @robchett in #9787
- Consistent type docblock parsing by @robchett in #10326
- Fix stub for RecursiveArrayIterator::getChildren by @robchett in #10340
- Maintain loop start val after increment/decrement by @robchett in #10263
- Method annotation fixes by @robchett in #10361
- A segment of progress was being output early as the startScanningFile… by @robchett in #10360
- Fix at in array keys by @danog in #10426
- Inherit conditional returns by @robchett in #10357
- Fix iteration over weakmaps by @danog in #10472
- Suppress scanning output in CI by @robchett in #10688
- Suppress unused config suppression detection when running in partial or cache mode by @weirdan in #10694
- Fix trait analysis by @danog in #10904
Docs
- Doc typo by @cgocast in #10393
- Fixed docblock spacing in
@psalm-internaldocumentation example by @still-dreaming-1 in #10467 - Update dealing_with_code_issues.md: Minor by @ThomasLandauer in #10954
- Fix broken links to PHPDoc Types page in documentation by @elazar in #11105
- Fix broken phpDocumentor links on Supported Annotations docs page by @elazar in #11119
Internal changes
- Switch to amp v3 by @danog in #10024
- Psalm v6 by @danog in #10040
- Make
TLiteralFloat::$valueandTLiteralInt::$valuetyped by @weirdan in #9517 - Psalm v6: strict_types=1 by @danog in #10044
- V6 fixes by @danog in #10310
- Remove MixedInferredReturnType by @robchett in #9783
- Merge 5.x by @danog in #10369
- Improve scan progress by @danog in #10415
- Merge 5.x by @danog in #10504
- Apply rector fixes by @danog in #10305
- Do not use JIT on windows by @danog in #10564
- Let disable-extension also disable zend extensions by @danog in #10565
- Merge 5.x by @danog in #10569
- Merge 5.x by @danog in #10576
- Remove unnecessary null type from
initialized_methodsContext property by @theodorejb in #10610 - Update master from 5.x by @weirdan in #10597
- Update master from 5.x by @weirdan in #10618
- Update master from 5.x by @weirdan in #10656
- Update master from 5.x by @weirdan in #10684
- Fix composer warnings by @weirdan in #10695
- Update master from 5.x by @weirdan in #10693
- Update master from 5.x by @weirdan in #10714
- Update master from 5.x by @weirdan in #10750
- Update
masterfrom5.xby @weirdan in #10775 - Update
masterfrom5.xby @weirdan in #10803 - Fix the tests broken when running with Paratest by @weirdan in #11122
- Fix grammar by @MoonE in #11154
- Merge 5.x by @danog in #11164
- Normalize callmap by @danog in #11174
- Normalize callmap by @danog in #11175
- Remove unnecessary array spread of temp arrays by @MoonE in #11182
- PHP 8.4 support, dictionary refactoring by @danog in #11169
- Add support for PHP 8.4 by @GromNaN in #10928
Typos
- Fix typos by @szepeviktor in #10963
Other changes
- Update nikic/php-parser to 5.0 by @edsrzf in #10567
- :bug: Fix "Config supression" link by @homersimpsons in #11185
New Contributors
- @braindawg made their first contribution in #10276
- @elazar made their first contribution in #11105
- @mkilmanas made their first contribution in #11172
- @homersimpsons made their first contribution in #11185
Full Changelog: https://github.com/vimeo/psalm/compare/5.26.1...6.0.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
Read more information about the use of Renovate Bot within Laminas.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: composer.lock
Command failed: composer update vimeo/psalm:6.13.1 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins --minimal-changes
Loading composer repositories with package information
Dependency phpdocumentor/reflection-docblock is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.
Dependency symfony/process is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires vimeo/psalm ^6.0.0, found vimeo/psalm[6.0.0, ..., 6.13.1] but these were not loaded, likely because it conflicts with another require.
Problem 2
- psalm/plugin-mockery is locked to version 0.11.0 and an update of this package was not requested.
- psalm/plugin-mockery 0.11.0 requires vimeo/psalm dev-master || dev-4.x || ^4.7.1 || ^5@beta -> found vimeo/psalm[4.7.1, ..., 4.30.0, 5.0.0, ..., 5.26.1] but it conflicts with your root composer.json require (^6.0.0).
Problem 3
- psalm/plugin-phpunit is locked to version 0.18.4 and an update of this package was not requested.
- psalm/plugin-phpunit 0.18.4 requires vimeo/psalm dev-master || dev-4.x || ^4.7.1 || ^5@beta || ^5.0 -> found vimeo/psalm[4.7.1, ..., 4.30.0, 5.0.0, ..., 5.26.1] but it conflicts with your root composer.json require (^6.0.0).
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.