@lipagas/storefront-engine
Version:
Headless Commerce & Marketplace Extension for Fleetbase
1,002 lines (860 loc) • 332 kB
Markdown
CHANGELOG for PHP CS Fixer
==========================
This file contains changelogs for stable releases only.
Changelog for v3.58.1
---------------------
* fix: `ConstantCaseFixer` - do not change class constant usages (#8055)
* fix: `PhpUnitTestClassRequiresCoversFixer` - do not add annotation when attribute with leading slash present (#8054)
Changelog for v3.58.0
---------------------
* chore(doc): Use FQCN for parallel config in documentation (#8029)
* chore: fix typo in `PhpUnitTestClassRequiresCoversFixerTest` (#8047)
* chore: RandomApiMigrationFixer - do not modify configuration property (#8033)
* chore: Tokens::setCode - further improvements to cache (#8053)
* chore: update PHPStan (#8045)
* docs: Add missing imports in a cookbook about creating custom rules (#8031)
* docs: fix deprecated string interpolation style (#8036)
* docs: global_namespace_import - simplify allowed config types (#8023)
* feat(GroupImportFixer): Ability to configure which type of imports should be grouped (#8046)
* fix: clear `Tokens::$blockStartCache` and `Tokens::$blockEndCache` when calling `Tokens::setCode` (#8051)
* fix: correctly handle PHP closing tag with `simplified_null_return` (#8049)
* fix: `ConstantCaseFixer` - do not change namespace (#8004)
* fix: `PhpUnitAttributesFixer` - do not add attribute if already present (#8043)
* fix: `PhpUnitSizeClassFixer` - do not add annotation when there are attributes (#8044)
* fix: `PhpUnitTestClassRequiresCoversFixer` - attribute detection when class is `readonly` (#8042)
Changelog for v3.57.2
---------------------
* docs: better ConfigurableFixer allowed types (#8024)
* docs: Improve Docker usage example (#8021)
* feat: Report used memory to 2 decimal digits only (#8017)
* fix: Support named args in `ParallelConfigFactory::detect()` (#8026)
* fix: `php_unit_test_class_requires_covers` Attribute detection when class is final (#8016)
Changelog for v3.57.1
---------------------
* chore: update PHPDoc in `Preg::matchAll` (#8012)
* fix: Runner - handle no files while in parallel runner (#8015)
Changelog for v3.57.0
---------------------
* feat: Ability to run Fixer with parallel runner 🎉 (#7777)
Changelog for v3.56.2
---------------------
* chore: update PHPStan (#8010)
* DX: Fix Mess Detector violations (#8007)
* DX: Install PCov extension for local Docker (#8006)
Changelog for v3.56.1
---------------------
* chore: improve PHPDoc typehints (#7994)
* CI: Allow any integer in PHPStan error for Token's constructor (#8000)
* fix: Better array shape in `PhpUnitDedicateAssertFixer` (#7999)
* fix: `ConstantCaseFixer` - do not touch typed constants (#7998)
Changelog for v3.56.0
---------------------
* feat: `TrailingCommaInMultilineFixer` - handle trailing comma in language constructs (#7989)
* fix: `TrailingCommaInMultilineFixer` - language constructs should be covered by arguments, not parameters (#7990)
* chore: remove invalid comment (#7987)
* DX: Cache optimisation (#7985)
Changelog for v3.55.0
---------------------
* feat: Introduce `OrderedAttributesFixer` (#7395)
* chore: few SCA fixes and dev-tools update (#7969)
* chore: fix phpdoc types (#7977)
* chore: narrow PHPDoc types (#7979)
* chore: Normalize implicit backslahes in single quoted strings internally (#7786)
* chore: phpdoc - rely on strict list/tuple/assoc instead of array (#7978)
* chore: PhpUnitDataProviderNameFixer - follow config creation pattern (#7980)
* chore: Preg - drop half-support for array-pattern (#7976)
* chore: re-use CodeHasher (#7984)
* chore: RuleSetsTest - assert that Fixer is configurable (#7961)
* chore: sugar syntax (#7986)
* chore: Tokens should be always a list (#7698)
* CI: Ad-hoc fix for MacOS jobs (#7970)
* CI: Fix calculating diff between branches in PRs (#7973)
* DX: allow to enforce cache mechanism by env var (#7983)
* DX: do not typehint fixed-length arrays as lists (#7974)
* DX: Prevent having deprecated fixers listed as successors of other deprecated fixers (#7967)
* DX: Resolve/Ignore PHPStan issues on level 6 + bump to level 7 with new baseline (#7971)
* DX: use `list` type in PHPDoc (#7975)
* fix: `PhpUnitAttributesFixer` - fix for `#[RequiresPhp]` exceeding its constructor parameters (#7966)
* test: don't count comment after class as another classy element (#7982)
Changelog for v3.54.0
---------------------
* feat: introduce `PhpUnitAttributesFixer` (#7831)
* chore: Properly determine self-approval trigger commit (#7936)
* chore: Revert ref for self-approval Git checkout (#7944)
* CI: check if proper array key is declared (#7912)
* DX: cleanup `FullyQualifiedStrictTypesFixerTest` (#7954)
* DX: cleanup `PhpdocNoAccessFixerTest` (#7933)
* DX: cleanup `PhpUnitMethodCasingFixerTest` (#7948)
* DX: cleanup `PhpUnitStrictFixerTest` (#7938)
* DX: Improve internal dist config for Fixer (#7952)
* DX: Improve issue templates (#7942)
* DX: there is no namespace if there is no PHP code (#7953)
* DX: update .gitattributes (#7931)
* fix: Remove Infection during Docker release (#7937)
* fix: `FullyQualifiedStrictTypesFixer` - do not add imports before PHP opening tag (#7955)
* fix: `PhpUnitMethodCasingFixer` - do not double underscore (#7949)
* fix: `PhpUnitTestClassRequiresCoversFixer` - do not add annotation when there are attributes (#7880)
* test: Ignore PHP version related mutations (#7935)
Changelog for v3.53.0
---------------------
* chore: Use `list` over `array` in more places (#7905)
* CI: allow for self-approvals for maintainers (#7921)
* CI: Improve Infection setup (#7913)
* CI: no need to trigger enable auto-merge when self-approve (#7929)
* DX: reduce `array_filter` function usages (#7923)
* DX: remove duplicated character from `trim` call (#7930)
* DX: update actions producing warnings (#7925)
* DX: update actions producing warnings (#7928)
* DX: update `phpstan/phpstan-strict-rules` (#7924)
* feat: Add trailing comma in multiline to PER-CS 2.0 (#7916)
* feat: Introduce `AttributeAnalysis` (#7909)
* feat: `@PHP84Migration` introduction (#7774)
* fix: Constant invocation detected in typed constants (#7892)
* fix: `PhpdocArrayTypeFixer` - JIT stack limit exhausted (#7895)
* test: Introduce Infection for mutation tests (#7874)
Changelog for v3.52.1
---------------------
* fix: StatementIndentationFixer - do not crash on ternary operator in class property (#7899)
* fix: `PhpCsFixer\Tokenizer\Tokens::setSize` return type (#7900)
Changelog for v3.52.0
---------------------
* chore: fix PHP 8.4 deprecations (#7894)
* chore: fix PHPStan 1.10.60 issues (#7873)
* chore: list over array in more places (#7876)
* chore: replace template with variable in Preg class (#7882)
* chore: update PHPStan (#7871)
* depr: `nullable_type_declaration_for_default_null_value` - deprecate option that is against `@PHP84Migration` (#7872)
* docs: Fix typo (#7889)
* feat: Add support for callable template in PHPDoc parser (#7084)
* feat: Add `array_indentation` to `PER-CS2.0` ruleset (#7881)
* feat: `@Symfony:risky` - add `no_unreachable_default_argument_value` (#7863)
* feat: `PhpCsFixer` ruleset - enable `nullable_type_declaration_for_default_null_value` (#7870)
* fix: Constant invocation detected in DNF types (#7869)
* fix: Correctly indent multiline constants and properties (#7875)
* fix: `no_useless_concat_operator` - do not break variable (#7827)
* fix: `TokensAnalyzer` - handle unary operator in arrow functions (#7862)
* fix: `TypeExpression` - fix "JIT stack limit exhausted" error (#7843)
Changelog for v3.51.0
---------------------
* chore: add missing tests for non-documentation classes (#7848)
* chore: do not perform type analysis in tests (#7852)
* chore: list over array in more places (#7857)
* chore: tests documentation classes (#7855)
* feat: `@Symfony` - add nullable_type_declaration (#7856)
* test: fix wrong type in param annotation (#7858)
Changelog for v3.50.0
---------------------
* chore: add missing types (#7842)
* chore: BlocksAnalyzer - raise exception on invalid index (#7819)
* chore: DataProviderAnalysis - expect list over array (#7800)
* chore: do not use `@large` on method level (#7832)
* chore: do not use `@medium` on method level (#7833)
* chore: Fix typos (#7835)
* chore: rename variables (#7847)
* chore: some improvements around array typehints (#7799)
* CI: fix PHP 8.4 job (#7829)
* DX: Include `symfony/var-dumper` in dev tools (#7795)
* feat: Ability to remove unused imports from multi-use statements (#7815)
* feat: allow PHPUnit 11 (#7824)
* feat: Allow shortening symbols from multi-use statements (only classes for now) (#7816)
* feat: introduce `PhpdocArrayTypeFixer` (#7812)
* feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v11 methods (#7822)
* feat: Support for multi-use statements in `NamespaceUsesAnalyzer` (#7814)
* feat: `MbStrFunctionsFixer` - add support for `mb_trim`, `mb_ltrim` and `mb_rtrim` functions (#7840)
* feat: `NoEmptyPhpdocFixer` - do not leave empty line after removing PHPDoc (#7820)
* feat: `no_superfluous_phpdoc_tags` - introduce `allow_future_params` option (#7743)
* fix: do not use wrongly named arguments in data providers (#7823)
* fix: Ensure PCNTL extension is always installed in Docker (#7782)
* fix: PhpdocListTypeFixer - support key types containing `<…>` (#7817)
* fix: Proper build target for local Docker Compose (#7834)
* fix: union PHPDoc support in `fully_qualified_strict_types` fixer (#7719)
* fix: `ExecutorWithoutErrorHandler` - remove invalid PHP 7.4 type (#7845)
* fix: `fully_qualified_strict_types` must honor template/local type identifiers (#7724)
* fix: `MethodArgumentSpaceFixer` - do not break heredoc/nowdoc (#7828)
* fix: `NumericLiteralSeparatorFixer` - do not change `float` to `int` when there is nothing after the dot (#7805)
* fix: `PhpUnitStrictFixer` - do not crash on property having the name of method to fix (#7804)
* fix: `SingleSpaceAroundConstructFixer` - correctly recognise multiple constants (#7700)
* fix: `TypeExpression` - handle array shape key with dash (#7841)
Changelog for v3.49.0
---------------------
* chore(checkbashisms): update to 2.23.7 (#7780)
* chore: add missing key types in PHPDoc types (#7779)
* chore: Exclude `topic/core` issues/PRs from Stale Bot (#7788)
* chore: `DescribeCommand` - better handling of deprecations (#7778)
* docs: docker - use gitlab reporter in GitLab integration example (#7764)
* docs: docker in CI - don't suggest command that overrides path from config file (#7763)
* DX: check deprecations exactly (#7742)
* feat: Add `ordered_types` to `@Symfony` (#7356)
* feat: introduce `PhpdocListTypeFixer` (#7796)
* feat: introduce `string_implicit_backslashes` as `escape_implicit_backslashes` replacement (#7669)
* feat: update `Symfony.nullable_type_declaration_for_default_null_value` config (#7773)
* feat: `@PhpCsFixer` ruleset - enable `php_unit_data_provider_static` (#7685)
* fix: Allow using cache when running in Docker distribution (#7769)
* fix: ClassDefinitionFixer for anonymous class with phpdoc/attribute on separate line (#7546)
* fix: `ClassKeywordFixer` must run before `FullyQualifiedStrictTypesFixer` (#7767)
* fix: `function_to_constant` `get_class()` replacement (#7770)
* fix: `LowercaseStaticReferenceFixer` - do not change typed constants (#7775)
* fix: `PhpdocTypesFixer` - handle more complex types (#7791)
* fix: `TypeExpression` - do not break type using `walkTypes` method (#7785)
Changelog for v3.48.0
---------------------
* chore: `FullyQualifiedStrictTypesFixer` must run before `OrderedInterfacesFixer` (#7762)
* docs: Add PHP-CS-Fixer integration in a GitHub Action step (#7757)
* feat: `PhpdocTypesOrderFixer` Support DNF types (#7732)
* fix: Support shebang in fixers operating on PHP opening tag (#7687)
* fix: work correctly for a switch/case with ternary operator (#7756)
* fix: `NoUselessConcatOperatorFixer` - do not remove new line (#7759)
Changelog for v3.47.1
---------------------
* fix: Do not override short name with relative reference (#7752)
* fix: make `BinaryOperatorSpacesFixer` work as pre-v3.47 (#7751)
* fix: Proper Docker image name suffix (#7739)
* fix: `FullyQualifiedStrictTypesFixer` - do not change case of the symbol when there's name collision between imported class and imported function (#7750)
* fix: `FullyQualifiedStrictTypesFixer` - do not modify statements with property fetch and `::` (#7749)
Changelog for v3.47.0
---------------------
* chore: better identify EXPERIMENTAL rules (#7729)
* chore: fix issue detected by unlocked PHPStan + upgrade dev-tools (#7678)
* chore: handle extract() (#7684)
* chore: Mention contributors in app info (#7668)
* chore: no need to mark private methods as internal (#7715)
* chore: ProjectCodeTests - dry for function usage extractions (#7690)
* chore: reduce PHPStan baseline (#7644)
* chore: use numeric literal separator for PHP version IDs (#7712)
* chore: use numeric_literal_separator for project (#7713)
* chore: Utils::sortElements - better typing (#7646)
* CI: Allow running Stale Bot on demand (#7711)
* CI: Fix PHP 8.4 (#7702)
* CI: Give write permissions to Stale Bot (#7716)
* CI: Use `actions/stale` v9 (#7710)
* docs: Add information about allowing maintainers to update PRs (#7683)
* docs: CONTRIBUTING.md - update Opening a PR (#7691)
* docs: Display/include tool info/version by default in commands and reports (#7733)
* DX: fix deprecation tests warnings for PHP 7.4 (#7725)
* DX: update `host.docker.internal` in Compose override template (#7661)
* DX: `NumericLiteralSeparatorFixer` - change default strategy to `use_separator` (#7730)
* feat: Add support for official Docker images of Fixer (#7555)
* feat: Add `spacing` option to `PhpdocAlignFixer` (#6505)
* feat: Add `union_types` option to `phpdoc_to_param_type`, `phpdoc_to_property_type`, and `phpdoc_to_return_type` fixers (#7672)
* feat: Introduce `heredoc_closing_marker` fixer (#7660)
* feat: Introduce `multiline_string_to_heredoc` fixer (#7665)
* feat: Introduce `NumericLiteralSeparatorFixer` (#6761)
* feat: no_superfluous_phpdoc_tags - support for arrow function (#7666)
* feat: Simplify closing marker when possible in `heredoc_closing_marker` fixer (#7676)
* feat: Support typed properties and attributes in `fully_qualified_strict_types` (#7659)
* feat: `@PhpCsFixer` ruleset - enable no_whitespace_before_comma_in_array.after_heredoc (#7670)
* fix: Improve progress bar visual layer (#7708)
* fix: indentation of control structure body without braces (#7663)
* fix: make sure all PHP extensions required by PHPUnit are installed (#7727)
* fix: PhpdocToReturnTypeFixerTest - support for arrow functions (#7645)
* fix: Several improvements for `fully_qualified_strict_types` (respect declared symbols, relative imports, leading backslash in global namespace) (#7679)
* fix: SimplifiedNullReturnFixer - support array return typehint (#7728)
* fix: Support numeric values without leading zero in `numeric_literal_separator` (#7735)
* fix: `BinaryOperatorSpacesFixer` - align correctly when multiple shifts occurs in single line (#7593)
* fix: `ClassReferenceNameCasingFixer` capitalizes the property name after the nullsafe operator (#7696)
* fix: `fully_qualified_strict_types` with `leading_backslash_in_global_namespace` enabled - handle reserved types in phpDoc (#7648)
* fix: `NoSpaceAroundDoubleColonFixer` must run before `MethodChainingIndentationFixer` (#7723)
* fix: `no_superfluous_phpdoc_tags` must honor multiline docs (#7697)
* fix: `numeric_literal_separator` - Handle zero-leading floats properly (#7737)
* refactor: increase performance by ~7% thanks to `Tokens::block*Cache` hit increased by ~12% (#6176)
* refactor: Tokens - fast check for non-block in 'detectBlockType', evaluate definitions only once in 'getBlockEdgeDefinitions' (#7655)
* refactor: `Tokens::clearEmptyTokens` - play defensive with cache clearing (#7658)
* test: ensure we do not forget to test any short_open_tag test (#7638)
Changelog for v3.46.0
---------------------
* chore: fix internal typehints in Tokens (#7656)
* chore: reduce PHPStan baseline (#7643)
* docs: Show class with unit tests and BC promise info (#7667)
* feat: change default ruleset to `@PER-CS` (only behind PHP_CS_FIXER_FUTURE_MODE=1) (#7650)
* feat: Support new/instanceof/use trait in `fully_qualified_strict_types` (#7653)
* fix: FQCN parse phpdoc using full grammar regex (#7649)
* fix: Handle FQCN properly with `leading_backslash_in_global_namespace` option enabled (#7654)
* fix: PhpdocToParamTypeFixerTest - support for arrow functions (#7647)
* fix: PHP_CS_FIXER_FUTURE_MODE - proper boolean validation (#7651)
Changelog for v3.45.0
---------------------
* feat: Enable symbol importing in `@PhpCsFixer` ruleset (#7629)
* fix: NoUnneededBracesFixer - improve handling of global namespace (#7639)
* test: run tests with "short_open_tag" enabled (#7637)
Changelog for v3.44.0
---------------------
* feat: Introduce percentage bar as new default progress output (#7603)
Changelog for v3.43.1
---------------------
* fix: Import only unique symbols' short names (#7635)
Changelog for v3.43.0
---------------------
* chore: change base of `@Symfony` set to `@PER-CS2.0` (#7627)
* chore: PHPUnit - allow for v10 (#7606)
* chore: Preg - rework catching the error (#7616)
* chore: Revert unneeded peer-dep-pin and re-gen lock file (#7618)
* docs: drop extra note about 8.0.0 bug in README.md (#7614)
* feat: add cast_spaces into `@PER-CS2.0` (#7625)
* feat: Configurable phpDoc tags for FQCN processing (#7628)
* feat: StatementIndentationFixer - introduce stick_comment_to_next_continuous_control_statement config (#7624)
* feat: UnaryOperatorSpacesFixer - introduce only_dec_inc config (#7626)
* fix: FullyQualifiedStrictTypesFixer - better support annotations in inline {} (#7633)
* fix: Improve how FQCN is handled in phpDoc (#7622)
* fix: phpdoc_align - fix multiline tag alignment issue (#7630)
Changelog for v3.42.0
---------------------
* chore: aim to not rely on internal array pointer but use array_key_first (#7613)
* chore: deprecate Token::isKeyCaseSensitive (#7599)
* chore: deprecate Token::isKeyCaseSensitive, 2nd part (#7601)
* chore: do not check PHP_VERSION_ID (#7602)
* chore: FileFilterIteratorTest - more accurate type in docs (#7542)
* chore: minor code cleanup (#7607)
* chore: more types (#7598)
* chore: PHPDoc key-value spacing (#7592)
* chore: PHPUnit - run defects first (#7570)
* chore: ProjectCodeTest - DRY on Tokens creation (#7574)
* chore: ProjectCodeTest - prepare for symfony/console v7 (#7605)
* chore: ProjectCodeTest::provide*ClassCases to return iterable with key for better tests execution log (#7572)
* chore: ProjectCodeTest::testDataProvidersDeclaredReturnType - use better DataProvider to simplify test logic (#7573)
* chore: TokensAnalyzer - string-enum for better typehinting (#7571)
* chore: unify tests not agnostic of PHP version (#7581)
* chore: use ::class more (#7545)
* CI: Introduce `composer-unused` (#7536)
* DX: add types to anonymous functions (#7561)
* DX: Allow running smoke tests within Docker runtime (#7608)
* DX: check fixer's options for wording (#7543)
* DX: cleanup deprecation message (#7576)
* DX: do not allow overriding constructor of `PHPUnit\Framework\TestCase` (#7563)
* DX: do not import ExpectDeprecationTrait in UtilsTest (#7562)
* DX: Enforce consistent naming in tests (#7556)
* DX: fix checking test class extends `PhpCsFixer\Tests\TestCase` (#7567)
* DX: make sure that exceptions in `AbstractFixerTestCase::testProperMethodNaming` are not already fixed (#7588)
* DX: remove recursion from AbstractIntegrationTestCase::testIntegration (#7577)
* DX: remove `PhpUnitNamespacedFixerTest::testClassIsFixed` (#7564)
* DX: remove `symfony/phpunit-bridge` (#7578)
* DX: replace fixture classes with anonymous ones (#7533)
* DX: Unify Docker mount points and paths (#7549)
* DX: unify fixer's test method names - quick wins (#7584)
* DX: unify tests for casing fixers (#7558)
* DX: use anonymous function over concrete classes (#7553)
* feat(EXPERIMENTAL): ClassKeywordFixer (#2918)
* feat(EXPERIMENTAL): ClassKeywordFixer, part 2 (#7550)
* feat(PhpdocToCommentFixer): Add option to handle return as valid docblock usage (#7401) (#7402)
* feat: Ability to import FQCNs found during analysis (#7597)
* feat: add phpDoc support for `fully_qualified_strict_types` fixer (#5620)
* feat: Handle deprecated rule sets similarly to deprecated fixers (#7288)
* feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v10 methods (#7604)
* feat: Support more FQCNs cases in `fully_qualified_strict_types` (#7459)
* fix: AbstractFixerTestCase - fix checking for correct casing (#7540)
* fix: Better OS detection in integration tests (#7547)
* fix: NativeTypeDeclarationCasingFixe - handle static property without type (#7589)
* test: AutoReview - unify data provider returns (#7544)
* test: check to have DataProviders code agnostic of PHP version (#7575)
Changelog for v3.41.1
---------------------
* DX: Change `@testWith` to `@dataProvider` (#7535)
* DX: Introduce Markdownlint (#7534)
* fix: NativeTypeDeclarationCasingFixer - do not crash on `var` keyword (#7538)
Changelog for v3.41.0
---------------------
* chore: Move `mb_str_functions` PHP 8.3 cases to separate test (#7505)
* chore: Symfony v7 is now stable (#7469)
* CI: drop PHP 8.3 hacks (#7519)
* docs: Improve docs for `no_spaces_after_function_name` (#7520)
* DX: Ability to run Sphinx linter locally (#7481)
* DX: AbstractFixerTest - use anonymous classes (#7527)
* DX: Add progress output for `cs:check` script (#7514)
* DX: align doubles naming (#7525)
* DX: remove AbstractFixerTestCase::getTestFile() (#7495)
* DX: remove jangregor/phpstan-prophecy (#7524)
* DX: remove Prophecy (#7509)
* DX: replace Prophecy with anonymous classes in CacheTest (#7503)
* DX: replace Prophecy with anonymous classes in ProcessLintingResultTest (#7501)
* DX: Utilise auto-discovery for PHPStan formatter (#7490)
* feat: Support `mb_str_pad` function in `mb_str_functions` rule (#7499)
* fix: BinaryOperatorSpacesFixer - do not add whitespace inside short function (#7523)
* fix: Downgrade PDepend to version not supporting Symfony 7 (#7513)
* fix: GlobalNamespaceImportFixer - key in PHPDoc's array shape matching class name (#7522)
* fix: SpacesInsideParenthesesFixer - handle class instantiation parentheses (#7531)
* Update PHPstan to 1.10.48 (#7532)
Changelog for v3.40.2
---------------------
* docs: fix link to source classes (#7493)
Changelog for v3.40.1
---------------------
* chore: Delete stray file x (#7473)
* chore: Fix editorconfig (#7478)
* chore: Fix typos (#7474)
* chore: Fix YAML line length (#7476)
* chore: Indent JSON files with 4 spaces (#7480)
* chore: Make YAML workflow git-based (#7477)
* chore: Use stable XDebug (#7489)
* CI: Lint docs (#7479)
* CI: Use PHPStan's native Github error formatter (#7487)
* DX: fix PHPStan error (#7488)
* DX: PsrAutoloadingFixerTest - do not build mock in data provider (#7491)
* DX: PsrAutoloadingFixerTest - merge all data providers into one (#7492)
* DX: Update PHPStan to 1.10.46 (#7486)
* fix: `NoSpacesAfterFunctionNameFixer` - do not remove space if the opening parenthesis part of an expression (#7430)
Changelog for v3.40.0
---------------------
* chore: officially support PHP 8.3 (#7466)
* chore: update deps (#7471)
* CI: add --no-update while dropping non-compat `facile-it/paraunit` (#7470)
* CI: automate --ignore-platform-req=PHP (#7467)
* CI: bump actions/github-script to v7 (#7468)
* CI: move humbug/box out of dev-tools/composer.json (#7472)
Changelog for v3.39.1
---------------------
* DX: introduce SwitchAnalyzer (#7456)
* fix: NoExtraBlankLinesFixer - do not remove blank line after `? : throw` (#7457)
* fix: OrderedInterfacesFixer - do not comment out interface (#7464)
* test: Improve `ExplicitIndirectVariableFixerTest` (#7451)
Changelog for v3.39.0
---------------------
* chore: Add support for Symfony 7 (#7453)
* chore: IntegrationTest - move support of php< requirement to main Integration classes (#7448)
* CI: drop Symfony ^7 incompat exceptions of php-coveralls and cli-executor (#7455)
* CI: early compatibility checks with Symfony 7 (#7431)
* docs: drop list.rst and code behind it (#7436)
* docs: remove Gitter mentions (#7441)
* DX: Ability to run Fixer on PHP8.3 for development (#7449)
* DX: describe command - for rules, list also sets that are including them (#7419)
* DX: Docker clean up (#7450)
* DX: more usage of spaceship operator (#7438)
* DX: Put `Preg`'s last error message in exception message (#7443)
* feat: Introduce `@PHP83Migration` ruleset and PHP 8.3 integration test (#7439)
* test: Improve `AbstractIntegrationTestCase` description (#7452)
Changelog for v3.38.2
---------------------
* docs: fix 'Could not lex literal_block as "php". Highlighting skipped.' (#7433)
* docs: small unification between FixerDocumentGenerator and ListDocumentGenerator (#7435)
* docs: unify ../ <> ./../ (#7434)
Changelog for v3.38.1
---------------------
* chore: ListSetsCommand::execute - add missing return type (#7432)
* chore: PHPStan - add counter to dataProvider exception, so we do not increase the tech debt on it (#7425)
* CI: Use `actions/checkout` v4 (#7423)
* fix: ClassAttributesSeparationFixer - handle Disjunctive Normal Form types parentheses (#7428)
* fix: Remove all variable names in `@var` callable signature (#7429)
* fix: Satisfy `composer normalize` (#7424)
Changelog for v3.38.0
---------------------
* chore: upgrade phpstan (#7421)
* CI: add curl and mbstring to build php (#7409)
* CI: cache dev-tools/bin (#7416)
* CI: Composer - move prefer-stable to file config (#7406)
* CI: conditionally install flex (#7412)
* CI: dev-tools/build.sh - no need to repeat 'prefer-stable', but let's use '--no-scripts' (#7408)
* CI: Do not run post-autoload-dump on Composer install (#7403)
* CI: general restructure (#7407)
* CI: GitHub Actions - use actions/cache for Composer in composite action (#7415)
* CI: Improve QA process - suplement (#7411)
* CI: prevent Infection plugins during build time, as we do not use it (#7422)
* CI: simplify setup-php config (#7404)
* DX: Do not mark as stale issues/PRs with milestone assigned (#7398)
* DX: Improve QA process (#7366)
* feat: phpDoc to property/return/param Fixer - allow fixing mixed on PHP >= 8 (#6356)
* feat: phpDoc to property/return/param Fixer - allow fixing union types on PHP >= 8 (#6359)
* feat: Support for array destructuring in `array_indentation` (#7405)
* feat: `@Symfony` - keep Annotation,NamedArgumentConstructor,Target annotations as single group (#7399)
* fix(SelfAccessorFixer): do not touch references inside lambda and/or arrow function (#7349)
* fix: long_to_shorthand_operator - mark as risky fixer (#7418)
* fix: OrderedImportsFixer - handle non-grouped list of const/function imports (#7397)
Changelog for v3.37.1
---------------------
* docs: config file - provide better examples (#7396)
* docs: config file - provide better link to Finder docs (#6992)
Changelog for v3.37.0
---------------------
* feat: add parallel cache support (#7131)
Changelog for v3.36.0
---------------------
* chore: disable `infection-installer` plugin, as we do not use `infection/*` yet (#7391)
* chore: Run dev-tools on PHP 8.2 (#7389)
* CI: Run Symfony 6 compat check on PHP 8.1 (#7383)
* CI: use fast-linter when calculating code coverage (#7390)
* docs: extend example for nullable_type_declaration (#7381)
* DX: FixerFactoryTest - make assertion failing msg more descriptive (#7387)
* feat: PhpdocSummaryFixer - support lists in description (#7385)
* feat: PSR12 - configure unary_operator_spaces (#7388)
* feat: StatementIndentationFixer - support comment for continuous control statement (#7384)
Changelog for v3.35.1
---------------------
* fix: Mark `PhpdocReadonlyClassCommentToKeywordFixer` as risky (#7372)
Changelog for v3.35.0
---------------------
* chore: Autoreview: test all formats are listed in `usage.rst` (#7357)
* chore: no need for `phpunitgoodpractices/traits` anymore (#7362)
* chore: Rename `indexes` to `indices` (#7368)
* chore: stop using `phpunitgoodpractices/traits` (#7363)
* chore: typo (#7367)
* docs: Sort options in documentation (#7345)
* feat(PhpdocReadonlyClassCommentToKeywordFixer): Introduction (#7353)
* feat: Ability to keep/enforce leading `\` when in global namespace (#7186)
* feat: Update `@PER-CS2.0` to match short closure space (#6970)
* feat: use `ordered_types` in `@PhpCsFixer` (#7361)
* fix(SingleLineThrowFixer): fixer goes out of range on close tag (#7369)
Changelog for v3.34.1
---------------------
* deps: revert "prevent using PHPCSFixer along with unfinalize package (#7343)" (#7348)
Changelog for v3.34.0
---------------------
* feat: Introduce `check` command (alias for `fix --dry-run`) (#7322)
Changelog for v3.33.0
---------------------
* feat: Introduce `native_type_declaration_casing` fixer (#7330)
Changelog for v3.32.0
---------------------
* deps: Prevent using PHPCSFixer along with `unfinalize` package (#7343)
* feat: Deprecate `CompactNullableTypehintFixer` and proxy to `CompactNullableTypeDeclarationFixer` (#7339)
* feat: Deprecate `CurlyBracesPositionFixer` and proxy to `BracesPositionFixer` (#7334)
* feat: Deprecate `NewWithBracesFixer` and proxy to `NewWithParenthesesFixer` (#7331)
* feat: Deprecate `NoUnneededCurlyBracesFixer` and proxy to `NoUnneededBracesFixer` (#7335)
* feat: Rename `CurlyBraceTransformer` to `BraceTransformer` (#7333)
Changelog for v3.31.0
---------------------
* chore: Use type declaration instead of type hint (#7338)
* feat: Introduce `attribute_placement` option for `MethodArgumentSpaceFixer` (#7320)
* fix: Adjust wording related to deprecations (#7332)
* fix: Correct deprecation header in rules' docs (#7337)
* fix: Replace mention of bracket with parenthesis (#7336)
* fix: `FunctionToConstantFixer` should run before `NativeConstantInvocationFixer` (#7344)
Changelog for v3.30.0
---------------------
* feat: Introduce `AttributeEmptyParenthesesFixer` (#7284)
* fix(method_argument_space): inject new line after trailing space on current line (#7327)
* fix(`YodaStyleFixer`): do not touch `require(_once)`, `include(_once)` and `yield from` statements (#7325)
* fix: illegal offset type on file-wide return in `ReturnToYieldFromFixer` (#7318)
Changelog for v3.29.0
---------------------
* chore: fix TODO tasks about T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG support (#7316)
* feat(`@PhpCsFixer:risky`): use newest `@PER-CS:risky` instead of locked `@PER-CS2.0:risky` (#7323)
* feat: Introduce `@PER-CS` ruleset (#7321)
* fix: priority issue between array_syntax and space after rules (#7324)
Changelog for v3.28.0
---------------------
* chore(prlint): allow for 'deps' type (#7304)
* CI(prlint): allow for special chars in parentheses (#7308)
* deps(dev-tools): update dev-tools (#7309)
* DX: Bump XDebug version in Docker services (#7300)
* feat(`@PER-CS2.0`): Add `concat_space` to the ruleset (#7302)
Changelog for v3.27.0
---------------------
* docs: cleanup old mention of `--show-progress=estimating` in docs (#7287)
* DX: add Composer script for applying CS fixes in parallel (#7274)
* feat: Clone PER-CS1.0 to PER-CS2.0 to prepare for adding new rules (#7249)
* feat: Introduce `LongToShorthandOperatorFixer` (#7295)
* feat: Mark PER-CS v1 as deprecated (#7283)
* feat: Move `single_line_empty_body` to `@PER-CS2.0` (#7282)
* fix: Priorities for fixers related to curly braces, empty lines and trailing whitespace (#7296)
* fix: `OrderedTraitsFixer` - better support for multiple traits in one `use` statement (#7289)
Changelog for v3.26.1
---------------------
* fix: Handle superfluous asterisk in `no_superfluous_phpdoc_tags` (#7279)
Changelog for v3.26.0
---------------------
* chore(checkbashisms): update to 2.23.6 (#7276)
* chore(phpstan): reduce baseline (#7275)
* feat: Add `single_line_empty_body` to `@PhpCsFixer` (#7266)
* fix(YieldFromArrayToYieldsFixer): mark as Risky (#7272)
* fix(YieldFromArrayToYieldsFixer): skip touching empty array (#7273)
* test: Introduce common way of creating fake Composer project in `InstallViaComposerTest` (#7265)
Changelog for v3.25.1
---------------------
* fix: PhpdocTypesFixer - do not crash for type followed by braces/brackets/chevrons/parentheses (#7268)
Changelog for v3.25.0
---------------------
* feat: Remove Doctrine dependencies (#7263)
Changelog for v3.24.0
---------------------
* chore: apply CS (#7240)
* chore: apply static_lambda rule (#7239)
* chore: Improve template for creating new issue (#7255)
* CI: Conventional Commits support in PRLint config (#7037)
* CI: Remove Travis leftovers (#7259)
* docs: Add information about installing Fixer as dev dependency (#7129)
* docs: document composer script aliases (#7230)
* DX: Add script for running Composer Require Checker (#7252)
* DX: composer script aliases - ensure templated description (#7235)
* DX: composer-script - count PHPMD as static-analysis (#7231)
* DX: do not allow version specific code sample with minimum PHP version lower than the lowest supported one (#7207)
* DX: ensure version specific code samples are suitable for at least 1 supported PHP version (#7212)
* DX: Improve contributing guide (#7241)
* DX: More descriptive stale messages (#7236)
* feat(@PhpCsFixer:risky): add static_lambda rule (#7237)
* feat: Add literal separator support for `integer_literal_case` (#7081)
* feat: Configurable case sensitivity for more ordering fixers (#7021)
* feat: Support for attributes in `method_argument_space` (#7242)
* fix: import detection for attributes at `NoUnusedImportsFixer` (#7246)
* fix: `no_superfluous_phpdoc_tags` with `null` phpdoc (#7234)
* fix: `phpdoc_types` must not lowercase literal types (#7108)
* test: Add static methods from PHPUnit 9.6.11 (#7243)
Changelog for v3.23.0
---------------------
* bug: BlankLineBeforeStatementFixer - do not enforce/add a blank line when there is a blank line between the comment and the statement already (#7190)
* bug: Fix detecting classy invocation in catch (#7191)
* bug: Fix names resolving in `no_superfluous_phpdoc_tags` fixer (#7189)
* bug: Fix various bugs in `FullyQualifiedStrictTypesFixer` fixer (#7188)
* bug: Fixed line between general script documentation and require (#7177)
* bug: Support annotations with arguments in `FinalInternalClassFixer` (#7160)
* bug: YieldFromArrayToYieldsFixer - fix for `yield from` after `}` (#7169)
* bug: YieldFromArrayToYieldsFixer - fix handling the comment before the first array element (#7193)
* bug: `HeaderCommentFixer` must run before `BlankLinesBeforeNamespaceFixer` (#7205)
* bug: `NoUselessReturnFixer` must run before `SingleLineEmptyBodyFixer` (#7226)
* bug: `PhpdocInlineTagNormalizerFixer` - do not break tags (#7227)
* docs: Add allowed values of tags in the `phpdoc_align` (#7120)
* docs: Add extra information for GitLab reporter's integration with GitLab Code Quality (#7172)
* docs: Change the single backticks to double in description of the rules option (#7173)
* docs: Condensed output for rule sets' list that fixer is included in (#7182)
* docs: Improve contributing guide (#7204)
* docs: `MethodArgumentSpaceFixer` - mention PSR in Fixer definition (#7157)
* DX: add first auto-review tests for composer.json file (#7210)
* DX: add `YieldFromArrayToYieldsFixer` to `PhpCsFixer` set (#7115)
* DX: Allow OS conditions for integration tests (#7161)
* DX: Apply current CS rules (#7178)
* DX: Apply suggestions from PR 7210 (#7213)
* DX: apply `ReturnToYieldFromFixer` (#7181)
* DX: Do not mark "long term ideas" as stale (#7206)
* DX: enable `HeredocIndentationFixer` for the codebase (#7195)
* DX: enable `UseArrowFunctionsFixer` for the codebase (#7194)
* DX: few phpstan fixes (#7208)
* DX: fix contravariant types in PHPDocs (#7167)
* DX: Fix detecting trailing spaces (#7216)
* DX: Fix some PHPStan issues (#7180)
* DX: Get rid of deprecation warnings in Mess Detector (#7215)
* DX: Improve Composer scripts (#7214)
* DX: Improve Mess Detector Integration (#7224)
* DX: Introduce Composer scripts as common DX (#6839)
* DX: refactor `ErrorOutputTest` (#7183)
* DX: remove unnecessary arrays from data providers (#7170)
* DX: update `CurlyBracesPositionFixer` code samples (#7198)
* DX: update `HeredocIndentationFixer` code samples (#7197)
* DX: update `PhpdocToReturnTypeFixer` code samples (#7199)
* feature: add at least one space around binary operators (#7175)
* feature: BlankLineBeforeStatementFixer - take into account comment before statement (#7166)
* feature: Introduce `ReturnToYieldFromFixer` (#7168)
* feature: Introduce `SpacesInsideParenthesesFixer` (#5709)
* feature: Support array destructuring in `trim_array_spaces` (#7218)
* feature: `BlankLineBeforeStatementFixer` - skip enum cases (#7203)
* minor: more arrow function usage (#7223)
* minor: PhpdocAlignFixerTest - convert CUSTOM tags test to not rely on non-custom tag from TAGS_WITH_NAME (#7209)
* minor: use JSON_THROW_ON_ERROR for trivial cases (#7221)
* minor: use more spread operator (#7222)
Changelog for v3.22.0
---------------------
* DX: add proper test for `SelfAccessorFixer` must run before `SelfAccessorFixer` (#7153)
* DX: FixerFactoryTest - apply CS (#7154)
* feature: Introduce `PhpUnitDataProviderReturnTypeFixer` (#7156)
* feature: Introduce `YieldFromArrayToYieldsFixer` (#7114)
Changelog for v3.21.3
---------------------
* Revert "DX: encourage to provide wider description" (#7155)
Changelog for v3.21.2
---------------------
* docs: check format of FixerDefinition::getDescription() (#7127)
* DX: add phpstan/phpstan-strict-rules (#7143)
* DX: allow for progressive cache (#7132)
* DX: Copy-pasteable `class::getPriority` for phpDoc diffs (#7148)
* DX: do not allow linebreak at the beginning of code sample (#7126)
* DX: encourage to provide wider description (#7128)
* DX: fix function calls (#7136)
* DX: fix PHPDoc types issues (#7135)
* DX: improve `Tokens` checking for found tokens (#7139)
* DX: Make `AbstractFixerTestCase::getTestFile()` final (#7116)
* DX: make `array_search` call strict (#7145)
* DX: remove `empty` calls (#7138)
* DX: store cache to file only if content will get modified (#7151)
* DX: unify Preg:match in logical conditions (#7146)
* DX: use booleans in conditions (#7149)
* DX: Use ParaUnit to speed up tests (#6883)
* DX: Use relative fixture path as integration test case's name (#7147)
* DX: use strict assertions (#7144)
* DX: `AbstractIntegrationTestCase::provideIntegrationCases` - yield over array, better typehinting (#7150)
Changelog for v3.21.1
---------------------
experimental release
* Require PHP ^8.0.1
Changelog for v3.21.0
---------------------
* bug: Fix and enhance Gitlab reporter (#7089)
* bug: Import with different case must not be removed by non-risky fixer (#7095)
* bug: ordered imports fixer top group only (#7023)
* bug: `FinalPublicMethodForAbstractClassFixer` - fix for readonly classes (#7123)
* DX: do not nest ".editorconfig" files (#7112)
* DX: exclude Dockerfile from dist (#7113)
* DX: fix checkbashisms installation (#7102)
* DX: fix Smoke tests for various git default branch name (#7119)
* DX: Fix `FileRemovalTest` (do not fail when running it standalone) (#7104)
* DX: Progress output refactor (#6848)
* DX: Rename abstract test classes to `*TestCase` convention (#7100)
* DX: test all PHPUnit migration sets (#7107)
* DX: [Docker] Distinguish Alpine version between PHP versions (#7105)
* feature: Create cache path if it does not exist (#7109)
* feature: Introduce `NullableTypeDeclarationFixer` (#7002)
* feature: Introduce `TypeDeclarationSpacesFixer` (#7001)
* feature: `BlankLineBetweenImportGroupsFixer` - keep indent (#7122)
* minor: Parse callable using full phpdoc grammar (#7094)
* minor: PHP8.3 const type tokenizing (#7055)
Changelog for v3.20.0
---------------------
* DX: fix priority of `FinalClassFixer` (#7091)
* DX: use FAST_LINT_TEST_CASES=1 for CI run on macOS (#7092)
* feature: SingleLineEmptyBodyFixer - support interfaces, traits and enums (#7096)
* feature: `NullableTypeDeclarationForDefaultNullValue` - support for nullability in union types (#5819)
Changelog for v3.19.2
---------------------
* bug: NoMultipleStatementsPerLineFixer must run before CurlyBracesPositionFixer (#7087)
* bug: PhpdocAddMissingParamAnnotationFixer - fix for promoted properties (#7090)
* DX: fix priority of SingleBlankLineBeforeNamespaceFixer (#7088)
* minor: Parse all phpdoc types using full grammar (#7010)
Changelog for v3.19.1
---------------------
* bug: CurlyBracesPositionFixer must run before StatementIndentationFixer (#7085)
Changelog for v3.19.0
---------------------
* bug: SelfAccessorFixer - fix for union types (#7080)
* DX: add `php_unit_data_provider_name` to `@PhpCsFixer:risky` set (#7069)
* DX: make data providers return type "iterable" (#7072)
* DX: rename tests and data providers (#7070)
* feature: Introduce `PhpUnitDataProviderNameFixer` (#7057)
Changelog for v3.18.0
---------------------
* bug: Fix tokenizing of type hints (#7054)
* bug: CompactNullableTypehintFixer - fix for whitespace between `?` and `static` (#6993)
* bug: consider function modifiers for `statement_indentation` (#6978)
* bug: Exclude `$this` from `TernaryToNullCoalescingFixer` (#7052)
* bug: False positive on used imports when docblock includes it with mismatching case (#6909)
* bug: Fix chained calls semicolon indent in switch case (#7045)
* bug: Fix multiline_whitespace_before_semicolons for echo tags (#7019)
* bug: Fix phpDoc align when there is inconsistent spacing after comment star (#7012)
* bug: Fix phpDoc parsing without PCRE JIT (#7031)
* bug: Fix PhpdocVarWithoutNameFixer with Closure with $this (#6979)
* bug: Fix `return_assignment` not formatting when variables are used in `catch` and `finally` (#6960)
* bug: Fix `TypeExpression::allowsNull()` with nullable (#7000)
* bug: Improve definition of conflicting fixers (#7066)
* bug: LambdaNotUsedImportFixer - fix for anonymous class with a string argument (#6972)
* bug: ListFilesCommand - fix computing of relative path (#7028)
* bug: make `php_unit_namespaced` less greedy (#6952)
* bug: PhpdocToCommentFixer - fix for PHPDoc before fn (#6973)
* bug: Restructure PER-CS rule sets (#6707)
* bug: SelfStaticAccessor - fix static access inside enums (#7024)
* bug: SingleSpaceAroundConstructFixer - fix more cases involving `static` (#6995)
* bug: `FullyQualifiedStrictTypesFixer` - fix shortening when namespace is not empty and import exists (#7027)
* bug: `NoUnneededControlParenthesesFixer` PHP8.0 null-safe operator (#7056)
* bug: `PhpdocToCommentFixer` support for enum cases (#7040)
* DX: add more tests to CommentsAnalyzer (#7041)
* DX: Cleanup duplicate files in finder (#7042)
* DX: ControlCaseStructuresAnalyzerTest - cleanup (#6874)
* DX: Fix warning when running test on PHP<8 (#7008)
* DX: handle `@` in PR title (#6982)
* DX: officially deprecate internal Utils anti-pattern class (#7039)
* DX: Remove Fabbot.io conditional configuration (#7038)
* DX: rename data providers (#7058)
* DX: Use `actions/stale` to handle stale issues and pull requests (#5085)
* DX: Use `Utils::naturalLanguageJoin()` in implode calls (#7032)
* feature: Add support for custom method placement in `ordered_class_elements` (#6360)
* feature: Allow case sensitive order for OrderedClassElementsFixer (#7020)
* feature: PHP8.3 - Add CT and block type for `Dynamic class constant fetch` (#7004)
* feature: Support attributes in `FinalClassFixer` (#6893)
* minor: "Callback" must not be fixed to "callback" by default (#7011)
* minor: Add `Util::naturalLanguageJoin()` (#7022)
* minor: ClassDefinitionFixer - handle attributes and `readonly` in anonymous class definitions (#7014)
* minor: FixerFactory::getFixersConflicts - better type hinting (#7044)
* minor: PHP8.3 - Fix TokensAnalyzer::isAnonymousClass support for `readonly` (#7013)
* minor: PHP8.3 - Typed class constants - handle nullable by transformer (#7009)
* minor: Reduce phpDoc type parser complexity from O(n^2) to O(nlog(n)) (#6988)
* minor: ReturnAssignmentFixer - Better handling of anonymous classes (#7015)
* minor: Transfer `HelpCommand::toString()` to `Utils` (#7034)
* minor: Unify "blank lines before namespace" fixers (#7053)
* minor: `SelfStaticAccessorFixer` improvements for enums (#7026)
* minor: `SingleSpaceAroundConstructFixer` - support space before `as` (#7029)
* minor: `UseArrowFunctionsFixer` - run before `FunctionDeclarationFixer` (#7065)
Changelog for v3.17.0
---------------------
* bug: Allow string quote to be escaped within phpdoc constant (#6798)
* bug: ConfigurationResolver - fix running without cache (#6915)
* bug: Fix array/object shape phpdoc type parse (#6962)
* bug: Fix FullyQualifiedStrictTypesFixer common prefix bug (#6898)
* bug: Fix non-parenthesized callable return type parse (#6961)
* bug: Fix parsing of edge cases phpdoc types (#6977)
* bug: FullyQualifiedStrictTypesFixer - fix for FQCN type with class with the same name being imported (#6923)
* bug: GroupImportFixer - support for aliased imports (#6951)
* bug: MultilineWhitespaceBeforeSemicolonsFixer - fix chained calls (#6926)
* bug: MultilineWhitespaceBeforeSemicolonsFixer - fix for discovering multi line calls (#6938)
* bug: NoBreakCommentFixer - fix for nested match (#6899)
* bug: NoExtraBlankLinesFixer - fix for attribute in abstract function (#6920)
* bug: PhpdocTypesFixer - handle types with no space between type and variable (#6922)
* bug: PhpUnitMockShortWillReturnFixer - fix for trailing commas (#6900)
* bug: StatementIndentationFixer - fix comments at the end of if/elseif/else blocks (#6918)
* bug: StatementIndentationFixer - fix for multiline arguments starting with "new" keyword (#6913)
* bug: StatementIndentationFixer - fix for multiline arguments starting with "new" keyword preceded by class instantiation (#6914)
* bug: VoidReturnFixer - fix for intervening attributes (#6863)
* docs: improve code samples for MultilineWhitespaceBeforeSemicolonsFixer (#6919)
* docs: improve cookbook (#6880)
* DX: add cache related tests (#6916)
* DX: Apply `self_static_accessor` fixer to the project (again) (#6927)
* DX: cancel running builds on subsequent pushes in CI (#6940)
* DX: convert more `static` to `self` assert calls (#6931)
* DX: fix GitHub Actions errors and warnings (#6917)
* DX: fix Unsafe call to private method errors reported by PHPStan (#6879)
* DX: Improve performance of FunctionsAnalyzer (#6939)
* DX: improve test method names to avoid confusion (#6974)
* DX: Include self_static_accessor fixer in PhpCsFixer set (#6882)
* DX: make data providers static with straight-forward changes (#6907)
* DX: Mark Tokens::getNamespaceDeclarations as @internal (#6949)
* DX: PHPStan improvements (#6868)
* DX: refactor PhpdocAlignFixerTest (#6925)
* DX: Remove @inheritdoc PHPDoc (#6955)
* DX: Run AutoReview tests only once (#6889)
* DX: simplify EncodingFixer (#6956)
* DX: update Symfony rule set (#6958)
* DX: Use $tokens->getNamespaceDeclarations() to improve performance (#6942)
* DX: use force option for php_unit_data_provider_static in PHPUnit 10.0 migration set (#6908)
* DX: use only PHP modules that are required (#6954)
* DX: use PHPUnit's "requires" instead of "if" condition (#6975)
* feature: Add align_multiline_comment rule to @Symfony (#6875)
* feature: Add no_null_property_initialization rule to @Symfony (#6876)
* feature: Add operator_linebreak rule to @Symfony (#6877)
* feature: add SingleLineEmptyBodyFixer (#6933)
* feature: DescribeCommand - allow describing custom fixers (#6957)
* feature: Introduce `OrderedTypesFixer` (#6571)
* feature: Order of PHPDoc @param annotations (#3909)
* feature: Parse parenthesized & conditional phpdoc type (#6796)
* feature: PhpUnitInternalClassFixer - add empty line before PHPDoc (#6924)
* feature: [PhpdocAlignFixer] Add support for every tag (#6564)
* minor: align NoSuperfluousPhpdocTagsFixer with actual Symfony configuration (#6953)
* minor: do not add empty line in PHPDoc when adding annotation in PHPUnit class (#6928)
* minor: PhpdocAlignFixer - support cases with type and variable separated with no space (#6921)
* minor: PhpdocSeparationFixer - add integration tests (#6929)
* minor: update PHPStan (to fix CI on master branch) (#6901)
* minor: Use single Dockerfile with multiple build targets (#6840)
Changelog for v3.16.0
---------------------
* bug: ControlStructureBracesFixer - handle closing tag (#6873)
* bug: CurlyBracesPositionFixer - fix for callable return type (#6855)
* bug: CurlyBracesPositionFixer - fix for DNF types (#6859)
* bug: Fix MultilineWhitespaceBeforeSemicolonsFixer (#5126)
* docs: Fix rule description (#6844)
* DX: fix checkbashisms installation (#6843)
* DX: make data providers static for fixer's tests (#6860)
* DX: refactor PHPUnit fixers adding class-level annotation to use shared code (#6756)
* DX: unify option's descriptions (#6856)
* feature: AbstractPhpUnitFixer - support attribute detection in docblock insertion (#6858)
* feature: add "force" option to PhpUnitDataProviderStaticFixer (#6757)
* feature: introduce single_space_around_construct, deprecate single_space_after_construct (#6857)
* feature: PhpUnitTestClassRequiresCoversFixer - support single-line PHPDocs (#6847)
* minor: Deprecate BracesFixer (#4885)
* minor: Fix autocompletion for `Tokens::offsetGet()` (#6838)
* minor: PHP8.2 Docker runtime (#6833)
* minor: Use Composer binary-only images instead of installer script (#6834)
Changelog for v3.15.1
---------------------
* bug: BinaryOperatorSpacesFixer - fix for static in type (#6835)
* bug: BinaryOperatorSpacesFixer - fix parameters with union types passed by reference (#6826)
* bug: NoUnusedImportsFixer - fix for splat operator (#6836)
* DX: fix CI (#6837)
* feature: Support for type casing in arrow functions (#6831)
* minor: fix CI on PHP 8.3 (#6827)
Changelog for v3.15.0
---------------------
* bug: VisibilityRequiredFixer - handle DNF types (#6806)
* DX: officially enable 8.2 support (#6825)
Changelog for v3.14.5
---------------------
* bug: EmptyLoopBodyFixer must keep com