Releases: ecsphp/ecs
Released ECS 13.2
The headline of this release: ECS is now a single package. The symplify/coding-standard fixers moved in-tree, and the Laravel container dependency is gone. No breaking changes for users — the Symplify\CodingStandard\Fixer\* class names are unchanged.
⬆️ How to upgrade
If you previously required symplify/coding-standard directly, drop it — it now ships inside ECS:
composer remove symplify/coding-standard --dev
composer require symplify/easy-coding-standard:^13.2 --devYour ecs.php needs no changes: the Symplify\CodingStandard\Fixer\* class names are unchanged. If you only ever required symplify/easy-coding-standard, a plain composer update symplify/easy-coding-standard is all you need.
🎯 Highlights
1. symplify/coding-standard merged into ECS (#19)
The 26 custom Symplify fixers ECS has always relied on now live directly in this repository under packages/coding-standard/. ECS could never run without them, and many prepared sets are tightly coupled to them — so maintaining two repos added friction for no benefit.
What this means for you:
-
One package instead of two.
composer require symplify/easy-coding-standard --devno longer pulls in a separatesymplify/coding-standard. -
Class names are unchanged — your existing
ecs.phpkeeps working as-is:// ecs.php — still valid, no change needed use Symplify\EasyCodingStandard\Config\ECSConfig; use Symplify\CodingStandard\Fixer\LineLength\LineLengthFixer; return ECSConfig::configure() ->withRules([LineLengthFixer::class]); ->withPreparedSets(symplify: true);
2. withDocblockLevel() now goes much deeper (#19)
Because the Symplify commenting fixers now ship in-tree, the gradual docblock level gained 11 new rules (24 total). You opt in one level per PR, safest first:
// ecs.php
use Symplify\EasyCodingStandard\Config\ECSConfig;
return ECSConfig::configure()
->withDocblockLevel(5); // ramp up one level at a timeNew rules now reachable through the level include inline @var normalization (DoubleAsteriskInlineVarFixer, SingleLineInlineVarDocBlockFixer, AddMissingVarNameFixer), @param fixes (AddMissingParamNameFixer, FixParamNameTypoFixer, RemoveParamNameReferenceFixer, RemoveDeadParamFixer), and superfluous-name removal (RemoveSuperfluousReturnNameFixer, RemoveSuperfluousVarNameFixer).
3. illuminate/container replaced with entropy/entropy (#17)
ECS's DI container no longer extends Illuminate's. ECSConfig now extends Entropy\Container\Container.
What this means for you:
- One less dependency in your install tree —
illuminate/containerand its bundled patch (patches/illuminate-container-container-php.patch) are gone. - Checker registration order and the documented duplicate-in-set behavior are preserved.
symfony/consolestays — it's still a transitive dependency of PHP-CS-Fixer and easy-parallel, so it can't be dropped.
This is an internal change. If you only use the public
ECSConfig::configure()->with...()API, nothing changes for you.
Released easy-coding-standard 13.0.0
What's Changed
- fix: missing example for output-format by @dfranco in #308
- Allow squizlabs/php_codesniffer ^4.0 by @bytehead in #299
- bump by @parth391 in #310
New Contributors
- @dfranco made their first contribution in #308
- @bytehead made their first contribution in #299
- @parth391 made their first contribution in #310
Full Changelog: 12.6.2...13.0.0
Released easy-coding-standard 12.6.2
What's Changed
- [Scoper] Fix Scoper on AbstractMajorMinorDeprecationSetDefinition by @samsonasik in #306
Full Changelog: 12.6.1...12.6.2
Released easy-coding-standard 12.6.0
What's Changed
- Clean up symfony/polyfill-* on replace config on composer.json by @samsonasik in #296
- Update PHP-CS-Fixer / Code Sniffer by @staabm in #298
Full Changelog: 12.5.24...12.6.0
Released easy-coding-standard 12.5.24
Released easy-coding-standard 12.5.23
What's Changed
- Temporary use vendor patch for patch friendsofphp/php-cs-fixer merge const array spread on VisibilityRequiredFixer by @samsonasik in #283
- Fix Symfony\Component\String\UnicodeString not found by @samsonasik in #284
- Comment some line into templates to be able to display help and version by @llaville in #286
- [Scoped] Remove no longer needed vendor patch for VisibilityRequiredFixer by @samsonasik in #290
- [Console] Fix symfony/console diff broken on windows on symfony/console 6.4.24 by @samsonasik in #291
Full Changelog: 12.5.21...12.5.23
Released: easy-coding-standard 12.5.20
What's Changed
- Bump to symplify/coding-standard:^12.4.3 by @samsonasik in #279
- escalate TodoSniff warning by @wietsewarendorff in #274
- Hotfix trailing comma by @samsonasik in #280
New Contributors
- @wietsewarendorff made their first contribution in #274
Full Changelog: 12.5.18...12.5.20
Released: easy-coding-standard 12.5.8
What's Changed
- Fix: Correctly Apply Symfony Output Flags by @Kenneth-Sills in #235
- Add Convenience Composer
testScript by @Kenneth-Sills in #227 - Stop Reporting Duplicate Errors for Sniffs in the Presence of Fixable Changes by @Kenneth-Sills in #228
- New Feature: Add .editorconfig Support by @TomasVotruba in #259
- Fix downgrade error by @samsonasik in #260
Full Changelog: 12.5.6...12.5.8
Released: EasyCodingStandard 12.5.5
What's Changed
- Bump dependencies to support PHP 8.4 by @samsonasik in #256
Full Changelog: 12.5.4...12.5.5
Released ECS 12.2.1
What's Changed
- Update Composer Linting Scripts by @Kenneth-Sills in #211
- Add Gitlab / Code Climate Output Format Support by @Kenneth-Sills in #210
- Avoid change chmod by using Nette\Utils\FileSystem with pass null on 3rd argument on write by @samsonasik in #209
New Contributors
- @Kenneth-Sills made their first contribution in #211
Full Changelog: 12.2.0...12.2.1