Skip to content
Closed

Patch 1 #5472

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
416 commits
Select commit Hold shift + click to select a range
46df20f
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 3, 2026
e2b7fde
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 4, 2026
98b4459
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 4, 2026
b60812d
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 4, 2026
d279748
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 4, 2026
eb3f2f1
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 4, 2026
94731cc
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 4, 2026
375185d
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 5, 2026
d143f54
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 5, 2026
a8166c4
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 6, 2026
88bf3ff
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 6, 2026
7e293eb
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 6, 2026
68ef4f7
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 6, 2026
e163500
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 6, 2026
b52ca09
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 7, 2026
5a44b21
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 7, 2026
5efa409
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 7, 2026
0ae545a
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
b2d0780
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
17b1ae5
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
256aee4
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
2913caa
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
67951c3
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
325e8f1
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
a3f4219
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
c6a1c9b
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
1f6a175
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 8, 2026
eb899f3
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 9, 2026
6d81a0f
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 9, 2026
1748583
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 9, 2026
25b04a4
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 9, 2026
3db546b
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 9, 2026
afac8f0
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 9, 2026
2bb2575
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 9, 2026
63cd476
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 10, 2026
14c06ab
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 10, 2026
29b2dde
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 10, 2026
5e75c86
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 10, 2026
449d993
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 10, 2026
ad0294c
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 10, 2026
a5cdfe9
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
b4b45c2
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 11, 2026
688fbc0
Update workflow
ondrejmirtes Mar 11, 2026
f515182
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
4811c01
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
188365c
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
edd2e1d
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 11, 2026
c6c378a
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
de7c604
Trigger Claude workflows in the fork
ondrejmirtes Mar 11, 2026
53c9da6
Fix
ondrejmirtes Mar 11, 2026
e2cfb7c
Claude - react on review workflow
ondrejmirtes Mar 11, 2026
7cc5740
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
b48c3e4
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
abbadc1
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
f088259
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
d1aace8
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
554459b
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
e2646b1
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
a1b440f
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 11, 2026
b2371e9
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 12, 2026
8d36b11
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 12, 2026
ea0260a
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 12, 2026
e8d1dee
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 12, 2026
3e29782
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 12, 2026
de44abd
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 13, 2026
e1d0acc
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 13, 2026
c480f25
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 13, 2026
ed4f0c2
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 13, 2026
65b7945
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 13, 2026
b1d90c1
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 13, 2026
f4e7ae1
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 13, 2026
1492a87
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 13, 2026
22b0534
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 14, 2026
c37be4e
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 14, 2026
1392048
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 14, 2026
6ef3d7c
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 14, 2026
ec2dabc
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 14, 2026
07cdc53
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 14, 2026
c14518f
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 14, 2026
c36e435
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 16, 2026
1e85273
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 16, 2026
10cdfe3
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 16, 2026
056318f
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 16, 2026
182c774
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 16, 2026
f6dd1fa
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 16, 2026
23eae8e
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 16, 2026
e9db19c
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 16, 2026
5fb9ee6
Merge branch refs/heads/2.1.x into 2.2.x
phpstan-bot Mar 17, 2026
8c594b2
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 17, 2026
5a7fb4c
Merge branch 2.1.x into 2.2.x
Mar 17, 2026
bd0b490
Merge branch 2.1.x into 2.2.x
Mar 17, 2026
39c245a
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 17, 2026
2503b25
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 17, 2026
073ec3f
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 17, 2026
d5bc2e7
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 17, 2026
f638910
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 17, 2026
e6fb781
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 18, 2026
fbafe21
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 18, 2026
6f2e65a
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 18, 2026
d4dd6c0
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 18, 2026
07ee5fb
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 18, 2026
aad241e
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 18, 2026
e766628
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 19, 2026
8e979ad
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 19, 2026
cf0db03
Playground - LiteralArrayKeyCastRule
ondrejmirtes Mar 19, 2026
cc855b2
Playground - ArrayDimCastRule
ondrejmirtes Mar 19, 2026
95f8a11
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 19, 2026
38582a3
Tips linking to https://phpstan.org/blog/why-array-string-keys-are-no…
ondrejmirtes Mar 19, 2026
e11ff47
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 19, 2026
f20c9ae
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 19, 2026
7310fc9
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 19, 2026
de1242e
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 19, 2026
d9442ff
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 20, 2026
0e2968b
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 20, 2026
60b748d
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 20, 2026
c1a266e
Check constants in parameters
ondrejmirtes Mar 20, 2026
57d052c
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 20, 2026
59e7788
Fix false positive abount allowed constants in parameters
ondrejmirtes Mar 20, 2026
0aad2ac
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 20, 2026
261cf49
Allow custom rules to emit collector data for CollectedDataNode
ondrejmirtes Mar 20, 2026
6d37795
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 20, 2026
914fe2a
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 20, 2026
80f1521
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 21, 2026
c41e609
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 21, 2026
9a6efe0
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 21, 2026
d862b9d
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 22, 2026
d7cd9c7
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 22, 2026
4c1a2b9
Detect named arguments whose parameters are renamed in subtypes
ondrejmirtes Mar 22, 2026
b16af79
Regression test
ondrejmirtes Mar 22, 2026
0fadf75
Fix
ondrejmirtes Mar 22, 2026
4f8c37f
Fix false negative - json_decode with JSON_THROW_ON_ERROR being passe…
ondrejmirtes Mar 22, 2026
74913da
Update map
ondrejmirtes Mar 22, 2026
69e056c
Improve map
ondrejmirtes Mar 22, 2026
ea62732
Parameter type has to have the same type as parameters with described…
ondrejmirtes Mar 22, 2026
9531b29
Fix test
ondrejmirtes Mar 22, 2026
14291ee
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 23, 2026
f676747
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
560ec03
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
c8a72b2
Rename test
ondrejmirtes Mar 23, 2026
28b0c25
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
f65e1e5
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
c008e03
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
88efcbe
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
991fb88
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
5a1048a
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
7fc92ed
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
ee25c7b
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
ef0d6b5
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 23, 2026
c6fb1eb
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 24, 2026
99a06c1
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 24, 2026
58ffa2d
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 24, 2026
a9983f4
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 24, 2026
9c3b6d5
New types: decimal-int-string and non-decimal-int-string
ondrejmirtes Mar 24, 2026
ed784db
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 25, 2026
c4d39c9
issue-bot - support more options
ondrejmirtes Mar 25, 2026
c3d31d9
Fix issue-bot
ondrejmirtes Mar 25, 2026
3b840a1
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 25, 2026
c94eef1
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 25, 2026
c205015
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 25, 2026
20830ac
tooWideThrowType is true by default
ondrejmirtes Mar 25, 2026
83f5a26
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 25, 2026
4f2b04d
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 25, 2026
21dc52a
Merge remote-tracking branch 'origin/2.1.x' into merge-21
ondrejmirtes Mar 26, 2026
32ef08e
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
6474395
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
b579a32
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
ba069fb
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
b009b8f
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
305ed1b
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
7e37026
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
e94f9bd
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
7cc4782
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
d05e954
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 26, 2026
3d36763
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 27, 2026
d4015eb
Plumbing for reducing false positives about constant conditions in tr…
ondrejmirtes Mar 27, 2026
7e4ade3
Use ConstantConditionInTraitHelper in StrictComparisonOfDifferentType…
ondrejmirtes Mar 27, 2026
6b3f2d1
Added ConstantConditionInTraitHelper to remaining rules
ondrejmirtes Mar 27, 2026
4a9202b
Regression tests
ondrejmirtes Mar 27, 2026
43c2d27
ImpossibleInstanceOfRule - add PossiblyImpureTipHelper and ConstantCo…
ondrejmirtes Mar 27, 2026
8175b6e
Regression test
ondrejmirtes Mar 27, 2026
686ab8a
Report errors in traits with the same message just once
ondrejmirtes Mar 27, 2026
7b668ec
Fix lint
ondrejmirtes Mar 27, 2026
43aed2c
Fix tests
ondrejmirtes Mar 27, 2026
b47a204
Remove dead `@phpstan-ignore` in traits
ondrejmirtes Mar 27, 2026
23c5fc4
Reduce false positives about constant conditions in traits
ondrejmirtes Mar 27, 2026
a1b68d2
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 27, 2026
2f2bd5c
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 28, 2026
99ac11e
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 28, 2026
366d214
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 28, 2026
a35291e
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 29, 2026
d30c1bb
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 29, 2026
c9460fa
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 29, 2026
bbf5afb
reportUnsafeArrayStringKeyCasting - detect implementation
ondrejmirtes Mar 26, 2026
3012e24
reportUnsafeArrayStringKeyCasting - prevent implementation
ondrejmirtes Mar 29, 2026
3da8941
Fix
ondrejmirtes Mar 29, 2026
6f6897d
Issue bot - support reportUnsafeArrayStringKeyCasting
ondrejmirtes Mar 29, 2026
dc813fe
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 29, 2026
e9c208d
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 30, 2026
7b73e0a
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 30, 2026
4cbde15
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 30, 2026
e38383a
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 30, 2026
0d7fe19
Normalize decimal-int-string intersection with lowercase-string/upper…
ondrejmirtes Mar 31, 2026
c420818
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Mar 31, 2026
6777f6d
Merge branch 2.1.x into 2.2.x
phpstan-bot Mar 31, 2026
830c5cc
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 1, 2026
bc23201
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 1, 2026
399ce26
Fix CS
ondrejmirtes Apr 1, 2026
91c6623
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 1, 2026
4d02dba
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 1, 2026
5df1fd4
Update baseline
ondrejmirtes Apr 1, 2026
fc48b3e
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 1, 2026
5cd44d5
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 1, 2026
51b0ae1
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 1, 2026
94bbb6d
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 2, 2026
28d7065
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 3, 2026
cc8e1ab
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 3, 2026
bd33a23
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 4, 2026
5b26dfd
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 4, 2026
05358ba
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 5, 2026
6aa6db5
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 5, 2026
c9fc9ee
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 6, 2026
46f88a3
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 6, 2026
6002ee4
Merge branch '2.1.x' into m21
staabm Apr 7, 2026
25e95c5
Merge remote-tracking branch 'origin/2.1.x' into 2.2.x
ondrejmirtes Apr 7, 2026
b5471f7
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 7, 2026
c191613
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 7, 2026
301cf48
Respect sys_temp_dir from the parent process (#5390)
theodorejb Apr 8, 2026
cd694f0
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 8, 2026
edd5f9f
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 8, 2026
1232a62
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 8, 2026
8f01a90
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 8, 2026
f73c509
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 8, 2026
735d28a
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 9, 2026
fa01947
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 10, 2026
e20a8d8
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 11, 2026
d156d37
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 11, 2026
af24514
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 11, 2026
26f261c
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 11, 2026
0966bb8
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 12, 2026
c503d10
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 12, 2026
6bb66fc
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 12, 2026
2e0ce94
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 12, 2026
b655779
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 12, 2026
94c058d
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 13, 2026
32065b0
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 13, 2026
2f1dbad
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 13, 2026
75173b0
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 13, 2026
f1756d8
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 13, 2026
a1ff504
Merge branch 2.1.x into 2.2.x
phpstan-bot Apr 14, 2026
dcc8f9a
Update session_set_save_handler parameters
sreichel Apr 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
*.stub linguist-language=PHP

tests/PHPStan/Command/ErrorFormatter/data/WindowsNewlines.php eol=crlf

.github/workflows/*.lock.yml linguist-generated=true merge=ours
2 changes: 1 addition & 1 deletion .github/workflows/backward-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
pull_request:
push:
branches:
- "2.1.x"
- "2.2.x"
paths:
- 'src/**'
- '.github/workflows/backward-compatibility.yml'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
- 'tests/bench/**'
push:
branches:
- "2.1.x"
- "2.2.x"
paths:
- 'src/**'
- '.github/workflows/bench.yml'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-issue-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- '.github/workflows/build-issue-bot.yml'
push:
branches:
- "2.1.x"
- "2.2.x"
paths:
- 'issue-bot/**'
- '.github/workflows/build-issue-bot.yml'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog-generator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- '.github/workflows/changelog-generator.yml'
push:
branches:
- "2.1.x"
- "2.2.x"
paths:
- 'changelog-generator/**'
- '.github/workflows/changelog-generator.yml'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: "Claude Update Config Parameters Docs On Change"

on:
push:
branches:
- "2.2.x"
paths:
- '.github/workflows/claude-update-config-parameters-docs-on-change.yml'
- 'conf/parametersSchema.neon'

jobs:
fix:
runs-on: ubuntu-latest
permissions:
contents: read
actions: write
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

- name: Trigger Claude Update Config Parameters Docs
env:
GH_TOKEN: ${{ secrets.PHPSTAN_BOT_TOKEN }}
run: gh workflow run claude-update-config-parameters-docs.yml --repo phpstan-bot/phpstan-src
26 changes: 26 additions & 0 deletions .github/workflows/claude-update-phpdoc-tags-docs-on-change.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: "Claude Update PHPDoc Tags Docs On Change"

on:
push:
branches:
- "2.2.x"
paths:
- '.github/workflows/claude-update-phpdoc-tags-docs-on-change.yml'
- 'src/PhpDoc/PhpDocNodeResolver.php'

jobs:
fix:
runs-on: ubuntu-latest
permissions:
contents: read
actions: write
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

- name: Trigger Claude Update PHPDoc Tags Docs
env:
GH_TOKEN: ${{ secrets.PHPSTAN_BOT_TOKEN }}
run: gh workflow run claude-update-phpdoc-tags-docs.yml --repo phpstan-bot/phpstan-src
26 changes: 26 additions & 0 deletions .github/workflows/claude-update-phpdoc-types-docs-on-change.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: "Claude Update PHPDoc Types Docs On Change"

on:
push:
branches:
- "2.2.x"
paths:
- '.github/workflows/claude-update-phpdoc-types-docs-on-change.yml'
- 'src/PhpDoc/TypeNodeResolver.php'

jobs:
fix:
runs-on: ubuntu-latest
permissions:
contents: read
actions: write
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit

- name: Trigger Claude Update PHPDoc Types Docs
env:
GH_TOKEN: ${{ secrets.PHPSTAN_BOT_TOKEN }}
run: gh workflow run claude-update-phpdoc-types-docs.yml --repo phpstan-bot/phpstan-src
8 changes: 7 additions & 1 deletion .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
- 'issue-bot/**'
push:
branches:
- "2.1.x"
- "2.2.x"
paths-ignore:
- 'compiler/**'
- 'apigen/**'
Expand Down Expand Up @@ -267,6 +267,12 @@ jobs:
cd e2e/bug-11857
composer install
../../bin/phpstan
- script: |
cd e2e/in-trait
OUTPUT=$(../bashunit -a exit_code "1" "../../bin/phpstan --error-format=raw")
../bashunit -a contains 'FooTrait.php:10:Strict comparison using === between int<0, max> and false will always evaluate to false.' "$OUTPUT"
../bashunit -a contains 'FooTrait.php (in context of class E2EInTrait\Bar):18:Strict comparison using === between E2EInTrait\Bar and null will always evaluate to false.' "$OUTPUT"
../bashunit -a contains 'FooTrait.php (in context of class E2EInTrait\Foo):18:Strict comparison using === between E2EInTrait\Foo and null will always evaluate to false.' "$OUTPUT"
- script: |
cd e2e/result-cache-meta-extension
composer install
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint-workflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
pull_request:
push:
branches:
- "2.1.x"
- "2.2.x"

permissions: {}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
pull_request:
push:
branches:
- "2.1.x"
- "2.2.x"

concurrency:
group: lint-${{ github.head_ref || github.run_id }} # will be canceled on subsequent pushes in pull requests but not branches
Expand Down
24 changes: 12 additions & 12 deletions .github/workflows/phar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ on:
pull_request:
push:
branches:
- "2.1.x"
- "2.2.x"
tags:
- '2.1.*'
- '2.2.*'

concurrency:
group: phar-${{ github.ref }} # will be canceled on subsequent pushes in both branches and pull requests
Expand Down Expand Up @@ -95,14 +95,14 @@ jobs:

- uses: "ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520" # v3
env:
COMPOSER_ROOT_VERSION: "2.1.x-dev"
COMPOSER_ROOT_VERSION: "2.2.x-dev"

- name: "Compile PHAR for checksum"
working-directory: "compiler/build"
run: "php ../box/vendor/bin/box compile --no-parallel --sort-compiled-files"
env:
PHAR_CHECKSUM: "1"
COMPOSER_ROOT_VERSION: "2.1.x-dev"
COMPOSER_ROOT_VERSION: "2.2.x-dev"

- name: "Re-sign PHAR"
run: "php compiler/build/resign.php tmp/phpstan.phar"
Expand Down Expand Up @@ -134,25 +134,25 @@ jobs:
integration-tests:
if: github.event_name == 'pull_request'
needs: compiler-tests
uses: phpstan/phpstan/.github/workflows/integration-tests.yml@2.1.x
uses: phpstan/phpstan/.github/workflows/integration-tests.yml@2.2.x
with:
ref: 2.1.x
ref: 2.2.x
phar-checksum: ${{needs.compiler-tests.outputs.checksum}}

extension-tests:
if: github.event_name == 'pull_request'
needs: compiler-tests
uses: phpstan/phpstan/.github/workflows/extension-tests.yml@2.1.x
uses: phpstan/phpstan/.github/workflows/extension-tests.yml@2.2.x
with:
ref: 2.1.x
ref: 2.2.x
phar-checksum: ${{needs.compiler-tests.outputs.checksum}}

other-tests:
if: github.event_name == 'pull_request'
needs: compiler-tests
uses: phpstan/phpstan/.github/workflows/other-tests.yml@2.1.x
uses: phpstan/phpstan/.github/workflows/other-tests.yml@2.2.x
with:
ref: 2.1.x
ref: 2.2.x
phar-checksum: ${{needs.compiler-tests.outputs.checksum}}

download-base-sha-phar:
Expand Down Expand Up @@ -298,7 +298,7 @@ jobs:

commit:
name: "Commit PHAR"
if: "github.repository_owner == 'phpstan' && (github.ref == 'refs/heads/2.1.x' || startsWith(github.ref, 'refs/tags/'))"
if: "github.repository_owner == 'phpstan' && (github.ref == 'refs/heads/2.2.x' || startsWith(github.ref, 'refs/tags/'))"
needs: compiler-tests
runs-on: "ubuntu-latest"
timeout-minutes: 60
Expand All @@ -325,7 +325,7 @@ jobs:
repository: phpstan/phpstan
path: phpstan-dist
token: ${{ secrets.PHPSTAN_BOT_TOKEN }}
ref: 2.1.x
ref: 2.2.x

- name: "Get previous pushed dist commit"
id: previous-commit
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reflection-golden-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
- 'issue-bot/**'
push:
branches:
- "2.1.x"
- "2.2.x"
paths-ignore:
- 'compiler/**'
- 'apigen/**'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/spelling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
pull_request:
push:
branches:
- "2.1.x"
- "2.2.x"

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- 'apigen/**'
push:
branches:
- "2.1.x"
- "2.2.x"
paths-ignore:
- 'compiler/**'
- 'apigen/**'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
- 'issue-bot/**'
push:
branches:
- "2.1.x"
- "2.2.x"
paths-ignore:
- 'compiler/**'
- 'apigen/**'
Expand Down
12 changes: 0 additions & 12 deletions build/baseline-8.0.neon
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,12 @@ parameters:
count: 1
path: ../src/Type/ClosureTypeFactory.php

-
message: '#^Strict comparison using \=\=\= between list\<non\-falsy\-string\> and false will always evaluate to false\.$#'
identifier: identical.alwaysFalse
count: 1
path: ../src/Type/Php/MbFunctionsReturnTypeExtension.php

-
message: '#^Strict comparison using \=\=\= between int\<0, max\> and false will always evaluate to false\.$#'
identifier: identical.alwaysFalse
count: 1
path: ../src/Type/Php/MbStrlenFunctionReturnTypeExtension.php

-
message: '#^Strict comparison using \=\=\= between list\<non\-falsy\-string\> and false will always evaluate to false\.$#'
identifier: identical.alwaysFalse
count: 1
path: ../src/Type/Php/MbStrlenFunctionReturnTypeExtension.php

-
message: '#^Strict comparison using \=\=\= between list\<non\-falsy\-string\> and false will always evaluate to false\.$#'
identifier: identical.alwaysFalse
Expand Down
1 change: 1 addition & 0 deletions conf/config.neon
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ parameters:
reportWrongPhpDocTypeInVarTag: false
reportAnyTypeWideningInVarTag: false
reportNonIntStringArrayKey: false
reportUnsafeArrayStringKeyCasting: null
reportPossiblyNonexistentGeneralArrayOffset: false
reportPossiblyNonexistentConstantArrayOffset: false
checkMissingOverrideMethodAttribute: false
Expand Down
1 change: 1 addition & 0 deletions conf/parametersSchema.neon
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ parametersSchema:
reportWrongPhpDocTypeInVarTag: bool()
reportAnyTypeWideningInVarTag: bool()
reportNonIntStringArrayKey: bool()
reportUnsafeArrayStringKeyCasting: schema(string(), pattern('detect|prevent'), nullable())
reportPossiblyNonexistentGeneralArrayOffset: bool()
reportPossiblyNonexistentConstantArrayOffset: bool()
checkMissingOverrideMethodAttribute: bool()
Expand Down
4 changes: 4 additions & 0 deletions e2e/in-trait/phpstan.neon
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
parameters:
level: 8
paths:
- src
20 changes: 20 additions & 0 deletions e2e/in-trait/src/Bar.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace E2EInTrait;

class Bar
{

use FooTrait;

public function getSth(): ?self
{
return rand(0, 1) ? $this : null;
}

public function getSth2(): self
{
return $this;
}

}
20 changes: 20 additions & 0 deletions e2e/in-trait/src/Foo.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace E2EInTrait;

class Foo
{

use FooTrait;

public function getSth(): self
{
return $this;
}

public function getSth2(): self
{
return $this;
}

}
23 changes: 23 additions & 0 deletions e2e/in-trait/src/FooTrait.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace E2EInTrait;

trait FooTrait
{

public function doFoo(int $i): void
{
if (abs($i) === false) {

}

if ($this->getSth() === null) {

}

if ($this->getSth2() === null) {

}
}

}
2 changes: 2 additions & 0 deletions issue-bot/playground.neon
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
rules:
- PHPStan\Rules\Playground\ArrayDimCastRule
- PHPStan\Rules\Playground\FunctionNeverRule
- PHPStan\Rules\Playground\LiteralArrayKeyCastRule
- PHPStan\Rules\Playground\MethodNeverRule
- PHPStan\Rules\Playground\NotAnalysedTraitRule
- PHPStan\Rules\Playground\NoPhpCodeRule
Expand Down
Loading
Loading