Bug fixes 🐛
- PER-CS: remove blank lines before closing curly brace, as PER-CS 4.1 requires (#347)
Improvements 🎉
- Automatically run the Blink Go engine when it fully covers the config, with silent fallback to PHP (#330)
- SpacesLevel: use php-cs-fixer fixers instead of PHP_CodeSniffer sniffs, so spaces-only configs tokenize each file once (#336)
- Render fixed tokens once per file in FixerFileProcessor (#333)
- Replace deprecated rules in ECS sets with their successors and forbid them in tests (#334)
- Remove deprecated ParamReturnAndVarTagMalformsFixer (#335)
Blink (experimental Go engine) 😉
Parity fixes
- PhpdocNoUselessInheritdoc: only drop inheritdoc where PHP-CS-Fixer does (#340) — thanks @owenvoke
- NoTrailingWhitespace: keep whitespace-only lines (#339) — thanks @owenvoke
- MethodArgumentSpace: keep a comment after
(in place (#344) — thanks @owenvoke - LineLength: skip destructuring targets (#345) — thanks @owenvoke
- ClassAttributesSeparation: keep matching gaps as they are (#343) — thanks @owenvoke
- Dump the config of fixers that keep options in their own props (#338) — thanks @owenvoke
Tooling
- Use slices.Backward in PhpdocNoUselessInheritdoc (#341)
- Bump Go to 1.26.11 to fix GO-2026-6859 (#346)