github vimeo/psalm 4.4.0

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

Features

Compatibility with new Symfony polyfills

Recently some new Symfony polyfills contained code that didn't broke scanning.

@weirdan made Psalm aware of version checks in #4967, hopefully fixing this for consumers.

SARIF output (for security scanning)

@lukasbestle added help links in SARIF output (#4924) and ensured they can be produced by the Phar (#4925)

Bugfixes

  • @hollodotme fixed the signature for PDOStatement::fetchObject (#4915)
  • @lukasbestle added better support for $this in @var annotations (#4922)
  • @orklah allowed Psalm to understand string concatenation with known ints (#4938)
  • allow array_reduce to be called with a single argument (#4917)
  • Security scanning @adrienlucas improved handling of specialised calls (#4940, #4948)
  • @weirdan fixed signature of gzread (#4960)
  • Traversable interface added back to PDOStatement (#4951)
  • Psalm now performs more intelligent subtraction of from potential template types (#4943)
  • @weirdan added support for the Attribute::IS_REPEATABLE flag (#4971)
  • detect destructuring assignments inside loops (#4982)
  • strict comparisons to arrays now produce better inferred types (#4976)
  • @Ocramius improved the return type of count when the array size is known (#4997)

Internal

  • @orklah added a DTO for plugins, rendering the existing plugin system a legacy one (#4881)
  • and @adrienlucas fixed a small bug in the new plugin format (#4962)
  • @weirdan stripped out some unnecessary files from the composer package (#4968)
  • @weirdan moved Phar generation to GitHub Actions (#4974)
  • @bendavies split out PHPUnit tests across GitHub actions (#4985)

Don't miss a new psalm release

NewReleases is sending notifications on new releases.