Skip to content

Releases: phpstan/phpstan

1.12.5

26 Sep 12:48
7e6c6cb
Compare
Choose a tag to compare

Improvements 🔧

Bugfixes 🐛

Function signature fixes 🤖

Internals 🔍

1.12.4

19 Sep 07:58
ffa517c
Compare
Choose a tag to compare

Improvements 🔧

Bugfixes 🐛

Function signature fixes 🤖

Internals 🔍

1.12.3

09 Sep 08:12
0fcbf19
Compare
Choose a tag to compare

Improvements 🔧

Bugfixes 🐛

Function signature fixes 🤖

Internals 🔍

1.12.2

05 Sep 16:12
0ca1c7b
Compare
Choose a tag to compare

Improvements 🔧

Bugfixes 🐛

Function signature fixes 🤖

Internals 🔍

1.12.1

03 Sep 20:01
d8ed7ff
Compare
Choose a tag to compare

Bleeding edge 🔪

If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon:

includes:
	- vendor/phpstan/phpstan/conf/bleedingEdge.neon

Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more

Improvements 🔧

Bugfixes 🐛

Internals 🔍

1.12.0

27 Aug 09:22
384af96
Compare
Choose a tag to compare

Read all about PHPStan 1.12 on phpstan.org »

Major new features 🚀

  • Precise type for $matches from preg_match generally available, out of bleeding edge (phpstan/phpstan-src@bd2cec1)
  • PHP 8.4 runtime support
    • PHPStan runs on PHP 8.4 without emitting deprecation notices
    • Full support for PHP 8.4 including new syntax and rules is coming later, after PHPStan 2.0 release

Bleeding edge 🔪

If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon:

includes:
	- vendor/phpstan/phpstan/conf/bleedingEdge.neon

Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more

Improvements 🔧

Bugfixes 🐛

  • PHPStanDiagnoseExtension - skip showing config files in "Included configs from Composer packages" if already present in the "Extension installer" section (phpstan/phpstan-src@6c4477c)
  • Support multiple anonymous class definitions on the same line (#3328), #5597, #11511, thanks @tscni!
  • Fix ConstantArrayType not accepting NeverType (#3327), #11517, thanks @tscni!
  • Narrow to non-falsy-string from strlen() on integer range (#3337), thanks @staabm!
  • Narrow arrays in union based on count() with integer range (#3335), thanks @staabm!
  • Fix description escaping in UsedTraitsRule (phpstan/phpstan-src@4ffbb3b)

Internals 🔍

1.11.11

19 Aug 14:39
707c2ae
Compare
Choose a tag to compare

Improvements 🔧

Bugfixes 🐛

Function signature fixes 🤖

Internals 🔍

  • Turn Regex classes immutable where possible (#3305), thanks @staabm!

1.11.10

08 Aug 09:06
640410b
Compare
Choose a tag to compare

Bleeding edge 🔪

If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon:

includes:
	- vendor/phpstan/phpstan/conf/bleedingEdge.neon

Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more

Improvements 🔧

Bugfixes 🐛

  • RegularExpressionPatternRule: fix false positive in preg_quote() handling (#3280), #11432, thanks @staabm!
  • Support literal strings in RegexGroupParser (#3284), thanks @staabm!
  • Support classes of literal strings in RegexGroupParser (#3285), thanks @staabm!
  • Don't infer constant types for "i"-modfied patterns (#3288), thanks @staabm!
  • Support non-falsy-string in RegexGroupParser (#3289), thanks @staabm!
  • RegexGroupParser: Ignore whitespaces on "x"-modified patterns (#3291) (#3291), thanks @staabm!
  • RegexArrayShapeMatcher: fix preg_match_all with PREG_OFFSET_CAPTURE (#3292), #11457, thanks @staabm!
  • RegexArrayShapeMatcher - Fix subject types (#3300), thanks @staabm!
  • Fix ConstantArrayType::isSuperTypeOf() for empty array (phpstan/phpstan-src@ed6bc0b)
  • is_resource: adjust type specification for truthy context only (#3298), #9687, thanks @janedbal!
  • Fix loose comparison between '1' and '+1' (#3301), thanks @thg2k!

Function signature fixes 🤖

Internals 🔍

  • Extracted RegexGroupParser from RegexArrayShapeMatcher (#3278), thanks @staabm!
  • E2E test about path validation in ignoreErrors and excludePaths (phpstan/phpstan-src@9246976)
  • RegularExpressionPatternRuleTest: utilize preg_match() array shape tests (#3290), thanks @staabm!
  • Simplify RegexArrayShapeMatcher (#3293), thanks @staabm!
  • Refactor RegexGroupParser - extract RegexAlternation class (#3296), thanks @staabm!

1.11.9

01 Aug 16:26
e370bcd
Compare
Choose a tag to compare

Bleeding edge 🔪

If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon:

includes:
	- vendor/phpstan/phpstan/conf/bleedingEdge.neon

Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more

Improvements 🔧

Bugfixes 🐛

Internals 🔍

1.11.8

24 Jul 07:04
6adbd11
Compare
Choose a tag to compare

Bleeding edge 🔪

If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's phpstan.neon:

includes:
	- vendor/phpstan/phpstan/conf/bleedingEdge.neon

Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. Learn more

Improvements 🔧

Bugfixes 🐛

Function signature fixes 🤖

Internals 🔍