renovate[bot]
eb9b8bdf81
chore(deps): update dependency friendsofphp/php-cs-fixer to <3.85.2 ( #3188 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
|
[friendsofphp/php-cs-fixer](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer )
| `<3.64.1` -> `<3.85.2` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer)</summary>
###
[`v3.85.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3851 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.85.0...v3.85.1 )
- chore: update legacy deps
([#​8902](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8902 ))
###
[`v3.85.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3850 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.84.0...v3.85.0 )
- feat: `ArrayIndentationFixer` - handle closures inside attributes
([#​8888](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8888 ))
- feat: `NullableTypeDeclarationFixer` - support final promoted
properties
([#​8885](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8885 ))
- feat: `OperatorLinebreakFixer` - support pipe operator
([#​8891](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8891 ))
- feat: `PhpdocTypesFixer` - support multiline array shapes
([#​8893](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8893 ))
- fix: always reach 100% of checked files
([#​8861](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8861 ))
- fix: `BracesPositionFixer` - handle property hooks correctly
([#​8886](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8886 ))
- fix: `NullableTypeDeclarationFixer` - handle abstract and final
properties
([#​8876](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8876 ))
- fix: `PhpdocLineSpanFixer` - handle promoted properties
([#​8897](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8897 ))
- fix: `PhpUnitDataProviderNameFixer` - fix for multiple providers
defined by attributes for one test method
([#​8849](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8849 ))
- fix: `TernaryOperatorSpacesFixer` - handle `instanceof static`
([#​8879](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8879 ))
- fix: `TypeDeclarationSpacesFixer` - handle asymmetric visibility and
final properties
([#​8900](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8900 ))
- chore: add initial PHP 8.5 integration test
([#​8871](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8871 ))
- chore: add tests for public API methods
([#​8895](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8895 ))
- chore: apply changes from `PhpdocTypesFixer` for multiline array
shapes
([#​8894](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8894 ))
- chore: baseline files without error count
([#​8870](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8870 ))
- chore: cleanup `PhpCsFixer\DocBlock\Annotation`
([#​8892](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8892 ))
- chore: Command name/descriptions - use attribute and static properties
([#​8862](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8862 ))
- chore: Commands - unify way to define help content
([#​8881](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8881 ))
- chore: ConfigurationResolver - add few missing v4 TODOs
([#​8882](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8882 ))
- chore: fix `booleanNot.exprNotBoolean` errors
([#​8869](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8869 ))
- chore: fix/optimize some phpdocs
([#​8889](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8889 ))
- chore: more unification of PHP CS Fixer naming
([#​8854](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8854 ))
- chore: PHPStan baseline - use
`shipmonk/phpstan-baseline-per-identifier`
([#​8844](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8844 ))
- chore: remove dead code
([#​8896](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8896 ))
- chore: remove unused constants
([#​8864](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8864 ))
- chore: remove useless `@var` annotations
([#​8867](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8867 ))
- chore: simplify `ClassDefinitionFixer`
([#​8868](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8868 ))
- chore: unify usage of image versions to not mention minor
([#​8860](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8860 ))
- chore: update PHPStan
([#​8898](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8898 ))
- chore: update PHPStan extension for `Preg::match`
([#​8872](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8872 ))
- chore: wrong return values in `ErrorsManager`
([#​8863](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8863 ))
- chore: `OrderedInterfacesFixer` - make code more PHPStan friendly
([#​8866](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8866 ))
- chore: `Token` - add `@phpstan-assert-if-true`
([#​8865](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8865 ))
- deps: bump phpstan/phpstan from 2.1.17 to 2.1.18 in /dev-tools in the
phpstan group
([#​8859](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8859 ))
- deps: bump the phpstan group in /dev-tools with 4 updates
([#​8890](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8890 ))
- docs: better document reprecated rule sets
([#​8878](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8878 ))
- docs: cleanup docs for PHP 7
([#​8873](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8873 ))
- docs: cleanup docs for PHP < 7.4
([#​8855](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8855 ))
- docs: ListSetsCommand,FixCommand - document possible formats in
Command's definitions
([#​8880](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8880 ))
- DX: Explicitly prevent touching non-monolithic files
([#​6517](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6517 ))
###
[`v3.84.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3840 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.83.0...v3.84.0 )
- feat: Introduce `NoUselessPrintfFixer`
([#​8820](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8820 ))
- feat: `CastSpacesFixer` - support `(void)` cast
([#​8851](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8851 ))
- feat: `NewExpressionParenthesesFixer` - add to `PHP84MigrationSet`
([#​8788](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8788 ))
- feat: `VisibilityRequiredFixer` - support final promoted properties
([#​8835](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8835 ))
- fix: `PhpdocToParamTypeFixer` - do not convert types from
`phpstan-type`, `phpstan-import-type`, `psalm-type` and
`psalm-import-type`
([#​8842](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8842 ))
- fix: `PhpdocToPropertyTypeFixer` - do not convert types from
`phpstan-type`, `phpstan-import-type`, `psalm-type` and
`psalm-import-type`
([#​8847](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8847 ))
- fix: `PhpdocToReturnTypeFixer` - do not convert types from
`phpstan-type`, `phpstan-import-type`, `psalm-type` and
`psalm-import-type`
([#​8846](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8846 ))
- chore: introduce FCT for few missing tokens
([#​8845](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8845 ))
- chore: remove useless static variables for const content
([#​8836](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8836 ))
- chore: simplify `isGivenKind`/`equals`/`equalsAll` calls
([#​8843](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8843 ))
- docs: Support for new PHP version
([#​8780](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8780 ))
###
[`v3.83.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3830 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.2...v3.83.0 )
- feat: Suppress enable parallel runner message when only 1 core is
available
([#​8833](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8833 ))
- fix: BracesPositionFixer - fix performance issue for massive files
with CT::T\_CURLY\_CLOSE
([#​8830](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8830 ))
- fix: `NoUnreachableDefaultArgumentValueFixer` - do not crash on
property hook
([#​8838](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8838 ))
- chore: Add CS commit to .git-blame-ignore-revs
- chore: apply native\_constant\_invocation for build-in consts
([#​8837](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8837 ))
- chore: configure native\_constant\_invocation
([#​8840](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8840 ))
- chore: early compat check with Symfony 8
([#​8827](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8827 ))
- chore: `FullyQualifiedStrictTypesFixer` - reduce function calls
([#​8834](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8834 ))
- CI: mark jobs allow-to-fail declarative, instead of imperative check
([#​8829](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8829 ))
###
[`v3.82.2`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3822 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.1...v3.82.2 )
- fix: `ClassAttributesSeparationFixer` - handle method `get` aliased in
trait import
([#​8822](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8822 ))
- fix: `LowercaseStaticReferenceFixer` - do not touch enum's cases
([#​8824](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8824 ))
- fix: `StatementIndentationFixer` - multi constant statement containing
array
([#​8825](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8825 ))
- fix: `VisibilityRequiredFixer` - handle promoted property with
visibility and reference, but without type
([#​8823](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8823 ))
###
[`v3.82.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3821 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.0...v3.82.1 )
- fix: `OrderedClassElementsFixer` - handle property hooks
([#​8817](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8817 ))
- fix: `SingleClassElementPerStatementFixer` - fix for property hooks
([#​8816](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8816 ))
###
[`v3.82.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3820 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.81.0...v3.82.0 )
- chore: cleanup `FCTTest`
([#​8808](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8808 ))
- chore: PhpdocOrderFixer.php - CPU optimization
([#​8812](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8812 ))
- deps: update box
([#​8795](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8795 ))
- docs: fix whitespace around code examples and reference sections in
rules' docs
([#​8810](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8810 ))
- feat: `MagicConstantCasingFixer` - support `__PROPERTY__`
([#​8809](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8809 ))
- feat: `PhpUnitDataProviderNameFixer` - support data providers defined
by both annotation and attribute for the same test
([#​8811](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8811 ))
- fix: `PhpdocToParamTypeFixer` - always handle reference in PHPDoc
([#​8813](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8813 ))
###
[`v3.81.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3810 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.80.0...v3.81.0 )
- feat: `VisibilityRequiredFixer` - handle more than only the first
promoted property
([#​8801](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8801 ))
- fix: `BracesPositionFixer` - do not crash when variable is terminated
by PHP close tag
([#​8804](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8804 ))
- fix: `PhpUnitDataProviderMethodOrderFixer` - handle data provider
defined by both annotation and attribute
([#​8805](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8805 ))
- fix: `PhpUnitInternalClassFixer` - skip adding `@internal` on
instantiation of anonymous classes
([#​8807](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8807 ))
- fix: `VisibilityRequiredFixer` - handle promoted parameter passed by
reference
([#​8799](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8799 ))
- chore: add automatically to milestone "PHP 8.5 initial compatibility"
if label is "topic/PHP8.5"
([#​8806](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8806 ))
- chore: fail "Deployment checks" if any job from `tests` failed
([#​8792](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8792 ))
- docs: update docs about --allow-unsupported-php-version
([#​8796](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8796 ))
###
[`v3.80.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3800 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.79.0...v3.80.0 )
- feat: PHP 8.4 compatibility support
([#​8300](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8300 ))
###
[`v3.79.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3790 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.78.1...v3.79.0 )
- chore: `VisibilityRequiredFixerTest` - run tests in correct PHP
version
([#​8790](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8790 ))
- feat: `BracesPositionFixer` - do not touch one-line properties with
hooks
([#​8785](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8785 ))
- feat: `PhpUnitDataProvider(.+)Fixer` - support attributes
([#​8197](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8197 ))
###
[`v3.78.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3781 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.78.0...v3.78.1 )
- fix: `VisibilityRequiredFixer` - do not add `public` incorrectly
([#​8787](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8787 ))
###
[`v3.78.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3780 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.77.0...v3.78.0 )
- chore: `VisibilityRequiredFixer` - document behaviour for asymmetric
visibility with only set-visibility
([#​8783](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8783 ))
- feat: `BracesPositionFixer` - support property hooks
([#​8782](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8782 ))
- feat: `VisibilityRequiredFixer` - support promoted property without
visibility
([#​8773](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8773 ))
- fix: `NativeFunctionInvocationFixer` - fix global function `set`
called in array key
([#​8568](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8568 ))
- fix: `NoBreakCommentFixer` - handle function having return type
([#​8767](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8767 ))
- fix: `StatementIndentationFixer` - handle functions `set` and `get`
(like property hooks, but not)
([#​8576](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8576 ))
- fix: `StaticPrivateMethodFixer` - handle nested calls
([#​8768](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8768 ))
###
[`v3.77.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3770 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.76.0...v3.77.0 )
- chore: add automatically to milestone "PHP 8.4 initial compatibility"
if label is "topic/PHP8.4"
([#​8770](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8770 ))
- chore: Add CS commit to .git-blame-ignore-revs
- chore: fix adding automatically to milestone "PHP 8.4 initial
compatibility" if label is "topic/PHP8.4"
([#​8775](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8775 ))
- chore: fix adding automatically to milestone "PHP 8.4 initial
compatibility" if label is "topic/PHP8.4"
([#​8776](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8776 ))
- chore: move all indicators to analyzers
([#​8772](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8772 ))
- chore: move PHP-compat integration tests
([#​8781](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8781 ))
- chore: partially apply NoExtraBlankLinesFixer:tokens.comma
([#​8762](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8762 ))
- chore: reconfigure phpdoc\_order in local config
([#​8220](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8220 ))
- feat: PhpdocOrderFixer - extend support for phpstan and psalm
annotations
([#​8777](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8777 ))
- feat: support anonymous classes extending `TestCase` in PHPUnit fixers
([#​8707](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8707 ))
- feat: `CommentToPhpdocFixer` and `PhpdocToCommentFixer` - support
asymmetric visibility
([#​8774](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8774 ))
- feat: `NoEmptyStatementFixer` - support abstract property hooks
([#​8766](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8766 ))
- feat: `NullableTypeDeclarationForDefaultNullValueFixer` - support
asymmetric visibility in the constructor
([#​8604](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8604 ))
- feat: `ProtectedToPrivateFixer` - add support for promoted properties
([#​8608](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8608 ))
- fix: `PhpUnitAttributesFixer` - correctly remove annotations when
configured `['keep_annotations' => false]`
([#​8577](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8577 ))
- fix: `ProtectedToPrivateFixer` - fix asymmetric visibility with only
set visibility
([#​8763](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8763 ))
###
[`v3.76.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3760 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.75.0...v3.76.0 )
- chore(release): bump php ci alpine version
([#​8581](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8581 ))
- chore: add missing priority test for `BracesPositionFixer` and
`MultilinePromotedPropertiesFixer`
([#​8596](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8596 ))
- chore: add more assertions in tests
([#​8740](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8740 ))
- chore: bump dependencies version to maximum for non-newest MAJOR
version
([#​8753](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8753 ))
- chore: cast types in tests
([#​8742](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8742 ))
- chore: cleanup booleans use in tests
([#​8738](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8738 ))
- chore: cleanup code in tests
([#​8745](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8745 ))
- chore: cleanup PsrAutoloadingFixerTest.php keywords handling, as
always defined currently
([#​8730](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8730 ))
- chore: cleanup `AlignMultilineCommentFixerTest`
([#​8688](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8688 ))
- chore: cleanup `BinaryOperatorSpacesFixerTest`
([#​8687](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8687 ))
- chore: cleanup `BlankLineBeforeStatementFixerTest`
([#​8685](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8685 ))
- chore: cleanup `ClassDefinitionFixerTest`
([#​8684](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8684 ))
- chore: cleanup `ClassDefinitionFixer`
([#​8580](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8580 ))
- chore: cleanup `ConcatSpaceFixerTest`
([#​8683](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8683 ))
- chore: cleanup `DoctrineAnnotationArrayAssignmentFixerTest`
([#​8621](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8621 ))
- chore: cleanup `DoctrineAnnotationBracesFixerTest`
([#​8623](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8623 ))
- chore: cleanup `DoctrineAnnotationIndentationFixerTest`
([#​8620](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8620 ))
- chore: cleanup `DoctrineAnnotationSpacesFixerTest`
([#​8624](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8624 ))
- chore: cleanup `EchoTagSyntaxFixerTest`
([#​8681](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8681 ))
- chore: cleanup `file_get_contents` return types
([#​8735](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8735 ))
- chore: cleanup `FunctionDeclarationFixerTest`
([#​8680](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8680 ))
- chore: cleanup `FunctionToConstantFixerTest`
([#​8618](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8618 ))
- chore: cleanup `GeneralPhpdocTagRenameFixerTest`
([#​8627](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8627 ))
- chore: cleanup `GlobalNamespaceImportFixerTest`
([#​8679](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8679 ))
- chore: cleanup `HeaderCommentFixerTest`
([#​8677](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8677 ))
- chore: cleanup `HeaderCommentFixerTest` (restore `@requires` for PHP
8.1)
([#​8678](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8678 ))
- chore: cleanup `IncrementStyleFixerTest`
([#​8676](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8676 ))
- chore: cleanup `IndentationTypeFixerTest`
([#​8675](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8675 ))
- chore: cleanup `ListSyntaxFixerTest`
([#​8674](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8674 ))
- chore: cleanup `MethodArgumentSpaceFixerTest`
([#​8673](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8673 ))
- chore: cleanup `MultilineWhitespaceBeforeSemicolonsFixerTest`
([#​8614](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8614 ))
- chore: cleanup `NativeConstantInvocationFixerTest`
([#​8672](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8672 ))
- chore: cleanup `NewWithParenthesesFixerTest`
([#​8592](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8592 ))
- chore: cleanup `NoBlankLinesAfterPhpdocFixerTest`
([#​8671](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8671 ))
- chore: cleanup `NoBreakCommentFixerTest`
([#​8670](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8670 ))
- chore: cleanup `NoClosingTagFixerTest`
([#​8669](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8669 ))
- chore: cleanup `NoEmptyStatementFixerTest`
([#​8667](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8667 ))
- chore: cleanup `NoSpacesAroundOffsetFixerTest`
([#​8666](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8666 ))
- chore: cleanup `NoUnneededControlParenthesesFixerTest`
([#​8665](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8665 ))
- chore: cleanup `NoUselessElseFixerTest`
([#​8664](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8664 ))
- chore: cleanup `PhpdocAddMissingParamAnnotationFixerTest`
([#​8663](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8663 ))
- chore: cleanup `PhpdocNoEmptyReturnFixerTest`
([#​8662](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8662 ))
- chore: cleanup `PhpdocNoPackageFixerTest`
([#​8626](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8626 ))
- chore: cleanup `PhpdocOrderByValueFixerTest`
([#​8661](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8661 ))
- chore: cleanup `PhpdocOrderFixerTest`
([#​8660](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8660 ))
- chore: cleanup `PhpdocParamOrderFixerTest`
([#​8659](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8659 ))
- chore: cleanup `PhpdocReturnSelfReferenceFixerTest`
([#​8658](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8658 ))
- chore: cleanup `PhpdocSeparationFixerTest`
([#​8657](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8657 ))
- chore: cleanup `PhpdocSummaryFixerTest`
([#​8654](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8654 ))
- chore: cleanup `PhpdocTrimFixerTest`
([#​8653](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8653 ))
- chore: cleanup `PhpdocTypesOrderFixerTest`
([#​8652](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8652 ))
- chore: cleanup `PhpdocVarWithoutNameFixerTest`
([#​8617](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8617 ))
- chore: cleanup `PhpUnitConstructFixerTest`
([#​8651](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8651 ))
- chore: cleanup `PhpUnitDedicateAssertFixerTest`
([#​8650](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8650 ))
- chore: cleanup `PhpUnitTestCaseStaticMethodCallsFixerTest`
([#​8649](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8649 ))
- chore: cleanup `Preg` issues
([#​8720](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8720 ))
- chore: cleanup `ReturnAssignmentFixerTest`
([#​8648](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8648 ))
- chore: cleanup `ReturnTypeDeclarationFixerTest`
([#​8647](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8647 ))
- chore: cleanup `SingleImportPerStatementFixerTest`
([#​8645](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8645 ))
- chore: cleanup `SingleLineCommentStyleFixerTest`
([#​8644](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8644 ))
- chore: cleanup `SingleSpaceAroundConstructFixerTest`
([#​8642](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8642 ))
- chore: cleanup `SpaceAfterSemicolonFixerTest`
([#​8625](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8625 ))
- chore: cleanup `SpacesInsideParenthesesFixerTest`
([#​8641](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8641 ))
- chore: cleanup `StatementIndentationFixerTest`
([#​8640](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8640 ))
- chore: cleanup `YodaStyleFixerTest`
([#​8638](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8638 ))
- chore: do not check if `JSON_INVALID_UTF8_IGNORE` is defined because
it always is (since PHP 7.2)
([#​8709](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8709 ))
- chore: handle saveXML failures explicitly
([#​8755](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8755 ))
- chore: ignore remaining PHPStan (false positive) issues
([#​8746](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8746 ))
- chore: improve PHPDoc's types in
([#​8741](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8741 ))
- chore: improve PHPDocs in tests
([#​8736](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8736 ))
- chore: improve PHPDocs in tests
([#​8744](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8744 ))
- chore: improve type of `Token::equalsAny`
([#​8743](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8743 ))
- chore: lint yaml files
([#​8622](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8622 ))
- chore: MultilinePromotedPropertiesFixer - mark new fixer introduced in
[#​8595](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8595 )
as experimental
([#​8758](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8758 ))
- chore: PHPMD - cleanup `UnusedLocalVariable` for `foreach`
([#​8637](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8637 ))
- chore: refactor FCT
([#​8714](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8714 ))
- chore: remove unused local variables in src
([#​8600](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8600 ))
- chore: remove unused local variables in tests
([#​8599](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8599 ))
- chore: remove useless test from `AliasedFixerOptionTest`
([#​8739](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8739 ))
- chore: remove `defined` calls from tests
([#​8708](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8708 ))
- chore: restore original type of Token::equalsAny, partially reverts
[#​8743](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8743 )
([#​8759](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8759 ))
- chore: run mutation tests on PHP 8.4
([#​8594](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8594 ))
- chore: solve one of phpstan warnings
([#​8754](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8754 ))
- chore: update dev tools
([#​8737](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8737 ))
- chore: update PHPUnit config
([#​8721](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8721 ))
- chore: update `checkbashisms` to 2.25.12
([#​8694](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8694 ))
- chore: update `checkbashisms` to 2.25.14
([#​8731](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8731 ))
- chore: use PHPStan type in data providers
([#​8605](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8605 ))
- chore: use `foreach` values
([#​8636](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8636 ))
- chore: use `Preg` class everywhere
([#​8689](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8689 ))
- CI: add self-approved label
([#​8757](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8757 ))
- CI: run on PHP 8.5
([#​8713](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8713 ))
- deps: bump alpine from 3.21.3 to 3.22.0
([#​8724](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8724 ))
- deps: bump alpine from 3.21.3 to 3.22.0
([#​8726](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8726 ))
- deps: bump ergebnis/composer-normalize from 2.45.0 to 2.46.0 in
/dev-tools
([#​8578](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8578 ))
- deps: bump ergebnis/composer-normalize from 2.46.0 to 2.47.0 in
/dev-tools
([#​8584](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8584 ))
- deps: bump phpstan/phpstan from 2.1.11 to 2.1.12 in /dev-tools in the
phpstan group
([#​8583](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8583 ))
- deps: bump phpstan/phpstan-symfony from 2.0.3 to 2.0.4 in /dev-tools
in the phpstan group
([#​8557](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8557 ))
- deps: bump the phpstan group across 1 directory with 2 updates
([#​8682](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8682 ))
- deps: upgrade docker deps
([#​8566](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8566 ))
- docs: extend and fix links to code
([#​8639](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8639 ))
- docs: Update SECURITY.md
([#​8716](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8716 ))
- docs: VisibilityRequiredFixer - extend docs
([#​8561](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8561 ))
- docs: `VisibilityRequiredFixer` - update docs
([#​8563](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8563 ))
- DX: add `symfony/polyfill-php84`
([#​8555](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8555 ))
- DX: always use the latest stable `checkbashisms` package
([#​8732](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8732 ))
- DX: check for `preg_` functions in tests
([#​8571](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8571 ))
- DX: cleanup `BlankLinesBeforeNamespaceFixerTest`
([#​8573](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8573 ))
- DX: cleanup `NativeFunctionInvocationFixerTest`
([#​8567](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8567 ))
- DX: cleanup `NoUselessConcatOperatorFixerTest`
([#​8572](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8572 ))
- DX: cleanup `SemicolonAfterInstructionFixerTest`
([#​8570](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8570 ))
- DX: fix data providers
([#​8693](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8693 ))
- DX: introduce `FCT` class for tokens not present in the lowest
supported PHP version
([#​8706](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8706 ))
- DX: move `symfony/polyfill-php84` to dev deps
([#​8559](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8559 ))
- DX: support PHP 8.4 in local Docker development environment
([#​8564](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8564 ))
- DX: trim array/yield keys
([#​8460](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8460 ))
- DX: use `WhitespacesAwareFixerInterface` only when needed
([#​8541](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8541 ))
- feat: add `NewExpressionParenthesesFixer`
([#​8246](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8246 ))
- feat: allowUnsupportedPhpVersion
([#​8733](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8733 ))
- feat: introduce `MultilinePromotedPropertiesFixer`
([#​8595](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8595 ))
- feat: Introduce `StaticPrivateMethodFixer`
([#​4557](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/4557 ))
- feat: `BracesPositionFixer` - support property hooks in promoted
properties
([#​8613](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8613 ))
- feat: `ClassAttributesSeparationFixer` - add support for property
hooks
([#​8610](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8610 ))
- feat: `GlobalNamespaceImportFixer` - analyze and fix more annotations
with types
([#​8593](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8593 ))
- feat: `LowercaseKeywordsFixer` - support asymmetric visibility
([#​8607](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8607 ))
- feat: `NoExtraBlankLinesFixer` - add comma to supported tokens
([#​8655](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8655 ))
- feat: `NoSuperfluousPhpdocTagsFixer` - support asymmetric visibility
([#​8700](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8700 ))
- feat: `NullableTypeDeclarationFixer` - support asymmetric visibility
([#​8697](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8697 ))
- feat: `OrderedClassElementsFixer` - add support for property hooks for
abstract properties
([#​8574](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8574 ))
- feat: `OrderedTypesFixer` - add support for asymmetric visibility
([#​8552](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8552 ))
- feat: `OrderedTypesFixer` - support asymmetric visibility in promoted
property
([#​8602](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8602 ))
- feat: `PhpdocAddMissingParamAnnotationFixer` - support asymmetric
visibility
([#​8701](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8701 ))
- feat: `PhpdocLineSpanFixer` - support asymmetric visibility
([#​8702](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8702 ))
- feat: `PhpdocVarWithoutNameFixer` - support asymmetric visibility
([#​8704](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8704 ))
- feat: `ProtectedToPrivateFixer` - add support for asymmetric
visibility
([#​8569](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8569 ))
- feat: `SingleClassElementPerStatementFixer` - support asymmetric
visibility
([#​8696](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8696 ))
- feat: `SingleSpaceAroundConstructFixer` - add support for asymmetric
visibility
([#​8699](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8699 ))
- feat: `StaticLambdaFixer` - support functions having classy elements
with `$this`
([#​8728](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8728 ))
- feat: `VisibilityRequiredFixer` - support ordering set-visibility
modifier
([#​8606](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8606 ))
- fix(dependabot): convert time values to string types
([#​8634](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8634 ))
- fix: "array" type must have no prefix to be fixable to "list"
([#​8692](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8692 ))
- fix: "min"/"max" in int generics must never be prefixed by backslash
([#​8691](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8691 ))
- fix: Allow non-doc comment on opening inline brace line
([#​8690](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8690 ))
- fix: `ConstantCaseFixer` - do not touch namespaces starting with
`Null\`
([#​8752](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8752 ))
- fix: `LowercaseStaticReferenceFixer` - do not change global constants
([#​8727](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8727 ))
- fix: `MultilineWhitespaceBeforeSemicolonsFixer` - do not touch
multiline constants definitions
([#​8615](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8615 ))
- fix: `NewWithParenthesesFixer` - fix `new` without parentheses on PHP
8.4 syntax
([#​8588](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8588 ))
- fix: `NoMultipleStatementsPerLineFixer` - handle `set` and `get` in
different casing in property hooks
([#​8558](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8558 ))
- fix: `NoUnusedImportsFixer` - handle imported class name with
underscore before or after it in PHPDoc
([#​8598](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8598 ))
- fix: `PhpUnitDedicateAssertFixer` - fix for `assertFalse` with
`instanceof`
([#​8597](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8597 ))
- fix: `PhpUnitNamespacedFixer` must rune before
`NoUnneededImportAliasFixer`
([#​8579](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8579 ))
- fix: `PhpUnitTestClassRequiresCoversFixer` - do not add
`@coversNothing` annotation when `CoversTrait` attribute is used
([#​8734](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8734 ))
- fix: `VisibilityRequiredFixer` - add support for asymmetric visibility
([#​8586](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8586 ))
- refactor: avoid unused local variables in tests
([#​8609](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8609 ))
- test: add more cases to `PhpUnitMethodCasingFixerTest`
([#​8551](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8551 ))
- test: fix "unused local variables `$token`"
([#​8603](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8603 ))
- test: More verbose error output for integration test
([#​8565](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8565 ))
- Update SECURITY.md
###
[`v3.75.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3750 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.74.0...v3.75.0 )
- feat: `ClassAttributesSeparationFixer` - add support for asymmetric
visibility
([#​8518](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8518 ))
- fix: `NativeFunctionInvocationFixer` - fix for property hooks
([#​8540](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8540 ))
- chore: add return types for data providers for fixers
([#​8542](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8542 ))
- chore: add return types for data providers for non-fixers
([#​8543](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8543 ))
- chore: add return types for remaining data providers
([#​8544](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8544 ))
- chore: make data providers key type `int` if all the keys are strings
([#​8550](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8550 ))
- chore: make data providers key type `string` if all the keys are
strings
([#​8545](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8545 ))
- chore: SwitchContinueToBreakFixerTest - improve test case
descriptions/typehint
([#​8546](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8546 ))
- chore: `FunctionsAnalyzerTest` cleanup
([#​8539](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8539 ))
- deps: bump the phpstan group in /dev-tools with 2 updates
([#​8537](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8537 ))
- test: ProjectCodeTest::testDataProvidersDeclaredReturnType - allow for
int as iterable keys
([#​8548](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8548 ))
###
[`v3.74.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3740 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.73.1...v3.74.0 )
- feat: add `--format=@​auto`
([#​8513](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8513 ))
- fix: `BracesPositionFixer` - do not create two consecutive whitespace
tokens
([#​8496](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8496 ))
- fix: `MbStrFunctionsFixer` - fix imports with leading backslash
([#​8507](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8507 ))
- fix: `NoUnreachableDefaultArgumentValueFixer` - do not crash on
property hook
([#​8512](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8512 ))
- fix: `OrderedImportsFixer` - do not take the braces part in grouped
imports into account
([#​8459](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8459 ))
- fix: `OrderedImportsFixer` - fix syntax error with grouped use
statement and multiple use with comma
([#​8483](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8483 ))
- fix: `PhpUnitAttributesFixer` - handle parentheses after data provider
method name
([#​8510](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8510 ))
- fix: `PhpUnitMethodCasingFixer` - do not touch anonymous class
([#​8463](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8463 ))
- chore: make options that have default and allowed sets the same size
the same array
([#​8529](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8529 ))
- chore: update return type of `FixerOptionInterface::getAllowedValues`
([#​8530](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8530 ))
- chore: `Preg` - improve types
([#​8527](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8527 ))
- CI: fix code coverage job
([#​8520](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8520 ))
- CI: try MacOS job without ParaUnit
([#​8528](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8528 ))
- deps: update PHPStan
([#​8531](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8531 ))
- deps: upgrade `PHPStan/*`
([#​8524](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8524 ))
###
[`v3.73.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3731 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.73.0...v3.73.1 )
- fix: `OrderedClassElementsFixer` - do not crash on property hook
([#​8517](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8517 ))
###
[`v3.73.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3730 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.72.0...v3.73.0 )
- feat: add support for asymmetric visibility to Doctrine's fixers
([#​8415](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8415 ))
- fix: `GeneralPhpdocTagRenameFixer` - do not rename keys in array shape
definition
([#​8477](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8477 ))
- fix: `MethodArgumentSpaceFixer` - handle when nested in HTML
([#​8503](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8503 ))
- chore: update `checkbashisms` to 2.25.5
([#​8519](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8519 ))
- DX: cleanup `NoExtraBlankLinesFixerTest`
([#​8505](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8505 ))
- DX: for duplicated test methods check methods without parameters
([#​8508](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8508 ))
- DX: remove more duplicated test methods
([#​8506](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8506 ))
- refactor: `Tokenizer` hash metode using `xxHash`
([#​8491](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8491 ))
- refactor: `TokensAnalyzerTest` - better test `isArray` and
`isArrayMultiLine`
([#​8504](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8504 ))
- test: run code coverage on PHP 8.4
([#​8448](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8448 ))
###
[`v3.72.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3720 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.71.0...v3.72.0 )
- feat: `StatementIndentationFixer` - handle property hooks
([#​8492](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8492 ))
- fix: `MbStrFunctionsFixer` - fix imports
([#​8474](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8474 ))
- fix: `TrailingCommaInMultilineFixer` - handle empty match body
([#​8480](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8480 ))
- fix: `VisibilityRequiredFixer` - handle property hooks
([#​8495](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8495 ))
- deps: upgrade few dev-deps
([#​8490](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8490 ))
- deps: Upgrade PHPStan to 2.1.8
([#​8489](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8489 ))
- DX: add trailing comma to multiline auto-generated types
([#​8499](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8499 ))
- refactor: generalize CodeHasher into Hasher
([#​8500](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8500 ))
- refactor: Runner - unify paths used when using parallel runner
([#​8488](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8488 ))
- refactor: use Hasher instead of md5 directly
([#​8501](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8501 ))
###
[`v3.71.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3710 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.70.2...v3.71.0 )
- feat: OrderedImportsFixer - deprecate length sorting algorithm
([#​8473](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8473 ))
- fix: `BinaryOperatorSpacesFixer` - do not break alignment of UTF-8
array keys
([#​8484](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8484 ))
- fix: `PhpdocAlignFixer` - align correctly type with UTF8 characters
([#​8486](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8486 ))
- fix: `SingleSpaceAroundConstructFixer` - handle alternative syntax
([#​8317](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8317 ))
- fix: `StatementIndentationFixer` - return in braceless if
([#​8479](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8479 ))
- chore: update type in
`SingleSpaceAroundConstructFixerTest::provideFixWithElseIfCases`
([#​8481](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8481 ))
- chore: update type in
`SingleSpaceAroundConstructFixerTest::provideFixWithIfCases`
([#​8482](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8482 ))
- deps: bump phpstan/phpstan from 2.1.6 to 2.1.7 in /dev-tools in the
phpstan group
([#​8485](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8485 ))
- DX: cleanup `PhpdocNoAliasTagFixerTest`
([#​8476](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8476 ))
- refactor: add `FullyQualifiedNameAnalyzer`
([#​8048](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8048 ))
- refactor: codeHash - update when it's (re-)generated
([#​8470](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8470 ))
- refactor: `SwitchAnalyzer` - improve performance
([#​8407](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8407 ))
- test: NameQualifiedTransformerTest - correct test case
([#​8471](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8471 ))
###
[`v3.70.2`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3702 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.70.1...v3.70.2 )
- deps: upgrade deep dev-tools deps
([#​8472](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8472 ))
- fix: `MbStrFunctionsFixer` must run before
`NativeFunctionInvocationFixer`
([#​8466](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8466 ))
- fix: `MethodArgumentSpaceFixer` - fix nested calls for
`ensure_fully_multiline` option
([#​8469](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8469 ))
###
[`v3.70.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3701 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.70.0...v3.70.1 )
- fix: `PhpUnitSizeClassFixer` must run before `PhpUnitAttributesFixer`
([#​8457](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8457 ))
- DX: cleanup `OrderedImportsFixerTest`
([#​8458](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8458 ))
###
[`v3.70.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3700 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.69.1...v3.70.0 )
- feat: Add `PhpUnitDataProviderMethodOrderFixer` fixer
([#​8225](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8225 ))
- feat: `HeaderCommentFixer` - allow validators
([#​8452](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8452 ))
- feat: `PhpCsFixer` ruleset: use `operator_linebreak` rule for all
operators
([#​8417](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8417 ))
- feat: `PhpUnitMethodCasingFixer` to support PHPUnit's `Test` attribute
([#​8451](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8451 ))
- feat: `TypeDeclarationSpacesFixer` - Fix whitespace between const type
and const name
([#​8442](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8442 ))
- chore: extend bug report template
([#​8447](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8447 ))
- chore: extend bug report template - more installation options
([#​8450](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8450 ))
- CI: phpstan-symfony - add entry point for console
([#​8292](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8292 ))
- deps: bump alpine from 3.21.2 to 3.21.3
([#​8454](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8454 ))
- deps: bump phpstan/phpstan from 2.1.5 to 2.1.6 in /dev-tools in the
phpstan group
([#​8453](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8453 ))
- fix: `CommentsAnalyzer` - allow other forms of assignment as valid
structural elements for PHPDocs
([#​8371](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8371 ))
- fix: `PhpUnitTestClassRequiresCoversFixer` must run before
`PhpUnitAttributesFixer`
([#​8444](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8444 ))
- test: fix `CheckCommandTest::testDryRunModeIsUnavailable` to correctly
check that option `--dry-run` is unavailable
([#​8438](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8438 ))
###
[`v3.69.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3691 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.69.0...v3.69.1 )
- fix: `PhpUnitAttributesFixer` - convert correctly version constraint
([#​8439](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8439 ))
- test: `PhpUnitAttributesFixer` must run before `NoEmptyPhpdocFixer`
([#​8443](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8443 ))
###
[`v3.69.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3690 )
[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.68.5...v3.69.0 )
- feat: Add unsealed array shape phpdoc support
([#​8299](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8299 ))
- fix: `OrderedClassElementsFixer` - sort correctly typed constants
([#​8408](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8408 ))
- chore: do not use test class as test data
([#​8430](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8430 ))
- chore: update `checkbashisms` to 2.25.2
([#​8427](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8427 ))
- chore: use constants instead of literal strings
([#​8422](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8422 ))
- CI: no need to unlock deps on master
([#​8426](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8426 ))
- CI: run tests using PHPUnit 12
([#​8431](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8431 ))
- deps: bump kubawerlos/composer-s
</details>
---
### 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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicGhwIl19-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-08-09 15:57:06 +02:00
dakriy
5d7df2feb7
feat(legacy): now macro should use show start time when available ( #3175 )
...
### Description
Previously the `now` macro used the current time. This is a bit
confusing for autoloading playlists with dynamic smart blocks, as you
have to think about when autoloading happens. This just makes the
autoload datetime be the show start datetime.
**This is a new feature**:
Yes
**I have updated the documentation to reflect these changes**:
Yes
### Testing Notes
**What I did:**
I started up libretime, created an autoloading playlist with a dynamic
block set for one hour ahead. I then created a show with the autoloading
playlist one hour ahead of now and saw that it autoloaded properly and
that the hour matched the show start hour and not the current hour. I
also verified that the now functionality was not changed when not
autoloading by using the preview tracks button on the dynamic smart
block.
**How you can replicate my testing:**
See `What I did` section.
### **Links**
_Issues links or other related resources. Use the line Closes:
#bug_number to
link a bug in the issue tracker._
2025-08-09 15:56:47 +02:00
dakriy
c5548632e4
fix(legacy): now macro should use station timezone ( #3143 )
...
### Description
The `now{}` macro for criteria filtering used UTC rather than station
timezone leading to confusing results.
**This is a new feature**:
No
**I have updated the documentation to reflect these changes**:
Yes
### Testing Notes
**What I did:**
I named a track the current date and hour, and used the date macro to
try to select it. It failed, I then implemented this fix and saw that
the track was selected.
**How you can replicate my testing:**
See what I did.
### **Links**
None
2025-03-18 13:12:01 +00:00
Julien Valentin
3a8dcbce60
feat(legacy): update deprecated PHP code ( #2789 )
...
### Description
update deprecated code. It's mergeable with master without syntax
conflicts across php versions
remove deprecated((https://www.php.net/manual/fr/function.strftime.php ))
and unsafe (https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=strftime )
**strftime** syntax
---------
Co-authored-by: mp3butcher <mp3butcher@gmail.com>
Co-authored-by: jo <ljonas@riseup.net>
Co-authored-by: Kyle Robbertze <kyle@paddatrapper.com>
2025-03-12 23:19:18 +00:00
Thomas Göttgens
0b221f4fff
fix(legacy): support Postgresql 12 syntax ( #3103 )
...
fixes #3102
2024-10-19 23:20:30 +01:00
dakriy
5b5c68c628
feat(legacy): implement subset sum solution to show scheduling ( #3019 )
...
### Description
When running a radio station it is generally a good idea to reduce dead
air time. The current algorithm for adding tracks to a block/show can
leave a lot of dead air time at the end as it doesn't use a very good
algorithm. Adding tracks to a show until it is full while making it as
full as possible is a well known problem in computer science. It is the
[Subset Sum Problem](https://en.wikipedia.org/wiki/Subset_sum_problem ).
This PR implements a Randomized Greedy with Local Improvement (RGLI)
approximation solution for the Subset Sum Problem. The new algorithm is
only used when sort type is random and overflow is not enabled and there
is no limit on the number of tracks that can be used.
**This is a new feature**:
Improvement on an existing feature.
**I have not updated the documentation to reflect these changes**:
I did not update the documentation because the current scheduling
algorithm is not currently documented and its existing features have not
changed.
### Testing Notes
**What I did:**
I first attempted a fully polynomial time approximation scheme solution,
however it is really bad at finding good solutions for high density
values and can kinda slow the more tracks/time you have. So I instead
implemented an RGLI which is O(nlogn) and has been giving much better
results.
I implemented the solution in a separate project and tested it and timed
the values with a normal distribution of 500 songs with a mean of 3
minutes and a standard deviation of 1 minute. With a show size of 1 hour
the algorithm took around 10-15 ms to run. When adjusting the block size
and track size the algorithm still was pretty quick to run. Am going to
be testing on an instance with lots of tracks later, will update PR when
I have done that.
**How you can replicate my testing:**
_How can the reviewer validate this PR?_
### **Links**
Closes #3018
2024-10-13 15:31:08 +02:00
dakriy
8c26505622
feat(legacy): order by filename when lptime is null ( #3069 )
...
### Description
It is good to have a deterministic order when doing explicit file
sorting. This sorts by filename when last played time is null. I would
expect filename to be the next sort after last played time in case of a
tie, and was surprised to find it was not explicit. It should not break
any existing use cases.
**This is a new feature**:
Kind of?
**I have updated the documentation to reflect these changes**:
I did not update any documentation as this way seems like the logical
expected way to do the sort.
### Testing Notes
**What I did:**
I loaded up some tracks into a local libretime instance, let some of
them play, and tested that all the old sorts worked as before as well as
tracks getting sorted by filepath in case of a last played time
2024-08-24 07:47:25 +01:00
dakriy
c883d0f2d5
fix(legacy): fix filename criteria searching ( #3068 )
...
### Description
The filename criteria searched the full file path and as such does not
work as expected.
**This is a new feature**:
No
**I have updated the documentation to reflect these changes**:
No docs changes are required as this is fixing a bug to make things work
as expected and documented.
### Testing Notes
**What I did:**
I uploaded some files, and tested that the file name criteria worked as
expected.
**How you can replicate my testing:**
Spin up the stack, upload some files and make sure the filename criteria
works as expected.
2024-08-20 22:39:53 +01:00
dakriy
4642b6c08e
feat(legacy): add filename block criteria ( #3015 )
...
### Description
Adds filename block criteria because sometimes you just need the
filename and the ID3 tags won't do.
Closes #3014
2024-06-22 11:51:59 +02:00
dakriy
451652bc40
feat(legacy): add current date macro to string block criteria ( #3013 )
...
### Description
It is useful to be able to automatically filter tracks to a certain date
or day when scheduling tracks for playback. This adds the ability to do
just that in any string filter with the `date{format}` macro.
Closes: #3012
2024-06-22 11:19:21 +02:00
Jonas L
24ee3830c2
fix(legacy): ensure last played criteria works with never played files ( #2840 )
...
### Description
Closes #2798
COALESCE last played null values with date -infinity, to ensure newly
added files are found by the last played smart block criteria.
2023-12-27 17:32:33 +01:00
renovate[bot]
1820970ce3
fix(deps): update dependency friendsofphp/php-cs-fixer to <3.41.2 (stable) ( #2766 )
...
* fix(deps): update dependency friendsofphp/php-cs-fixer to <3.41.2
* style: format files using php-cs-fixer
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-12-18 19:02:03 +01:00
renovate[bot]
2f1a0a8efa
fix(deps): update dependency friendsofphp/php-cs-fixer to <3.27.1 (main) ( #2714 )
...
* fix(deps): update dependency friendsofphp/php-cs-fixer to <3.27.1
* style: format legacy files
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-09-17 17:14:59 +02:00
renovate[bot]
9af3050432
fix(deps): update dependency friendsofphp/php-cs-fixer to <3.26.1 (main) ( #2677 )
...
* fix(deps): update dependency friendsofphp/php-cs-fixer to <3.26.1
* style: format code
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-09-08 15:45:24 +02:00
renovate[bot]
8b41302ddd
fix(deps): update dependency friendsofphp/php-cs-fixer to <3.17.1 (main) ( #2556 )
...
* fix(deps): update dependency friendsofphp/php-cs-fixer to <3.17.1
* style(legacy): format using php-cs-fixer
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-05-25 15:06:18 +02:00
Jonas L
c28c048bf4
chore: use https links ( #2075 )
2022-08-25 16:25:54 +02:00
jo
c28fe32cdc
style(legacy): php-cs-fixer upgrade
2022-07-11 17:30:52 +02:00
jo
db976881f0
fix: use constrained foreign key for files track_type
2022-07-07 21:07:41 +02:00
jo
bcaea16c19
fix(legacy): check empty before iteration on files
2022-07-07 21:07:41 +02:00
jo
5e8f7d430f
style(legacy): format files
2022-07-07 21:07:41 +02:00
Jonas L
4d393fa14e
style(legacy): format files ( #1946 )
2022-07-07 20:01:15 +02:00
Jonas L
69d8eae845
style(legacy): fix code format with php-cs-fixer ( #1674 )
2022-03-14 12:15:04 +02:00
Jonas L
8569af9328
style(legacy): force semicolon on same line ( #1534 )
2022-01-23 20:15:55 +02:00
Jonas L
5e8d8db6e9
Feature: Support php7.4 ( #1354 )
...
* Run CI tests against php 7.4
* Sort composer dependencies
* Remove unused Aws S3 php library
* Pin simplepie dependency to ^1.5
* Pin getid3 dependency to ^1.9
* Pin composer semver to ^3.2
* Pin php-amqplib to ^2.12
* Drop sentry logging support
* Update composer dependencies
* Move propel regenerate to Makefile
* Regenerate propel files with v1.7.0
* Pin propel orm to ^1.7
* Regenerate propel files with v1.7.2
* fix: generator_version in airtime-conf-production.php
* Replace propel/propel1 with jooola/propel1
* Regenerate propel files with v1.7.3-dev
* Fix php7.4 compatibility
Using php-cs-fixer:
'@PhpCsFixer' => true,
'concat_space' => ['spacing' => 'one'],
'ordered_class_elements' => false,
'yoda_style' => false,
'@PHP74Migration' => true,
'assign_null_coalescing_to_coalesce_equal' => false,
'ternary_to_null_coalescing' => false,
'heredoc_indentation' => false,
'@PHP74Migration:risky' => true,
'declare_strict_types' => false,
'void_return' => false,
'use_arrow_functions' => false,
* Fix pre-commit
2021-10-17 17:19:53 +02:00
jo
d52c6184b9
Format code using php-cs-fixer
2021-10-12 11:07:56 +02:00
jo
3e18d42c8b
Rename airtime_mvc/ to legacy/
2021-10-11 13:43:25 +02:00