Skip to content

Releases: PHP-CS-Fixer/PHP-CS-Fixer

v3.85.1 Alexander

29 Jul 22:23
v3.85.1
2fb6d7f
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.85.0...v3.85.1

v3.85.0 Alexander

29 Jul 21:26
v3.85.0
a1eb476
Compare
Choose a tag to compare

What's Changed

  • feat: ArrayIndentationFixer - handle closures inside attributes by @gharlan in #8888
  • feat: NullableTypeDeclarationFixer - support final promoted properties by @kubawerlos in #8885
  • feat: OperatorLinebreakFixer - support pipe operator by @kubawerlos in #8891
  • feat: PhpdocTypesFixer - support multiline array shapes by @kubawerlos in #8893
  • fix: BracesPositionFixer - handle property hooks correctly by @kubawerlos in #8886
  • fix: NullableTypeDeclarationFixer - handle abstract and final properties by @kubawerlos in #8876
  • fix: PhpdocLineSpanFixer - handle promoted properties by @gharlan in #8897
  • fix: PhpUnitDataProviderNameFixer - fix for multiple providers defined by attributes for one test method by @kubawerlos in #8849
  • fix: TernaryOperatorSpacesFixer - handle instanceof static by @gharlan in #8879
  • fix: TypeDeclarationSpacesFixer - handle asymmetric visibility and final properties by @kubawerlos in #8900
  • fix: always reach 100% of checked files by @kubawerlos in #8861
  • chore: OrderedInterfacesFixer - make code more PHPStan friendly by @gharlan in #8866
  • chore: Token - add @phpstan-assert-if-true by @gharlan in #8865
  • chore: add initial PHP 8.5 integration test by @kubawerlos in #8871
  • chore: add tests for public API methods by @kubawerlos in #8895
  • chore: apply changes from PhpdocTypesFixer for multiline array shapes by @kubawerlos in #8894
  • chore: baseline files without error count by @gharlan in #8870
  • chore: cleanup PhpCsFixer\DocBlock\Annotation by @kubawerlos in #8892
  • chore: Command name/descriptions - use attribute and static properties by @gharlan in #8862
  • chore: Commands - unify way to define help content by @keradus in #8881
  • chore: ConfigurationResolver - add few missing v4 TODOs by @keradus in #8882
  • chore: fix booleanNot.exprNotBoolean errors by @gharlan in #8869
  • chore: fix/optimize some phpdocs by @gharlan in #8889
  • chore: more unification of PHP CS Fixer naming by @keradus in #8854
  • chore: phpstan baseline - use shipmonk/phpstan-baseline-per-identifier by @gharlan in #8844
  • chore: remove dead code by @kubawerlos in #8896
  • chore: remove unused constants by @kubawerlos in #8864
  • chore: remove useless @var annotations by @gharlan in #8867
  • chore: simplify ClassDefinitionFixer by @gharlan in #8868
  • chore: unify usage of image versions to not mention minor by @keradus in #8860
  • chore: update PHPStan by @kubawerlos in #8898
  • chore: update PHPStan extension for Preg::match by @gharlan in #8872
  • chore: wrong return values in ErrorsManager by @gharlan in #8863
  • deps: bump phpstan/phpstan from 2.1.17 to 2.1.18 in /dev-tools in the phpstan group by @dependabot[bot] in #8859
  • deps: bump the phpstan group in /dev-tools with 4 updates by @dependabot[bot] in #8890
  • docs: cleanup docs for PHP < 7.4 by @keradus in #8855
  • docs: cleanup docs for PHP 7 by @keradus in #8873
  • docs: DescribeCommand - indicate that set is deprecated, whenever mentioning one by @keradus in #8878
  • docs: ListSetsCommand,FixCommand - document possible formats in Command's definitions by @keradus in #8880
  • DX: Explicitly prevent touching non-monolithic files by @keradus in #6517

Full Changelog: v3.84.0...v3.85.0

v3.84.0 Alexander

15 Jul 18:22
v3.84.0
38dad07
Compare
Choose a tag to compare

What's Changed

  • feat: VisibilityRequiredFixer - support final promoted properties by @gharlan in #8835
  • chore: simplify isGivenKind/equals/equalsAll calls by @gharlan in #8843
  • fix: PhpdocToParamTypeFixer - do not convert types from phpstan-type, phpstan-import-type, psalm-type and psalm-import-type by @kubawerlos in #8842
  • chore: introduce FCT for few missing tokens by @keradus in #8845
  • docs: Support for new PHP version by @keradus in #8780
  • feat: Introduce NoUselessPrintfFixer by @paulbalandan in #8820
  • feat: NewExpressionParenthesesFixer - add to PHP84MigrationSet by @gharlan in #8788
  • chore: remove useless static variables for const content by @gharlan in #8836
  • fix: PhpdocToReturnTypeFixer - do not convert types from phpstan-type, phpstan-import-type, psalm-type and psalm-import-type by @kubawerlos in #8846
  • fix: PhpdocToPropertyTypeFixer - do not convert types from phpstan-type, phpstan-import-type, psalm-type and psalm-import-type by @kubawerlos in #8847
  • feat: CastSpacesFixer - support (void) cast by @kubawerlos in #8851

Full Changelog: v3.83.0...v3.84.0

v3.83.0 Alexander

14 Jul 15:41
v3.83.0
b83916e
Compare
Choose a tag to compare

What's Changed

  • feat: Suppress enable parallel runner message when only 1 core is available by @mvorisek in #8833
  • fix: NoUnreachableDefaultArgumentValueFixer - do not crash on property hook by @gharlan in #8838
  • fix: BracesPositionFixer - fix performance issue for massive files with CT::T_CURLY_CLOSE by @keradus in #8830
  • CI: mark jobs allow-to-fail declarative, instead of imperative check by @keradus in #8829
  • chore: FullyQualifiedStrictTypesFixer - reduce function calls by @gharlan in #8834
  • chore: apply native_constant_invocation for build-in consts by @keradus in #8837
  • chore: configure native_constant_invocation by @keradus in #8840
  • chore: early compat check with Symfony 8 by @keradus in #8827

Full Changelog: v3.82.2...v3.83.0

v3.82.2 Alexander

08 Jul 21:13
v3.82.2
684ed3a
Compare
Choose a tag to compare

What's Changed

  • fix: ClassAttributesSeparationFixer - handle method get aliased in trait import by @kubawerlos in #8822
  • fix: VisibilityRequiredFixer - handle promoted property with visibility and reference, but without type by @kubawerlos in #8823
  • fix: LowercaseStaticReferenceFixer - do not touch enum's cases by @kubawerlos in #8824
  • fix: StatementIndentationFixer - multi constant statement containing array by @gharlan in #8825

Full Changelog: v3.82.1...v3.82.2

v3.82.1 Alexander

08 Jul 10:19
v3.82.1
240f67b
Compare
Choose a tag to compare

What's Changed

  • fix: SingleClassElementPerStatementFixer - fix for property hooks by @kubawerlos in #8816
  • fix: OrderedClassElementsFixer - handle property hooks by @kubawerlos in #8817

Full Changelog: v3.82.0...v3.82.1

v3.82.0 Alexander

07 Jul 22:38
v3.82.0
db2a44d
Compare
Choose a tag to compare

What's Changed

  • feat: MagicConstantCasingFixer - support __PROPERTY__ by @kubawerlos in #8809
  • feat: PhpUnitDataProviderNameFixer - support data providers defined by both annotation and attribute for the same test by @kubawerlos in #8811
  • fix: PhpdocToParamTypeFixer - always handle reference in PHPDoc by @kubawerlos in #8813
  • deps: update box by @keradus in #8795
  • chore: cleanup FCTTest by @kubawerlos in #8808
  • chore: PhpdocOrderFixer.php - CPU optimization by @keradus in #8812
  • docs: fix whitespace around code examples and reference sections in rules' docs by @paulbalandan in #8810

Full Changelog: v3.81.0...v3.82.0

v3.81.0 Alexander

07 Jul 15:28
v3.81.0
e00a39c
Compare
Choose a tag to compare

What's Changed

  • feat: VisibilityRequiredFixer - handle more than only the first promoted property by @kubawerlos in #8801
  • fix: VisibilityRequiredFixer - handle promoted parameter passed by reference by @kubawerlos in #8799
  • fix: BracesPositionFixer - do not throw error when variable is terminated by PHP close tag by @paulbalandan in #8804
  • fix: PhpUnitInternalClassFixer - skip adding @internal on instantiation of anonymous classes by @paulbalandan in #8807
  • fix: PhpUnitDataProviderMethodOrderFixer - handle data provider defined by both annotation and attribute by @kubawerlos in #8805
  • chore: add automatically to milestone "PHP 8.5 initial compatibility" if label is "topic/PHP8.5" by @kubawerlos in #8806
  • chore: fail "Deployment checks" if any job from tests failed by @kubawerlos in #8792
  • docs: update docs about --allow-unsupported-php-version by @keradus in #8796

Full Changelog: v3.80.0...v3.81.0

v3.80.0 Alexander

06 Jul 21:01
v3.80.0
e49ed46
Compare
Choose a tag to compare

Long-awaiting official support for PHP 8.4 in PHP-CS-Fixer is finally here 🥳! We know, it's long overdue, but for a reason... Let us explain a bit, for transparency and clean atmosphere around the project.

First of all, we are fully aware that tool like Fixer should support new PHP releases from day 0, but in reality it's not that simple. The project has 3 (let's emphasise this: three) active maintainers, whose activity depends on many factors. Even though we take this responsibility very seriously, at the same time we need to prioritise our time and efforts. Sometimes it's just not meant to have focus on OSS, and there's nothing wrong about it. People often take OSS maintenance for granted, expecting that we (Fixer team) will provide solutions for their problems and needs, but we believe that the true nature of OSS is overlooked by many of them. It's not about you, it's not about maintainers - it's about the good of the project and its users. And most importantly: it's open for everyone to contribute. You want Fixer to support PHP 8.4? Great, then help with verifying if it works correctly on a 8.4-based sources, provide tests, fix bugs if any were found... That's how it should work in a healthy community. Fixer has many great contributors, but somehow support for new PHP releases is not the topic that engage them 😅. Yes, you could say "but if I work on Fixer in my free time, and I provide PR(s) related to new PHP version support, it still needs to be reviewed and merged, but since maintainers' activity is not reliable, it may end up forgotten and my time would have got wasted", and we really understand that concern. We can't guarantee either implementing stuff on our own, and reviewing contributed code, because we simply have our lifes, families, jobs, hobbies, and Fixer is "just" a side project that we like. We don't get paid for this, we do it because we want to bring value to the PHP community. But this can't be done at the expense of our private matters.

We will do our best to bring PHP 8.5 support faster, maybe even on day 0. But it also may be done half a year after its release. It depends - on us, on all of you. We encourage you to contribute to the project, let's grow Fixer together!

We thank all the people who participated in PHP 8.4 milestone no matter how - finding and reporting bugs, implementing features and fixes, providing feedback in the PRs or discussions. We all did it in the end, time to celebrate 🥳!

What's Changed

Full Changelog: v3.79.0...v3.80.0

v3.79.0 Kids Playground

06 Jul 20:21
v3.79.0
366cf05
Compare
Choose a tag to compare

What's Changed

  • feat: BracesPositionFixer - do not touch one-line properties with hooks by @kubawerlos in #8785
  • chore: VisibilityRequiredFixerTest - run tests in correct PHP version by @kubawerlos in #8790
  • feat: PhpUnitDataProvider(.+)Fixer - support attributes by @kubawerlos in #8197

Full Changelog: v3.78.1...v3.79.0