Renaming fixers breaks projects overriding the configuration of a set using the old name

Author: stofCreated Sep 29, 2025Updated Aug 23, 2026
Labelskind/bugstatus/stale

Problem description

In https://github.com/phpspec/prophecy, we have a config disabling the visibility_required fixer, while applying @PER-CS otherwise.

New CI runs installing PHP-CS-Fixer 3.88+ don't disable the fixer properly, as it is now registered as modifier_keywords. To provide BC, explicitly disabling a fixer that is implemented as a proxy fixer should disabled the proxied fixers as well.

Minimal reproducer CLI command

php-cs-fixer fix --rules='@PER-CS,-visibility_required`

Minimal reproducer code snippet

php
<?php

namespace spec\Prophecy\Argument\Token;

use PhpSpec\ObjectBehavior;

class AnyValueTokenSpec extends ObjectBehavior
{
    function it_implements_TokenInterface()
    {
        $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
    }
}

Fixer version

3.88.2

PHP version

8.3.25

How do you run Fixer?

Composer package

Contribution Checks

  • I have verified if this problem was already reported
  • I am familiar with "Feature or bug?"

Source: PHP-CS-Fixer/PHP-CS-Fixer