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.
In plain terms
- 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.
Must act 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.
What you must change
Breaking23
Removes Php version consistency handling.
Removes the TEmpty type.
TEmptyRemoves support for the allowPhpstormGenerics option.
allowPhpstormGenericsRemoves exitFunctions configuration for Psalm 5.
exitFunctionsDrops legacy procedural files.
Drops removed config entries.
Drops the legacy plugin API.
Drops deprecated CodeIssue methods.
CodeIssueDrops deprecated DocComment methods.
DocCommentDrops the THtmlEscapedString type.
THtmlEscapedStringDrops an orphaned token.
Removes the forbidEcho option.
forbidEchoRemoves the TPositiveInt type.
TPositiveIntRemoves the totallyTyped configuration option.
totallyTypedRemoves the @psalm-generator-return annotation.
@psalm-generator-returnDrops deprecated TypeAnalyzer methods.
TypeAnalyzerLocks 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\PsalmPlatform1
Raises the minimum required version of nikic/php-parser to 4.17.
nikic/php-parserDeprecations to plan for
Deprecated4
Deprecates FunctionLikeStorage::$unused_docblock_params.
FunctionLikeStorage::$unused_docblock_paramsShows 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