github vimeo/psalm 4.0.0
Psalm 4.0.0

latest releases: 5.23.1, 5.23.0, 5.22.2...
3 years ago

This release supports PHP 8 and its new features.

It bumps the minimum requirement to PHP 7.3.

It includes better unused variable detection.

It includes these breaking changes for v4:

User-facing

  • remove issues MisplacedRequiredParam, TypeCoercion, MixedTypeCoercion
  • remove support for @template-typeof
  • default to not disabling checks with UnresolvableInclude (#2818)
  • Remove requireVoidReturnType, useAssertForType config flags, both now permanently true
  • Change default on resolveFromConfigFile to "true". This means if your Psalm config is not in the same directory that you run Psalm from, and you want to keep all the paths correct, you'll need to add resolveFromConfigFile="false" to maintain existing path resolution

Internals (for plugin developers)

  • class constants should live in their own storage object
  • rename TFn to TClosure, ObjectLike to TKeyedArray, GetClassT to TDependentGetClass, GetTypeT to TDependentGetType
  • Remove return type manipulation from AfterFunctionCallAnalysisInterface – use the MethodReturnTypeProviderInterface and FunctionReturnTypeProviderInterface hooks instead
  • Added return and param types to plugin hooks

Don't miss a new psalm release

NewReleases is sending notifications on new releases.