PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer)
### [`v3.53.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3530)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.52.1...v3.53.0)
- chore: Use `list` over `array` in more places ([#7905](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7905))
- CI: allow for self-approvals for maintainers ([#7921](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7921))
- CI: Improve Infection setup ([#7913](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7913))
- CI: no need to trigger enable auto-merge when self-approve ([#7929](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7929))
- DX: reduce `array_filter` function usages ([#7923](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7923))
- DX: remove duplicated character from `trim` call ([#7930](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7930))
- DX: update actions producing warnings ([#7925](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7925))
- DX: update actions producing warnings ([#7928](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7928))
- DX: update `phpstan/phpstan-strict-rules` ([#7924](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7924))
- feat: Add trailing comma in multiline to PER-CS 2.0 ([#7916](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7916))
- feat: Introduce `AttributeAnalysis` ([#7909](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7909))
- feat: `@PHP84Migration` introduction ([#7774](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7774))
- fix: Constant invocation detected in typed constants ([#7892](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7892))
- fix: `PhpdocArrayTypeFixer` - JIT stack limit exhausted ([#7895](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7895))
- test: Introduce Infection for mutation tests ([#7874](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7874))
### [`v3.52.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3521)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.52.0...v3.52.1)
- fix: StatementIndentationFixer - do not crash on ternary operator in class property ([#7899](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7899))
- fix: `PhpCsFixer\Tokenizer\Tokens::setSize` return type ([#7900](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7900))
### [`v3.52.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3520)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.51.0...v3.52.0)
- chore: fix PHP 8.4 deprecations ([#7894](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7894))
- chore: fix PHPStan 1.10.60 issues ([#7873](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7873))
- chore: list over array in more places ([#7876](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7876))
- chore: replace template with variable in Preg class ([#7882](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7882))
- chore: update PHPStan ([#7871](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7871))
- depr: `nullable_type_declaration_for_default_null_value` - deprecate option that is against `@PHP84Migration` ([#7872](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7872))
- docs: Fix typo ([#7889](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7889))
- feat: Add support for callable template in PHPDoc parser ([#7084](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7084))
- feat: Add `array_indentation` to `PER-CS2.0` ruleset ([#7881](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7881))
- feat: `@Symfony:risky` - add `no_unreachable_default_argument_value` ([#7863](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7863))
- feat: `PhpCsFixer` ruleset - enable `nullable_type_declaration_for_default_null_value` ([#7870](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7870))
- fix: Constant invocation detected in DNF types ([#7869](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7869))
- fix: Correctly indent multiline constants and properties ([#7875](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7875))
- fix: `no_useless_concat_operator` - do not break variable ([#7827](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7827))
- fix: `TokensAnalyzer` - handle unary operator in arrow functions ([#7862](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7862))
- fix: `TypeExpression` - fix "JIT stack limit exhausted" error ([#7843](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7843))
### [`v3.51.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3510)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.50.0...v3.51.0)
- chore: add missing tests for non-documentation classes ([#7848](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7848))
- chore: do not perform type analysis in tests ([#7852](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7852))
- chore: list over array in more places ([#7857](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7857))
- chore: tests documentation classes ([#7855](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7855))
- feat: `@Symfony` - add nullable_type_declaration ([#7856](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7856))
- test: fix wrong type in param annotation ([#7858](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7858))
### [`v3.50.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3500)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.49.0...v3.50.0)
- chore: add missing types ([#7842](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7842))
- chore: BlocksAnalyzer - raise exception on invalid index ([#7819](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7819))
- chore: DataProviderAnalysis - expect list over array ([#7800](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7800))
- chore: do not use `@large` on method level ([#7832](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7832))
- chore: do not use `@medium` on method level ([#7833](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7833))
- chore: Fix typos ([#7835](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7835))
- chore: rename variables ([#7847](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7847))
- chore: some improvements around array typehints ([#7799](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7799))
- CI: fix PHP 8.4 job ([#7829](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7829))
- DX: Include `symfony/var-dumper` in dev tools ([#7795](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7795))
- feat: Ability to remove unused imports from multi-use statements ([#7815](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7815))
- feat: allow PHPUnit 11 ([#7824](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7824))
- feat: Allow shortening symbols from multi-use statements (only classes for now) ([#7816](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7816))
- feat: introduce `PhpdocArrayTypeFixer` ([#7812](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7812))
- feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v11 methods ([#7822](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7822))
- feat: Support for multi-use statements in `NamespaceUsesAnalyzer` ([#7814](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7814))
- feat: `MbStrFunctionsFixer` - add support for `mb_trim`, `mb_ltrim` and `mb_rtrim` functions ([#7840](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7840))
- feat: `NoEmptyPhpdocFixer` - do not leave empty line after removing PHPDoc ([#7820](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7820))
- feat: `no_superfluous_phpdoc_tags` - introduce `allow_future_params` option ([#7743](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7743))
- fix: do not use wrongly named arguments in data providers ([#7823](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7823))
- fix: Ensure PCNTL extension is always installed in Docker ([#7782](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7782))
- fix: PhpdocListTypeFixer - support key types containing `<…>` ([#7817](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7817))
- fix: Proper build target for local Docker Compose ([#7834](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7834))
- fix: union PHPDoc support in `fully_qualified_strict_types` fixer ([#7719](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7719))
- fix: `ExecutorWithoutErrorHandler` - remove invalid PHP 7.4 type ([#7845](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7845))
- fix: `fully_qualified_strict_types` must honor template/local type identifiers ([#7724](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7724))
- fix: `MethodArgumentSpaceFixer` - do not break heredoc/nowdoc ([#7828](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7828))
- fix: `NumericLiteralSeparatorFixer` - do not change `float` to `int` when there is nothing after the dot ([#7805](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7805))
- fix: `PhpUnitStrictFixer` - do not crash on property having the name of method to fix ([#7804](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7804))
- fix: `SingleSpaceAroundConstructFixer` - correctly recognise multiple constants ([#7700](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7700))
- fix: `TypeExpression` - handle array shape key with dash ([#7841](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7841))
### [`v3.49.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3490)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.48.0...v3.49.0)
- chore(checkbashisms): update to 2.23.7 ([#7780](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7780))
- chore: add missing key types in PHPDoc types ([#7779](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7779))
- chore: Exclude `topic/core` issues/PRs from Stale Bot ([#7788](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7788))
- chore: `DescribeCommand` - better handling of deprecations ([#7778](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7778))
- docs: docker - use gitlab reporter in GitLab integration example ([#7764](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7764))
- docs: docker in CI - don't suggest command that overrides path from config file ([#7763](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7763))
- DX: check deprecations exactly ([#7742](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7742))
- feat: Add `ordered_types` to `@Symfony` ([#7356](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7356))
- feat: introduce `PhpdocListTypeFixer` ([#7796](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7796))
- feat: introduce `string_implicit_backslashes` as `escape_implicit_backslashes` replacement ([#7669](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7669))
- feat: update `Symfony.nullable_type_declaration_for_default_null_value` config ([#7773](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7773))
- feat: `@PhpCsFixer` ruleset - enable `php_unit_data_provider_static` ([#7685](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7685))
- fix: Allow using cache when running in Docker distribution ([#7769](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7769))
- fix: ClassDefinitionFixer for anonymous class with phpdoc/attribute on separate line ([#7546](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7546))
- fix: `ClassKeywordFixer` must run before `FullyQualifiedStrictTypesFixer` ([#7767](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7767))
- fix: `function_to_constant` `get_class()` replacement ([#7770](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7770))
- fix: `LowercaseStaticReferenceFixer` - do not change typed constants ([#7775](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7775))
- fix: `PhpdocTypesFixer` - handle more complex types ([#7791](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7791))
- fix: `TypeExpression` - do not break type using `walkTypes` method ([#7785](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7785))
### [`v3.48.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3480)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.47.1...v3.48.0)
- chore: `FullyQualifiedStrictTypesFixer` must run before `OrderedInterfacesFixer` ([#7762](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7762))
- docs: Add PHP-CS-Fixer integration in a GitHub Action step ([#7757](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7757))
- feat: `PhpdocTypesOrderFixer` Support DNF types ([#7732](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7732))
- fix: Support shebang in fixers operating on PHP opening tag ([#7687](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7687))
- fix: work correctly for a switch/case with ternary operator ([#7756](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7756))
- fix: `NoUselessConcatOperatorFixer` - do not remove new line ([#7759](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7759))
### [`v3.47.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3471)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.47.0...v3.47.1)
- fix: Do not override short name with relative reference ([#7752](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7752))
- fix: make `BinaryOperatorSpacesFixer` work as pre-v3.47 ([#7751](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7751))
- fix: Proper Docker image name suffix ([#7739](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7739))
- fix: `FullyQualifiedStrictTypesFixer` - do not change case of the symbol when there's name collision between imported class and imported function ([#7750](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7750))
- fix: `FullyQualifiedStrictTypesFixer` - do not modify statements with property fetch and `::` ([#7749](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7749))
### [`v3.47.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3470)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.46.0...v3.47.0)
- chore: better identify EXPERIMENTAL rules ([#7729](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7729))
- chore: fix issue detected by unlocked PHPStan + upgrade dev-tools ([#7678](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7678))
- chore: handle extract() ([#7684](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7684))
- chore: Mention contributors in app info ([#7668](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7668))
- chore: no need to mark private methods as internal ([#7715](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7715))
- chore: ProjectCodeTests - dry for function usage extractions ([#7690](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7690))
- chore: reduce PHPStan baseline ([#7644](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7644))
- chore: use numeric literal separator for PHP version IDs ([#7712](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7712))
- chore: use numeric_literal_separator for project ([#7713](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7713))
- chore: Utils::sortElements - better typing ([#7646](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7646))
- CI: Allow running Stale Bot on demand ([#7711](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7711))
- CI: Fix PHP 8.4 ([#7702](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7702))
- CI: Give write permissions to Stale Bot ([#7716](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7716))
- CI: Use `actions/stale` v9 ([#7710](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7710))
- docs: Add information about allowing maintainers to update PRs ([#7683](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7683))
- docs: CONTRIBUTING.md - update Opening a PR ([#7691](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7691))
- docs: Display/include tool info/version by default in commands and reports ([#7733](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7733))
- DX: fix deprecation tests warnings for PHP 7.4 ([#7725](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7725))
- DX: update `host.docker.internal` in Compose override template ([#7661](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7661))
- DX: `NumericLiteralSeparatorFixer` - change default strategy to `use_separator` ([#7730](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7730))
- feat: Add support for official Docker images of Fixer ([#7555](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7555))
- feat: Add `spacing` option to `PhpdocAlignFixer` ([#6505](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6505))
- feat: Add `union_types` option to `phpdoc_to_param_type`, `phpdoc_to_property_type`, and `phpdoc_to_return_type` fixers ([#7672](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7672))
- feat: Introduce `heredoc_closing_marker` fixer ([#7660](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7660))
- feat: Introduce `multiline_string_to_heredoc` fixer ([#7665](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7665))
- feat: Introduce `NumericLiteralSeparatorFixer` ([#6761](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6761))
- feat: no_superfluous_phpdoc_tags - support for arrow function ([#7666](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7666))
- feat: Simplify closing marker when possible in `heredoc_closing_marker` fixer ([#7676](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7676))
- feat: Support typed properties and attributes in `fully_qualified_strict_types` ([#7659](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7659))
- feat: `@PhpCsFixer` ruleset - enable no_whitespace_before_comma_in_array.after_heredoc ([#7670](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7670))
- fix: Improve progress bar visual layer ([#7708](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7708))
- fix: indentation of control structure body without braces ([#7663](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7663))
- fix: make sure all PHP extensions required by PHPUnit are installed ([#7727](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7727))
- fix: PhpdocToReturnTypeFixerTest - support for arrow functions ([#7645](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7645))
- fix: Several improvements for `fully_qualified_strict_types` (respect declared symbols, relative imports, leading backslash in global namespace) ([#7679](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7679))
- fix: SimplifiedNullReturnFixer - support array return typehint ([#7728](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7728))
- fix: Support numeric values without leading zero in `numeric_literal_separator` ([#7735](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7735))
- fix: `BinaryOperatorSpacesFixer` - align correctly when multiple shifts occurs in single line ([#7593](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7593))
- fix: `ClassReferenceNameCasingFixer` capitalizes the property name after the nullsafe operator ([#7696](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7696))
- fix: `fully_qualified_strict_types` with `leading_backslash_in_global_namespace` enabled - handle reserved types in phpDoc ([#7648](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7648))
- fix: `NoSpaceAroundDoubleColonFixer` must run before `MethodChainingIndentationFixer` ([#7723](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7723))
- fix: `no_superfluous_phpdoc_tags` must honor multiline docs ([#7697](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7697))
- fix: `numeric_literal_separator` - Handle zero-leading floats properly ([#7737](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7737))
- refactor: increase performance by ~7% thanks to `Tokens::block*Cache` hit increased by ~12% ([#6176](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6176))
- refactor: Tokens - fast check for non-block in 'detectBlockType', evaluate definitions only once in 'getBlockEdgeDefinitions' ([#7655](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7655))
- refactor: `Tokens::clearEmptyTokens` - play defensive with cache clearing ([#7658](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7658))
- test: ensure we do not forget to test any short_open_tag test ([#7638](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7638))
### [`v3.46.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3460)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.45.0...v3.46.0)
- chore: fix internal typehints in Tokens ([#7656](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7656))
- chore: reduce PHPStan baseline ([#7643](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7643))
- docs: Show class with unit tests and BC promise info ([#7667](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7667))
- feat: change default ruleset to `@PER-CS` (only behind PHP_CS_FIXER_FUTURE_MODE=1) ([#7650](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7650))
- feat: Support new/instanceof/use trait in `fully_qualified_strict_types` ([#7653](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7653))
- fix: FQCN parse phpdoc using full grammar regex ([#7649](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7649))
- fix: Handle FQCN properly with `leading_backslash_in_global_namespace` option enabled ([#7654](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7654))
- fix: PhpdocToParamTypeFixerTest - support for arrow functions ([#7647](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7647))
- fix: PHP_CS_FIXER_FUTURE_MODE - proper boolean validation ([#7651](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7651))
### [`v3.45.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3450)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.44.0...v3.45.0)
- feat: Enable symbol importing in `@PhpCsFixer` ruleset ([#7629](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7629))
- fix: NoUnneededBracesFixer - improve handling of global namespace ([#7639](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7639))
- test: run tests with "short_open_tag" enabled ([#7637](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7637))
### [`v3.44.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3440)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.43.1...v3.44.0)
- feat: Introduce percentage bar as new default progress output ([#7603](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7603))
### [`v3.43.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3431)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.43.0...v3.43.1)
- fix: Import only unique symbols' short names ([#7635](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7635))
### [`v3.43.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3430)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.42.0...v3.43.0)
- chore: change base of `@Symfony` set to `@PER-CS2.0` ([#7627](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7627))
- chore: PHPUnit - allow for v10 ([#7606](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7606))
- chore: Preg - rework catching the error ([#7616](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7616))
- chore: Revert unneeded peer-dep-pin and re-gen lock file ([#7618](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7618))
- docs: drop extra note about 8.0.0 bug in README.md ([#7614](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7614))
- feat: add cast_spaces into `@PER-CS2.0` ([#7625](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7625))
- feat: Configurable phpDoc tags for FQCN processing ([#7628](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7628))
- feat: StatementIndentationFixer - introduce stick_comment_to_next_continuous_control_statement config ([#7624](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7624))
- feat: UnaryOperatorSpacesFixer - introduce only_dec_inc config ([#7626](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7626))
- fix: FullyQualifiedStrictTypesFixer - better support annotations in inline {} ([#7633](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7633))
- fix: Improve how FQCN is handled in phpDoc ([#7622](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7622))
- fix: phpdoc_align - fix multiline tag alignment issue ([#7630](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7630))
### [`v3.42.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3420)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.41.1...v3.42.0)
- chore: aim to not rely on internal array pointer but use array_key_first ([#7613](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7613))
- chore: deprecate Token::isKeyCaseSensitive ([#7599](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7599))
- chore: deprecate Token::isKeyCaseSensitive, 2nd part ([#7601](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7601))
- chore: do not check PHP_VERSION_ID ([#7602](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7602))
- chore: FileFilterIteratorTest - more accurate type in docs ([#7542](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7542))
- chore: minor code cleanup ([#7607](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7607))
- chore: more types ([#7598](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7598))
- chore: PHPDoc key-value spacing ([#7592](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7592))
- chore: PHPUnit - run defects first ([#7570](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7570))
- chore: ProjectCodeTest - DRY on Tokens creation ([#7574](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7574))
- chore: ProjectCodeTest - prepare for symfony/console v7 ([#7605](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7605))
- chore: ProjectCodeTest::provide\*ClassCases to return iterable with key for better tests execution log ([#7572](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7572))
- chore: ProjectCodeTest::testDataProvidersDeclaredReturnType - use better DataProvider to simplify test logic ([#7573](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7573))
- chore: TokensAnalyzer - string-enum for better typehinting ([#7571](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7571))
- chore: unify tests not agnostic of PHP version ([#7581](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7581))
- chore: use ::class more ([#7545](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7545))
- CI: Introduce `composer-unused` ([#7536](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7536))
- DX: add types to anonymous functions ([#7561](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7561))
- DX: Allow running smoke tests within Docker runtime ([#7608](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7608))
- DX: check fixer's options for wording ([#7543](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7543))
- DX: cleanup deprecation message ([#7576](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7576))
- DX: do not allow overriding constructor of `PHPUnit\Framework\TestCase` ([#7563](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7563))
- DX: do not import ExpectDeprecationTrait in UtilsTest ([#7562](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7562))
- DX: Enforce consistent naming in tests ([#7556](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7556))
- DX: fix checking test class extends `PhpCsFixer\Tests\TestCase` ([#7567](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7567))
- DX: make sure that exceptions in `AbstractFixerTestCase::testProperMethodNaming` are not already fixed ([#7588](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7588))
- DX: remove recursion from AbstractIntegrationTestCase::testIntegration ([#7577](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7577))
- DX: remove `PhpUnitNamespacedFixerTest::testClassIsFixed` ([#7564](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7564))
- DX: remove `symfony/phpunit-bridge` ([#7578](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7578))
- DX: replace fixture classes with anonymous ones ([#7533](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7533))
- DX: Unify Docker mount points and paths ([#7549](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7549))
- DX: unify fixer's test method names - quick wins ([#7584](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7584))
- DX: unify tests for casing fixers ([#7558](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7558))
- DX: use anonymous function over concrete classes ([#7553](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7553))
- feat(EXPERIMENTAL): ClassKeywordFixer ([#2918](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/2918))
- feat(EXPERIMENTAL): ClassKeywordFixer, part 2 ([#7550](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7550))
- feat(PhpdocToCommentFixer): Add option to handle return as valid docblock usage ([#7401](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7401)) ([#7402](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7402))
- feat: Ability to import FQCNs found during analysis ([#7597](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7597))
- feat: add phpDoc support for `fully_qualified_strict_types` fixer ([#5620](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/5620))
- feat: Handle deprecated rule sets similarly to deprecated fixers ([#7288](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7288))
- feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v10 methods ([#7604](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7604))
- feat: Support more FQCNs cases in `fully_qualified_strict_types` ([#7459](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7459))
- fix: AbstractFixerTestCase - fix checking for correct casing ([#7540](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7540))
- fix: Better OS detection in integration tests ([#7547](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7547))
- fix: NativeTypeDeclarationCasingFixe - handle static property without type ([#7589](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7589))
- test: AutoReview - unify data provider returns ([#7544](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7544))
- test: check to have DataProviders code agnostic of PHP version ([#7575](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7575))
### [`v3.41.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3411)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.41.0...v3.41.1)
- DX: Change `@testWith` to `@dataProvider` ([#7535](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7535))
- DX: Introduce Markdownlint ([#7534](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7534))
- fix: NativeTypeDeclarationCasingFixer - do not crash on `var` keyword ([#7538](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7538))
### [`v3.41.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3410)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.40.2...v3.41.0)
- chore: Move `mb_str_functions` PHP 8.3 cases to separate test ([#7505](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7505))
- chore: Symfony v7 is now stable ([#7469](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7469))
- CI: drop PHP 8.3 hacks ([#7519](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7519))
- docs: Improve docs for `no_spaces_after_function_name` ([#7520](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7520))
- DX: Ability to run Sphinx linter locally ([#7481](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7481))
- DX: AbstractFixerTest - use anonymous classes ([#7527](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7527))
- DX: Add progress output for `cs:check` script ([#7514](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7514))
- DX: align doubles naming ([#7525](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7525))
- DX: remove AbstractFixerTestCase::getTestFile() ([#7495](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7495))
- DX: remove jangregor/phpstan-prophecy ([#7524](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7524))
- DX: remove Prophecy ([#7509](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7509))
- DX: replace Prophecy with anonymous classes in CacheTest ([#7503](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7503))
- DX: replace Prophecy with anonymous classes in ProcessLintingResultTest ([#7501](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7501))
- DX: Utilise auto-discovery for PHPStan formatter ([#7490](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7490))
- feat: Support `mb_str_pad` function in `mb_str_functions` rule ([#7499](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7499))
- fix: BinaryOperatorSpacesFixer - do not add whitespace inside short function ([#7523](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7523))
- fix: Downgrade PDepend to version not supporting Symfony 7 ([#7513](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7513))
- fix: GlobalNamespaceImportFixer - key in PHPDoc's array shape matching class name ([#7522](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7522))
- fix: SpacesInsideParenthesesFixer - handle class instantiation parentheses ([#7531](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7531))
- Update PHPstan to 1.10.48 ([#7532](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7532))
### [`v3.40.2`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3402)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.40.1...v3.40.2)
- docs: fix link to source classes ([#7493](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7493))
### [`v3.40.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3401)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.40.0...v3.40.1)
- chore: Delete stray file x ([#7473](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7473))
- chore: Fix editorconfig ([#7478](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7478))
- chore: Fix typos ([#7474](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7474))
- chore: Fix YAML line length ([#7476](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7476))
- chore: Indent JSON files with 4 spaces ([#7480](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7480))
- chore: Make YAML workflow git-based ([#7477](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7477))
- chore: Use stable XDebug ([#7489](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7489))
- CI: Lint docs ([#7479](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7479))
- CI: Use PHPStan's native Github error formatter ([#7487](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7487))
- DX: fix PHPStan error ([#7488](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7488))
- DX: PsrAutoloadingFixerTest - do not build mock in data provider ([#7491](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7491))
- DX: PsrAutoloadingFixerTest - merge all data providers into one ([#7492](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7492))
- DX: Update PHPStan to 1.10.46 ([#7486](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7486))
- fix: `NoSpacesAfterFunctionNameFixer` - do not remove space if the opening parenthesis part of an expression ([#7430](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7430))
### [`v3.40.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3400)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.39.1...v3.40.0)
- chore: officially support PHP 8.3 ([#7466](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7466))
- chore: update deps ([#7471](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7471))
- CI: add --no-update while dropping non-compat `facile-it/paraunit` ([#7470](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7470))
- CI: automate --ignore-platform-req=PHP ([#7467](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7467))
- CI: bump actions/github-script to v7 ([#7468](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7468))
- CI: move humbug/box out of dev-tools/composer.json ([#7472](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7472))
### [`v3.39.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3391)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.39.0...v3.39.1)
- DX: introduce SwitchAnalyzer ([#7456](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7456))
- fix: NoExtraBlankLinesFixer - do not remove blank line after `? : throw` ([#7457](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7457))
- fix: OrderedInterfacesFixer - do not comment out interface ([#7464](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7464))
- test: Improve `ExplicitIndirectVariableFixerTest` ([#7451](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7451))
### [`v3.39.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3390)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.38.2...v3.39.0)
- chore: Add support for Symfony 7 ([#7453](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7453))
- chore: IntegrationTest - move support of php< requirement to main Integration classes ([#7448](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7448))
- CI: drop Symfony ^7 incompat exceptions of php-coveralls and cli-executor ([#7455](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7455))
- CI: early compatibility checks with Symfony 7 ([#7431](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7431))
- docs: drop list.rst and code behind it ([#7436](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7436))
- docs: remove Gitter mentions ([#7441](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7441))
- DX: Ability to run Fixer on PHP8.3 for development ([#7449](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7449))
- DX: describe command - for rules, list also sets that are including them ([#7419](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7419))
- DX: Docker clean up ([#7450](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7450))
- DX: more usage of spaceship operator ([#7438](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7438))
- DX: Put `Preg`'s last error message in exception message ([#7443](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7443))
- feat: Introduce `@PHP83Migration` ruleset and PHP 8.3 integration test ([#7439](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7439))
- test: Improve `AbstractIntegrationTestCase` description ([#7452](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7452))
### [`v3.38.2`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3382)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.38.1...v3.38.2)
- docs: fix 'Could not lex literal_block as "php". Highlighting skipped.' ([#7433](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7433))
- docs: small unification between FixerDocumentGenerator and ListDocumentGenerator ([#7435](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7435))
- docs: unify ../ <> ./../ ([#7434](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7434))
### [`v3.38.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3381)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.38.0...v3.38.1)
- chore: ListSetsCommand::execute - add missing return type ([#7432](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7432))
- chore: PHPStan - add counter to dataProvider exception, so we do not increase the tech debt on it ([#7425](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7425))
- CI: Use `actions/checkout` v4 ([#7423](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7423))
- fix: ClassAttributesSeparationFixer - handle Disjunctive Normal Form types parentheses ([#7428](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7428))
- fix: Remove all variable names in `@var` callable signature ([#7429](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7429))
- fix: Satisfy `composer normalize` ([#7424](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7424))
### [`v3.38.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3380)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.37.1...v3.38.0)
- chore: upgrade phpstan ([#7421](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7421))
- CI: add curl and mbstring to build php ([#7409](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7409))
- CI: cache dev-tools/bin ([#7416](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7416))
- CI: Composer - move prefer-stable to file config ([#7406](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7406))
- CI: conditionally install flex ([#7412](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7412))
- CI: dev-tools/build.sh - no need to repeat 'prefer-stable', but let's use '--no-scripts' ([#7408](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7408))
- CI: Do not run post-autoload-dump on Composer install ([#7403](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7403))
- CI: general restructure ([#7407](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7407))
- CI: GitHub Actions - use actions/cache for Composer in composite action ([#7415](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7415))
- CI: Improve QA process - suplement ([#7411](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7411))
- CI: prevent Infection plugins during build time, as we do not use it ([#7422](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7422))
- CI: simplify setup-php config ([#7404](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7404))
- DX: Do not mark as stale issues/PRs with milestone assigned ([#7398](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7398))
- DX: Improve QA process ([#7366](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7366))
- feat: phpDoc to property/return/param Fixer - allow fixing mixed on PHP >= 8 ([#6356](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6356))
- feat: phpDoc to property/return/param Fixer - allow fixing union types on PHP >= 8 ([#6359](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6359))
- feat: Support for array destructuring in `array_indentation` ([#7405](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7405))
- feat: `@Symfony` - keep Annotation,NamedArgumentConstructor,Target annotations as single group ([#7399](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7399))
- fix(SelfAccessorFixer): do not touch references inside lambda and/or arrow function ([#7349](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7349))
- fix: long_to_shorthand_operator - mark as risky fixer ([#7418](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7418))
- fix: OrderedImportsFixer - handle non-grouped list of const/function imports ([#7397](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7397))
### [`v3.37.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3371)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.37.0...v3.37.1)
- docs: config file - provide better examples ([#7396](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7396))
- docs: config file - provide better link to Finder docs ([#6992](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6992))
### [`v3.37.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3370)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.36.0...v3.37.0)
- feat: add parallel cache support ([#7131](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7131))
### [`v3.36.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3360)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.35.1...v3.36.0)
- chore: disable `infection-installer` plugin, as we do not use `infection/*` yet ([#7391](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7391))
- chore: Run dev-tools on PHP 8.2 ([#7389](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7389))
- CI: Run Symfony 6 compat check on PHP 8.1 ([#7383](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7383))
- CI: use fast-linter when calculating code coverage ([#7390](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7390))
- docs: extend example for nullable_type_declaration ([#7381](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7381))
- DX: FixerFactoryTest - make assertion failing msg more descriptive ([#7387](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7387))
- feat: PhpdocSummaryFixer - support lists in description ([#7385](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7385))
- feat: PSR12 - configure unary_operator_spaces ([#7388](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7388))
- feat: StatementIndentationFixer - support comment for continuous control statement ([#7384](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7384))
### [`v3.35.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3351)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.35.0...v3.35.1)
- fix: Mark `PhpdocReadonlyClassCommentToKeywordFixer` as risky ([#7372](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7372))
### [`v3.35.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3350)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.34.1...v3.35.0)
- chore: Autoreview: test all formats are listed in `usage.rst` ([#7357](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7357))
- chore: no need for `phpunitgoodpractices/traits` anymore ([#7362](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7362))
- chore: Rename `indexes` to `indices` ([#7368](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7368))
- chore: stop using `phpunitgoodpractices/traits` ([#7363](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7363))
- chore: typo ([#7367](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7367))
- docs: Sort options in documentation ([#7345](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7345))
- feat(PhpdocReadonlyClassCommentToKeywordFixer): Introduction ([#7353](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7353))
- feat: Ability to keep/enforce leading `\` when in global namespace ([#7186](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7186))
- feat: Update `@PER-CS2.0` to match short closure space ([#6970](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6970))
- feat: use `ordered_types` in `@PhpCsFixer` ([#7361](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7361))
- fix(SingleLineThrowFixer): fixer goes out of range on close tag ([#7369](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7369))
### [`v3.34.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3341)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.34.0...v3.34.1)
- deps: revert "prevent using PHPCSFixer along with unfinalize package ([#7343](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7343))" ([#7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7348))
### [`v3.34.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3340)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.33.1...v3.34.0)
- feat: Introduce `check` command (alias for `fix --dry-run`) ([#7322](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7322))
### [`v3.33.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.33.1): The Old Guard
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.33.0...v3.33.1)
#### What's Changed
- deps: revert "prevent using PHPCSFixer along with unfinalize package ([#7343](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7343))" by [@innocenzi](https://togithub.com/innocenzi) in [https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348)
#### New Contributors
- [@innocenzi](https://togithub.com/innocenzi) made their first contribution in [https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348)
**Full Changelog**: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.33.0...v3.33.1
### [`v3.33.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3330)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.32.1...v3.33.0)
- feat: Introduce `native_type_declaration_casing` fixer ([#7330](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7330))
### [`v3.32.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.32.1): Deprecation train
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.32.0...v3.32.1)
#### What's Changed
- deps: revert "prevent using PHPCSFixer along with unfinalize package ([#7343](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7343))" by [@innocenzi](https://togithub.com/innocenzi) in [https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348)
#### New Contributors
- [@innocenzi](https://togithub.com/innocenzi) made their first contribution in [https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348)
**Full Changelog**: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.32.0...v3.32.1
### [`v3.32.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3320)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.31.0...v3.32.0)
- deps: Prevent using PHPCSFixer along with `unfinalize` package ([#7343](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7343))
- feat: Deprecate `CompactNullableTypehintFixer` and proxy to `CompactNullableTypeDeclarationFixer` ([#7339](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7339))
- feat: Deprecate `CurlyBracesPositionFixer` and proxy to `BracesPositionFixer` ([#7334](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7334))
- feat: Deprecate `NewWithBracesFixer` and proxy to `NewWithParenthesesFixer` ([#7331](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7331))
- feat: Deprecate `NoUnneededCurlyBracesFixer` and proxy to `NoUnneededBracesFixer` ([#7335](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7335))
- feat: Rename `CurlyBraceTransformer` to `BraceTransformer` ([#7333](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7333))
### [`v3.31.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3310)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.30.0...v3.31.0)
- chore: Use type declaration instead of type hint ([#7338](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7338))
- feat: Introduce `attribute_placement` option for `MethodArgumentSpaceFixer` ([#7320](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7320))
- fix: Adjust wording related to deprecations ([#7332](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7332))
- fix: Correct deprecation header in rules' docs ([#7337](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7337))
- fix: Replace mention of bracket with parenthesis ([#7336](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7336))
- fix: `FunctionToConstantFixer` should run before `NativeConstantInvocationFixer` ([#7344](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7344))
### [`v3.30.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3300)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.29.0...v3.30.0)
- feat: Introduce `AttributeEmptyParenthesesFixer` ([#7284](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7284))
- fix(method_argument_space): inject new line after trailing space on current line ([#7327](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7327))
- fix(`YodaStyleFixer`): do not touch `require(_once)`, `include(_once)` and `yield from` statements ([#7325](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7325))
- fix: illegal offset type on file-wide return in `ReturnToYieldFromFixer` ([#7318](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7318))
### [`v3.29.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3290)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.28.0...v3.29.0)
- chore: fix TODO tasks about T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG support ([#7316](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7316))
- feat(`@PhpCsFixer:risky`): use newest `@PER-CS:risky` instead of locked `@PER-CS2.0:risky` ([#7323](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7323))
- feat: Introduce `@PER-CS` ruleset
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^2.9.3
->^3.0.0
Release Notes
PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer)
### [`v3.53.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3530) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.52.1...v3.53.0) - chore: Use `list` over `array` in more places ([#7905](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7905)) - CI: allow for self-approvals for maintainers ([#7921](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7921)) - CI: Improve Infection setup ([#7913](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7913)) - CI: no need to trigger enable auto-merge when self-approve ([#7929](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7929)) - DX: reduce `array_filter` function usages ([#7923](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7923)) - DX: remove duplicated character from `trim` call ([#7930](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7930)) - DX: update actions producing warnings ([#7925](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7925)) - DX: update actions producing warnings ([#7928](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7928)) - DX: update `phpstan/phpstan-strict-rules` ([#7924](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7924)) - feat: Add trailing comma in multiline to PER-CS 2.0 ([#7916](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7916)) - feat: Introduce `AttributeAnalysis` ([#7909](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7909)) - feat: `@PHP84Migration` introduction ([#7774](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7774)) - fix: Constant invocation detected in typed constants ([#7892](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7892)) - fix: `PhpdocArrayTypeFixer` - JIT stack limit exhausted ([#7895](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7895)) - test: Introduce Infection for mutation tests ([#7874](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7874)) ### [`v3.52.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3521) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.52.0...v3.52.1) - fix: StatementIndentationFixer - do not crash on ternary operator in class property ([#7899](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7899)) - fix: `PhpCsFixer\Tokenizer\Tokens::setSize` return type ([#7900](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7900)) ### [`v3.52.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3520) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.51.0...v3.52.0) - chore: fix PHP 8.4 deprecations ([#7894](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7894)) - chore: fix PHPStan 1.10.60 issues ([#7873](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7873)) - chore: list over array in more places ([#7876](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7876)) - chore: replace template with variable in Preg class ([#7882](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7882)) - chore: update PHPStan ([#7871](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7871)) - depr: `nullable_type_declaration_for_default_null_value` - deprecate option that is against `@PHP84Migration` ([#7872](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7872)) - docs: Fix typo ([#7889](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7889)) - feat: Add support for callable template in PHPDoc parser ([#7084](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7084)) - feat: Add `array_indentation` to `PER-CS2.0` ruleset ([#7881](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7881)) - feat: `@Symfony:risky` - add `no_unreachable_default_argument_value` ([#7863](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7863)) - feat: `PhpCsFixer` ruleset - enable `nullable_type_declaration_for_default_null_value` ([#7870](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7870)) - fix: Constant invocation detected in DNF types ([#7869](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7869)) - fix: Correctly indent multiline constants and properties ([#7875](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7875)) - fix: `no_useless_concat_operator` - do not break variable ([#7827](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7827)) - fix: `TokensAnalyzer` - handle unary operator in arrow functions ([#7862](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7862)) - fix: `TypeExpression` - fix "JIT stack limit exhausted" error ([#7843](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7843)) ### [`v3.51.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3510) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.50.0...v3.51.0) - chore: add missing tests for non-documentation classes ([#7848](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7848)) - chore: do not perform type analysis in tests ([#7852](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7852)) - chore: list over array in more places ([#7857](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7857)) - chore: tests documentation classes ([#7855](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7855)) - feat: `@Symfony` - add nullable_type_declaration ([#7856](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7856)) - test: fix wrong type in param annotation ([#7858](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7858)) ### [`v3.50.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3500) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.49.0...v3.50.0) - chore: add missing types ([#7842](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7842)) - chore: BlocksAnalyzer - raise exception on invalid index ([#7819](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7819)) - chore: DataProviderAnalysis - expect list over array ([#7800](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7800)) - chore: do not use `@large` on method level ([#7832](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7832)) - chore: do not use `@medium` on method level ([#7833](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7833)) - chore: Fix typos ([#7835](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7835)) - chore: rename variables ([#7847](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7847)) - chore: some improvements around array typehints ([#7799](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7799)) - CI: fix PHP 8.4 job ([#7829](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7829)) - DX: Include `symfony/var-dumper` in dev tools ([#7795](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7795)) - feat: Ability to remove unused imports from multi-use statements ([#7815](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7815)) - feat: allow PHPUnit 11 ([#7824](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7824)) - feat: Allow shortening symbols from multi-use statements (only classes for now) ([#7816](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7816)) - feat: introduce `PhpdocArrayTypeFixer` ([#7812](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7812)) - feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v11 methods ([#7822](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7822)) - feat: Support for multi-use statements in `NamespaceUsesAnalyzer` ([#7814](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7814)) - feat: `MbStrFunctionsFixer` - add support for `mb_trim`, `mb_ltrim` and `mb_rtrim` functions ([#7840](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7840)) - feat: `NoEmptyPhpdocFixer` - do not leave empty line after removing PHPDoc ([#7820](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7820)) - feat: `no_superfluous_phpdoc_tags` - introduce `allow_future_params` option ([#7743](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7743)) - fix: do not use wrongly named arguments in data providers ([#7823](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7823)) - fix: Ensure PCNTL extension is always installed in Docker ([#7782](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7782)) - fix: PhpdocListTypeFixer - support key types containing `<…>` ([#7817](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7817)) - fix: Proper build target for local Docker Compose ([#7834](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7834)) - fix: union PHPDoc support in `fully_qualified_strict_types` fixer ([#7719](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7719)) - fix: `ExecutorWithoutErrorHandler` - remove invalid PHP 7.4 type ([#7845](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7845)) - fix: `fully_qualified_strict_types` must honor template/local type identifiers ([#7724](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7724)) - fix: `MethodArgumentSpaceFixer` - do not break heredoc/nowdoc ([#7828](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7828)) - fix: `NumericLiteralSeparatorFixer` - do not change `float` to `int` when there is nothing after the dot ([#7805](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7805)) - fix: `PhpUnitStrictFixer` - do not crash on property having the name of method to fix ([#7804](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7804)) - fix: `SingleSpaceAroundConstructFixer` - correctly recognise multiple constants ([#7700](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7700)) - fix: `TypeExpression` - handle array shape key with dash ([#7841](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7841)) ### [`v3.49.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3490) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.48.0...v3.49.0) - chore(checkbashisms): update to 2.23.7 ([#7780](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7780)) - chore: add missing key types in PHPDoc types ([#7779](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7779)) - chore: Exclude `topic/core` issues/PRs from Stale Bot ([#7788](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7788)) - chore: `DescribeCommand` - better handling of deprecations ([#7778](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7778)) - docs: docker - use gitlab reporter in GitLab integration example ([#7764](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7764)) - docs: docker in CI - don't suggest command that overrides path from config file ([#7763](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7763)) - DX: check deprecations exactly ([#7742](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7742)) - feat: Add `ordered_types` to `@Symfony` ([#7356](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7356)) - feat: introduce `PhpdocListTypeFixer` ([#7796](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7796)) - feat: introduce `string_implicit_backslashes` as `escape_implicit_backslashes` replacement ([#7669](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7669)) - feat: update `Symfony.nullable_type_declaration_for_default_null_value` config ([#7773](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7773)) - feat: `@PhpCsFixer` ruleset - enable `php_unit_data_provider_static` ([#7685](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7685)) - fix: Allow using cache when running in Docker distribution ([#7769](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7769)) - fix: ClassDefinitionFixer for anonymous class with phpdoc/attribute on separate line ([#7546](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7546)) - fix: `ClassKeywordFixer` must run before `FullyQualifiedStrictTypesFixer` ([#7767](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7767)) - fix: `function_to_constant` `get_class()` replacement ([#7770](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7770)) - fix: `LowercaseStaticReferenceFixer` - do not change typed constants ([#7775](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7775)) - fix: `PhpdocTypesFixer` - handle more complex types ([#7791](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7791)) - fix: `TypeExpression` - do not break type using `walkTypes` method ([#7785](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7785)) ### [`v3.48.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3480) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.47.1...v3.48.0) - chore: `FullyQualifiedStrictTypesFixer` must run before `OrderedInterfacesFixer` ([#7762](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7762)) - docs: Add PHP-CS-Fixer integration in a GitHub Action step ([#7757](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7757)) - feat: `PhpdocTypesOrderFixer` Support DNF types ([#7732](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7732)) - fix: Support shebang in fixers operating on PHP opening tag ([#7687](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7687)) - fix: work correctly for a switch/case with ternary operator ([#7756](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7756)) - fix: `NoUselessConcatOperatorFixer` - do not remove new line ([#7759](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7759)) ### [`v3.47.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3471) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.47.0...v3.47.1) - fix: Do not override short name with relative reference ([#7752](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7752)) - fix: make `BinaryOperatorSpacesFixer` work as pre-v3.47 ([#7751](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7751)) - fix: Proper Docker image name suffix ([#7739](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7739)) - fix: `FullyQualifiedStrictTypesFixer` - do not change case of the symbol when there's name collision between imported class and imported function ([#7750](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7750)) - fix: `FullyQualifiedStrictTypesFixer` - do not modify statements with property fetch and `::` ([#7749](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7749)) ### [`v3.47.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3470) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.46.0...v3.47.0) - chore: better identify EXPERIMENTAL rules ([#7729](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7729)) - chore: fix issue detected by unlocked PHPStan + upgrade dev-tools ([#7678](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7678)) - chore: handle extract() ([#7684](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7684)) - chore: Mention contributors in app info ([#7668](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7668)) - chore: no need to mark private methods as internal ([#7715](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7715)) - chore: ProjectCodeTests - dry for function usage extractions ([#7690](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7690)) - chore: reduce PHPStan baseline ([#7644](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7644)) - chore: use numeric literal separator for PHP version IDs ([#7712](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7712)) - chore: use numeric_literal_separator for project ([#7713](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7713)) - chore: Utils::sortElements - better typing ([#7646](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7646)) - CI: Allow running Stale Bot on demand ([#7711](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7711)) - CI: Fix PHP 8.4 ([#7702](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7702)) - CI: Give write permissions to Stale Bot ([#7716](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7716)) - CI: Use `actions/stale` v9 ([#7710](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7710)) - docs: Add information about allowing maintainers to update PRs ([#7683](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7683)) - docs: CONTRIBUTING.md - update Opening a PR ([#7691](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7691)) - docs: Display/include tool info/version by default in commands and reports ([#7733](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7733)) - DX: fix deprecation tests warnings for PHP 7.4 ([#7725](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7725)) - DX: update `host.docker.internal` in Compose override template ([#7661](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7661)) - DX: `NumericLiteralSeparatorFixer` - change default strategy to `use_separator` ([#7730](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7730)) - feat: Add support for official Docker images of Fixer ([#7555](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7555)) - feat: Add `spacing` option to `PhpdocAlignFixer` ([#6505](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6505)) - feat: Add `union_types` option to `phpdoc_to_param_type`, `phpdoc_to_property_type`, and `phpdoc_to_return_type` fixers ([#7672](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7672)) - feat: Introduce `heredoc_closing_marker` fixer ([#7660](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7660)) - feat: Introduce `multiline_string_to_heredoc` fixer ([#7665](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7665)) - feat: Introduce `NumericLiteralSeparatorFixer` ([#6761](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6761)) - feat: no_superfluous_phpdoc_tags - support for arrow function ([#7666](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7666)) - feat: Simplify closing marker when possible in `heredoc_closing_marker` fixer ([#7676](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7676)) - feat: Support typed properties and attributes in `fully_qualified_strict_types` ([#7659](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7659)) - feat: `@PhpCsFixer` ruleset - enable no_whitespace_before_comma_in_array.after_heredoc ([#7670](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7670)) - fix: Improve progress bar visual layer ([#7708](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7708)) - fix: indentation of control structure body without braces ([#7663](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7663)) - fix: make sure all PHP extensions required by PHPUnit are installed ([#7727](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7727)) - fix: PhpdocToReturnTypeFixerTest - support for arrow functions ([#7645](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7645)) - fix: Several improvements for `fully_qualified_strict_types` (respect declared symbols, relative imports, leading backslash in global namespace) ([#7679](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7679)) - fix: SimplifiedNullReturnFixer - support array return typehint ([#7728](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7728)) - fix: Support numeric values without leading zero in `numeric_literal_separator` ([#7735](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7735)) - fix: `BinaryOperatorSpacesFixer` - align correctly when multiple shifts occurs in single line ([#7593](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7593)) - fix: `ClassReferenceNameCasingFixer` capitalizes the property name after the nullsafe operator ([#7696](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7696)) - fix: `fully_qualified_strict_types` with `leading_backslash_in_global_namespace` enabled - handle reserved types in phpDoc ([#7648](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7648)) - fix: `NoSpaceAroundDoubleColonFixer` must run before `MethodChainingIndentationFixer` ([#7723](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7723)) - fix: `no_superfluous_phpdoc_tags` must honor multiline docs ([#7697](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7697)) - fix: `numeric_literal_separator` - Handle zero-leading floats properly ([#7737](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7737)) - refactor: increase performance by ~7% thanks to `Tokens::block*Cache` hit increased by ~12% ([#6176](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6176)) - refactor: Tokens - fast check for non-block in 'detectBlockType', evaluate definitions only once in 'getBlockEdgeDefinitions' ([#7655](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7655)) - refactor: `Tokens::clearEmptyTokens` - play defensive with cache clearing ([#7658](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7658)) - test: ensure we do not forget to test any short_open_tag test ([#7638](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7638)) ### [`v3.46.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3460) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.45.0...v3.46.0) - chore: fix internal typehints in Tokens ([#7656](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7656)) - chore: reduce PHPStan baseline ([#7643](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7643)) - docs: Show class with unit tests and BC promise info ([#7667](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7667)) - feat: change default ruleset to `@PER-CS` (only behind PHP_CS_FIXER_FUTURE_MODE=1) ([#7650](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7650)) - feat: Support new/instanceof/use trait in `fully_qualified_strict_types` ([#7653](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7653)) - fix: FQCN parse phpdoc using full grammar regex ([#7649](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7649)) - fix: Handle FQCN properly with `leading_backslash_in_global_namespace` option enabled ([#7654](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7654)) - fix: PhpdocToParamTypeFixerTest - support for arrow functions ([#7647](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7647)) - fix: PHP_CS_FIXER_FUTURE_MODE - proper boolean validation ([#7651](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7651)) ### [`v3.45.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3450) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.44.0...v3.45.0) - feat: Enable symbol importing in `@PhpCsFixer` ruleset ([#7629](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7629)) - fix: NoUnneededBracesFixer - improve handling of global namespace ([#7639](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7639)) - test: run tests with "short_open_tag" enabled ([#7637](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7637)) ### [`v3.44.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3440) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.43.1...v3.44.0) - feat: Introduce percentage bar as new default progress output ([#7603](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7603)) ### [`v3.43.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3431) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.43.0...v3.43.1) - fix: Import only unique symbols' short names ([#7635](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7635)) ### [`v3.43.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3430) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.42.0...v3.43.0) - chore: change base of `@Symfony` set to `@PER-CS2.0` ([#7627](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7627)) - chore: PHPUnit - allow for v10 ([#7606](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7606)) - chore: Preg - rework catching the error ([#7616](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7616)) - chore: Revert unneeded peer-dep-pin and re-gen lock file ([#7618](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7618)) - docs: drop extra note about 8.0.0 bug in README.md ([#7614](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7614)) - feat: add cast_spaces into `@PER-CS2.0` ([#7625](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7625)) - feat: Configurable phpDoc tags for FQCN processing ([#7628](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7628)) - feat: StatementIndentationFixer - introduce stick_comment_to_next_continuous_control_statement config ([#7624](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7624)) - feat: UnaryOperatorSpacesFixer - introduce only_dec_inc config ([#7626](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7626)) - fix: FullyQualifiedStrictTypesFixer - better support annotations in inline {} ([#7633](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7633)) - fix: Improve how FQCN is handled in phpDoc ([#7622](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7622)) - fix: phpdoc_align - fix multiline tag alignment issue ([#7630](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7630)) ### [`v3.42.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3420) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.41.1...v3.42.0) - chore: aim to not rely on internal array pointer but use array_key_first ([#7613](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7613)) - chore: deprecate Token::isKeyCaseSensitive ([#7599](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7599)) - chore: deprecate Token::isKeyCaseSensitive, 2nd part ([#7601](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7601)) - chore: do not check PHP_VERSION_ID ([#7602](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7602)) - chore: FileFilterIteratorTest - more accurate type in docs ([#7542](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7542)) - chore: minor code cleanup ([#7607](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7607)) - chore: more types ([#7598](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7598)) - chore: PHPDoc key-value spacing ([#7592](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7592)) - chore: PHPUnit - run defects first ([#7570](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7570)) - chore: ProjectCodeTest - DRY on Tokens creation ([#7574](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7574)) - chore: ProjectCodeTest - prepare for symfony/console v7 ([#7605](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7605)) - chore: ProjectCodeTest::provide\*ClassCases to return iterable with key for better tests execution log ([#7572](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7572)) - chore: ProjectCodeTest::testDataProvidersDeclaredReturnType - use better DataProvider to simplify test logic ([#7573](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7573)) - chore: TokensAnalyzer - string-enum for better typehinting ([#7571](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7571)) - chore: unify tests not agnostic of PHP version ([#7581](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7581)) - chore: use ::class more ([#7545](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7545)) - CI: Introduce `composer-unused` ([#7536](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7536)) - DX: add types to anonymous functions ([#7561](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7561)) - DX: Allow running smoke tests within Docker runtime ([#7608](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7608)) - DX: check fixer's options for wording ([#7543](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7543)) - DX: cleanup deprecation message ([#7576](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7576)) - DX: do not allow overriding constructor of `PHPUnit\Framework\TestCase` ([#7563](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7563)) - DX: do not import ExpectDeprecationTrait in UtilsTest ([#7562](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7562)) - DX: Enforce consistent naming in tests ([#7556](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7556)) - DX: fix checking test class extends `PhpCsFixer\Tests\TestCase` ([#7567](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7567)) - DX: make sure that exceptions in `AbstractFixerTestCase::testProperMethodNaming` are not already fixed ([#7588](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7588)) - DX: remove recursion from AbstractIntegrationTestCase::testIntegration ([#7577](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7577)) - DX: remove `PhpUnitNamespacedFixerTest::testClassIsFixed` ([#7564](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7564)) - DX: remove `symfony/phpunit-bridge` ([#7578](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7578)) - DX: replace fixture classes with anonymous ones ([#7533](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7533)) - DX: Unify Docker mount points and paths ([#7549](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7549)) - DX: unify fixer's test method names - quick wins ([#7584](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7584)) - DX: unify tests for casing fixers ([#7558](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7558)) - DX: use anonymous function over concrete classes ([#7553](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7553)) - feat(EXPERIMENTAL): ClassKeywordFixer ([#2918](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/2918)) - feat(EXPERIMENTAL): ClassKeywordFixer, part 2 ([#7550](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7550)) - feat(PhpdocToCommentFixer): Add option to handle return as valid docblock usage ([#7401](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7401)) ([#7402](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7402)) - feat: Ability to import FQCNs found during analysis ([#7597](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7597)) - feat: add phpDoc support for `fully_qualified_strict_types` fixer ([#5620](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/5620)) - feat: Handle deprecated rule sets similarly to deprecated fixers ([#7288](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7288)) - feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v10 methods ([#7604](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7604)) - feat: Support more FQCNs cases in `fully_qualified_strict_types` ([#7459](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7459)) - fix: AbstractFixerTestCase - fix checking for correct casing ([#7540](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7540)) - fix: Better OS detection in integration tests ([#7547](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7547)) - fix: NativeTypeDeclarationCasingFixe - handle static property without type ([#7589](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7589)) - test: AutoReview - unify data provider returns ([#7544](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7544)) - test: check to have DataProviders code agnostic of PHP version ([#7575](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7575)) ### [`v3.41.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3411) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.41.0...v3.41.1) - DX: Change `@testWith` to `@dataProvider` ([#7535](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7535)) - DX: Introduce Markdownlint ([#7534](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7534)) - fix: NativeTypeDeclarationCasingFixer - do not crash on `var` keyword ([#7538](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7538)) ### [`v3.41.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3410) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.40.2...v3.41.0) - chore: Move `mb_str_functions` PHP 8.3 cases to separate test ([#7505](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7505)) - chore: Symfony v7 is now stable ([#7469](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7469)) - CI: drop PHP 8.3 hacks ([#7519](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7519)) - docs: Improve docs for `no_spaces_after_function_name` ([#7520](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7520)) - DX: Ability to run Sphinx linter locally ([#7481](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7481)) - DX: AbstractFixerTest - use anonymous classes ([#7527](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7527)) - DX: Add progress output for `cs:check` script ([#7514](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7514)) - DX: align doubles naming ([#7525](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7525)) - DX: remove AbstractFixerTestCase::getTestFile() ([#7495](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7495)) - DX: remove jangregor/phpstan-prophecy ([#7524](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7524)) - DX: remove Prophecy ([#7509](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7509)) - DX: replace Prophecy with anonymous classes in CacheTest ([#7503](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7503)) - DX: replace Prophecy with anonymous classes in ProcessLintingResultTest ([#7501](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7501)) - DX: Utilise auto-discovery for PHPStan formatter ([#7490](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7490)) - feat: Support `mb_str_pad` function in `mb_str_functions` rule ([#7499](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7499)) - fix: BinaryOperatorSpacesFixer - do not add whitespace inside short function ([#7523](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7523)) - fix: Downgrade PDepend to version not supporting Symfony 7 ([#7513](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7513)) - fix: GlobalNamespaceImportFixer - key in PHPDoc's array shape matching class name ([#7522](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7522)) - fix: SpacesInsideParenthesesFixer - handle class instantiation parentheses ([#7531](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7531)) - Update PHPstan to 1.10.48 ([#7532](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7532)) ### [`v3.40.2`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3402) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.40.1...v3.40.2) - docs: fix link to source classes ([#7493](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7493)) ### [`v3.40.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3401) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.40.0...v3.40.1) - chore: Delete stray file x ([#7473](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7473)) - chore: Fix editorconfig ([#7478](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7478)) - chore: Fix typos ([#7474](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7474)) - chore: Fix YAML line length ([#7476](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7476)) - chore: Indent JSON files with 4 spaces ([#7480](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7480)) - chore: Make YAML workflow git-based ([#7477](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7477)) - chore: Use stable XDebug ([#7489](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7489)) - CI: Lint docs ([#7479](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7479)) - CI: Use PHPStan's native Github error formatter ([#7487](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7487)) - DX: fix PHPStan error ([#7488](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7488)) - DX: PsrAutoloadingFixerTest - do not build mock in data provider ([#7491](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7491)) - DX: PsrAutoloadingFixerTest - merge all data providers into one ([#7492](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7492)) - DX: Update PHPStan to 1.10.46 ([#7486](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7486)) - fix: `NoSpacesAfterFunctionNameFixer` - do not remove space if the opening parenthesis part of an expression ([#7430](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7430)) ### [`v3.40.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3400) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.39.1...v3.40.0) - chore: officially support PHP 8.3 ([#7466](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7466)) - chore: update deps ([#7471](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7471)) - CI: add --no-update while dropping non-compat `facile-it/paraunit` ([#7470](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7470)) - CI: automate --ignore-platform-req=PHP ([#7467](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7467)) - CI: bump actions/github-script to v7 ([#7468](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7468)) - CI: move humbug/box out of dev-tools/composer.json ([#7472](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7472)) ### [`v3.39.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3391) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.39.0...v3.39.1) - DX: introduce SwitchAnalyzer ([#7456](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7456)) - fix: NoExtraBlankLinesFixer - do not remove blank line after `? : throw` ([#7457](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7457)) - fix: OrderedInterfacesFixer - do not comment out interface ([#7464](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7464)) - test: Improve `ExplicitIndirectVariableFixerTest` ([#7451](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7451)) ### [`v3.39.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3390) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.38.2...v3.39.0) - chore: Add support for Symfony 7 ([#7453](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7453)) - chore: IntegrationTest - move support of php< requirement to main Integration classes ([#7448](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7448)) - CI: drop Symfony ^7 incompat exceptions of php-coveralls and cli-executor ([#7455](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7455)) - CI: early compatibility checks with Symfony 7 ([#7431](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7431)) - docs: drop list.rst and code behind it ([#7436](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7436)) - docs: remove Gitter mentions ([#7441](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7441)) - DX: Ability to run Fixer on PHP8.3 for development ([#7449](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7449)) - DX: describe command - for rules, list also sets that are including them ([#7419](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7419)) - DX: Docker clean up ([#7450](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7450)) - DX: more usage of spaceship operator ([#7438](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7438)) - DX: Put `Preg`'s last error message in exception message ([#7443](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7443)) - feat: Introduce `@PHP83Migration` ruleset and PHP 8.3 integration test ([#7439](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7439)) - test: Improve `AbstractIntegrationTestCase` description ([#7452](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7452)) ### [`v3.38.2`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3382) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.38.1...v3.38.2) - docs: fix 'Could not lex literal_block as "php". Highlighting skipped.' ([#7433](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7433)) - docs: small unification between FixerDocumentGenerator and ListDocumentGenerator ([#7435](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7435)) - docs: unify ../ <> ./../ ([#7434](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7434)) ### [`v3.38.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3381) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.38.0...v3.38.1) - chore: ListSetsCommand::execute - add missing return type ([#7432](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7432)) - chore: PHPStan - add counter to dataProvider exception, so we do not increase the tech debt on it ([#7425](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7425)) - CI: Use `actions/checkout` v4 ([#7423](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7423)) - fix: ClassAttributesSeparationFixer - handle Disjunctive Normal Form types parentheses ([#7428](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7428)) - fix: Remove all variable names in `@var` callable signature ([#7429](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7429)) - fix: Satisfy `composer normalize` ([#7424](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7424)) ### [`v3.38.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3380) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.37.1...v3.38.0) - chore: upgrade phpstan ([#7421](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7421)) - CI: add curl and mbstring to build php ([#7409](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7409)) - CI: cache dev-tools/bin ([#7416](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7416)) - CI: Composer - move prefer-stable to file config ([#7406](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7406)) - CI: conditionally install flex ([#7412](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7412)) - CI: dev-tools/build.sh - no need to repeat 'prefer-stable', but let's use '--no-scripts' ([#7408](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7408)) - CI: Do not run post-autoload-dump on Composer install ([#7403](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7403)) - CI: general restructure ([#7407](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7407)) - CI: GitHub Actions - use actions/cache for Composer in composite action ([#7415](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7415)) - CI: Improve QA process - suplement ([#7411](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7411)) - CI: prevent Infection plugins during build time, as we do not use it ([#7422](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7422)) - CI: simplify setup-php config ([#7404](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7404)) - DX: Do not mark as stale issues/PRs with milestone assigned ([#7398](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7398)) - DX: Improve QA process ([#7366](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7366)) - feat: phpDoc to property/return/param Fixer - allow fixing mixed on PHP >= 8 ([#6356](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6356)) - feat: phpDoc to property/return/param Fixer - allow fixing union types on PHP >= 8 ([#6359](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6359)) - feat: Support for array destructuring in `array_indentation` ([#7405](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7405)) - feat: `@Symfony` - keep Annotation,NamedArgumentConstructor,Target annotations as single group ([#7399](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7399)) - fix(SelfAccessorFixer): do not touch references inside lambda and/or arrow function ([#7349](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7349)) - fix: long_to_shorthand_operator - mark as risky fixer ([#7418](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7418)) - fix: OrderedImportsFixer - handle non-grouped list of const/function imports ([#7397](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7397)) ### [`v3.37.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3371) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.37.0...v3.37.1) - docs: config file - provide better examples ([#7396](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7396)) - docs: config file - provide better link to Finder docs ([#6992](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6992)) ### [`v3.37.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3370) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.36.0...v3.37.0) - feat: add parallel cache support ([#7131](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7131)) ### [`v3.36.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3360) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.35.1...v3.36.0) - chore: disable `infection-installer` plugin, as we do not use `infection/*` yet ([#7391](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7391)) - chore: Run dev-tools on PHP 8.2 ([#7389](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7389)) - CI: Run Symfony 6 compat check on PHP 8.1 ([#7383](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7383)) - CI: use fast-linter when calculating code coverage ([#7390](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7390)) - docs: extend example for nullable_type_declaration ([#7381](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7381)) - DX: FixerFactoryTest - make assertion failing msg more descriptive ([#7387](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7387)) - feat: PhpdocSummaryFixer - support lists in description ([#7385](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7385)) - feat: PSR12 - configure unary_operator_spaces ([#7388](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7388)) - feat: StatementIndentationFixer - support comment for continuous control statement ([#7384](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7384)) ### [`v3.35.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3351) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.35.0...v3.35.1) - fix: Mark `PhpdocReadonlyClassCommentToKeywordFixer` as risky ([#7372](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7372)) ### [`v3.35.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3350) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.34.1...v3.35.0) - chore: Autoreview: test all formats are listed in `usage.rst` ([#7357](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7357)) - chore: no need for `phpunitgoodpractices/traits` anymore ([#7362](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7362)) - chore: Rename `indexes` to `indices` ([#7368](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7368)) - chore: stop using `phpunitgoodpractices/traits` ([#7363](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7363)) - chore: typo ([#7367](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7367)) - docs: Sort options in documentation ([#7345](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7345)) - feat(PhpdocReadonlyClassCommentToKeywordFixer): Introduction ([#7353](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7353)) - feat: Ability to keep/enforce leading `\` when in global namespace ([#7186](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7186)) - feat: Update `@PER-CS2.0` to match short closure space ([#6970](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6970)) - feat: use `ordered_types` in `@PhpCsFixer` ([#7361](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7361)) - fix(SingleLineThrowFixer): fixer goes out of range on close tag ([#7369](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7369)) ### [`v3.34.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3341) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.34.0...v3.34.1) - deps: revert "prevent using PHPCSFixer along with unfinalize package ([#7343](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7343))" ([#7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7348)) ### [`v3.34.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3340) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.33.1...v3.34.0) - feat: Introduce `check` command (alias for `fix --dry-run`) ([#7322](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7322)) ### [`v3.33.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.33.1): The Old Guard [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.33.0...v3.33.1) #### What's Changed - deps: revert "prevent using PHPCSFixer along with unfinalize package ([#7343](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7343))" by [@innocenzi](https://togithub.com/innocenzi) in [https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348) #### New Contributors - [@innocenzi](https://togithub.com/innocenzi) made their first contribution in [https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348) **Full Changelog**: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.33.0...v3.33.1 ### [`v3.33.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3330) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.32.1...v3.33.0) - feat: Introduce `native_type_declaration_casing` fixer ([#7330](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7330)) ### [`v3.32.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/v3.32.1): Deprecation train [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.32.0...v3.32.1) #### What's Changed - deps: revert "prevent using PHPCSFixer along with unfinalize package ([#7343](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7343))" by [@innocenzi](https://togithub.com/innocenzi) in [https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348) #### New Contributors - [@innocenzi](https://togithub.com/innocenzi) made their first contribution in [https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/pull/7348) **Full Changelog**: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.32.0...v3.32.1 ### [`v3.32.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3320) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.31.0...v3.32.0) - deps: Prevent using PHPCSFixer along with `unfinalize` package ([#7343](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7343)) - feat: Deprecate `CompactNullableTypehintFixer` and proxy to `CompactNullableTypeDeclarationFixer` ([#7339](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7339)) - feat: Deprecate `CurlyBracesPositionFixer` and proxy to `BracesPositionFixer` ([#7334](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7334)) - feat: Deprecate `NewWithBracesFixer` and proxy to `NewWithParenthesesFixer` ([#7331](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7331)) - feat: Deprecate `NoUnneededCurlyBracesFixer` and proxy to `NoUnneededBracesFixer` ([#7335](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7335)) - feat: Rename `CurlyBraceTransformer` to `BraceTransformer` ([#7333](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7333)) ### [`v3.31.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3310) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.30.0...v3.31.0) - chore: Use type declaration instead of type hint ([#7338](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7338)) - feat: Introduce `attribute_placement` option for `MethodArgumentSpaceFixer` ([#7320](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7320)) - fix: Adjust wording related to deprecations ([#7332](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7332)) - fix: Correct deprecation header in rules' docs ([#7337](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7337)) - fix: Replace mention of bracket with parenthesis ([#7336](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7336)) - fix: `FunctionToConstantFixer` should run before `NativeConstantInvocationFixer` ([#7344](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7344)) ### [`v3.30.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3300) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.29.0...v3.30.0) - feat: Introduce `AttributeEmptyParenthesesFixer` ([#7284](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7284)) - fix(method_argument_space): inject new line after trailing space on current line ([#7327](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7327)) - fix(`YodaStyleFixer`): do not touch `require(_once)`, `include(_once)` and `yield from` statements ([#7325](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7325)) - fix: illegal offset type on file-wide return in `ReturnToYieldFromFixer` ([#7318](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7318)) ### [`v3.29.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3290) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.28.0...v3.29.0) - chore: fix TODO tasks about T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG support ([#7316](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7316)) - feat(`@PhpCsFixer:risky`): use newest `@PER-CS:risky` instead of locked `@PER-CS2.0:risky` ([#7323](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7323)) - feat: Introduce `@PER-CS` rulesetConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.