Skip to content

[Conductor] Update dev - #84

Merged
pscheit merged 1 commit into
mainfrom
conductor-multiple-vendors-all-87041
Sep 7, 2026
Merged

pscheit merged 1 commit into
mainfrom
conductor-multiple-vendors-all-87041

Conversation

@private-packagist

@private-packagist private-packagist Bot commented Aug 29, 2026 •

Copy link
Copy Markdown
Contributor

This PR was automatically generated by Conductor.

The PR contains the changes generated by running the following command:

composer update phpstan/phpstan:2.2.13 phpunit/php-file-iterator:6.0.2 phpunit/phpunit:12.5.34 sebastian/diff:7.0.1 --with-all-dependencies --minimal-changes

Changelog

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 in scanFiles/scanDirectories are edited. 🔍✏️

Many result cache bugs were squashed 🐛 and the serialization format changed to a much more efficient one. 🏎️

Bleeding edge 🔪

  • Level 5: Report in-place sort calls that cannot change the array (#​6296), #​15126

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

Improvements 🔧

  • Interpret array shape keys as @​template types when a template of that name is in scope (#​6322), #​15145
    • Allows types like array{TKey: string} with @​template TKey above

Bugfixes 🐛

  • Do not bind a template type to an argument absorbed by another union member (#​6341), #​8441
  • Normalize the result cache meta before comparing it with the restored one (#​6346), #​15125, #​15152
  • Let OpenSslCipherMethodsProvider contribute its own result cache meta (#​6338), thanks @​SanderMuller!
  • Resolve template defaults referencing other templates in composite types (#​6329), thanks @​calebdw!
  • Rename the result cache into place instead of writing it over the old one (#​6349, #​6353), thanks @​SanderMuller!
  • Do not locate symbols declared by the symfony/polyfill-* packages bundled with PHPStan itself (#​6351), #​15150
  • Stop interning TypeCombinator results in the turbo extension (#​6355), #​15151
  • Cover a file newly appearing in a scanDirectories directory (#​6352), #​15149
  • Fixed various bugs where the result cache could become stale (#​6357)
  • Fix result cache invalidation with @​var referenced classes (#​6343), thanks @​Mika-!
  • Re-analyse the files with errors when a Composer package changes (#​6362), #​15164
  • Do not let the exactness of new Foo() reach an inferred template argument (#​6363), #​15166
  • Invalidate the result cache when any extension file changes (#​6368)

Performance 🏎️

  • PHPStan always runs with OPCache (#​6324, #​6325)
  • Strip run-time type checks from PHPStan's own code with a turbo optimizer pass (phpstan/phpstan-src@​3788169)
  • Store the result cache in a framed serialize() format instead of a var_export'd PHP file (#​5982), thanks @​SanderMuller!
  • Edited PHP files from scanFiles and scanDirectories now properly invalidate files dependent on them in the result cache #​6352
    • Previously they invalidated the whole result cache and full analysis was necessary, this is no longer the case
  • Result cache now notices edited PHP files in Composer dependencies added via "repositories" with "type": "path" (#​6356)
    • Previously the result cache didn't notice this edit so it became stale and you had to run clear-result-cache to get fresh results
  • HashFunctionsReturnTypeExtension: init hash-algorithm list lazily (#​6345), thanks @​staabm!
  • Keep the result cache when the turbo extension is switched on or off (#​6335), thanks @​SanderMuller!
  • Track scanned files as file dependencies instead of invalidating the whole result cache (#​6352), #​15149
  • Do not invalidate the result cache when tmpDir changes (#​6359), thanks @​SanderMuller!

Function signature fixes 🤖

Internals 🔍

  • Cover constant fetch, enum case, static call, instanceof and typehints in checkImportedClassNameCase tests (#​6347), thanks @​janedbal!

2.2.12

Improvements 🔧

Bugfixes 🐛

  • Look up the stub PHPDoc of a class only when it is read (#​6316), #​15120
  • Export PHPDoc name scopes without resolving @​template bounds (#​6316)
  • Read property virtuality off the native reflection when exporting nodes (#​6316)
  • Keep the turbo code that runs before the Composer autoloader polyfill-free (#​6319), #​15137
  • End forked workers with _exit() instead of PHP's full teardown (#​6320), #​15138, #​15142

Performance 🏎️

2.2.11

Improvements 🔧

  • Add a result-cache-info command reporting how the next analyse would use the result cache (#​6312), #​15135

Bugfixes 🐛

2.2.10

This release brings improved performance and reduced memory consumption, mainly thanks to:

  • Forking parallel workers where available:
    • Instead of spawning processes with proc_open(), they are forked with pcntl_fork(), saving time to bootstrap PHPStan
    • This requires PHPStan Turbo extension (already present if you install PHPStan with Composer) and non-Windows OS
  • Deduped objects held in memory by BetterReflection
  • Turbo extension-accelerated directories symbols scanning which allowed us to remove caching of this data and locking in worker processes

Feel 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:

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

Improvements 🔧

  • Notify in CI when a full analysis ran without a pre-existing result cache for more than 60 seconds (#​5954), #​14881, thanks @​staabm!
  • Emit node callbacks after the node's results are stored and drop FNSR introduced in 2.1.34 (#​6248)
  • Report peak memory per process instead of a summed total (#​6297)

Bugfixes 🐛

  • Return the operand from union() for equal array operands, not just identical ones (#​6257), thanks @​AJenbo!
  • Preserve surviving offsets when popping or shifting a list (#​6274)
  • Account for deduplicated trait errors per using-class context (#​6280), #​14932
  • Revert "Consult bootstrap-registered custom autoloaders only after the static source locators (#​6069)" (#​6292), #​15102
  • Run StubFilesExtensions only after bootstrapFiles have been executed (#​6284), #​15120

Performance 🏎️

Function signature fixes 🤖

Internals 🔍

phpunit/php-file-iterator (Source: GitHub Releases))

6.0.2

Fixed

  • #​162: Do not abort a traversal because of a directory that cannot be opened
  • #​163: Do not exclude paths that only share a prefix with an excluded directory
phpunit/phpunit (Source: GitHub Releases))

12.5.34

Fixed

  • #​6904: SourceMap is built in child process even though identifyIssueTrigger is disabled

Learn how to install or update PHPUnit 12.5 in the documentation.

Keep up to date with PHPUnit:

sebastian/diff (Source: GitHub Releases))

7.0.1

Fixed

  • Parser drops lines that look like file headers

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

@private-packagist

private-packagist Bot commented Aug 29, 2026 •

Copy link
Copy Markdown
Contributor Author

composer.lock

Dev Package changes

Package Operation From To About
myclabs/deep-copy upgrade 1.13.4 1.14.0 diff
phpstan/phpstan upgrade 2.2.9 2.2.13 diff
phpunit/php-file-iterator upgrade 6.0.1 6.0.2 diff
phpunit/phpunit upgrade 12.5.33 12.5.34 diff
sebastian/diff upgrade 7.0.0 7.0.1 diff

Settings · Docs · Powered by Private Packagist

@github-actions
github-actions Bot force-pushed the conductor-multiple-vendors-all-87041 branch from b5d78bf to d8a4f55 Compare September 5, 2026 07:46
Conductor executed the following commands:
composer update phpstan/phpstan:2.2.13 phpunit/php-file-iterator:6.0.2 phpunit/phpunit:12.5.34 sebastian/diff:7.0.1 --with-all-dependencies --minimal-changes
@private-packagist
private-packagist Bot force-pushed the conductor-multiple-vendors-all-87041 branch from d8a4f55 to f955c1b Compare September 5, 2026 07:46
@private-packagist

Copy link
Copy Markdown
Contributor Author

The composer.lock diff comment has been updated to reflect new changes in this PR.

@pscheit
pscheit merged commit 05c64d8 into main Sep 7, 2026
1 check passed
@private-packagist
private-packagist Bot deleted the conductor-multiple-vendors-all-87041 branch September 7, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant