[Conductor] Update dev - #120
Merged
Merged
Conversation
Contributor
Author
github-actions
Bot
force-pushed
the
conductor-multiple-vendors-all-87082
branch
from
September 4, 2026 13:27
904df64 to
14e7dd3
Compare
Conductor executed the following commands: composer update friendsofphp/php-cs-fixer:v3.95.24 phpstan/phpstan:2.2.13 rector/rector:2.6.6 --with-all-dependencies --minimal-changes
private-packagist
Bot
force-pushed
the
conductor-multiple-vendors-all-87082
branch
from
September 4, 2026 13:27
14e7dd3 to
47c211a
Compare
Contributor
Author
|
The composer.lock diff comment has been updated to reflect new changes in this PR. |
private-packagist
Bot
deleted the
conductor-multiple-vendors-all-87082
branch
September 7, 2026 12:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was automatically generated by Conductor.
The PR contains the changes generated by running the following command:
Changelog
friendsofphp/php-cs-fixer (Source: GitHub Releases))
v3.95.24
What's Changed
PhpdocOrderFixer- fix type of duplicated tags passed tonaturalLanguageJoinby @kubawerlos in #9818DescribeCommand- replace dynamic method calls with explicit ones by @kubawerlos in #9817ControlStructureBracesFixer- do not read a body starting with a parenthesis as a condition by @xirvik in #9815.gitignoreby @keradus in #9813New Contributors
Full Changelog: v3.95.23...v3.95.24
v3.95.23
What's Changed
FunctionsAnalyzer- detect return type of a closure with auseclause by @lazerg in #9806Full Changelog: v3.95.22...v3.95.23
v3.95.22
What's Changed
StaticLambdaFixer- do not make a lambda static when it is the direct subject of bindTo() or call() by @Amoifr in #9802Utils- fixstableSort()andsortFixers()template types, remove@phpstan-ignoresuppressions by @kubawerlos in #9798Preg::replaceCallback()extension by @kubawerlos in #9799New Contributors
Full Changelog: v3.95.21...v3.95.22
v3.95.21
What's Changed
StatementIndentationFixer- do not treat ternary colon as block start by @lazerg in #9795NameQualifiedTransformertoken insertion by @live627 in #9759Full Changelog: v3.95.20...v3.95.21
phpstan/phpstan (Source: GitHub Releases)
2.2.13
Result cache finally becomes usable for monorepo setups. It knows exactly what needs to be reanalysed when PHP files included via
"type": "path"Composer dependencies are edited and also when files inscanFiles/scanDirectoriesare edited. 🔍✏️Many result cache bugs were squashed 🐛 and the serialization format changed to a much more efficient one. 🏎️
Bleeding edge 🔪
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: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
Improvements 🔧
@templatetypes when a template of that name is in scope (#6322), #15145array{TKey: string}with@template TKeyaboveBugfixes 🐛
symfony/polyfill-*packages bundled with PHPStan itself (#6351), #15150@varreferenced classes (#6343), thanks @Mika-!new Foo()reach an inferred template argument (#6363), #15166Performance 🏎️
serialize()format instead of a var_export'd PHP file (#5982), thanks @SanderMuller!scanFilesandscanDirectoriesnow properly invalidate files dependent on them in the result cache #6352"repositories"with"type": "path"(#6356)clear-result-cacheto get fresh resultstmpDirchanges (#6359), thanks @SanderMuller!Function signature fixes 🤖
password_get_info()the array shape it always returns (#6299), thanks @SanderMuller!Internals 🔍
2.2.12
Improvements 🔧
Bugfixes 🐛
@templatebounds (#6316)Performance 🏎️
2.2.11
Improvements 🔧
result-cache-infocommand reporting how the nextanalysewould use the result cache (#6312), #15135Bugfixes 🐛
Foo & .5as an intersection, not as a reference (phpstan/phpdoc-parser@58390a4)2.2.10
This release brings improved performance and reduced memory consumption, mainly thanks to:
proc_open(), they are forked withpcntl_fork(), saving time to bootstrap PHPStanFeel free to comment how PHPStan 2.2.9 vs. 2.2.10 perform on your project! 🚀
Bleeding edge 🔪
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: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
Improvements 🔧
Bugfixes 🐛
Performance 🏎️
Function signature fixes 🤖
Internals 🔍
2.2.9
Improvements 🔧
Bugfixes 🐛
IntegerRangeType(#5771), #14654, thanks @staabm and @SanderMuller!@internalusages of anonymous class members (#6235), #13042, thanks @peter17!Performance 🏎️
HasOffsetType,HasOffsetValueTypeintersection (#6195), #15061, thanks @staabm!Rules\LazyRegistry,Collectors\Registry: Cache extension-class-names (#6205), thanks @staabm!src/Rules/Api/*Rule: cheap checks first (#6206), thanks @staabm!UnionType->getFiniteTypes()(#6210), thanks @staabm!FiniteTypeSet->key()(#6228), thanks @staabm!UnionType->isNull()(#6232), thanks @staabm!UnionType->isCallable()(#6233), thanks @staabm!Function signature fixes 🤖
Internals 🔍
@internallogic intoRestrictedInternalUsageHelper(#6230), thanks @staabm!FiniteTypeSet(#6229), thanks @staabm!rector/rector (Source: GitHub Releases))
2.6.6
File selection
--filteroption to narrow processed files (#8419)New
--filteroption keeps only files whose path matches all given patterns. Repeat the option to require several patterns at once, handy for scoping a run to a subtree or a naming convention without editing config paths.Before: process every file under the given paths. After: process only files matching all
--filterpatterns.Bugfixes 🐛
RectorConfig::tag()as a no-op BC layer (#8431)TypeDeclarationDocblocks: fix invalid array-in-key docblock when narrowing long array unions (#8430)BetterPhpDocParser: keep import used only in an annotation array key (#8429)RenameVariableToMatchMethodCallReturnTypeRector: fix partial rename with same-named nested arrow param (#8428)ArrayFirstLastRector: skip nested compound assignment (#8425)ReturnTypeFromStrictNewArrayRector: add doc return type only for list and generic arrays (#8423), skip noisy array-shape union return docblock (#8422)Extension packages
rector-phpunit 🟢
AllowMockObjectsForDataProviderRector: skip dynamic method call (#781)AssertEmptyNullableObjectToAssertInstanceofRector: skipassertNull/assertEmpty(#780)AddSeeTestAnnotationRector: skip existing imported or short@seeannotation (#779)rector-downgrade-php ⬇️
DowngradeSetAccessibleReflectionPropertyRector: handlegetProperties()/getMethods()loop (#396)DowngradeHashAlgorithmXxHashRector: skipPHP_VERSION_IDguardedhash()calls (#394)Internal / cleanup
mspirkov/yii2-rectorlink to README (#8427)??expression (#8421)2.6.5
Caching
This release makes the cache smarter about config changes - fewer needless full re-runs, while still invalidating when results could actually differ.
Configured rule value changes now invalidate the cache (#8400)
withConfiguredRule()stored its config on theRectorConfiginstance only, never in the cache hash. Changing a rule's values - same class, different config - kept serving the stale result.return RectorConfig::configure() ->withConfiguredRule(SomeRector::class, [ - 'old value', + 'new value', ]);Before: cache kept, files re-analysed with stale value. After: cache dropped, re-analysed with new value. Merged config now flows through a
RULE_CONFIGURATIONSparameter into the strict cache hash. Upgrading invalidates the cache once for projects using configured rules.--only <Rule>reuses the full-run cache (#8400)Each
--onlyselection has its own cache namespace, so a file left clean by a prior full run was re-analysed under--onlyeven when nothing changed. A scoped run now falls back to the full-run cache (read only, file content still compared, so real edits are still picked up).Before:
--onlyre-analyses every file. After: skips files the full run already left clean.Directional cache invalidation on config change (#8397)
Previously any change to any config parameter dropped the whole cache. Now changes are compared by direction:
--parallel, memory limit, deprecation notices) -> never invalidatereturn RectorConfig::configure() ->withRules([ SomeRector::class, - OtherRector::class, // removing a rule -> cache kept ]);return RectorConfig::configure() ->withSkip([ SomeRector::class, + AnotherRector::class, // adding a skip -> cache kept ]);Before: full cache dropped, every file re-analysed. After: cache kept, only changed files re-analysed. A legacy cache value from an older version triggers a single safe reset.
Bugfixes 🐛
FunctionFirstClassCallableRector(#8398)IfToNullCoalescingAssignRector: fix isset guard never converting (#8389), keep comments aboveif(#8388), skip non-nullable typed property (#8387)InlineIfToExplicitIfRector: skip same local method call and call chain (#8417, #8418)ArrowFunctionDelegatingCallToFirstClassCallableRector: skip callee arity mismatch (#8391)Deprecations 💀
Rules:
ShortenElseIfRector(#8416)CombineIfRector(#8413)ExplicitBoolCompareRector- can make if-train less readable (#8412)SimplifyIfElseToTernaryRector- avoids less readable code (#8411)Sets and config:
SetList::IF- rules moved into code-quality and coding-style sets (#8414)SetList::INSTANCEOF- rules moved into code-quality and type-declaration sets (#8408)SetList::PHP_*constants - usewithPhpSets()/withPhpLevel()instead (#8405)withCacheMetaExtension()as@deprecated(#8415)withSetProviders()(#8392)Console commands:
list-rules(#8396),setup-ci(#8394),custom-rule(#8393)githubandgitlaboutput formats (#8390)Internal / cleanup
symplify/easy-parallelintosrc/Parallel(#8401)RectorCheaperGuardsFirstRulefromsymplify/phpstan-rules(#8404)SingleServiceRegistrationRule, drop unusedreact/promise(#8403)RelatedConfigInterface, dead stub files (#8395, #8407)2.6.4
A tooling release under the hood: Rector's dependency-injection container moves off
illuminate/containerontoentropy/entropy, and composer-based sets now target the lowest declared version of a library instead of guessing the current one.New rules 🎉
rector-src
IfToNullCoalescingAssignRector— convert anifnull-guard into??=(#8356)ArrayKeysToArrayKeyFirstLastRector—array_keys($a)[0]→array_key_first($a)(#8238)rector-symfony
WebLinkStringRelationsToConstantsRector(#1058)Engine 🔧
illuminate/containertoentropy/entropy(#8362) — lighter container, order-independent service collections viaautodiscover()projectpackage type is treated as an application (#8359, #8363)PhpVersionFactoryas a public service so third-party rules can autowire it (#8365)Bugfixes 🐛
rector-src
ClassMethodArrayDocblockParamFromLocalCallsRectoron methods overriding a parent/interface (#8357)@param arraywhen the local call type conflicts with the default value (#8381)oussuffix inRenameForeachValueVariableToMatchExprVariableRector(#8382)rector-symfony
CommandConfigureToAttributeRectoron non-constantconfigure()values (#1057)ContainerGetNameToTypeInTestsRectorwhen the named service has no matching FQCN service (#1051)OptionNameRectorwhen no option name changes (#1044)rector-phpunit
AddInstanceofAssertForNullableArgumentRectorduplicatingassertInstanceOfinside traits (#773)MatchAssertSameExpectedTypeRectorrewriting a passing assert into a failing one (#771)Set changes 📈
rector-src
FlipNegatedTernaryInstanceofRectorto the code quality level (#8385)rector-symfony
RequestIsMainRectorand other version-bonded rules to the composer-based set (#1048, #1045)GetFiltersAndFunctionsToAsTwigAttributeRector— support arrow-call functions; gate onsymfony/twig-bridge7.3, not twig alone (#1043, #1050)ANNOTATIONS_TO_ATTRIBUTESas@internalinstead of@deprecated(#1053)rector-doctrine
AddAnnotationToRepositoryRectorto the composer-based set only (#510)Deprecations 💀
Deprecated rules run without any effect, print a warning and will be removed in a future major release.
rector-symfony
InlineClassRoutePrefixRector(#1049)AddTraitGetterReturnTypeBasedOnSetterRequiredRector(#1047)LiteralGetToRequestClassConstantRector(#1046)Removals 💀
rector-src
CallLikeThisBoundClosureArgsNodeVisitorand its unread attribute (#8373)Task options
If you close the PR, the task will be skipped and Conductor will schedule the next task. Clicking the "Skip" button in the UI has the same effect. Conductor won't attempt to update the dependency to this exact version again but it will schedule updates to newer versions.
Powered by Private Packagist