quality-config/phpstan-base.neon gains two settings so the fleet's nine
phpstan/phpstan 1.12.33 -> 2.x dependabot PRs stop failing on migration
behaviour rather than on defects:
treatPhpDocTypesAsCertain: false 2.x narrows types declared only in a
docblock and reports the defensive
checks against them as already-decided.
ignoreErrors phpDoc.parseError @SuppressWarnings is PHPMD's tag; 2.x
parses it as its own and fails on
PHPMD's rule syntax.
Measured on decidesk with 2.2.8: 60 -> 22 errors. The residual 22 are real
per-app debt and are NOT masked.
Verified on BOTH majors, since 17 of 18 apps still run 1.12.33:
2.2.8 60 -> 22 errors
1.12.33 exit 0, '[OK] No errors', no configuration error, and still
'Found 1 error' on a deliberately broken file — so it is
analysing, not silently skipping.