Skip to content

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.

  • 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.
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.

Breaking3
Disables the dangerous @psalm-suppress all annotation, which can be re-enabled manually with the disableSuppressAll config.
@psalm-suppress alldisableSuppressAll
Changes PluginEntryPointInterface to take a PluginRegistrationSocket.
PluginEntryPointInterfacePluginRegistrationSocket
Directs 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.
Deprecated2
Reports string increments as deprecated since PHP 8.5.
Deprecates reflection's setAccessible on PHP 8.1 and later.
setAccessible