Upgrading vimeo/psalm 5 to 6
Breaking5.26.1 → 6.20.5Breaking3Security1Platform5Deprecated2New67Changed50Fixed160Other80
Fetching 61 releases from GitHub…59 / 61
BreakingUpgrade verdict
3 breaking changes and 4 platform requirement changes and a security fix.
In plain terms
- Suppressing all issues at once with @psalm-suppress all no longer works by default; you can turn it back on with a config setting.
- Plugins implementing the entry point interface must now accept a PluginRegistrationSocket argument.
- If you write Psalm plugins, check the upgrade guide for changes that may break your plugin.
- Psalm now declares the exact minimum PHP patch version it needs when installed with Composer.
Must act Top 5 of 10 that need code or config changes
vimeo/psalm publishes an official migration guide for version 6. It covers more than the release notes do.
Changelog ↗PHP requirement changed in 6.14.0: ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 → ~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0.
What you must change
Breaking3
Disables the dangerous
@psalm-suppress all annotation, which can be re-enabled manually with the disableSuppressAll config.@psalm-suppress alldisableSuppressAllChanges
PluginEntryPointInterface to take a PluginRegistrationSocket.PluginEntryPointInterfacePluginRegistrationSocketDirects plugin authors to the changelog for information about backward-incompatible changes.
Security1
Pins GitHub Actions to SHA for supply chain security.
Platform4
Specifies the minimum PHP patch release in composer.json as well.
Adds PHP 8.4 support.
Adds PHP-Parser v5 support.
Adds support for PHP 8.4, including dictionary refactoring.
Deprecations to plan for
Deprecated2
Reports string increments as deprecated since PHP 8.5.
Deprecates reflection's setAccessible on PHP 8.1 and later.
setAccessible