Releases: PHP-CS-Fixer/PHP-CS-Fixer
v3.85.1 Alexander
v3.85.0 Alexander
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
- handleinstanceof 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
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 fromphpstan-type
,phpstan-import-type
,psalm-type
andpsalm-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 toPHP84MigrationSet
by @gharlan in #8788 - chore: remove useless static variables for const content by @gharlan in #8836
- fix:
PhpdocToReturnTypeFixer
- do not convert types fromphpstan-type
,phpstan-import-type
,psalm-type
andpsalm-import-type
by @kubawerlos in #8846 - fix:
PhpdocToPropertyTypeFixer
- do not convert types fromphpstan-type
,phpstan-import-type
,psalm-type
andpsalm-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
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
What's Changed
- fix:
ClassAttributesSeparationFixer
- handle methodget
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
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
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
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
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
- feat: PHP 8.4 compatibility support by @Wirone, @kubawerlos, @keradus and others in #8300
Full Changelog: v3.79.0...v3.80.0
v3.79.0 Kids Playground
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