- Processing large code bases that use tab indenting inside comments and strings will now be faster
- Thanks to Thiemo Kreuz (@thiemowmde) for the patch
- Fixed bug #3388 : phpcs does not work when run from WSL drives
- Fixed bug #3422 : Squiz.WhiteSpace.ScopeClosingBrace fixer removes HTML content when fixing closing brace alignment
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- Fixed bug #3437 : PSR12 does not forbid blank lines at the start of the class body
- Added new PSR12.Classes.OpeningBraceSpace sniff to enforce this
- Fixed bug #3440 : Squiz.WhiteSpace.MemberVarSpacing false positives when attributes used without docblock
- Thanks to Vadim Borodavko (@javer) for the patch
- Fixed bug #3448 : PHP 8.1 deprecation notice while generating running time value
- Fixed bug #3456 : PSR12.Classes.ClassInstantiation.MissingParentheses false positive using attributes on anonymous class
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- Fixed bug #3460 : Generic.Formatting.MultipleStatementAlignment false positive on closure with parameters
- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
- Fixed bug #3468 : do/while loops are double-counted in Generic.Metrics.CyclomaticComplexity
- Thanks to Mark Baker (@MarkBaker) for the patch
- Fixed bug #3469 : Ternary Operator and Null Coalescing Operator are not counted in Generic.Metrics.CyclomaticComplexity
- Thanks to Mark Baker (@MarkBaker) for the patch
- Fixed bug #3472 : PHP 8 match() expression is not counted in Generic.Metrics.CyclomaticComplexity
- Thanks to Mark Baker (@MarkBaker) for the patch