Repository navigation
[Conductor] Update dev - #131
Merged
Merged
Conversation
Contributor
Author
github-actions
Bot
force-pushed
the
conductor-multiple-vendors-all-92983
branch
from
October 12, 2026 09:01
93c9cfc to
9396697
Compare
Conductor executed the following commands: composer update phpstan/phpstan:2.3.1 phpstan/phpstan-phpunit:2.1.1 phpunit/phpunit:10.5.66 rector/rector:2.7.0 --with-all-dependencies --minimal-changes
private-packagist
Bot
force-pushed
the
conductor-multiple-vendors-all-92983
branch
from
October 12, 2026 09:01
9396697 to
5ca4548
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-92983
branch
October 19, 2026 14:05
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
phpstan/phpstan (Source: GitHub Releases)
2.3.1
Same performance, smaller package
We've heard your feedback. PHPStan 2.3.0 was chonky! It weighed 104 MB when downloaded and 268 MB after being unzipped in your
vendor/.Afer #6703, PHPStan 2.3.1 weighs just under 28 MB when downloaded and 87 MB unzipped.
Improvements 🔧
phpstan/turbo(Composer PIE package) (#6705)Bugfixes 🐛
Performance 🏎️
Internals 🔍
2.3.0
This release fixes a whopping 75 issues! 🚀
Read about PHPStan 2.3.0 on the blog » I promise it's worth checking it out yourself, and not just letting your agent summarize it for you 😉 It contains a lot of interactive widgets with practical examples of the new features in action.
Major leap in performance. Back in December 2025 with PHPStan 2.1.33, as an example, analysing WordPress core took 60 seconds. With today's PHPStan 2.3.0, it takes under 8 seconds. Similar performance speedups can be observed across many codebases.
PHPStan Turbo speeds up PHPStan by 60% over the no-Turbo baseline.
Bleeding edge 🔪
new Foo()from usages, aka "Bidirectional type narrowing" (#6332), #6732, #12704, #10419, #14647, #13431, #12601, #12490, #12420, #11835, #11435, #10290, #10289, #5741, #8031, #10783, #15147, #13325staticvariable from what the function body does with it (#6617, #6619), #7066If 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 🔧
@pure-unless-parameter-passed(#6018, #6666), #11884, thanks @zonuexe!static::FOO_*andT::FOO_*PHPDoc types once the class is known (#6638), #4548, #11510Bugfixes 🐛
isset()conditions (#6382), #9426, #6379, #12786require.phpconstraint inScope::getPhpVersion()(#6476), #15270, thanks @staabm and @VincentLanglet!@phpstan-assert, conditional return types and call effects when the nullsafe chain may short-circuit (#6486), #15016, #12925, thanks @VincentLanglet and @staabm!neverinMutatingScope::intersectButNotNever()instead of widening it tonull(#6504), #15285Scope::getPhpVersion()instead of the injectedPhpVersion(#6496), #13133, thanks @staabm and @VincentLanglet!neverand attribute PHP version checks fromScope::getPhpVersion()(#6510), #13133, thanks @staabm and @VincentLanglet!Scope::getPhpVersion()(#6536), thanks @staabm!Scope::getPhpVersion()(#6551), thanks @staabm!Scope::getPhpVersion()and forbid injectingPhpVersioninto them (#6563), #15287, thanks @staabm and @SanderMuller!Scope::getPhpVersion()(#6600), thanks @staabm!isCallable()of callable-like arrays and strings only where the answer is consumed (#6559), #15292??to null in a non-true context only when its other values cannot satisfy it (#6581)TemplateTypeHelper::resolveTemplateTypes()maps to itself (#6613), #15321, thanks @staabm!Performance 🏎️
PhpMethodReflection::getName()and return the right operand on aTypeCombinatorCachememo hit (#6489)zv::Args(#6561), thanks @zonuexe!ConstantArrayType->checkOurKeys()(#6649), thanks @staabm!checkOurKeys()(#6661), thanks @staabm!TypeTraverser::mapMemoized()(#6652), #15348, thanks @staabm and @SanderMuller!Function signature fixes 🤖
json_encode,json_decode,filter_var,filter_input,openlogandZipArchive::openflags (#6571), #15306, thanks @VincentLanglet!ConstantTypeHelper::getTypeFromValue()likeOversizedArrayBuilder(#6572), #15305, thanks @staabm!Internals 🔍
2.2.17
This is the last release in 2.2.x series. Look forward to PHPStan 2.3.0 which is going to be released next week with the following highlights:
Here's what new and changed in PHPStan 2.2.17:
Improvements 🔧
Bugfixes 🐛
DuplicateKeysInLiteralArraysRule(#6635), #15295, thanks @VincentLanglet and @staabm!Performance 🏎️
Function signature fixes 🤖
SessionHandler::read()tostring|false(#6639), thanks @Firehed!Internals 🔍
phpstan/phpstan-phpunit (Source: GitHub Releases))
2.1.1
AssertEmptyIsDiscouragedRuleis auto-fixable (#342)AssertSameWithCountRuleauto-fixable (#259)2.1.0
2.0.21
AssertEmptyIsDiscouragedRule: in case you are using PHPStan strict-rules
assertEmpty: falseoption, you can ignore the newly added errors by error-identifierphpunit.assertEmpty.2.0.20
AssertEmptyIsDiscouragedRule: in case you are using PHPStan strict-rules
assertEmpty: falseoption, you can ignore the newly added errors by error-identifierphpunit.assertEmpty.phpunit/phpunit (Source: GitHub Releases))
10.5.66
Changed
Learn how to install or update PHPUnit 10.5 in the documentation.
Keep up to date with PHPUnit:
rector/rector (Source: GitHub Releases))
2.7.0
New Rules ✨
TernaryToNullsafeCoalesceRector(#8499)BoolReturnTypeFromBooleanConstAndStrictReturnsRectorfor mixed const + strict bool returns (#8498)ConstructorReadonlyAssignToDefaultRectorfor readonly property defaults (#8502)RemoveOverriddenAssignBeforeIfElseRector(#8505)Performance Improvements 🚀
ShortNameResolver, so name import no longer rescans the whole file for every name - up to ~24 % fewer CPU instructions on large projects (#8524)FileDiffhas no content change (#8523)FileSystem::writeAtomic()inFileCacheStorageto avoid partial cache reads on parallel runs (#8520)Bugfixes 🐛
RenamePropertyRector: rename the property both in the trait and in the class property itself (#8518)RenameClassRector: throw on same old and new class in the configuration (#8515)ScalarParamTypeByMethodCallTypeRector: skip string param inference to avoid unsafe scalar coercion (#8514)RepeatedAndNotEqualToNotInArrayRector/RepeatedOrEqualToInArrayRector: skip short-circuit dependent values (#8516)SeparateMultiUseImportsRector: keep traituseadaptations (#8510)Privatize*Rector: drop thefinalflag when changingprotectedtoprivate, sinceprivate finalis forbidden on PHP 8.4 (#8509)AddNameToBooleanArgumentRector/AddNameToNullArgumentRector: skip callees marked@no-named-arguments(#8508)TypedPropertyFromStrictConstructorRector: skip a protected property redeclared in a child class (#8503)RemoveAlwaysTrueIfConditionRector: skip a maybe-undefined variable (#8501)SingularSwitchToIfRector: skip nestedbreak/continuein the case body (#8500)TypeDeclaration: skip redundant intersection types in union return types (#8527)data/infountouched when singularizing (#8492)rector-doctrine 🟠
DoctrineQueryBuilderSortDirectionRector(#524)DoctrineOrderByAttributeSortDirectionRector(#525)Expr\OrderBy::add()(#530)CorrectDefaultTypesOnEntityPropertyRector: support properties initialized asint(#526)rector-symfony 🎵
GetRequestRector: reuse an existing untyped$requestparam (#1066)CommandConfigureToAttributeRector: do not report a change when nothing is extracted (#1068)PhpAstExtractorimport removal in the composer-based Symfony set (#1070)rector-phpunit 🟢
WillReturnCallbackFallbackToReturnFalseRector(#784)FlipAssertRectorto more assert methods and expected value shapes (#787)AllowMockObjectsForDataProviderRector: skip stub-only->method()calls (#790)ConfiguredMockEntityToSetterObjectRectoras experimental (#789)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