Skip to content

Upgrading vimeo/psalm 4 to 5

Breaking4.30.0 → 5.26.1Breaking23Platform1Deprecated4New137Changed77Fixed531Other205

Fetching 45 releases from GitHub…44 / 45
BreakingUpgrade verdict

23 breaking changes and a platform requirement change.

  • Psalm no longer enforces consistency of PHP version settings.
  • The TEmpty type is no longer available.
  • The allowPhpstormGenerics setting is no longer supported.
  • The exitFunctions setting is no longer available.
Top 5 of 28 that need code or config changes

PHP requirement changed in 5.14.0: ^7.1|^8 → ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0.

Breaking23
Removes Php version consistency handling.
Removes the TEmpty type.
TEmpty
Removes support for the allowPhpstormGenerics option.
allowPhpstormGenerics
Removes exitFunctions configuration for Psalm 5.
exitFunctions
Drops legacy procedural files.
Drops removed config entries.
Drops the legacy plugin API.
Drops deprecated CodeIssue methods.
CodeIssue
Drops deprecated DocComment methods.
DocComment
Drops the THtmlEscapedString type.
THtmlEscapedString
Drops an orphaned token.
Removes the forbidEcho option.
forbidEcho
Removes the TPositiveInt type.
TPositiveInt
Removes the totallyTyped configuration option.
totallyTyped
Removes the @psalm-generator-return annotation.
@psalm-generator-return
Drops deprecated TypeAnalyzer methods.
TypeAnalyzer
Locks event classes.
Finalizes and internalizes more classes.
Finalizes issue classes.
Finalizes storage classes.
Finalizes virtual node classes.
Finalizes type node classes.
Moves getPsalmHelpText() to Cli\Psalm.
getPsalmHelpText()Cli\Psalm
Platform1
Raises the minimum required version of nikic/php-parser to 4.17.
nikic/php-parser
Deprecated4
Deprecates FunctionLikeStorage::$unused_docblock_params.
FunctionLikeStorage::$unused_docblock_params
Shows a deprecation message when loading php-ext stubs without declaring them as a dependency or in a config.
Defers cache directory creation until it is actually needed.
Deprecates the totallyTyped configuration option.
totallyTyped