Skip to content

Releases: vimeo/psalm

First Psalm v7 beta!

20 Mar 10:45
Compare
Choose a tag to compare
First Psalm v7 beta! Pre-release
Pre-release

Announcing the first public beta of Psalm v7!

Psalm v7 brings huge performance improvements to security analysis, up to 10x thanks to a full refactoring of both the internal representation of taints, and optimization of the graph resolution logic.

It also brings performance improvements to dead code analysis, and fixes for list types.

Even more performance improvements and new features will be released soon!

What's Changed

Breaking changes

See here for the full list of breaking changes between v6 and v7.

Features

  • Huge performance improvements for taint analysis by @danog in #11342
  • More detailed progress for taint graph resolution and JIT compilation by @danog in #11349

Fixes

Other changes

Full Changelog: 6.9.0...7.0.0-beta1

6.9.4

20 Mar 18:27
e052de4
Compare
Choose a tag to compare

What's Changed

Fixes

Full Changelog: 6.9.3...6.9.4

6.9.3

20 Mar 11:06
1899907
Compare
Choose a tag to compare

What's Changed

Fixes

Internal changes

Full Changelog: 6.9.2...6.9.3

6.9.2

20 Mar 10:38
Compare
Choose a tag to compare

Fixes multiplatform builds for the latest tag of the docker image ».

Full Changelog: 6.9.1...6.9.2

6.9.0 - Docker image!

16 Mar 20:26
Compare
Choose a tag to compare

Psalm now has an official docker image!

It uses a custom build of PHP built from scratch, running Psalm +30% faster on average than normal PHP (+50% faster if comparing to PHP without opcache installed).

To use it, simply run:

docker run -v $PWD:/app --rm -it ghcr.io/danog/psalm:latest /composer/vendor/bin/psalm --no-cache

Issues due to missing extensions can be fixed by enabling them in psalm.xml and/or requiring them in composer.json, see here » for more info.

Extensions not stubbed by Psalm itself (and thus not available as a psalm config option) may be stubbed using traditional PHP stubs.

What's Changed

Features

Full Changelog: 6.8.9...6.9.0

6.8.9

11 Mar 19:19
e856423
Compare
Choose a tag to compare

What's Changed

Fixes

  • Fix polyfill version range by @danog in #11345
  • Improve idn_to_* signatures for 8.4 by @danog in #11351
  • push original callable when creating callable-object in order to keep return type by @orklah in #11354

Internal changes

Full Changelog: 6.8.8...6.8.9

6.8.8

25 Feb 20:16
1361cd3
Compare
Choose a tag to compare

What's Changed

Fixes

  • Fix Could not locate trait statement errors by @danog in #11341

Internal changes

Full Changelog: 6.8.7...6.8.8

6.8.7

25 Feb 10:35
4258dc8
Compare
Choose a tag to compare

What's Changed

Fixes

  • Fix array_reverse type for list{0: int, 1?: int} etc. by @MoonE in #11150
  • Improve closure template inference by @danog in #11334
  • Allow RoundingMode as param to round by @danog in #11335
  • Fix issues with array_any by @danog

Full Changelog: 6.8.6...6.8.7

6.8.6

21 Feb 10:03
34ba9e1
Compare
Choose a tag to compare

What's Changed

Fixes

  • Allow integer and string concatenation by @danog in #11329

Full Changelog: 6.8.5...6.8.6

6.8.5

21 Feb 09:19
0a2d040
Compare
Choose a tag to compare

What's Changed

Fixes

  • Fixes PHP Error: Undefined array key 1 by @tm1000 in #11328
  • Fix issue with plugins by @danog

Full Changelog: 6.8.4...6.8.5