Skip to content

Releases: ecsphp/ecs

Released ECS 13.2

11 Jun 10:49

Choose a tag to compare

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 --dev

Your 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 --dev no longer pulls in a separate symplify/coding-standard.

  • Class names are unchanged — your existing ecs.php keeps 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 time

New 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/container and its bundled patch (patches/illuminate-container-container-php.patch) are gone.
  • Checker registration order and the documented duplicate-in-set behavior are preserved.
  • symfony/console stays — 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

06 Nov 14:48

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 12.6.2...13.0.0

Released easy-coding-standard 12.6.2

29 Oct 09:02

Choose a tag to compare

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

10 Sep 14:25

Choose a tag to compare

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

21 Aug 07:00

Choose a tag to compare

Released easy-coding-standard 12.5.23

16 Aug 06:08

Choose a tag to compare

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

30 May 11:43

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 12.5.18...12.5.20

Released: easy-coding-standard 12.5.8

31 Jan 14:00

Choose a tag to compare

What's Changed

Full Changelog: 12.5.6...12.5.8

Released: EasyCodingStandard 12.5.5

02 Jan 08:44

Choose a tag to compare

What's Changed

Full Changelog: 12.5.4...12.5.5

Released ECS 12.2.1

02 Jun 12:10

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 12.2.0...12.2.1