PostgreSQL enhancements for Doctrine. Provides support for advanced data types (json, jssnb, arrays), text search, array operators and jsonb specific functions.
PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer)
### [`v3.59.3`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3593)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.59.2...v3.59.3)
- refactor: refactor to templated trait+interface ([#7988](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7988))
### [`v3.59.2`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3592)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.59.1...v3.59.2)
- fix: "list" is reserved type ([#8087](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8087))
- chore: add missing type in method prototype ([#8088](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8088))
- CI: bump Ubuntu version ([#8086](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8086))
- deps: bump infection to unblock PHPUnit 11, and few more as chore ([#8083](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8083))
### [`v3.59.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3591)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.59.0...v3.59.1)
- fix: Bump React's JSON decoder buffer size ([#8068](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8068))
- docs: options - handle enums in dicts ([#8082](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8082))
### [`v3.59.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3590)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.58.1...v3.59.0)
- feat(Docker): Multi-arch build (support for `arm64`) ([#8079](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8079))
- feat: `@PhpCsFixer` ruleset - normalise implicit backslashes in single quoted strings ([#7965](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7965))
- feat: `SimpleToComplexStringVariableFixer` - support variable being an array ([#8064](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8064))
- fix: Look up for PHPDoc's variable name by only chars allowed in the variables ([#8062](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8062))
- fix: Update `PhpUnitTestCaseStaticMethodCallsFixer::STATIC_METHODS` ([#8073](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8073))
- fix: `native_constant_invocation` - array constants with native constant names ([#8008](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8008))
- chore: update PHPStan ([#8060](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8060))
- CI: Update PHPStan to 1.11.4 ([#8074](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8074))
- docs: don't expose list as config type for dicts ([#8081](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8081))
- docs: Make wording in `final_class` docs less dismissive ([#8065](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8065))
- docs: Update 1-bug_report.yml ([#8067](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8067))
- DX: Remove version from Docker Compose files ([#8061](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8061))
### [`v3.58.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3581)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.58.0...v3.58.1)
- fix: `ConstantCaseFixer` - do not change class constant usages ([#8055](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8055))
- fix: `PhpUnitTestClassRequiresCoversFixer` - do not add annotation when attribute with leading slash present ([#8054](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8054))
### [`v3.58.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3580)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.57.2...v3.58.0)
- chore(doc): Use FQCN for parallel config in documentation ([#8029](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8029))
- chore: fix typo in `PhpUnitTestClassRequiresCoversFixerTest` ([#8047](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8047))
- chore: RandomApiMigrationFixer - do not modify configuration property ([#8033](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8033))
- chore: Tokens::setCode - further improvements to cache ([#8053](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8053))
- chore: update PHPStan ([#8045](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8045))
- docs: Add missing imports in a cookbook about creating custom rules ([#8031](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8031))
- docs: fix deprecated string interpolation style ([#8036](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8036))
- docs: global_namespace_import - simplify allowed config types ([#8023](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8023))
- feat(GroupImportFixer): Ability to configure which type of imports should be grouped ([#8046](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8046))
- fix: clear `Tokens::$blockStartCache` and `Tokens::$blockEndCache` when calling `Tokens::setCode` ([#8051](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8051))
- fix: correctly handle PHP closing tag with `simplified_null_return` ([#8049](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8049))
- fix: `ConstantCaseFixer` - do not change namespace ([#8004](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8004))
- fix: `PhpUnitAttributesFixer` - do not add attribute if already present ([#8043](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8043))
- fix: `PhpUnitSizeClassFixer` - do not add annotation when there are attributes ([#8044](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8044))
- fix: `PhpUnitTestClassRequiresCoversFixer` - attribute detection when class is `readonly` ([#8042](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8042))
### [`v3.57.2`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3572)
[Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.57.1...v3.57.2)
- docs: better ConfigurableFixer allowed types ([#8024](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8024))
- docs: Improve Docker usage example ([#8021](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8021))
- feat: Report used memory to 2 decimal digits only ([#8017](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8017))
- fix: Support named args in `ParallelConfigFactory::detect()` ([#8026](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8026))
- fix: `php_unit_test_class_requires_covers` Attribute detection when class is final ([#8016](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8016))
phpstan/phpstan (phpstan/phpstan)
### [`v1.11.6`](https://togithub.com/phpstan/phpstan/compare/1.11.5...1.11.6)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.5...1.11.6)
### [`v1.11.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.11.5)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.4...1.11.5)
# Bleeding edge πͺ
- Check array functions which require stringish values ([#3132](https://togithub.com/phpstan/phpstan-src/pull/3132)), [#11141](https://togithub.com/phpstan/phpstan/issues/11141), [#5848](https://togithub.com/phpstan/phpstan/issues/5848), [#3694](https://togithub.com/phpstan/phpstan/issues/3694), [#11111](https://togithub.com/phpstan/phpstan/issues/11111), thanks [@schlndh](https://togithub.com/schlndh)!
*If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's `phpstan.neon`:*
includes:
- vendor/phpstan/phpstan/conf/bleedingEdge.neon
*Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. [Learn more](https://phpstan.org/blog/what-is-bleeding-edge)*
# Improvements π§
- When internal errors occur, do not show other reported errors (https://github.com/phpstan/phpstan-src/commit/aa921137be5b510408bc8df9b8b6fe632ed09db5)
- It's important to first solve internal errors before seeing other reported errors
- Inspired by [https://github.com/phpstan/phpstan/discussions/11107](https://togithub.com/phpstan/phpstan/discussions/11107) (ReviewDog was eating up important errors)
- Show internal errors nicely in PHPStan Pro
# Bugfixes π
- Fix bug in `get_debug_type()` DynamicFunctionReturnTypeExtension ([#3128](https://togithub.com/phpstan/phpstan-src/pull/3128)), thanks [@patrickkusebauch](https://togithub.com/patrickkusebauch)!
- Include path when counting errors ignored by identifier ([#3154](https://togithub.com/phpstan/phpstan-src/pull/3154)), [#11177](https://togithub.com/phpstan/phpstan/issues/11177), thanks [@pilif](https://togithub.com/pilif)!
- Implement bit shift operation on integers and unions ([#3145](https://togithub.com/phpstan/phpstan-src/pull/3145)), thanks [@thg2k](https://togithub.com/thg2k)!
- Fix division type result with even integer range ([#3152](https://togithub.com/phpstan/phpstan-src/pull/3152)), thanks [@thg2k](https://togithub.com/thg2k)!
- Solve identical comparison bug in call-site variance ([#3153](https://togithub.com/phpstan/phpstan-src/pull/3153)), [#11161](https://togithub.com/phpstan/phpstan/issues/11161), [#10697](https://togithub.com/phpstan/phpstan/issues/10697), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
# Function signature fixes π€
- `gnupg_init()` `options` parameter is optional ([#3129](https://togithub.com/phpstan/phpstan-src/pull/3129)), thanks [@yphoenix](https://togithub.com/yphoenix)!
- Update outdated `RedisCluster::__construct` signature ([#3130](https://togithub.com/phpstan/phpstan-src/pull/3130)), [#11158](https://togithub.com/phpstan/phpstan/issues/11158), thanks [@wolfgangzwiauer](https://togithub.com/wolfgangzwiauer)!
- Improve image related functions signature ([#3127](https://togithub.com/phpstan/phpstan-src/pull/3127)), thanks [@thg2k](https://togithub.com/thg2k)!
- Update/fix ext-amqp signatures ([#3139](https://togithub.com/phpstan/phpstan-src/pull/3139)), thanks [@ben-challis](https://togithub.com/ben-challis)!
- fix `AMQPQueue::unbind()` routingKey type ([#3143](https://togithub.com/phpstan/phpstan-src/pull/3143)), thanks [@ben-challis](https://togithub.com/ben-challis)!
- Add parameter definitions to `AMQPQueue::consume()` callback ([#3144](https://togithub.com/phpstan/phpstan-src/pull/3144)), [#9445](https://togithub.com/phpstan/phpstan/issues/9445), thanks [@ben-challis](https://togithub.com/ben-challis)!
- Add int ranges to AMQP typings ([#3146](https://togithub.com/phpstan/phpstan-src/pull/3146)), thanks [@ben-challis](https://togithub.com/ben-challis)!
- Various fixes to the return signature of `IntlDateFormatter` methods ([#3149](https://togithub.com/phpstan/phpstan-src/pull/3149)), thanks [@chosten](https://togithub.com/chosten)!
- Fix `Exception::getTrace()` return type (https://github.com/phpstan/phpstan-src/commit/492cd89932d873147cdf7acf49c88d432cbce69f)
- fix posix_getpwuid ([#3157](https://togithub.com/phpstan/phpstan-src/pull/3157)), thanks [@pistej](https://togithub.com/pistej)!
# Internals π
- Regression test ([#3136](https://togithub.com/phpstan/phpstan-src/pull/3136)), thanks [@staabm](https://togithub.com/staabm)!
- Relax test version restriction ([#3140](https://togithub.com/phpstan/phpstan-src/pull/3140)), thanks [@thg2k](https://togithub.com/thg2k)!
- Fix `PrepareCommand::fixComposerJson()` (https://github.com/phpstan/phpstan-src/commit/4537ef1445b910930afa32d7fd8f22b044fdc726)
- Internal errors as structured objects (https://github.com/phpstan/phpstan-src/commit/7cd03f02a5c32ca4e51006dc21d6184f73835a14)
- WorkerCommand - do not return exit code 1 in case of internal errors, they are handled anyway (https://github.com/phpstan/phpstan-src/commit/f76d836d13fb94e9887260ae18229ad2ca2ce2ce)
- NodeScopeResolverTest - remove requires (https://github.com/phpstan/phpstan-src/commit/f6b989881e66445197f6526bfcde868a60472098)
- Fix discrepancy between `lint >=` and `PHP_VERSION_ID` in NodeScopeResolverTest (https://github.com/phpstan/phpstan-src/commit/b530b0d53d3fc990dcb0225e0d997af06ee15180)
- `TypeInferenceTestCase::gatherAssertTypesFromDirectory()` (https://github.com/phpstan/phpstan-src/commit/595de78d35124d00eed90c09f5fd73cb40351e02)
- Take advantage of gatherAssertTypesFromDirectory in NodeScopeResolverTest ([#3159](https://togithub.com/phpstan/phpstan-src/pull/3159))
- Turn TraitsCachingIssueIntegrationTest into a e2e test ([#3151](https://togithub.com/phpstan/phpstan-src/pull/3151)), thanks [@staabm](https://togithub.com/staabm)!
### [`v1.11.4`](https://togithub.com/phpstan/phpstan/releases/tag/1.11.4)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.3...1.11.4)
# Improvements π§
- Detect `--generate-baseline` combined with `--pro` (https://github.com/phpstan/phpstan-src/commit/dd028cb4ccc44c6aa12b51f443e8761d5d4efc1d), [#11093](https://togithub.com/phpstan/phpstan/issues/11093)
- Add error identifier to RawErrorFormatter ([#3112](https://togithub.com/phpstan/phpstan-src/pull/3112)), [#11125](https://togithub.com/phpstan/phpstan/issues/11125), thanks [@zonuexe](https://togithub.com/zonuexe)!
- Pass current rule level to PHPStan Pro (https://github.com/phpstan/phpstan-src/commit/7af14fbfc027b15e3342ac95be783bd3fa1df413)
- Read and enforce PHPStan version constraints from `phpstan/extension-installer` v1.4 (https://github.com/phpstan/phpstan-src/commit/1d005ef1e72f77afada37bad491f2b6602f4cc92)
# Bugfixes π
- Consider `numeric-string` types after string concat ([#3117](https://togithub.com/phpstan/phpstan-src/pull/3117)), thanks [@staabm](https://togithub.com/staabm)!
- Fix type loss with recursive `count()` ([#2812](https://togithub.com/phpstan/phpstan-src/pull/2812)), thanks [@staabm](https://togithub.com/staabm)!
- `array_slice()` returns `non-empty-array` for existing offsets and positive limit ([#3124](https://togithub.com/phpstan/phpstan-src/pull/3124)), [#10721](https://togithub.com/phpstan/phpstan/issues/10721), thanks [@staabm](https://togithub.com/staabm)!
- Consider a `ClosureType()` as maybe impure by default when no `$impurePoints` array provided ([#3125](https://togithub.com/phpstan/phpstan-src/pull/3125)), [#11135](https://togithub.com/phpstan/phpstan/issues/11135), thanks [@jf-m](https://togithub.com/jf-m)!
# Function signature fixes π€
- Make the return type of `tempnam()` and `tmpfile()` to benevolent union ([#3111](https://togithub.com/phpstan/phpstan-src/pull/3111)), thanks [@zonuexe](https://togithub.com/zonuexe)!
- Fix `gnupg_init` function ([#3118](https://togithub.com/phpstan/phpstan-src/pull/3118)), thanks [@pistej](https://togithub.com/pistej)!
# Internals π
- Update `react/promise` (https://github.com/phpstan/phpstan-src/commit/da754e2294a619bacc95cd42426e94c17a57365b)
### [`v1.11.3`](https://togithub.com/phpstan/phpstan/releases/tag/1.11.3)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.2...1.11.3)
# Improvements π§
- Add new `*ParameterClosureTypeExtension` ([#3089](https://togithub.com/phpstan/phpstan-src/pull/3089)), thanks [@canvural](https://togithub.com/canvural)!
- DynamicFunctionReturnTypeExtension for the `get_debug_type` function ([#2910](https://togithub.com/phpstan/phpstan-src/pull/2910)), [#10558](https://togithub.com/phpstan/phpstan/issues/10558), [#10585](https://togithub.com/phpstan/phpstan/issues/10585), thanks [@patrickkusebauch](https://togithub.com/patrickkusebauch)!
- Infer more duplicated array keys ([#3058](https://togithub.com/phpstan/phpstan-src/pull/3058)), [#6976](https://togithub.com/phpstan/phpstan/issues/6976), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Improve `explode` return type precision ([#3096](https://togithub.com/phpstan/phpstan-src/pull/3096)), thanks [@staabm](https://togithub.com/staabm)!
- Make assigning property via reference impure ([#3082](https://togithub.com/phpstan/phpstan-src/pull/3082)), thanks [@schlndh](https://togithub.com/schlndh)!
- Support new PHP 8.4 mb_lcfirst, mb_ucfirst function variants ([#3095](https://togithub.com/phpstan/phpstan-src/pull/3095)), thanks [@staabm](https://togithub.com/staabm)!
# Bugfixes π
- Make `array_map` argument take into account unpack ([#2901](https://togithub.com/phpstan/phpstan-src/pull/2901)), [#10527](https://togithub.com/phpstan/phpstan/issues/10527), thanks [@ryium](https://togithub.com/ryium)!
- Fixes incorrect types reported by `parse_url` ([#2918](https://togithub.com/phpstan/phpstan-src/pull/2918)), [#4754](https://togithub.com/phpstan/phpstan/issues/4754), thanks [@ChrisBrenton](https://togithub.com/ChrisBrenton)!
- Ensure `$http_response_header` is a `list` ([#2959](https://togithub.com/phpstan/phpstan-src/pull/2959)), thanks [@Seldaek](https://togithub.com/Seldaek)!
- Keep numeric-strings in `str_repeat()` ([#2914](https://togithub.com/phpstan/phpstan-src/pull/2914)), [#10572](https://togithub.com/phpstan/phpstan/issues/10572), thanks [@staabm](https://togithub.com/staabm)!
- Array is non-empty even when `in_array` is not strict ([#2539](https://togithub.com/phpstan/phpstan-src/pull/2539)), [#9662](https://togithub.com/phpstan/phpstan/issues/9662), [#10228](https://togithub.com/phpstan/phpstan/issues/10228), thanks [@staabm](https://togithub.com/staabm)!
- Fix `substr()` type narrowing for possibly single char result ([#3081](https://togithub.com/phpstan/phpstan-src/pull/3081)), [#11035](https://togithub.com/phpstan/phpstan/issues/11035), [#9804](https://togithub.com/phpstan/phpstan/issues/9804), thanks [@staabm](https://togithub.com/staabm)!
- Fix escaping of the error message in various output formatters ([#3087](https://togithub.com/phpstan/phpstan-src/pull/3087)), thanks [@mousetail](https://togithub.com/mousetail)!
- `$this` cannot be reassigned when passed by reference ([#3097](https://togithub.com/phpstan/phpstan-src/pull/3097)), [#10477](https://togithub.com/phpstan/phpstan/issues/10477), thanks [@takaram](https://togithub.com/takaram)!
- Subtract zero-float when comparing against zero-int ([#3102](https://togithub.com/phpstan/phpstan-src/pull/3102)), [#5309](https://togithub.com/phpstan/phpstan/issues/5309), thanks [@staabm](https://togithub.com/staabm)!
- Fix fatal error on `constant('')` ([#3013](https://togithub.com/phpstan/phpstan-src/pull/3013)), [#10867](https://togithub.com/phpstan/phpstan/issues/10867), thanks [@staabm](https://togithub.com/staabm)!
# Function signature fixes π€
- Add new header functions for PHP 8.4 ([#3093](https://togithub.com/phpstan/phpstan-src/pull/3093)), thanks [@Seldaek](https://togithub.com/Seldaek)!
- Fix wrong return type for `SplFileObject::fgets()` ([#3103](https://togithub.com/phpstan/phpstan-src/pull/3103)), thanks [@DanielSiepmann](https://togithub.com/DanielSiepmann)!
- Update `Locale` signatures ([#2880](https://togithub.com/phpstan/phpstan-src/pull/2880)), [#7855](https://togithub.com/phpstan/phpstan/issues/7855), [#8149](https://togithub.com/phpstan/phpstan/issues/8149), thanks [@devnix](https://togithub.com/devnix)!
- Fix wrong `fread()` length parameter type and return type ([#3105](https://togithub.com/phpstan/phpstan-src/pull/3105)), thanks [@thg2k](https://togithub.com/thg2k)!
- ReflectionFunction and ReflectionMethod::getClosure cannot return null (https://github.com/phpstan/phpstan-src/commit/dae9335075964f197aa5d965b3d38c12788a6405), [#10839](https://togithub.com/phpstan/phpstan/issues/10839)
- Make method names `non-falsy-string` ([#3108](https://togithub.com/phpstan/phpstan-src/pull/3108)), thanks [@schlndh](https://togithub.com/schlndh)!
# Internals π
- Add regression test ([#3066](https://togithub.com/phpstan/phpstan-src/pull/3066)), [#3300](https://togithub.com/phpstan/phpstan/issues/3300), thanks [@herndlm](https://togithub.com/herndlm)!
- Update phpdoc-parser ([#3107](https://togithub.com/phpstan/phpstan-src/pull/3107))
- `TemplateTagValueNode::$name` cannot be empty string (https://github.com/phpstan/phpdoc-parser/commit/fcaefacf2d5c417e928405b71b400d4ce10daaf4), thanks [@staabm](https://togithub.com/staabm)!
- Fix property descriptions in ReflectionProviderGoldenTest ([#3109](https://togithub.com/phpstan/phpstan-src/pull/3109)), thanks [@schlndh](https://togithub.com/schlndh)!
### [`v1.11.2`](https://togithub.com/phpstan/phpstan/releases/tag/1.11.2)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.1...1.11.2)
# Improvements π§
- Stricter `@phpstan-ignore` identifiers parser ([#3079](https://togithub.com/phpstan/phpstan-src/pull/3079), [#3090](https://togithub.com/phpstan/phpstan-src/pull/3090), [#3091](https://togithub.com/phpstan/phpstan-src/pull/3091)), thanks [@janedbal](https://togithub.com/janedbal)!
- The parser now rejects some syntax that was possible but undocumented in 1.11.0 and 1.11.1
- The parser now allows to attach comment to each single identifier in a list: `@phpstan-ignore identifier (comment), identifier2 (comment2)`
- Resolving type of closure - get `$passedToType` from `inFunctionCallsStack` (https://github.com/phpstan/phpstan-src/commit/ca41b7d8c2d54407156d07dab5375a3a5ebbeb29, https://github.com/phpstan/phpstan-src/commit/da4fd7a4122615d9dbae55083bdfd290026fa08e), [#5508](https://togithub.com/phpstan/phpstan/issues/5508), [#10254](https://togithub.com/phpstan/phpstan/issues/10254), [#10732](https://togithub.com/phpstan/phpstan/issues/10732)
- Do not lose generic type when the closure has native return type (https://github.com/phpstan/phpstan-src/commit/7e9cd45701562fb02f1aa9cab1f89b58a58f6526), [#9086](https://togithub.com/phpstan/phpstan/issues/9086)
# Function signature fixes π€
- More concrete return types for some database functions ([#3078](https://togithub.com/phpstan/phpstan-src/pull/3078)), thanks [@devnix](https://togithub.com/devnix)!
# Internals π
- Fix Composer by referencing deleted tag of `nette/di` (https://github.com/phpstan/phpstan-src/commit/2ab647e12fe46d970fa630b78f9ca962354b3d16)
- Specify `array_filter` callbacks (https://github.com/phpstan/phpstan-src/commit/754b7b8e170cd36ed7bc8633b90651eff16cc893)
- Add `@api` annotation to `AcceptsResult::__construct` ([#3092](https://togithub.com/phpstan/phpstan-src/pull/3092)), thanks [@canvural](https://togithub.com/canvural)!
sebastianbergmann/phpunit (phpunit/phpunit)
### [`v10.5.24`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.24): PHPUnit 10.5.24
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.23...10.5.24)
##### Changed
- [#5877](https://togithub.com/sebastianbergmann/phpunit/pull/5877): Use `array_pop()` instead of `array_shift()` for processing `Test` objects in `TestSuite::run()` and optimize `TestSuite::isEmpty()`
***
[How to install or update PHPUnit](https://docs.phpunit.de/en/10.5/installation.html)
### [`v10.5.23`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.23): PHPUnit 10.5.23
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.22...10.5.23)
##### Changed
- [#5875](https://togithub.com/sebastianbergmann/phpunit/pull/5875): Also destruct `TestCase` objects early that use a data provider
***
[How to install or update PHPUnit](https://docs.phpunit.de/en/10.5/installation.html)
### [`v10.5.22`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.22): PHPUnit 10.5.22
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.21...10.5.22)
##### Changed
- [#5871](https://togithub.com/sebastianbergmann/phpunit/pull/5871): Do not collect unnecessary information using `debug_backtrace()`
***
[How to install or update PHPUnit](https://docs.phpunit.de/en/10.5/installation.html)
### [`v10.5.21`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.21): PHPUnit 10.5.21
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.20...10.5.21)
##### Changed
- [#5861](https://togithub.com/sebastianbergmann/phpunit/pull/5861): Destroy `TestCase` object after its test was run
***
[How to install or update PHPUnit](https://docs.phpunit.de/en/10.5/installation.html)
rectorphp/rector (rector/rector)
### [`v1.2.0`](https://togithub.com/rectorphp/rector/compare/1.1.1...1.2.0)
[Compare Source](https://togithub.com/rectorphp/rector/compare/1.1.1...1.2.0)
### [`v1.1.1`](https://togithub.com/rectorphp/rector/releases/tag/1.1.1): Released Rector 1.1.1
[Compare Source](https://togithub.com/rectorphp/rector/compare/1.1.0...1.1.1)
**\[Performance] Fix huge performance hit by reverting children class detection ([#5995](https://togithub.com/rectorphp/rector-src/pull/5995)) - fixes [https://github.com/rectorphp/rector/issues/8679](https://togithub.com/rectorphp/rector/issues/8679), [https://github.com/rectorphp/rector/issues/8638](https://togithub.com/rectorphp/rector/issues/8638), [https://github.com/rectorphp/rector/issues/8637](https://togithub.com/rectorphp/rector/issues/8637)**
#### New Rules
- \[TypeDeclaration] Add ReturnTypeFromReturnCastRector ([#5905](https://togithub.com/rectorphp/rector-src/pull/5905))
- \[TypeDeclaration] Add ReturnTypeFromSymfonySerializerRector ([#5908](https://togithub.com/rectorphp/rector-src/pull/5908))
- \[TypeDeclaration] Add TypedPropertyFromJMSSerializerAttributeTypeRector ([#5909](https://togithub.com/rectorphp/rector-src/pull/5909))
- \[TypeDeclaration] Add AddTypeFromResourceDocblockRector ([#5915](https://togithub.com/rectorphp/rector-src/pull/5915))
- \[Php74] Add HebrevcToNl2brHebrevRector ([#5977](https://togithub.com/rectorphp/rector-src/pull/5977))
- \[Php74] Add RestoreIncludePathToIniRestoreRector ([#5973](https://togithub.com/rectorphp/rector-src/pull/5973))
- \[Carbon] Init set to migrate DateTime to Carbon ([#5868](https://togithub.com/rectorphp/rector-src/pull/5868))
- \[Carbon] Add immutable support to other rules ([#5896](https://togithub.com/rectorphp/rector-src/pull/5896))
- Convert DateTimeImmutable to CarbonImmutable ([#5895](https://togithub.com/rectorphp/rector-src/pull/5895))
- Convert time() to Carbon::now()->timestamp ([#5901](https://togithub.com/rectorphp/rector-src/pull/5901)), Thanks [@kylekatarnls](https://togithub.com/kylekatarnls)!
#### New Features and DX improvements :partying_face:
- **Add code quality levels** ([#5910](https://togithub.com/rectorphp/rector-src/pull/5910)), Thanks [@carlos-granados](https://togithub.com/carlos-granados)!
- **\[DX] Introduce set providers**, to enable package + version based set registration ([#5976](https://togithub.com/rectorphp/rector-src/pull/5976))
- \[DX] Report rules that registered in withSkip() but never registered in withRules() ([#5919](https://togithub.com/rectorphp/rector-src/pull/5919))
- \[Set] Add new rector-preset set to have opiniated rector rules that can be enabled in rector-src and its extension ([#5924](https://togithub.com/rectorphp/rector-src/pull/5924))
- \[DeadCode] Add RemoveUnusedPublicMethodParameterRector ([#5925](https://togithub.com/rectorphp/rector-src/pull/5925))
- \[TypeDeclaration] Handle double declare(strict_types=1) addition on DeclareStrictTypesRector + IncreaseDeclareStrictTypesRector ([#5928](https://togithub.com/rectorphp/rector-src/pull/5928))
- \[CodingStyle]\[Php80] Add join func call support on ConsistentImplodeRector ([#5958](https://togithub.com/rectorphp/rector-src/pull/5958))
- \[CodeQuality] Add support for (), {}, \[], <> delimiter on RegexPatternDetector ([#5957](https://togithub.com/rectorphp/rector-src/pull/5957))
- \[TypeDeclaration] Add Static Call support on AddMethodCallBasedStrictParamTypeRector ([#5960](https://togithub.com/rectorphp/rector-src/pull/5960))
- \[Config] Add withPhpPolyfill() method to load php polyfill set on RectorConfigBuilder ([#5983](https://togithub.com/rectorphp/rector-src/pull/5983))
- **\[DX] Add ->withPhpXSets() for PHP 7.4 and lower, improve ->withPreparedSets()** ([#5984](https://togithub.com/rectorphp/rector-src/pull/5984))
- \[config] Disable parallel on --debug ([#5904](https://togithub.com/rectorphp/rector-src/pull/5904))
- \[Php80] Skip mixed doc with description and valid doc on MixedTypeRector ([#5906](https://togithub.com/rectorphp/rector-src/pull/5906))
- \[DX] Add `withPhpPolyfills()` method to add polyfill rules ([#5981](https://togithub.com/rectorphp/rector-src/pull/5981)) [https://github.com/rectorphp/rector-src/pull/5983](https://togithub.com/rectorphp/rector-src/pull/5983)
- \[DX] Ommit static functions/closure from coding-style, as often ignored and depends on personal preference ([#5916](https://togithub.com/rectorphp/rector-src/pull/5916))
- \[DX] Ommit post-inc to pre-inc rule from coding-style as too opinionated ([#5917](https://togithub.com/rectorphp/rector-src/pull/5917))
- \[DX] Remove UseIncrementAssignRector from coding-style set, as often ignored ([#5920](https://togithub.com/rectorphp/rector-src/pull/5920))
#### Bugfixes :bug:
- \[AutoImport] No need RenamedClassesDataCollector usage on UsesClassNameImportSkipVoter ([#5921](https://togithub.com/rectorphp/rector-src/pull/5921))
- \[Php81] Skip private method from instantiated class on FirstClassCallableRector ([#5929](https://togithub.com/rectorphp/rector-src/pull/5929))
- \[NodeTypeCorrector] Directly use StringType on Intersection of strings on AccessoryNonEmptyStringTypeCorrector ([#5933](https://togithub.com/rectorphp/rector-src/pull/5933))
- \[CodeQuality] Allow check in current Class\_ with multiple props on CompleteDynamicPropertiesRector ([#5938](https://togithub.com/rectorphp/rector-src/pull/5938))
- \[Naming] Handle rename property with only comment, without [@var](https://togithub.com/var) doc on RenamePropertyToMatchTypeRector ([#5945](https://togithub.com/rectorphp/rector-src/pull/5945))
- Remove the renaming of apache_request_headers ([#5943](https://togithub.com/rectorphp/rector-src/pull/5943)), Thanks [@rhuijts](https://togithub.com/rhuijts)!
- \[Naming] Handle nullable object [@var](https://togithub.com/var) docblock on RenamePropertyToMatchTypeRector ([#5946](https://togithub.com/rectorphp/rector-src/pull/5946))
- \[Php81] Skip param variable used in next stmt after coalesce on NewInInitializerRector ([#5971](https://togithub.com/rectorphp/rector-src/pull/5971))
- \[Php71] Skip call abstract method on RemoveExtraParametersRector ([#5930](https://togithub.com/rectorphp/rector-src/pull/5930))
- \[TypeDeclaration] Do not remove docblock with description on MergeDateTimePropertyTypeDeclarationRector ([#5931](https://togithub.com/rectorphp/rector-src/pull/5931))
- \[DeadCode] Remove param docblock on RemoveUnusedPromotedPropertyRector when exists ([#5936](https://togithub.com/rectorphp/rector-src/pull/5936))
- \[Cleanup] Remove deprecated AttributeKey::PARENT_NODE, remove deprecated NodeNameResolver::isCaseSensitiveName() ([#5939](https://togithub.com/rectorphp/rector-src/pull/5939))
- \[NodeTypeResolver] Remove Property->type instanceof Node check on NodeTypeResolver->getType() ([#5947](https://togithub.com/rectorphp/rector-src/pull/5947))
- \[BetterPhpDocParser] Remove unnecessary PrivatesAccessor usage on BetterTokenIterator and TokenIteratorFactory ([#5950](https://togithub.com/rectorphp/rector-src/pull/5950))
- \[DeadCode] Skip dynamic variable on RemoveUnusedVariableAssignRector ([#5964](https://togithub.com/rectorphp/rector-src/pull/5964))
- \[DeadCode] Reduce loop for used in next stmt on RemoveUnusedVariableAssignRector ([#5969](https://togithub.com/rectorphp/rector-src/pull/5969))
#### Removed and Deprecated :skull:
- Remove deprecated and empty FinalizeClassesWithoutChildrenRector + FinalizePublicClassConstantRector ([#5980](https://togithub.com/rectorphp/rector-src/pull/5980))
- \[DX] Soft-deprecate CallableThisArrayToAnonymousFunctionRector, as FirstClassCallableRector handles the same case better ([#5918](https://togithub.com/rectorphp/rector-src/pull/5918))
### [`v1.1.0`](https://togithub.com/rectorphp/rector/releases/tag/1.1.0): Released Rector 1.1.0
[Compare Source](https://togithub.com/rectorphp/rector/compare/1.0.5...1.1.0)
#### New Features :partying_face:
- \[PHPStan] Bump to PHPStan 1.11 ([#5883](https://togithub.com/rectorphp/rector-src/pull/5883))
#### Bugfixes :bug:
- \[CodeQuality] Skip increment variable on else on TernaryFalseExpressionToIfRector ([#5867](https://togithub.com/rectorphp/rector-src/pull/5867))
- \[CodeQuality] Skip on property and class const on CallableThisArrayToAnonymousFunctionRector ([#5869](https://togithub.com/rectorphp/rector-src/pull/5869))
- \[NodeTypeResolver] Using built int ->isArray()->yes() on ArrayTypeAnalyzer::isArrayType() ([#5870](https://togithub.com/rectorphp/rector-src/pull/5870))
- Fix "method x was not found in reflection of class" ([#5871](https://togithub.com/rectorphp/rector-src/pull/5871)), Thanks [@staabm](https://togithub.com/staabm)!
- \[NodeTypeResolver] Clean up array check on NameTypeResolver ([#5872](https://togithub.com/rectorphp/rector-src/pull/5872))
- \[NodeTypeResolver] Clean up "this" from NameTypeResolver, as not from Name node ([#5873](https://togithub.com/rectorphp/rector-src/pull/5873))
- \[TypeDeclaration] Skip array by doc with different assign on ReturnTypeFromStrictNewArrayRector ([#5875](https://togithub.com/rectorphp/rector-src/pull/5875))
- \[TypeDeclaration] Skip possible array on StrictStringParamConcatRector ([#5876](https://togithub.com/rectorphp/rector-src/pull/5876))
- \[Performance] Ensure call $reflector->reflectAllClasses() once on Worker take 3 ([#5878](https://togithub.com/rectorphp/rector-src/pull/5878))
- \[Performance] Call cached class names collection on FamilyRelationsAnalyzer ([#5879](https://togithub.com/rectorphp/rector-src/pull/5879))
- \[NodeTypeResolver] Clean up resolve cache class name key ([#5880](https://togithub.com/rectorphp/rector-src/pull/5880))
- \[NodeTypeResolver] No need json_decode/json_encode for cache class name collection ([#5881](https://togithub.com/rectorphp/rector-src/pull/5881))
- \[TypeDeclaration] Handle crash on interface Mixin on ReturnTypeFromStrictConstantReturnRector ([#5884](https://togithub.com/rectorphp/rector-src/pull/5884))
- \[PHPStan] Handle PHPStan internal ShouldNotHappenException on FamilyRelationsAnalyzer and PHPStanNodeScopeResolver ([#5885](https://togithub.com/rectorphp/rector-src/pull/5885))
- \[NodeTypeResolver] No need to resolve class name on anonymous classes ([#5886](https://togithub.com/rectorphp/rector-src/pull/5886))
- \[PHPStan] Fix missingType.generics notice on phpstan.neon on PHPStan 1.11 ([#5888](https://togithub.com/rectorphp/rector-src/pull/5888))
- \[TypeDeclaration] Skip unitialized property on EmptyOnNullableObjectToInstanceOfRector ([#5889](https://togithub.com/rectorphp/rector-src/pull/5889))
- \[Php80] Skip remove non-mixed type doc on MixedTypeRector ([#5874](https://togithub.com/rectorphp/rector-src/pull/5874))
- \[TypeDeclaration] Add test for nullable object usage on AddReturnTypeDeclarationRector ([#5887](https://togithub.com/rectorphp/rector-src/pull/5887))
- \[Configuration] Add missing LevelSetList::UP_TO_PHP\_84 on PhpLevelSetResolver::resolveFromPhpVersion() ([#5890](https://togithub.com/rectorphp/rector-src/pull/5890))
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled because a matching PR was automerged previously.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^3.57.1
->^3.59.3
^1.11.1
->^1.11.6
^10.5.20
->^10.5.24
^1.0.5
->^1.2.0
Release Notes
PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer)
### [`v3.59.3`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3593) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.59.2...v3.59.3) - refactor: refactor to templated trait+interface ([#7988](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7988)) ### [`v3.59.2`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3592) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.59.1...v3.59.2) - fix: "list" is reserved type ([#8087](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8087)) - chore: add missing type in method prototype ([#8088](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8088)) - CI: bump Ubuntu version ([#8086](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8086)) - deps: bump infection to unblock PHPUnit 11, and few more as chore ([#8083](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8083)) ### [`v3.59.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3591) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.59.0...v3.59.1) - fix: Bump React's JSON decoder buffer size ([#8068](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8068)) - docs: options - handle enums in dicts ([#8082](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8082)) ### [`v3.59.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3590) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.58.1...v3.59.0) - feat(Docker): Multi-arch build (support for `arm64`) ([#8079](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8079)) - feat: `@PhpCsFixer` ruleset - normalise implicit backslashes in single quoted strings ([#7965](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7965)) - feat: `SimpleToComplexStringVariableFixer` - support variable being an array ([#8064](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8064)) - fix: Look up for PHPDoc's variable name by only chars allowed in the variables ([#8062](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8062)) - fix: Update `PhpUnitTestCaseStaticMethodCallsFixer::STATIC_METHODS` ([#8073](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8073)) - fix: `native_constant_invocation` - array constants with native constant names ([#8008](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8008)) - chore: update PHPStan ([#8060](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8060)) - CI: Update PHPStan to 1.11.4 ([#8074](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8074)) - docs: don't expose list as config type for dicts ([#8081](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8081)) - docs: Make wording in `final_class` docs less dismissive ([#8065](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8065)) - docs: Update 1-bug_report.yml ([#8067](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8067)) - DX: Remove version from Docker Compose files ([#8061](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8061)) ### [`v3.58.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3581) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.58.0...v3.58.1) - fix: `ConstantCaseFixer` - do not change class constant usages ([#8055](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8055)) - fix: `PhpUnitTestClassRequiresCoversFixer` - do not add annotation when attribute with leading slash present ([#8054](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8054)) ### [`v3.58.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3580) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.57.2...v3.58.0) - chore(doc): Use FQCN for parallel config in documentation ([#8029](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8029)) - chore: fix typo in `PhpUnitTestClassRequiresCoversFixerTest` ([#8047](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8047)) - chore: RandomApiMigrationFixer - do not modify configuration property ([#8033](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8033)) - chore: Tokens::setCode - further improvements to cache ([#8053](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8053)) - chore: update PHPStan ([#8045](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8045)) - docs: Add missing imports in a cookbook about creating custom rules ([#8031](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8031)) - docs: fix deprecated string interpolation style ([#8036](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8036)) - docs: global_namespace_import - simplify allowed config types ([#8023](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8023)) - feat(GroupImportFixer): Ability to configure which type of imports should be grouped ([#8046](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8046)) - fix: clear `Tokens::$blockStartCache` and `Tokens::$blockEndCache` when calling `Tokens::setCode` ([#8051](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8051)) - fix: correctly handle PHP closing tag with `simplified_null_return` ([#8049](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8049)) - fix: `ConstantCaseFixer` - do not change namespace ([#8004](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8004)) - fix: `PhpUnitAttributesFixer` - do not add attribute if already present ([#8043](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8043)) - fix: `PhpUnitSizeClassFixer` - do not add annotation when there are attributes ([#8044](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8044)) - fix: `PhpUnitTestClassRequiresCoversFixer` - attribute detection when class is `readonly` ([#8042](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8042)) ### [`v3.57.2`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3572) [Compare Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.57.1...v3.57.2) - docs: better ConfigurableFixer allowed types ([#8024](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8024)) - docs: Improve Docker usage example ([#8021](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8021)) - feat: Report used memory to 2 decimal digits only ([#8017](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8017)) - fix: Support named args in `ParallelConfigFactory::detect()` ([#8026](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8026)) - fix: `php_unit_test_class_requires_covers` Attribute detection when class is final ([#8016](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8016))phpstan/phpstan (phpstan/phpstan)
### [`v1.11.6`](https://togithub.com/phpstan/phpstan/compare/1.11.5...1.11.6) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.5...1.11.6) ### [`v1.11.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.11.5) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.4...1.11.5) # Bleeding edge πͺ - Check array functions which require stringish values ([#3132](https://togithub.com/phpstan/phpstan-src/pull/3132)), [#11141](https://togithub.com/phpstan/phpstan/issues/11141), [#5848](https://togithub.com/phpstan/phpstan/issues/5848), [#3694](https://togithub.com/phpstan/phpstan/issues/3694), [#11111](https://togithub.com/phpstan/phpstan/issues/11111), thanks [@schlndh](https://togithub.com/schlndh)! *If you want to see the shape of things to come and adopt bleeding edge features early, you can include this config file in your project's `phpstan.neon`:* includes: - vendor/phpstan/phpstan/conf/bleedingEdge.neon *Of course, there are no backwards compatibility guarantees when you include this file. The behaviour and reported errors can change in minor versions with this file included. [Learn more](https://phpstan.org/blog/what-is-bleeding-edge)* # Improvements π§ - When internal errors occur, do not show other reported errors (https://github.com/phpstan/phpstan-src/commit/aa921137be5b510408bc8df9b8b6fe632ed09db5) - It's important to first solve internal errors before seeing other reported errors - Inspired by [https://github.com/phpstan/phpstan/discussions/11107](https://togithub.com/phpstan/phpstan/discussions/11107) (ReviewDog was eating up important errors) - Show internal errors nicely in PHPStan Pro # Bugfixes π - Fix bug in `get_debug_type()` DynamicFunctionReturnTypeExtension ([#3128](https://togithub.com/phpstan/phpstan-src/pull/3128)), thanks [@patrickkusebauch](https://togithub.com/patrickkusebauch)! - Include path when counting errors ignored by identifier ([#3154](https://togithub.com/phpstan/phpstan-src/pull/3154)), [#11177](https://togithub.com/phpstan/phpstan/issues/11177), thanks [@pilif](https://togithub.com/pilif)! - Implement bit shift operation on integers and unions ([#3145](https://togithub.com/phpstan/phpstan-src/pull/3145)), thanks [@thg2k](https://togithub.com/thg2k)! - Fix division type result with even integer range ([#3152](https://togithub.com/phpstan/phpstan-src/pull/3152)), thanks [@thg2k](https://togithub.com/thg2k)! - Solve identical comparison bug in call-site variance ([#3153](https://togithub.com/phpstan/phpstan-src/pull/3153)), [#11161](https://togithub.com/phpstan/phpstan/issues/11161), [#10697](https://togithub.com/phpstan/phpstan/issues/10697), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! # Function signature fixes π€ - `gnupg_init()` `options` parameter is optional ([#3129](https://togithub.com/phpstan/phpstan-src/pull/3129)), thanks [@yphoenix](https://togithub.com/yphoenix)! - Update outdated `RedisCluster::__construct` signature ([#3130](https://togithub.com/phpstan/phpstan-src/pull/3130)), [#11158](https://togithub.com/phpstan/phpstan/issues/11158), thanks [@wolfgangzwiauer](https://togithub.com/wolfgangzwiauer)! - Improve image related functions signature ([#3127](https://togithub.com/phpstan/phpstan-src/pull/3127)), thanks [@thg2k](https://togithub.com/thg2k)! - Update/fix ext-amqp signatures ([#3139](https://togithub.com/phpstan/phpstan-src/pull/3139)), thanks [@ben-challis](https://togithub.com/ben-challis)! - fix `AMQPQueue::unbind()` routingKey type ([#3143](https://togithub.com/phpstan/phpstan-src/pull/3143)), thanks [@ben-challis](https://togithub.com/ben-challis)! - Add parameter definitions to `AMQPQueue::consume()` callback ([#3144](https://togithub.com/phpstan/phpstan-src/pull/3144)), [#9445](https://togithub.com/phpstan/phpstan/issues/9445), thanks [@ben-challis](https://togithub.com/ben-challis)! - Add int ranges to AMQP typings ([#3146](https://togithub.com/phpstan/phpstan-src/pull/3146)), thanks [@ben-challis](https://togithub.com/ben-challis)! - Various fixes to the return signature of `IntlDateFormatter` methods ([#3149](https://togithub.com/phpstan/phpstan-src/pull/3149)), thanks [@chosten](https://togithub.com/chosten)! - Fix `Exception::getTrace()` return type (https://github.com/phpstan/phpstan-src/commit/492cd89932d873147cdf7acf49c88d432cbce69f) - fix posix_getpwuid ([#3157](https://togithub.com/phpstan/phpstan-src/pull/3157)), thanks [@pistej](https://togithub.com/pistej)! # Internals π - Regression test ([#3136](https://togithub.com/phpstan/phpstan-src/pull/3136)), thanks [@staabm](https://togithub.com/staabm)! - Relax test version restriction ([#3140](https://togithub.com/phpstan/phpstan-src/pull/3140)), thanks [@thg2k](https://togithub.com/thg2k)! - Fix `PrepareCommand::fixComposerJson()` (https://github.com/phpstan/phpstan-src/commit/4537ef1445b910930afa32d7fd8f22b044fdc726) - Internal errors as structured objects (https://github.com/phpstan/phpstan-src/commit/7cd03f02a5c32ca4e51006dc21d6184f73835a14) - WorkerCommand - do not return exit code 1 in case of internal errors, they are handled anyway (https://github.com/phpstan/phpstan-src/commit/f76d836d13fb94e9887260ae18229ad2ca2ce2ce) - NodeScopeResolverTest - remove requires (https://github.com/phpstan/phpstan-src/commit/f6b989881e66445197f6526bfcde868a60472098) - Fix discrepancy between `lint >=` and `PHP_VERSION_ID` in NodeScopeResolverTest (https://github.com/phpstan/phpstan-src/commit/b530b0d53d3fc990dcb0225e0d997af06ee15180) - `TypeInferenceTestCase::gatherAssertTypesFromDirectory()` (https://github.com/phpstan/phpstan-src/commit/595de78d35124d00eed90c09f5fd73cb40351e02) - Take advantage of gatherAssertTypesFromDirectory in NodeScopeResolverTest ([#3159](https://togithub.com/phpstan/phpstan-src/pull/3159)) - Turn TraitsCachingIssueIntegrationTest into a e2e test ([#3151](https://togithub.com/phpstan/phpstan-src/pull/3151)), thanks [@staabm](https://togithub.com/staabm)! ### [`v1.11.4`](https://togithub.com/phpstan/phpstan/releases/tag/1.11.4) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.3...1.11.4) # Improvements π§ - Detect `--generate-baseline` combined with `--pro` (https://github.com/phpstan/phpstan-src/commit/dd028cb4ccc44c6aa12b51f443e8761d5d4efc1d), [#11093](https://togithub.com/phpstan/phpstan/issues/11093) - Add error identifier to RawErrorFormatter ([#3112](https://togithub.com/phpstan/phpstan-src/pull/3112)), [#11125](https://togithub.com/phpstan/phpstan/issues/11125), thanks [@zonuexe](https://togithub.com/zonuexe)! - Pass current rule level to PHPStan Pro (https://github.com/phpstan/phpstan-src/commit/7af14fbfc027b15e3342ac95be783bd3fa1df413) - Read and enforce PHPStan version constraints from `phpstan/extension-installer` v1.4 (https://github.com/phpstan/phpstan-src/commit/1d005ef1e72f77afada37bad491f2b6602f4cc92) # Bugfixes π - Consider `numeric-string` types after string concat ([#3117](https://togithub.com/phpstan/phpstan-src/pull/3117)), thanks [@staabm](https://togithub.com/staabm)! - Fix type loss with recursive `count()` ([#2812](https://togithub.com/phpstan/phpstan-src/pull/2812)), thanks [@staabm](https://togithub.com/staabm)! - `array_slice()` returns `non-empty-array` for existing offsets and positive limit ([#3124](https://togithub.com/phpstan/phpstan-src/pull/3124)), [#10721](https://togithub.com/phpstan/phpstan/issues/10721), thanks [@staabm](https://togithub.com/staabm)! - Consider a `ClosureType()` as maybe impure by default when no `$impurePoints` array provided ([#3125](https://togithub.com/phpstan/phpstan-src/pull/3125)), [#11135](https://togithub.com/phpstan/phpstan/issues/11135), thanks [@jf-m](https://togithub.com/jf-m)! # Function signature fixes π€ - Make the return type of `tempnam()` and `tmpfile()` to benevolent union ([#3111](https://togithub.com/phpstan/phpstan-src/pull/3111)), thanks [@zonuexe](https://togithub.com/zonuexe)! - Fix `gnupg_init` function ([#3118](https://togithub.com/phpstan/phpstan-src/pull/3118)), thanks [@pistej](https://togithub.com/pistej)! # Internals π - Update `react/promise` (https://github.com/phpstan/phpstan-src/commit/da754e2294a619bacc95cd42426e94c17a57365b) ### [`v1.11.3`](https://togithub.com/phpstan/phpstan/releases/tag/1.11.3) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.11.2...1.11.3) # Improvements π§ - Add new `*ParameterClosureTypeExtension` ([#3089](https://togithub.com/phpstan/phpstan-src/pull/3089)), thanks [@canvural](https://togithub.com/canvural)! - DynamicFunctionReturnTypeExtension for the `get_debug_type` function ([#2910](https://togithub.com/phpstan/phpstan-src/pull/2910)), [#10558](https://togithub.com/phpstan/phpstan/issues/10558), [#10585](https://togithub.com/phpstan/phpstan/issues/10585), thanks [@patrickkusebauch](https://togithub.com/patrickkusebauch)! - Infer more duplicated array keys ([#3058](https://togithub.com/phpstan/phpstan-src/pull/3058)), [#6976](https://togithub.com/phpstan/phpstan/issues/6976), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Improve `explode` return type precision ([#3096](https://togithub.com/phpstan/phpstan-src/pull/3096)), thanks [@staabm](https://togithub.com/staabm)! - Make assigning property via reference impure ([#3082](https://togithub.com/phpstan/phpstan-src/pull/3082)), thanks [@schlndh](https://togithub.com/schlndh)! - Support new PHP 8.4 mb_lcfirst, mb_ucfirst function variants ([#3095](https://togithub.com/phpstan/phpstan-src/pull/3095)), thanks [@staabm](https://togithub.com/staabm)! # Bugfixes π - Make `array_map` argument take into account unpack ([#2901](https://togithub.com/phpstan/phpstan-src/pull/2901)), [#10527](https://togithub.com/phpstan/phpstan/issues/10527), thanks [@ryium](https://togithub.com/ryium)! - Fixes incorrect types reported by `parse_url` ([#2918](https://togithub.com/phpstan/phpstan-src/pull/2918)), [#4754](https://togithub.com/phpstan/phpstan/issues/4754), thanks [@ChrisBrenton](https://togithub.com/ChrisBrenton)! - Ensure `$http_response_header` is a `listsebastianbergmann/phpunit (phpunit/phpunit)
### [`v10.5.24`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.24): PHPUnit 10.5.24 [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.23...10.5.24) ##### Changed - [#5877](https://togithub.com/sebastianbergmann/phpunit/pull/5877): Use `array_pop()` instead of `array_shift()` for processing `Test` objects in `TestSuite::run()` and optimize `TestSuite::isEmpty()` *** [How to install or update PHPUnit](https://docs.phpunit.de/en/10.5/installation.html) ### [`v10.5.23`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.23): PHPUnit 10.5.23 [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.22...10.5.23) ##### Changed - [#5875](https://togithub.com/sebastianbergmann/phpunit/pull/5875): Also destruct `TestCase` objects early that use a data provider *** [How to install or update PHPUnit](https://docs.phpunit.de/en/10.5/installation.html) ### [`v10.5.22`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.22): PHPUnit 10.5.22 [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.21...10.5.22) ##### Changed - [#5871](https://togithub.com/sebastianbergmann/phpunit/pull/5871): Do not collect unnecessary information using `debug_backtrace()` *** [How to install or update PHPUnit](https://docs.phpunit.de/en/10.5/installation.html) ### [`v10.5.21`](https://togithub.com/sebastianbergmann/phpunit/releases/tag/10.5.21): PHPUnit 10.5.21 [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.5.20...10.5.21) ##### Changed - [#5861](https://togithub.com/sebastianbergmann/phpunit/pull/5861): Destroy `TestCase` object after its test was run *** [How to install or update PHPUnit](https://docs.phpunit.de/en/10.5/installation.html)rectorphp/rector (rector/rector)
### [`v1.2.0`](https://togithub.com/rectorphp/rector/compare/1.1.1...1.2.0) [Compare Source](https://togithub.com/rectorphp/rector/compare/1.1.1...1.2.0) ### [`v1.1.1`](https://togithub.com/rectorphp/rector/releases/tag/1.1.1): Released Rector 1.1.1 [Compare Source](https://togithub.com/rectorphp/rector/compare/1.1.0...1.1.1) **\[Performance] Fix huge performance hit by reverting children class detection ([#5995](https://togithub.com/rectorphp/rector-src/pull/5995)) - fixes [https://github.com/rectorphp/rector/issues/8679](https://togithub.com/rectorphp/rector/issues/8679), [https://github.com/rectorphp/rector/issues/8638](https://togithub.com/rectorphp/rector/issues/8638), [https://github.com/rectorphp/rector/issues/8637](https://togithub.com/rectorphp/rector/issues/8637)**#### New Rules - \[TypeDeclaration] Add ReturnTypeFromReturnCastRector ([#5905](https://togithub.com/rectorphp/rector-src/pull/5905)) - \[TypeDeclaration] Add ReturnTypeFromSymfonySerializerRector ([#5908](https://togithub.com/rectorphp/rector-src/pull/5908)) - \[TypeDeclaration] Add TypedPropertyFromJMSSerializerAttributeTypeRector ([#5909](https://togithub.com/rectorphp/rector-src/pull/5909)) - \[TypeDeclaration] Add AddTypeFromResourceDocblockRector ([#5915](https://togithub.com/rectorphp/rector-src/pull/5915)) - \[Php74] Add HebrevcToNl2brHebrevRector ([#5977](https://togithub.com/rectorphp/rector-src/pull/5977)) - \[Php74] Add RestoreIncludePathToIniRestoreRector ([#5973](https://togithub.com/rectorphp/rector-src/pull/5973)) - \[Carbon] Init set to migrate DateTime to Carbon ([#5868](https://togithub.com/rectorphp/rector-src/pull/5868)) - \[Carbon] Add immutable support to other rules ([#5896](https://togithub.com/rectorphp/rector-src/pull/5896)) - Convert DateTimeImmutable to CarbonImmutable ([#5895](https://togithub.com/rectorphp/rector-src/pull/5895)) - Convert time() to Carbon::now()->timestamp ([#5901](https://togithub.com/rectorphp/rector-src/pull/5901)), Thanks [@kylekatarnls](https://togithub.com/kylekatarnls)!
#### New Features and DX improvements :partying_face: - **Add code quality levels** ([#5910](https://togithub.com/rectorphp/rector-src/pull/5910)), Thanks [@carlos-granados](https://togithub.com/carlos-granados)! - **\[DX] Introduce set providers**, to enable package + version based set registration ([#5976](https://togithub.com/rectorphp/rector-src/pull/5976)) - \[DX] Report rules that registered in withSkip() but never registered in withRules() ([#5919](https://togithub.com/rectorphp/rector-src/pull/5919)) - \[Set] Add new rector-preset set to have opiniated rector rules that can be enabled in rector-src and its extension ([#5924](https://togithub.com/rectorphp/rector-src/pull/5924)) - \[DeadCode] Add RemoveUnusedPublicMethodParameterRector ([#5925](https://togithub.com/rectorphp/rector-src/pull/5925)) - \[TypeDeclaration] Handle double declare(strict_types=1) addition on DeclareStrictTypesRector + IncreaseDeclareStrictTypesRector ([#5928](https://togithub.com/rectorphp/rector-src/pull/5928)) - \[CodingStyle]\[Php80] Add join func call support on ConsistentImplodeRector ([#5958](https://togithub.com/rectorphp/rector-src/pull/5958)) - \[CodeQuality] Add support for (), {}, \[], <> delimiter on RegexPatternDetector ([#5957](https://togithub.com/rectorphp/rector-src/pull/5957)) - \[TypeDeclaration] Add Static Call support on AddMethodCallBasedStrictParamTypeRector ([#5960](https://togithub.com/rectorphp/rector-src/pull/5960)) - \[Config] Add withPhpPolyfill() method to load php polyfill set on RectorConfigBuilder ([#5983](https://togithub.com/rectorphp/rector-src/pull/5983)) - **\[DX] Add ->withPhpXSets() for PHP 7.4 and lower, improve ->withPreparedSets()** ([#5984](https://togithub.com/rectorphp/rector-src/pull/5984)) - \[config] Disable parallel on --debug ([#5904](https://togithub.com/rectorphp/rector-src/pull/5904)) - \[Php80] Skip mixed doc with description and valid doc on MixedTypeRector ([#5906](https://togithub.com/rectorphp/rector-src/pull/5906)) - \[DX] Add `withPhpPolyfills()` method to add polyfill rules ([#5981](https://togithub.com/rectorphp/rector-src/pull/5981)) [https://github.com/rectorphp/rector-src/pull/5983](https://togithub.com/rectorphp/rector-src/pull/5983) - \[DX] Ommit static functions/closure from coding-style, as often ignored and depends on personal preference ([#5916](https://togithub.com/rectorphp/rector-src/pull/5916)) - \[DX] Ommit post-inc to pre-inc rule from coding-style as too opinionated ([#5917](https://togithub.com/rectorphp/rector-src/pull/5917)) - \[DX] Remove UseIncrementAssignRector from coding-style set, as often ignored ([#5920](https://togithub.com/rectorphp/rector-src/pull/5920))
#### Bugfixes :bug: - \[AutoImport] No need RenamedClassesDataCollector usage on UsesClassNameImportSkipVoter ([#5921](https://togithub.com/rectorphp/rector-src/pull/5921)) - \[Php81] Skip private method from instantiated class on FirstClassCallableRector ([#5929](https://togithub.com/rectorphp/rector-src/pull/5929)) - \[NodeTypeCorrector] Directly use StringType on Intersection of strings on AccessoryNonEmptyStringTypeCorrector ([#5933](https://togithub.com/rectorphp/rector-src/pull/5933)) - \[CodeQuality] Allow check in current Class\_ with multiple props on CompleteDynamicPropertiesRector ([#5938](https://togithub.com/rectorphp/rector-src/pull/5938)) - \[Naming] Handle rename property with only comment, without [@var](https://togithub.com/var) doc on RenamePropertyToMatchTypeRector ([#5945](https://togithub.com/rectorphp/rector-src/pull/5945)) - Remove the renaming of apache_request_headers ([#5943](https://togithub.com/rectorphp/rector-src/pull/5943)), Thanks [@rhuijts](https://togithub.com/rhuijts)! - \[Naming] Handle nullable object [@var](https://togithub.com/var) docblock on RenamePropertyToMatchTypeRector ([#5946](https://togithub.com/rectorphp/rector-src/pull/5946)) - \[Php81] Skip param variable used in next stmt after coalesce on NewInInitializerRector ([#5971](https://togithub.com/rectorphp/rector-src/pull/5971)) - \[Php71] Skip call abstract method on RemoveExtraParametersRector ([#5930](https://togithub.com/rectorphp/rector-src/pull/5930)) - \[TypeDeclaration] Do not remove docblock with description on MergeDateTimePropertyTypeDeclarationRector ([#5931](https://togithub.com/rectorphp/rector-src/pull/5931)) - \[DeadCode] Remove param docblock on RemoveUnusedPromotedPropertyRector when exists ([#5936](https://togithub.com/rectorphp/rector-src/pull/5936)) - \[Cleanup] Remove deprecated AttributeKey::PARENT_NODE, remove deprecated NodeNameResolver::isCaseSensitiveName() ([#5939](https://togithub.com/rectorphp/rector-src/pull/5939)) - \[NodeTypeResolver] Remove Property->type instanceof Node check on NodeTypeResolver->getType() ([#5947](https://togithub.com/rectorphp/rector-src/pull/5947)) - \[BetterPhpDocParser] Remove unnecessary PrivatesAccessor usage on BetterTokenIterator and TokenIteratorFactory ([#5950](https://togithub.com/rectorphp/rector-src/pull/5950)) - \[DeadCode] Skip dynamic variable on RemoveUnusedVariableAssignRector ([#5964](https://togithub.com/rectorphp/rector-src/pull/5964)) - \[DeadCode] Reduce loop for used in next stmt on RemoveUnusedVariableAssignRector ([#5969](https://togithub.com/rectorphp/rector-src/pull/5969))
#### Removed and Deprecated :skull: - Remove deprecated and empty FinalizeClassesWithoutChildrenRector + FinalizePublicClassConstantRector ([#5980](https://togithub.com/rectorphp/rector-src/pull/5980)) - \[DX] Soft-deprecate CallableThisArrayToAnonymousFunctionRector, as FirstClassCallableRector handles the same case better ([#5918](https://togithub.com/rectorphp/rector-src/pull/5918)) ### [`v1.1.0`](https://togithub.com/rectorphp/rector/releases/tag/1.1.0): Released Rector 1.1.0 [Compare Source](https://togithub.com/rectorphp/rector/compare/1.0.5...1.1.0) #### New Features :partying_face: - \[PHPStan] Bump to PHPStan 1.11 ([#5883](https://togithub.com/rectorphp/rector-src/pull/5883)) #### Bugfixes :bug: - \[CodeQuality] Skip increment variable on else on TernaryFalseExpressionToIfRector ([#5867](https://togithub.com/rectorphp/rector-src/pull/5867)) - \[CodeQuality] Skip on property and class const on CallableThisArrayToAnonymousFunctionRector ([#5869](https://togithub.com/rectorphp/rector-src/pull/5869)) - \[NodeTypeResolver] Using built int ->isArray()->yes() on ArrayTypeAnalyzer::isArrayType() ([#5870](https://togithub.com/rectorphp/rector-src/pull/5870)) - Fix "method x was not found in reflection of class" ([#5871](https://togithub.com/rectorphp/rector-src/pull/5871)), Thanks [@staabm](https://togithub.com/staabm)! - \[NodeTypeResolver] Clean up array check on NameTypeResolver ([#5872](https://togithub.com/rectorphp/rector-src/pull/5872)) - \[NodeTypeResolver] Clean up "this" from NameTypeResolver, as not from Name node ([#5873](https://togithub.com/rectorphp/rector-src/pull/5873)) - \[TypeDeclaration] Skip array by doc with different assign on ReturnTypeFromStrictNewArrayRector ([#5875](https://togithub.com/rectorphp/rector-src/pull/5875)) - \[TypeDeclaration] Skip possible array on StrictStringParamConcatRector ([#5876](https://togithub.com/rectorphp/rector-src/pull/5876)) - \[Performance] Ensure call $reflector->reflectAllClasses() once on Worker take 3 ([#5878](https://togithub.com/rectorphp/rector-src/pull/5878)) - \[Performance] Call cached class names collection on FamilyRelationsAnalyzer ([#5879](https://togithub.com/rectorphp/rector-src/pull/5879)) - \[NodeTypeResolver] Clean up resolve cache class name key ([#5880](https://togithub.com/rectorphp/rector-src/pull/5880)) - \[NodeTypeResolver] No need json_decode/json_encode for cache class name collection ([#5881](https://togithub.com/rectorphp/rector-src/pull/5881)) - \[TypeDeclaration] Handle crash on interface Mixin on ReturnTypeFromStrictConstantReturnRector ([#5884](https://togithub.com/rectorphp/rector-src/pull/5884)) - \[PHPStan] Handle PHPStan internal ShouldNotHappenException on FamilyRelationsAnalyzer and PHPStanNodeScopeResolver ([#5885](https://togithub.com/rectorphp/rector-src/pull/5885)) - \[NodeTypeResolver] No need to resolve class name on anonymous classes ([#5886](https://togithub.com/rectorphp/rector-src/pull/5886)) - \[PHPStan] Fix missingType.generics notice on phpstan.neon on PHPStan 1.11 ([#5888](https://togithub.com/rectorphp/rector-src/pull/5888)) - \[TypeDeclaration] Skip unitialized property on EmptyOnNullableObjectToInstanceOfRector ([#5889](https://togithub.com/rectorphp/rector-src/pull/5889)) - \[Php80] Skip remove non-mixed type doc on MixedTypeRector ([#5874](https://togithub.com/rectorphp/rector-src/pull/5874)) - \[TypeDeclaration] Add test for nullable object usage on AddReturnTypeDeclarationRector ([#5887](https://togithub.com/rectorphp/rector-src/pull/5887)) - \[Configuration] Add missing LevelSetList::UP_TO_PHP\_84 on PhpLevelSetResolver::resolveFromPhpVersion() ([#5890](https://togithub.com/rectorphp/rector-src/pull/5890))
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled because a matching PR was automerged previously.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.