phpstan/phpstan (phpstan/phpstan)
### [`v1.10.40`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.40)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.39...1.10.40)
# Improvements 🔧
- TemplateTypeCheck tries to resolve template type names such as `self` because they're not usable (https://github.com/phpstan/phpstan-src/commit/c6fad644c7906577e0e360651a5db467a5bca750), [#10049](https://togithub.com/phpstan/phpstan/issues/10049)
# Bugfixes 🐛
- Fix used memory reporting ([#2686](https://togithub.com/phpstan/phpstan-src/pull/2686)), thanks [@staabm](https://togithub.com/staabm)!
- Fix switch statement with enum in the condition ([#2687](https://togithub.com/phpstan/phpstan-src/pull/2687)), [#9806](https://togithub.com/phpstan/phpstan/issues/9806), thanks [@schlndh](https://togithub.com/schlndh)!
- Fix null coalesce assignment type ([#2702](https://togithub.com/phpstan/phpstan-src/pull/2702)), [#9995](https://togithub.com/phpstan/phpstan/issues/9995), thanks [@hirokinoue](https://togithub.com/hirokinoue)!
- Fix `!==` with union of constants ([#2700](https://togithub.com/phpstan/phpstan-src/pull/2700)), [#10002](https://togithub.com/phpstan/phpstan/issues/10002), thanks [@schlndh](https://togithub.com/schlndh)!
- Process statements inside `declare(ticks=...)` (https://github.com/phpstan/phpstan-src/commit/eb39381d2a3fd370d9881aacebabb3b17c06678a), [#10059](https://togithub.com/phpstan/phpstan/issues/10059)
- Fix crash when template types map and variances map are not of equal length (https://github.com/phpstan/phpstan-src/commit/1308c520e763e286809f01a4100af8ba156c1d34), [#10049](https://togithub.com/phpstan/phpstan/issues/10049)
# Function signature fixes 🤖
- functionMap.php fixes for YAF 3.3.5 ([#2696](https://togithub.com/phpstan/phpstan-src/pull/2696)), thanks [@mbakirov](https://togithub.com/mbakirov)!
- Remove `\` from DateTimeZone in functionMap ([#2693](https://togithub.com/phpstan/phpstan-src/pull/2693)), thanks [@simPod](https://togithub.com/simPod)!
- Allow `Redis::pconnect` to have 7 parameters ([#2695](https://togithub.com/phpstan/phpstan-src/pull/2695)), thanks [@Vaalyn](https://togithub.com/Vaalyn)!
# Internals 🔍
- Micro-optimize `TypeSpecifier::resolveIdentical` ([#2700](https://togithub.com/phpstan/phpstan-src/pull/2700)), thanks [@schlndh](https://togithub.com/schlndh)!
- Micro-optimize with `in_array()` ([#2698](https://togithub.com/phpstan/phpstan-src/pull/2698)), thanks [@zonuexe](https://togithub.com/zonuexe)!
### [`v1.10.39`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.39)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.38...1.10.39)
# Improvements 🔧
- More information about thrown exception in child process (https://github.com/phpstan/phpstan-src/commit/d6a576adcdaf3c6d64ccbeb6fcbae7100cc674f4)
- PHPStan Pro - allow overriding `pro.tmpDir` config parameter (https://github.com/phpstan/phpstan-src/commit/4a952068df57b09e8920de756ab2a6b8a0ffdf10, https://github.com/phpstan/phpstan-src/commit/7c4ef6b2aa246a31128b035cd07e64ff202ecc2b)
- Optimize memory consumption when doing sha1 file hash ([#2680](https://togithub.com/phpstan/phpstan-src/pull/2680)), thanks [@staabm](https://togithub.com/staabm)!
- Optimize memory consumption in ResultCacheManager ([#2681](https://togithub.com/phpstan/phpstan-src/pull/2681)), thanks [@staabm](https://togithub.com/staabm)!
# Bugfixes 🐛
- Filter right side of `??=` with `=== null` (https://github.com/phpstan/phpstan-src/commit/f407ac69ba1d967b2258ff2a506f53c8cf0a8e5d)
- Fix possible internal error when analysing code with enums on PHP 7.x (https://github.com/phpstan/phpstan-src/commit/b9d96266478461696d8db461a15601c7b4654d9a), [#9974](https://togithub.com/phpstan/phpstan/issues/9974)
- NonexistentOffsetInArrayDimFetchRule - do not report errors on expressions after truthy `isset` check (https://github.com/phpstan/phpstan-src/commit/6fbd6e48b86b995b7ab118e0575c747fe224165b), [#9991](https://togithub.com/phpstan/phpstan/issues/9991)
- Use real native function name instead of lowercase one ([#2673](https://togithub.com/phpstan/phpstan-src/pull/2673)), [#10003](https://togithub.com/phpstan/phpstan/issues/10003), thanks [@fredden](https://togithub.com/fredden)!
- Include property intializations from parent scope for anonymous functions ([#2607](https://togithub.com/phpstan/phpstan-src/pull/2607)), [#9831](https://togithub.com/phpstan/phpstan/issues/9831), thanks [@fabacino](https://togithub.com/fabacino)!
- FileFinder - make list of found files unique (https://github.com/phpstan/phpstan-src/commit/749126094d4ea84f770251dd41a277a46567b47e)
- Fix internal error with first-class callable in `array_filter` (https://github.com/phpstan/phpstan-src/commit/0228643a9062c6ceb2eadba4b3f64f8b1a35fea5), [#9994](https://togithub.com/phpstan/phpstan/issues/9994)
- Fix subclass acceptability when class alias is involved on "ours" side (https://github.com/phpstan/phpstan-src/commit/d5c599c962cadc13acb206b932a8e3a74fc46025), [#10023](https://togithub.com/phpstan/phpstan/issues/10023)
# Function signature fixes 🤖
- Fix incorrect doc for `SQLite3::openBlob` ([#2668](https://togithub.com/phpstan/phpstan-src/pull/2668)), thanks [@rodrigoq](https://togithub.com/rodrigoq)!
- Update `number_format` return from `string` to `non-empty-string` ([#2678](https://togithub.com/phpstan/phpstan-src/pull/2678)), thanks [@devnix](https://togithub.com/devnix)!
### [`v1.10.38`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.38)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.37...1.10.38)
# Improvements 🔧
- Remove function signatures that were removed in PHP 8.0 ([#2662](https://togithub.com/phpstan/phpstan-src/pull/2662)), [#9954](https://togithub.com/phpstan/phpstan/issues/9954), thanks [@Th3Cod3](https://togithub.com/Th3Cod3)!
# Bugfixes 🐛
- Update BetterReflection
- Fix for non-backed enums (https://github.com/ondrejmirtes/BetterReflection/commit/4dd0f2bb17810ab0ee8f2a77c63d6b02f7b6d0d4)
- Do not invalidate types passed by value (https://github.com/phpstan/phpstan-src/commit/0b8dca74e5345244a955535b54e9874beae76713), [https://github.com/phpstan/phpstan/discussions/9927](https://togithub.com/phpstan/phpstan/discussions/9927)
- Do not influence types of arguments before the function is called (https://github.com/phpstan/phpstan-src/commit/c45d42dd1d031016668099957d2b77706f208d67)
- Fixed collapsing of constant arrays (https://github.com/phpstan/phpstan-src/commit/746de74c5cdd339c9020cfb03784fb39229ed86a), [#9985](https://togithub.com/phpstan/phpstan/issues/9985)
# Internals 🔍
- Lazier type-resolving in `isset` checks ([#2664](https://togithub.com/phpstan/phpstan-src/pull/2664)), thanks [@staabm](https://togithub.com/staabm)!
- Refactor to invalidate args inside `processArgs` (https://github.com/phpstan/phpstan-src/commit/52eb6f8e5f19a41b8a00ca331ba67c7cba8aa952)
- Merge array types a bit later (https://github.com/phpstan/phpstan-src/commit/adbc35a1c72585df4586131f8e99b882bb64677d)
### [`v1.10.37`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.37)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.36...1.10.37)
# Bugfixes 🐛
- Support array shape covariance when the optional key is missing in the subtype ([#2655](https://togithub.com/phpstan/phpstan-src/pull/2655)), [#9905](https://togithub.com/phpstan/phpstan/issues/9905), [#5655](https://togithub.com/phpstan/phpstan/issues/5655), [#7273](https://togithub.com/phpstan/phpstan/issues/7273), thanks [@staabm](https://togithub.com/staabm)!
- Fix conditional types ([#2659](https://togithub.com/phpstan/phpstan-src/pull/2659)), [#9951](https://togithub.com/phpstan/phpstan/issues/9951), [#9963](https://togithub.com/phpstan/phpstan/issues/9963), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)!
- Handle exception thrown from callable object's `__invoke` method ([#2502](https://togithub.com/phpstan/phpstan-src/pull/2502)), [#6233](https://togithub.com/phpstan/phpstan/issues/6233), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Update BetterReflection
- ReflectionSourceStubber - fix enum as default function parameter value (https://github.com/ondrejmirtes/BetterReflection/commit/135a394e2fba447a788ac3a36818e4cde8b87ac4), [https://github.com/nunomaduro/larastan/issues/1749](https://togithub.com/nunomaduro/larastan/issues/1749)
### [`v1.10.36`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.36)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.35...1.10.36)
# Improvements 🔧
- DumpParametersCommand: `--json` option (https://github.com/phpstan/phpstan-src/commit/91a0002402123b96a08978ba400b5d76d5456693)
- Implement `reportUncheckedExceptionDeadCatch` option (defaults to `true`) ([#2648](https://togithub.com/phpstan/phpstan-src/pull/2648)), [#9921](https://togithub.com/phpstan/phpstan/issues/9921), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Support union types in `array_chunk()` ([#2635](https://togithub.com/phpstan/phpstan-src/pull/2635)), thanks [@staabm](https://togithub.com/staabm)!
- Result cache: Indicate key differences in cache metadata ([#2630](https://togithub.com/phpstan/phpstan-src/pull/2630)), thanks [@staabm](https://togithub.com/staabm)!
- Get rid of annoying "on an unknown class ReflectionEnum" error on PHP < 8.0 (https://github.com/phpstan/phpstan-src/commit/2b9af363a3d2a9620c4b9bfb65e81813b69623d0)
# Bugfixes 🐛
- Fix resolving nested conditional types with union subjects ([#2641](https://togithub.com/phpstan/phpstan-src/pull/2641)), [#9860](https://togithub.com/phpstan/phpstan/issues/9860), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)!
- Detect array_rand second parameter ([#2633](https://togithub.com/phpstan/phpstan-src/pull/2633)), [#9803](https://togithub.com/phpstan/phpstan/issues/9803), thanks [@staabm](https://togithub.com/staabm)!
- Fix subtracting types from union template types ([#2652](https://togithub.com/phpstan/phpstan-src/pull/2652)), [#9939](https://togithub.com/phpstan/phpstan/issues/9939), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)!
- fix infinite cycle due to incorrect implements/extends ([#2483](https://togithub.com/phpstan/phpstan-src/pull/2483)), thanks [@schlndh](https://togithub.com/schlndh)!
- Fix ConstantFloatType value dump precision ([#2358](https://togithub.com/phpstan/phpstan-src/pull/2358)), thanks [@mvorisek](https://togithub.com/mvorisek)!
- Do not trigger PhpDocInheritanceResolver if we do not need the PHPDoc type when resolving the type of ClassConstFetch ([#2414](https://togithub.com/phpstan/phpstan-src/pull/2414)), [#9039](https://togithub.com/phpstan/phpstan/issues/9039), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
# Function signature fixes 🤖
- `connection_*` functions are impure ([#2555](https://togithub.com/phpstan/phpstan-src/pull/2555)), thanks [@staabm](https://togithub.com/staabm)!
- Add stubs for `mysqli` and `mysqli_result` classes ([#2295](https://togithub.com/phpstan/phpstan-src/pull/2295)), thanks [@phansys](https://togithub.com/phansys)!
# Internals 🔍
- E2E test about env variables in config parameters (https://github.com/phpstan/phpstan-src/commit/980ab5bba4de0246587647e8cf6b7abe95697379)
- Prevent unnecessary calls to `getFiniteTypes()` ([#2636](https://togithub.com/phpstan/phpstan-src/pull/2636)), thanks [@staabm](https://togithub.com/staabm)!
- Remove unnecessary IO ([#2613](https://togithub.com/phpstan/phpstan-src/pull/2613)), thanks [@staabm](https://togithub.com/staabm)!
- Restrict "Merge maintained branch" workflow to the main repository ([#2654](https://togithub.com/phpstan/phpstan-src/pull/2654)), thanks [@thg2k](https://togithub.com/thg2k)!
### [`v1.10.35`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.35)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.34...1.10.35)
# Major new features 🚀
- Generics: **Type projections aka call-site variance** ([#2485](https://togithub.com/phpstan/phpstan-src/pull/2485)), thanks [@jiripudil](https://togithub.com/jiripudil)!
- Learn more: https://phpstan.org/blog/guide-to-call-site-generic-variance
# Bugfixes 🐛
- Make `value-of<...>` lazier (https://github.com/phpstan/phpstan-src/commit/234f77d652bf6326be4bf5c25c7aab67145aca71), [#9881](https://togithub.com/phpstan/phpstan/issues/9881)
- Update BetterReflection, [#9877](https://togithub.com/phpstan/phpstan/issues/9877)
- Fix `ReflectionAttribute::newInstance()` with nested class using named arguments (https://github.com/ondrejmirtes/BetterReflection/commit/8d751dd38f4d089715e748863d0d8e4113bc408c), thanks [@enumag](https://togithub.com/enumag)!
- Improve typing of filters that do not accept non-falsy strings ([#2620](https://togithub.com/phpstan/phpstan-src/pull/2620)), thanks [@zonuexe](https://togithub.com/zonuexe)!
# Internals 🔍
- name-collision-detector 2.0 (https://github.com/phpstan/phpstan-src/commit/c3cb573c595bf5cc72471fd8d773aa3b0296b035)
- Remove `phpstan/phpstan-php-parser` ([#2632](https://togithub.com/phpstan/phpstan-src/pull/2632)), thanks [@staabm](https://togithub.com/staabm)!
### [`v1.10.34`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.34)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.33...1.10.34)
# Improvements 🔧
- Add support and tests for `$this` type assertions ([#2609](https://togithub.com/phpstan/phpstan-src/pull/2609)), [#8904](https://togithub.com/phpstan/phpstan/issues/8904), thanks [@ekisu](https://togithub.com/ekisu)!
- Update [phpstan/phpdoc-parser to 1.24.0](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.24.0)
- Allow asserting the type of `$this` ([https://github.com/phpstan/phpdoc-parser/pull/209](https://togithub.com/phpstan/phpdoc-parser/pull/209)), thanks [@ekisu](https://togithub.com/ekisu)!
- Avoid creating an Exception when it is not necessary ([https://github.com/phpstan/phpdoc-parser/pull/208](https://togithub.com/phpstan/phpdoc-parser/pull/208)), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Added `--fail-without-result-cache` CLI option ([#2611](https://togithub.com/phpstan/phpstan-src/pull/2611)), thanks [@staabm](https://togithub.com/staabm)!
- Make result cache independent from configs include order ([#2606](https://togithub.com/phpstan/phpstan-src/pull/2606)), thanks [@staabm](https://togithub.com/staabm)!
- Reduce unnecessary calls into reflection ([#2614](https://togithub.com/phpstan/phpstan-src/pull/2614)), thanks [@staabm](https://togithub.com/staabm)!
- Micro-optimize with `in_array()` ([#2618](https://togithub.com/phpstan/phpstan-src/pull/2618)), thanks [@zonuexe](https://togithub.com/zonuexe)!
- Cover ArgumentsNormalizer with BC promise (https://github.com/phpstan/phpstan-src/commit/b87db6233f08414e176f02ba2dcf08414cb1d83d)
- LastConditionVisitor: condition followed by throw is marked as last ([#2405](https://togithub.com/phpstan/phpstan-src/pull/2405)), thanks [@JanTvrdik](https://togithub.com/JanTvrdik)!
# Function signature fixes 🤖
- fix incorrect doc for `inotify_read` ([#2605](https://togithub.com/phpstan/phpstan-src/pull/2605)), thanks [@taka-oyama](https://togithub.com/taka-oyama)!
# Internals 🔍
- name-collision-detector (https://github.com/phpstan/phpstan-src/commit/95cdbe577513286c36dcf513fe76f269e8a32125)
### [`v1.10.33`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.33)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.32...1.10.33)
# Improvements 🔧
- Support for referencing environment variables in the config ([#2559](https://togithub.com/phpstan/phpstan-src/pull/2559)), [#1918](https://togithub.com/phpstan/phpstan/issues/1918)
- Made parent class reflection resolving lazier ([#2584](https://togithub.com/phpstan/phpstan-src/pull/2584)), thanks [@staabm](https://togithub.com/staabm)!
- FileTypeMapper - optimization of type aliases (https://github.com/phpstan/phpstan-src/commit/2be81ac1cffa02da2bd0e3b52961cd3d528f2325)
- Use NonAcceptingNeverType in more places (https://github.com/phpstan/phpstan-src/commit/3e03e9d7c15fdf64e6d55539a6c3045b3b8c6604)
- MethodCall: mark virtual nullsafe call with attribute ([#2598](https://togithub.com/phpstan/phpstan-src/pull/2598)), [#9830](https://togithub.com/phpstan/phpstan/issues/9830), thanks [@janedbal](https://togithub.com/janedbal)!
# Bugfixes 🐛
- Fix `checkBenevolentUnionTypes: true` along with `@template` with `array-key` bound ([#2587](https://togithub.com/phpstan/phpstan-src/pull/2587)), [#9766](https://togithub.com/phpstan/phpstan/issues/9766), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Fix type inference of `array_sum()` ([#2591](https://togithub.com/phpstan/phpstan-src/pull/2591)), [#9808](https://togithub.com/phpstan/phpstan/issues/9808), thanks [@zer0-star](https://togithub.com/zer0-star)!
- Update Symfony polyfills (https://github.com/phpstan/phpstan-src/commit/dfcaa3082c975b13847ff9de5e55438ce7b65fc4), [#8538](https://togithub.com/phpstan/phpstan/issues/8538)
# Function signature fixes 🤖
- More precise `inotify` related function signatures ([#2599](https://togithub.com/phpstan/phpstan-src/pull/2599)), thanks [@thg2k](https://togithub.com/thg2k)!
# Internals 🔍
- Prevent most `$parentPhpDocBlock->getClassReflection()->isBuiltin()` calls ([#2585](https://togithub.com/phpstan/phpstan-src/pull/2585)), thanks [@staabm](https://togithub.com/staabm)!
- micro: use `spl_object_id()` ([#2592](https://togithub.com/phpstan/phpstan-src/pull/2592)), thanks [@staabm](https://togithub.com/staabm)!
- Update `nette/di` ([#2597](https://togithub.com/phpstan/phpstan-src/pull/2597))
### [`v1.10.32`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.32)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.31...1.10.32)
# Improvements 🔧
- Optimize FileTypeMapper for huge PHPDocs ([#2582](https://togithub.com/phpstan/phpstan-src/pull/2582)), [#9498](https://togithub.com/phpstan/phpstan/issues/9498)
- This fixes performance issue for projects that use Carbon (`nesbot/carbon`)
- Optimize DumpParametersCommand (https://github.com/phpstan/phpstan-src/commit/379008a6a632e6e657ad920147a87772c41438e1)
### [`v1.10.31`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.31)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.30...1.10.31)
# Improvements 🔧
- Cache OptimizedDirectorySourceLocator data for faster subsequent runs and less work needed by child processes (https://github.com/phpstan/phpstan-src/commit/b66210f114f695a23d62f884615874cf5f7c6bab)
- `NonAcceptingNeverType` ([#2540](https://togithub.com/phpstan/phpstan-src/pull/2540)), [#9133](https://togithub.com/phpstan/phpstan/issues/9133), [#6485](https://togithub.com/phpstan/phpstan/issues/6485), thanks [@jiripudil](https://togithub.com/jiripudil)!
- ClearResultCacheCommand - `--xdebug` option (https://github.com/phpstan/phpstan-src/commit/3befb53be3acb9c6807d1ac0834eafb399762440)
# Internals 🔍
- Do not pass a fake path to analyse in ClearResultCacheCommand; check paths count later when asking for files (https://github.com/phpstan/phpstan-src/commit/4e37a2d78baed28974f140775bcc7f5cba62cf6b)
- FileCacheStorage - reference cache key in a comment (https://github.com/phpstan/phpstan-src/commit/0fbf0eed7ba63bdae6a8ce7ef33a96bd12236b45)
### [`v1.10.30`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.30)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.29...1.10.30)
# Improvements 🔧
- NotAnalysedTraitRule - do not report for analysis of files-only paths (https://github.com/phpstan/phpstan-src/commit/5f59d58b62ba130aaeedd7d804f3d0bb2b19e4fd)
# Bugfixes 🐛
- Fix several issues with nullsafe type specification ([#2577](https://togithub.com/phpstan/phpstan-src/pull/2577)), [#9105](https://togithub.com/phpstan/phpstan/issues/9105), [#5172](https://togithub.com/phpstan/phpstan/issues/5172), [#8517](https://togithub.com/phpstan/phpstan/issues/8517), [#7980](https://togithub.com/phpstan/phpstan/issues/7980), [#8664](https://togithub.com/phpstan/phpstan/issues/8664), [#9293](https://togithub.com/phpstan/phpstan/issues/9293), thanks [@schlndh](https://togithub.com/schlndh)!
- Do not report unused class elements if the element is used on an uncertain type like `mixed` (https://github.com/phpstan/phpstan-src/commit/cbdb30d596d44cd00361989df72cb15f33f26109), [#9765](https://togithub.com/phpstan/phpstan/issues/9765)
- ConditionalTagsExtension: add missing tags ([#2574](https://togithub.com/phpstan/phpstan-src/pull/2574)), thanks [@janedbal](https://togithub.com/janedbal)!
- CleaningVisitor - keep closures and arrow functions (https://github.com/phpstan/phpstan-src/commit/0501aaf259f16cd1bd27e2a6ec2d8b1de5af5edf), [#9776](https://togithub.com/phpstan/phpstan/issues/9776)
- Fix baseline for access to uninitialized property from trait ([#2568](https://togithub.com/phpstan/phpstan-src/pull/2568)), thanks [@schlndh](https://togithub.com/schlndh)!
- Fix generalizing types in loops (https://github.com/phpstan/phpstan-src/commit/c09be9ec0e8ca6b448da52ee5320417bc692adf9), [#9753](https://togithub.com/phpstan/phpstan/issues/9753)
- Fix foreach scope when iterating non-array and `polluteScopeWithAlwaysIterableForeach` is `true` (https://github.com/phpstan/phpstan-src/commit/853a1e693eb18b9c1eef87f264c90b4d446db710), [#9784](https://togithub.com/phpstan/phpstan/issues/9784)
# Internals 🔍
- Issue bot - special NotAnalysedTraitRule that runs even with `onlyFiles=true` (https://github.com/phpstan/phpstan-src/commit/6c941aecbfd47dd09315d995821eb904288f04c1)
- Ability to disable `implicitThrows` in tests ([#2576](https://togithub.com/phpstan/phpstan-src/pull/2576)), thanks [@janedbal](https://togithub.com/janedbal)!
- Rename duplicate symbols (https://github.com/phpstan/phpstan-src/commit/21717178796e2081d3c4275e6cc54821cfcdcba6)
### [`v1.10.29`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.29)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.28...1.10.29)
# Improvements 🔧
- Update nikic/php-parser to v4.17.1
- PHP 8.3 features are no longer parse errors. Full-fledged PHP 8.3 support is coming later this year.
- Update BetterReflection to 6.12.0
# Bugfixes 🐛
- PHPStan Pro - when launching, `PHP_BINARY` needs to be escaped (https://github.com/phpstan/phpstan-src/commit/2c7cfd8b82beb355c1125524049cf6d16495e067)
# Function signature fixes 🤖
- Fix FTP-related function signatures ([#2551](https://togithub.com/phpstan/phpstan-src/pull/2551)), thanks [@thg2k](https://togithub.com/thg2k)!
### [`v1.10.28`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.28)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.27...1.10.28)
# Improvements 🔧
- Update BetterReflection to 6.12.0 (https://github.com/phpstan/phpstan-src/commit/7c49c944c7a40a2065f27d2ba94eb90f0f2fc22d)
# Bugfixes 🐛
- Nullsafe operator on `null` results in `null` (https://github.com/phpstan/phpstan-src/commit/5c40c853ff91d518dea2afee9449ef58d8479314), [#9721](https://togithub.com/phpstan/phpstan/issues/9721)
- Properties set in the native constructor are initialized in additional constructors (https://github.com/phpstan/phpstan-src/commit/1b0c6a0166e6e5199407377d124cfe5cdac74b87), [#9619](https://togithub.com/phpstan/phpstan/issues/9619)
- Fix performance problem with nested BooleanOr and BooleanAnd (https://github.com/phpstan/phpstan-src/commit/9adae6c4f8c4797c8e60353430ba9a66dc897bb7), [#9690](https://togithub.com/phpstan/phpstan/issues/9690), [#9676](https://togithub.com/phpstan/phpstan/issues/9676)
- CallableTypeHelper - copy variadic parameters if the accepting closure has more parameters (https://github.com/phpstan/phpstan-src/commit/31ed326fb113238df762bf9237da50e4613bde32), [#9699](https://togithub.com/phpstan/phpstan/issues/9699)
# Internals 🔍
- Simplify access to ClassReflection in ClassPropertyNode ([#2565](https://togithub.com/phpstan/phpstan-src/pull/2565)), thanks [@mad-briller](https://togithub.com/mad-briller)!
### [`v1.10.27`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.27)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.26...1.10.27)
# Bleeding edge 🔪
- More precise `stream_socket_client()` signature ([#2519](https://togithub.com/phpstan/phpstan-src/pull/2519)), thanks [@staabm](https://togithub.com/staabm)!
- More precise `scandir()` signature ([#2518](https://togithub.com/phpstan/phpstan-src/pull/2518)), thanks [@staabm](https://togithub.com/staabm)!
- More precise `extract()` signature ([#2517](https://togithub.com/phpstan/phpstan-src/pull/2517)), thanks [@staabm](https://togithub.com/staabm)!
*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 🔧
- Report trait access to unititialized property in the trait instead of class ([#2531](https://togithub.com/phpstan/phpstan-src/pull/2531)), thanks [@schlndh](https://togithub.com/schlndh)!
- Type projections, part 2: enforce elementary rules ([#2481](https://togithub.com/phpstan/phpstan-src/pull/2481)), thanks [@jiripudil](https://togithub.com/jiripudil)!
- Unify ignoring lines in traits with parser tokens (https://github.com/phpstan/phpstan-src/commit/01294d86b811444b72d7c67c5e75f115daddbd13), [#6175](https://togithub.com/phpstan/phpstan/issues/6175)
# Bugfixes 🐛
- Fix json method exception ([#2524](https://togithub.com/phpstan/phpstan-src/pull/2524)), [#9568](https://togithub.com/phpstan/phpstan/issues/9568), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Support of printf with dynamic width ([#2543](https://togithub.com/phpstan/phpstan-src/pull/2543)), [#9674](https://togithub.com/phpstan/phpstan/issues/9674), thanks [@kukulich](https://togithub.com/kukulich)!
- Support of printf with dynamic precision (and improved support of dynamic width) ([#2544](https://togithub.com/phpstan/phpstan-src/pull/2544)), [#9677](https://togithub.com/phpstan/phpstan/issues/9677), thanks [@kukulich](https://togithub.com/kukulich)!
- Fix types for conditional parameters after checks ([#2548](https://togithub.com/phpstan/phpstan-src/pull/2548)), [#7915](https://togithub.com/phpstan/phpstan/issues/7915), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)!
- Prevent `Call to end() on null` (https://github.com/phpstan/phpstan-src/commit/a5e5719bcbe3385f2bac77704e7da850da766a01), [#9722](https://togithub.com/phpstan/phpstan/issues/9722)
- Fix internal error in SimpleXMLElementConstructorThrowTypeExtension ([#2561](https://togithub.com/phpstan/phpstan-src/pull/2561)), [#9716](https://togithub.com/phpstan/phpstan/issues/9716), thanks [@staabm](https://togithub.com/staabm)!
- Method extensions class name is case-insensitive ([#2562](https://togithub.com/phpstan/phpstan-src/pull/2562)), [#9716](https://togithub.com/phpstan/phpstan/issues/9716), thanks [@staabm](https://togithub.com/staabm)!
- InArrayFunctionTypeSpecifyingExtension - fix calls with less than 2 parameters (https://github.com/phpstan/phpstan-src/commit/4d77e98e151599d12fd828df969929ed419a0924), [#9711](https://togithub.com/phpstan/phpstan/issues/9711)
# Function signature fixes 🤖
- `uopz_flags` - flags are optional (https://github.com/phpstan/phpstan-src/commit/917750efd8550446492e91ca3069179416fa80f1), [#9611](https://togithub.com/phpstan/phpstan/issues/9611)
- Add `base64_decode` overloads to PHP 8+ ([#2529](https://togithub.com/phpstan/phpstan-src/pull/2529)), [#9428](https://togithub.com/phpstan/phpstan/issues/9428), thanks [@dktapps](https://togithub.com/dktapps)!
- Mark few Ds methods as impure ([#2550](https://togithub.com/phpstan/phpstan-src/pull/2550)), thanks [@simPod](https://togithub.com/simPod)!
# Internals 🔍
- Avoid doing work before its necessary in mutating scope. ([#2537](https://togithub.com/phpstan/phpstan-src/pull/2537)), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Changed `linesToIgnore` attribute format (https://github.com/phpstan/phpstan-src/commit/2862a7bf7927a7e76771b71f43206d01dfc5d6ef)
- Prevent unnecessary work in MutatingScope ([#2554](https://togithub.com/phpstan/phpstan-src/pull/2554)), thanks [@staabm](https://togithub.com/staabm)!
- Validate parameters with parametersSchema each time after container creation ([#2558](https://togithub.com/phpstan/phpstan-src/pull/2558))
### [`v1.10.26`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.26)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.25...1.10.26)
# Improvements 🔧
- More precise return type for trigger_error ([#2526](https://togithub.com/phpstan/phpstan-src/pull/2526)), thanks [@paulbalandan](https://togithub.com/paulbalandan)!
# Bugfixes 🐛
- Fix filtering default stub files on Windows ([#2406](https://togithub.com/phpstan/phpstan-src/pull/2406)), thanks [@maryo](https://togithub.com/maryo)!
- FileHelper absolutize and normalize: Fix path with scheme ([#2506](https://togithub.com/phpstan/phpstan-src/pull/2506)), thanks [@mvorisek](https://togithub.com/mvorisek)!
- Fix `array_keys()` and \`array_values()\`\` on constant arrays ([#2516](https://togithub.com/phpstan/phpstan-src/pull/2516)), thanks [@jlherren](https://togithub.com/jlherren)!
- Fix access to uninitialized property via extension in additional constructor (https://github.com/phpstan/phpstan-src/commit/218aad0804bebd8f0ad60eea69afb24d8fa4ca48), [#9619](https://togithub.com/phpstan/phpstan/issues/9619)
- Fix result cache bug with imported type aliases (https://github.com/phpstan/phpstan-src/commit/553c4b141b62244f629b22fe7e8054196cd73a58), [#9622](https://togithub.com/phpstan/phpstan/issues/9622)
- Fix result cache bug with imported type aliases in a trait (https://github.com/phpstan/phpstan-src/commit/d8071d0904e4b06a814a0b8b8d7f343d72db0633)
- Fix PHP 8.3 deprecation (`$foo--` with a non-numeric string no longer allowed) (https://github.com/phpstan/phpstan-src/commit/c6f4c4ceb7d7355ef761a6ffaa1b1574469789c6)
- Array shape with optional keys might be a list (https://github.com/phpstan/phpstan-src/commit/97f0039fe568eec83607861c36718e8f79c481ff)
- ArrayMapFunctionReturnTypeExtension - preserve array being a list (https://github.com/phpstan/phpstan-src/commit/d55c4f2c207a6a07712cff2cdaba670fee950258)
# Function signature fixes 🤖
- More precise `ftp_*` mode parameter type ([#2513](https://togithub.com/phpstan/phpstan-src/pull/2513)), thanks [@staabm](https://togithub.com/staabm)!
- Fix signature of `DOMNode::lookupNamespaceURI` ([#2527](https://togithub.com/phpstan/phpstan-src/pull/2527)), thanks [@paulbalandan](https://togithub.com/paulbalandan)!
# Internals 🔍
- Simplify access to class reflections in InClassNode rules ([#2514](https://togithub.com/phpstan/phpstan-src/pull/2514)), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Simplify access to class reflections in ClassPropertiesNode ([#2520](https://togithub.com/phpstan/phpstan-src/pull/2520)), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Simplify access to function reflection in FunctionReturnStatementsNode rules ([#2522](https://togithub.com/phpstan/phpstan-src/pull/2522)), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Set class and method reflection in the MethodReturnStatementNode ([#2515](https://togithub.com/phpstan/phpstan-src/pull/2515)), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Simplify access to class reflections in ClassConstantsNode and ClassMethodsNode rules ([#2521](https://togithub.com/phpstan/phpstan-src/pull/2521)), thanks [@mad-briller](https://togithub.com/mad-briller)!
- Introduce InTraitNode (https://github.com/phpstan/phpstan-src/commit/657fc54b7d358622b791828f94a6a6d9d0f8207c)
- TrinaryLogic for `isList` in ConstantArrayType (https://github.com/phpstan/phpstan-src/commit/158c61c6777acb416fb5ff243916c1483b0f220a, https://github.com/phpstan/phpstan-src/commit/f0a9fd796e1b1d023affdb7fb4ffd344d79becd4)
- Add polyfill for PHP 8.1 (https://github.com/phpstan/phpstan-src/commit/a8818be2f31d2bc33ac6ccb3c3f221248e70a514, https://github.com/phpstan/phpstan-src/commit/cda7e69587a3d46afe098bf7657af364f3980356)
sebastianbergmann/phpunit (phpunit/phpunit)
### [`v10.4.2`](https://togithub.com/sebastianbergmann/phpunit/compare/10.4.1...10.4.2)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.4.1...10.4.2)
### [`v10.4.1`](https://togithub.com/sebastianbergmann/phpunit/compare/10.4.0...10.4.1)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.4.0...10.4.1)
### [`v10.4.0`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.5...10.4.0)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.5...10.4.0)
### [`v10.3.5`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.4...10.3.5)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.4...10.3.5)
### [`v10.3.4`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.3...10.3.4)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.3...10.3.4)
### [`v10.3.3`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.2...10.3.3)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.2...10.3.3)
### [`v10.3.2`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.1...10.3.2)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.1...10.3.2)
### [`v10.3.1`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.0...10.3.1)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.0...10.3.1)
### [`v10.3.0`](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.7...10.3.0)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.7...10.3.0)
### [`v10.2.7`](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.6...10.2.7)
[Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.6...10.2.7)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.10.25
->1.10.40
10.2.6
->10.4.2
Release Notes
phpstan/phpstan (phpstan/phpstan)
### [`v1.10.40`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.40) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.39...1.10.40) # Improvements 🔧 - TemplateTypeCheck tries to resolve template type names such as `self` because they're not usable (https://github.com/phpstan/phpstan-src/commit/c6fad644c7906577e0e360651a5db467a5bca750), [#10049](https://togithub.com/phpstan/phpstan/issues/10049) # Bugfixes 🐛 - Fix used memory reporting ([#2686](https://togithub.com/phpstan/phpstan-src/pull/2686)), thanks [@staabm](https://togithub.com/staabm)! - Fix switch statement with enum in the condition ([#2687](https://togithub.com/phpstan/phpstan-src/pull/2687)), [#9806](https://togithub.com/phpstan/phpstan/issues/9806), thanks [@schlndh](https://togithub.com/schlndh)! - Fix null coalesce assignment type ([#2702](https://togithub.com/phpstan/phpstan-src/pull/2702)), [#9995](https://togithub.com/phpstan/phpstan/issues/9995), thanks [@hirokinoue](https://togithub.com/hirokinoue)! - Fix `!==` with union of constants ([#2700](https://togithub.com/phpstan/phpstan-src/pull/2700)), [#10002](https://togithub.com/phpstan/phpstan/issues/10002), thanks [@schlndh](https://togithub.com/schlndh)! - Process statements inside `declare(ticks=...)` (https://github.com/phpstan/phpstan-src/commit/eb39381d2a3fd370d9881aacebabb3b17c06678a), [#10059](https://togithub.com/phpstan/phpstan/issues/10059) - Fix crash when template types map and variances map are not of equal length (https://github.com/phpstan/phpstan-src/commit/1308c520e763e286809f01a4100af8ba156c1d34), [#10049](https://togithub.com/phpstan/phpstan/issues/10049) # Function signature fixes 🤖 - functionMap.php fixes for YAF 3.3.5 ([#2696](https://togithub.com/phpstan/phpstan-src/pull/2696)), thanks [@mbakirov](https://togithub.com/mbakirov)! - Remove `\` from DateTimeZone in functionMap ([#2693](https://togithub.com/phpstan/phpstan-src/pull/2693)), thanks [@simPod](https://togithub.com/simPod)! - Allow `Redis::pconnect` to have 7 parameters ([#2695](https://togithub.com/phpstan/phpstan-src/pull/2695)), thanks [@Vaalyn](https://togithub.com/Vaalyn)! # Internals 🔍 - Micro-optimize `TypeSpecifier::resolveIdentical` ([#2700](https://togithub.com/phpstan/phpstan-src/pull/2700)), thanks [@schlndh](https://togithub.com/schlndh)! - Micro-optimize with `in_array()` ([#2698](https://togithub.com/phpstan/phpstan-src/pull/2698)), thanks [@zonuexe](https://togithub.com/zonuexe)! ### [`v1.10.39`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.39) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.38...1.10.39) # Improvements 🔧 - More information about thrown exception in child process (https://github.com/phpstan/phpstan-src/commit/d6a576adcdaf3c6d64ccbeb6fcbae7100cc674f4) - PHPStan Pro - allow overriding `pro.tmpDir` config parameter (https://github.com/phpstan/phpstan-src/commit/4a952068df57b09e8920de756ab2a6b8a0ffdf10, https://github.com/phpstan/phpstan-src/commit/7c4ef6b2aa246a31128b035cd07e64ff202ecc2b) - Optimize memory consumption when doing sha1 file hash ([#2680](https://togithub.com/phpstan/phpstan-src/pull/2680)), thanks [@staabm](https://togithub.com/staabm)! - Optimize memory consumption in ResultCacheManager ([#2681](https://togithub.com/phpstan/phpstan-src/pull/2681)), thanks [@staabm](https://togithub.com/staabm)! # Bugfixes 🐛 - Filter right side of `??=` with `=== null` (https://github.com/phpstan/phpstan-src/commit/f407ac69ba1d967b2258ff2a506f53c8cf0a8e5d) - Fix possible internal error when analysing code with enums on PHP 7.x (https://github.com/phpstan/phpstan-src/commit/b9d96266478461696d8db461a15601c7b4654d9a), [#9974](https://togithub.com/phpstan/phpstan/issues/9974) - NonexistentOffsetInArrayDimFetchRule - do not report errors on expressions after truthy `isset` check (https://github.com/phpstan/phpstan-src/commit/6fbd6e48b86b995b7ab118e0575c747fe224165b), [#9991](https://togithub.com/phpstan/phpstan/issues/9991) - Use real native function name instead of lowercase one ([#2673](https://togithub.com/phpstan/phpstan-src/pull/2673)), [#10003](https://togithub.com/phpstan/phpstan/issues/10003), thanks [@fredden](https://togithub.com/fredden)! - Include property intializations from parent scope for anonymous functions ([#2607](https://togithub.com/phpstan/phpstan-src/pull/2607)), [#9831](https://togithub.com/phpstan/phpstan/issues/9831), thanks [@fabacino](https://togithub.com/fabacino)! - FileFinder - make list of found files unique (https://github.com/phpstan/phpstan-src/commit/749126094d4ea84f770251dd41a277a46567b47e) - Fix internal error with first-class callable in `array_filter` (https://github.com/phpstan/phpstan-src/commit/0228643a9062c6ceb2eadba4b3f64f8b1a35fea5), [#9994](https://togithub.com/phpstan/phpstan/issues/9994) - Fix subclass acceptability when class alias is involved on "ours" side (https://github.com/phpstan/phpstan-src/commit/d5c599c962cadc13acb206b932a8e3a74fc46025), [#10023](https://togithub.com/phpstan/phpstan/issues/10023) # Function signature fixes 🤖 - Fix incorrect doc for `SQLite3::openBlob` ([#2668](https://togithub.com/phpstan/phpstan-src/pull/2668)), thanks [@rodrigoq](https://togithub.com/rodrigoq)! - Update `number_format` return from `string` to `non-empty-string` ([#2678](https://togithub.com/phpstan/phpstan-src/pull/2678)), thanks [@devnix](https://togithub.com/devnix)! ### [`v1.10.38`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.38) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.37...1.10.38) # Improvements 🔧 - Remove function signatures that were removed in PHP 8.0 ([#2662](https://togithub.com/phpstan/phpstan-src/pull/2662)), [#9954](https://togithub.com/phpstan/phpstan/issues/9954), thanks [@Th3Cod3](https://togithub.com/Th3Cod3)! # Bugfixes 🐛 - Update BetterReflection - Fix for non-backed enums (https://github.com/ondrejmirtes/BetterReflection/commit/4dd0f2bb17810ab0ee8f2a77c63d6b02f7b6d0d4) - Do not invalidate types passed by value (https://github.com/phpstan/phpstan-src/commit/0b8dca74e5345244a955535b54e9874beae76713), [https://github.com/phpstan/phpstan/discussions/9927](https://togithub.com/phpstan/phpstan/discussions/9927) - Do not influence types of arguments before the function is called (https://github.com/phpstan/phpstan-src/commit/c45d42dd1d031016668099957d2b77706f208d67) - Fixed collapsing of constant arrays (https://github.com/phpstan/phpstan-src/commit/746de74c5cdd339c9020cfb03784fb39229ed86a), [#9985](https://togithub.com/phpstan/phpstan/issues/9985) # Internals 🔍 - Lazier type-resolving in `isset` checks ([#2664](https://togithub.com/phpstan/phpstan-src/pull/2664)), thanks [@staabm](https://togithub.com/staabm)! - Refactor to invalidate args inside `processArgs` (https://github.com/phpstan/phpstan-src/commit/52eb6f8e5f19a41b8a00ca331ba67c7cba8aa952) - Merge array types a bit later (https://github.com/phpstan/phpstan-src/commit/adbc35a1c72585df4586131f8e99b882bb64677d) ### [`v1.10.37`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.37) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.36...1.10.37) # Bugfixes 🐛 - Support array shape covariance when the optional key is missing in the subtype ([#2655](https://togithub.com/phpstan/phpstan-src/pull/2655)), [#9905](https://togithub.com/phpstan/phpstan/issues/9905), [#5655](https://togithub.com/phpstan/phpstan/issues/5655), [#7273](https://togithub.com/phpstan/phpstan/issues/7273), thanks [@staabm](https://togithub.com/staabm)! - Fix conditional types ([#2659](https://togithub.com/phpstan/phpstan-src/pull/2659)), [#9951](https://togithub.com/phpstan/phpstan/issues/9951), [#9963](https://togithub.com/phpstan/phpstan/issues/9963), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)! - Handle exception thrown from callable object's `__invoke` method ([#2502](https://togithub.com/phpstan/phpstan-src/pull/2502)), [#6233](https://togithub.com/phpstan/phpstan/issues/6233), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Update BetterReflection - ReflectionSourceStubber - fix enum as default function parameter value (https://github.com/ondrejmirtes/BetterReflection/commit/135a394e2fba447a788ac3a36818e4cde8b87ac4), [https://github.com/nunomaduro/larastan/issues/1749](https://togithub.com/nunomaduro/larastan/issues/1749) ### [`v1.10.36`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.36) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.35...1.10.36) # Improvements 🔧 - DumpParametersCommand: `--json` option (https://github.com/phpstan/phpstan-src/commit/91a0002402123b96a08978ba400b5d76d5456693) - Implement `reportUncheckedExceptionDeadCatch` option (defaults to `true`) ([#2648](https://togithub.com/phpstan/phpstan-src/pull/2648)), [#9921](https://togithub.com/phpstan/phpstan/issues/9921), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Support union types in `array_chunk()` ([#2635](https://togithub.com/phpstan/phpstan-src/pull/2635)), thanks [@staabm](https://togithub.com/staabm)! - Result cache: Indicate key differences in cache metadata ([#2630](https://togithub.com/phpstan/phpstan-src/pull/2630)), thanks [@staabm](https://togithub.com/staabm)! - Get rid of annoying "on an unknown class ReflectionEnum" error on PHP < 8.0 (https://github.com/phpstan/phpstan-src/commit/2b9af363a3d2a9620c4b9bfb65e81813b69623d0) # Bugfixes 🐛 - Fix resolving nested conditional types with union subjects ([#2641](https://togithub.com/phpstan/phpstan-src/pull/2641)), [#9860](https://togithub.com/phpstan/phpstan/issues/9860), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)! - Detect array_rand second parameter ([#2633](https://togithub.com/phpstan/phpstan-src/pull/2633)), [#9803](https://togithub.com/phpstan/phpstan/issues/9803), thanks [@staabm](https://togithub.com/staabm)! - Fix subtracting types from union template types ([#2652](https://togithub.com/phpstan/phpstan-src/pull/2652)), [#9939](https://togithub.com/phpstan/phpstan/issues/9939), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)! - fix infinite cycle due to incorrect implements/extends ([#2483](https://togithub.com/phpstan/phpstan-src/pull/2483)), thanks [@schlndh](https://togithub.com/schlndh)! - Fix ConstantFloatType value dump precision ([#2358](https://togithub.com/phpstan/phpstan-src/pull/2358)), thanks [@mvorisek](https://togithub.com/mvorisek)! - Do not trigger PhpDocInheritanceResolver if we do not need the PHPDoc type when resolving the type of ClassConstFetch ([#2414](https://togithub.com/phpstan/phpstan-src/pull/2414)), [#9039](https://togithub.com/phpstan/phpstan/issues/9039), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! # Function signature fixes 🤖 - `connection_*` functions are impure ([#2555](https://togithub.com/phpstan/phpstan-src/pull/2555)), thanks [@staabm](https://togithub.com/staabm)! - Add stubs for `mysqli` and `mysqli_result` classes ([#2295](https://togithub.com/phpstan/phpstan-src/pull/2295)), thanks [@phansys](https://togithub.com/phansys)! # Internals 🔍 - E2E test about env variables in config parameters (https://github.com/phpstan/phpstan-src/commit/980ab5bba4de0246587647e8cf6b7abe95697379) - Prevent unnecessary calls to `getFiniteTypes()` ([#2636](https://togithub.com/phpstan/phpstan-src/pull/2636)), thanks [@staabm](https://togithub.com/staabm)! - Remove unnecessary IO ([#2613](https://togithub.com/phpstan/phpstan-src/pull/2613)), thanks [@staabm](https://togithub.com/staabm)! - Restrict "Merge maintained branch" workflow to the main repository ([#2654](https://togithub.com/phpstan/phpstan-src/pull/2654)), thanks [@thg2k](https://togithub.com/thg2k)! ### [`v1.10.35`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.35) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.34...1.10.35) # Major new features 🚀 - Generics: **Type projections aka call-site variance** ([#2485](https://togithub.com/phpstan/phpstan-src/pull/2485)), thanks [@jiripudil](https://togithub.com/jiripudil)! - Learn more: https://phpstan.org/blog/guide-to-call-site-generic-variance # Bugfixes 🐛 - Make `value-of<...>` lazier (https://github.com/phpstan/phpstan-src/commit/234f77d652bf6326be4bf5c25c7aab67145aca71), [#9881](https://togithub.com/phpstan/phpstan/issues/9881) - Update BetterReflection, [#9877](https://togithub.com/phpstan/phpstan/issues/9877) - Fix `ReflectionAttribute::newInstance()` with nested class using named arguments (https://github.com/ondrejmirtes/BetterReflection/commit/8d751dd38f4d089715e748863d0d8e4113bc408c), thanks [@enumag](https://togithub.com/enumag)! - Improve typing of filters that do not accept non-falsy strings ([#2620](https://togithub.com/phpstan/phpstan-src/pull/2620)), thanks [@zonuexe](https://togithub.com/zonuexe)! # Internals 🔍 - name-collision-detector 2.0 (https://github.com/phpstan/phpstan-src/commit/c3cb573c595bf5cc72471fd8d773aa3b0296b035) - Remove `phpstan/phpstan-php-parser` ([#2632](https://togithub.com/phpstan/phpstan-src/pull/2632)), thanks [@staabm](https://togithub.com/staabm)! ### [`v1.10.34`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.34) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.33...1.10.34) # Improvements 🔧 - Add support and tests for `$this` type assertions ([#2609](https://togithub.com/phpstan/phpstan-src/pull/2609)), [#8904](https://togithub.com/phpstan/phpstan/issues/8904), thanks [@ekisu](https://togithub.com/ekisu)! - Update [phpstan/phpdoc-parser to 1.24.0](https://togithub.com/phpstan/phpdoc-parser/releases/tag/1.24.0) - Allow asserting the type of `$this` ([https://github.com/phpstan/phpdoc-parser/pull/209](https://togithub.com/phpstan/phpdoc-parser/pull/209)), thanks [@ekisu](https://togithub.com/ekisu)! - Avoid creating an Exception when it is not necessary ([https://github.com/phpstan/phpdoc-parser/pull/208](https://togithub.com/phpstan/phpdoc-parser/pull/208)), thanks [@mad-briller](https://togithub.com/mad-briller)! - Added `--fail-without-result-cache` CLI option ([#2611](https://togithub.com/phpstan/phpstan-src/pull/2611)), thanks [@staabm](https://togithub.com/staabm)! - Make result cache independent from configs include order ([#2606](https://togithub.com/phpstan/phpstan-src/pull/2606)), thanks [@staabm](https://togithub.com/staabm)! - Reduce unnecessary calls into reflection ([#2614](https://togithub.com/phpstan/phpstan-src/pull/2614)), thanks [@staabm](https://togithub.com/staabm)! - Micro-optimize with `in_array()` ([#2618](https://togithub.com/phpstan/phpstan-src/pull/2618)), thanks [@zonuexe](https://togithub.com/zonuexe)! - Cover ArgumentsNormalizer with BC promise (https://github.com/phpstan/phpstan-src/commit/b87db6233f08414e176f02ba2dcf08414cb1d83d) - LastConditionVisitor: condition followed by throw is marked as last ([#2405](https://togithub.com/phpstan/phpstan-src/pull/2405)), thanks [@JanTvrdik](https://togithub.com/JanTvrdik)! # Function signature fixes 🤖 - fix incorrect doc for `inotify_read` ([#2605](https://togithub.com/phpstan/phpstan-src/pull/2605)), thanks [@taka-oyama](https://togithub.com/taka-oyama)! # Internals 🔍 - name-collision-detector (https://github.com/phpstan/phpstan-src/commit/95cdbe577513286c36dcf513fe76f269e8a32125) ### [`v1.10.33`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.33) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.32...1.10.33) # Improvements 🔧 - Support for referencing environment variables in the config ([#2559](https://togithub.com/phpstan/phpstan-src/pull/2559)), [#1918](https://togithub.com/phpstan/phpstan/issues/1918) - Made parent class reflection resolving lazier ([#2584](https://togithub.com/phpstan/phpstan-src/pull/2584)), thanks [@staabm](https://togithub.com/staabm)! - FileTypeMapper - optimization of type aliases (https://github.com/phpstan/phpstan-src/commit/2be81ac1cffa02da2bd0e3b52961cd3d528f2325) - Use NonAcceptingNeverType in more places (https://github.com/phpstan/phpstan-src/commit/3e03e9d7c15fdf64e6d55539a6c3045b3b8c6604) - MethodCall: mark virtual nullsafe call with attribute ([#2598](https://togithub.com/phpstan/phpstan-src/pull/2598)), [#9830](https://togithub.com/phpstan/phpstan/issues/9830), thanks [@janedbal](https://togithub.com/janedbal)! # Bugfixes 🐛 - Fix `checkBenevolentUnionTypes: true` along with `@template` with `array-key` bound ([#2587](https://togithub.com/phpstan/phpstan-src/pull/2587)), [#9766](https://togithub.com/phpstan/phpstan/issues/9766), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Fix type inference of `array_sum()` ([#2591](https://togithub.com/phpstan/phpstan-src/pull/2591)), [#9808](https://togithub.com/phpstan/phpstan/issues/9808), thanks [@zer0-star](https://togithub.com/zer0-star)! - Update Symfony polyfills (https://github.com/phpstan/phpstan-src/commit/dfcaa3082c975b13847ff9de5e55438ce7b65fc4), [#8538](https://togithub.com/phpstan/phpstan/issues/8538) # Function signature fixes 🤖 - More precise `inotify` related function signatures ([#2599](https://togithub.com/phpstan/phpstan-src/pull/2599)), thanks [@thg2k](https://togithub.com/thg2k)! # Internals 🔍 - Prevent most `$parentPhpDocBlock->getClassReflection()->isBuiltin()` calls ([#2585](https://togithub.com/phpstan/phpstan-src/pull/2585)), thanks [@staabm](https://togithub.com/staabm)! - micro: use `spl_object_id()` ([#2592](https://togithub.com/phpstan/phpstan-src/pull/2592)), thanks [@staabm](https://togithub.com/staabm)! - Update `nette/di` ([#2597](https://togithub.com/phpstan/phpstan-src/pull/2597)) ### [`v1.10.32`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.32) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.31...1.10.32) # Improvements 🔧 - Optimize FileTypeMapper for huge PHPDocs ([#2582](https://togithub.com/phpstan/phpstan-src/pull/2582)), [#9498](https://togithub.com/phpstan/phpstan/issues/9498) - This fixes performance issue for projects that use Carbon (`nesbot/carbon`) - Optimize DumpParametersCommand (https://github.com/phpstan/phpstan-src/commit/379008a6a632e6e657ad920147a87772c41438e1) ### [`v1.10.31`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.31) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.30...1.10.31) # Improvements 🔧 - Cache OptimizedDirectorySourceLocator data for faster subsequent runs and less work needed by child processes (https://github.com/phpstan/phpstan-src/commit/b66210f114f695a23d62f884615874cf5f7c6bab) - `NonAcceptingNeverType` ([#2540](https://togithub.com/phpstan/phpstan-src/pull/2540)), [#9133](https://togithub.com/phpstan/phpstan/issues/9133), [#6485](https://togithub.com/phpstan/phpstan/issues/6485), thanks [@jiripudil](https://togithub.com/jiripudil)! - ClearResultCacheCommand - `--xdebug` option (https://github.com/phpstan/phpstan-src/commit/3befb53be3acb9c6807d1ac0834eafb399762440) # Internals 🔍 - Do not pass a fake path to analyse in ClearResultCacheCommand; check paths count later when asking for files (https://github.com/phpstan/phpstan-src/commit/4e37a2d78baed28974f140775bcc7f5cba62cf6b) - FileCacheStorage - reference cache key in a comment (https://github.com/phpstan/phpstan-src/commit/0fbf0eed7ba63bdae6a8ce7ef33a96bd12236b45) ### [`v1.10.30`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.30) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.29...1.10.30) # Improvements 🔧 - NotAnalysedTraitRule - do not report for analysis of files-only paths (https://github.com/phpstan/phpstan-src/commit/5f59d58b62ba130aaeedd7d804f3d0bb2b19e4fd) # Bugfixes 🐛 - Fix several issues with nullsafe type specification ([#2577](https://togithub.com/phpstan/phpstan-src/pull/2577)), [#9105](https://togithub.com/phpstan/phpstan/issues/9105), [#5172](https://togithub.com/phpstan/phpstan/issues/5172), [#8517](https://togithub.com/phpstan/phpstan/issues/8517), [#7980](https://togithub.com/phpstan/phpstan/issues/7980), [#8664](https://togithub.com/phpstan/phpstan/issues/8664), [#9293](https://togithub.com/phpstan/phpstan/issues/9293), thanks [@schlndh](https://togithub.com/schlndh)! - Do not report unused class elements if the element is used on an uncertain type like `mixed` (https://github.com/phpstan/phpstan-src/commit/cbdb30d596d44cd00361989df72cb15f33f26109), [#9765](https://togithub.com/phpstan/phpstan/issues/9765) - ConditionalTagsExtension: add missing tags ([#2574](https://togithub.com/phpstan/phpstan-src/pull/2574)), thanks [@janedbal](https://togithub.com/janedbal)! - CleaningVisitor - keep closures and arrow functions (https://github.com/phpstan/phpstan-src/commit/0501aaf259f16cd1bd27e2a6ec2d8b1de5af5edf), [#9776](https://togithub.com/phpstan/phpstan/issues/9776) - Fix baseline for access to uninitialized property from trait ([#2568](https://togithub.com/phpstan/phpstan-src/pull/2568)), thanks [@schlndh](https://togithub.com/schlndh)! - Fix generalizing types in loops (https://github.com/phpstan/phpstan-src/commit/c09be9ec0e8ca6b448da52ee5320417bc692adf9), [#9753](https://togithub.com/phpstan/phpstan/issues/9753) - Fix foreach scope when iterating non-array and `polluteScopeWithAlwaysIterableForeach` is `true` (https://github.com/phpstan/phpstan-src/commit/853a1e693eb18b9c1eef87f264c90b4d446db710), [#9784](https://togithub.com/phpstan/phpstan/issues/9784) # Internals 🔍 - Issue bot - special NotAnalysedTraitRule that runs even with `onlyFiles=true` (https://github.com/phpstan/phpstan-src/commit/6c941aecbfd47dd09315d995821eb904288f04c1) - Ability to disable `implicitThrows` in tests ([#2576](https://togithub.com/phpstan/phpstan-src/pull/2576)), thanks [@janedbal](https://togithub.com/janedbal)! - Rename duplicate symbols (https://github.com/phpstan/phpstan-src/commit/21717178796e2081d3c4275e6cc54821cfcdcba6) ### [`v1.10.29`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.29) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.28...1.10.29) # Improvements 🔧 - Update nikic/php-parser to v4.17.1 - PHP 8.3 features are no longer parse errors. Full-fledged PHP 8.3 support is coming later this year. - Update BetterReflection to 6.12.0 # Bugfixes 🐛 - PHPStan Pro - when launching, `PHP_BINARY` needs to be escaped (https://github.com/phpstan/phpstan-src/commit/2c7cfd8b82beb355c1125524049cf6d16495e067) # Function signature fixes 🤖 - Fix FTP-related function signatures ([#2551](https://togithub.com/phpstan/phpstan-src/pull/2551)), thanks [@thg2k](https://togithub.com/thg2k)! ### [`v1.10.28`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.28) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.27...1.10.28) # Improvements 🔧 - Update BetterReflection to 6.12.0 (https://github.com/phpstan/phpstan-src/commit/7c49c944c7a40a2065f27d2ba94eb90f0f2fc22d) # Bugfixes 🐛 - Nullsafe operator on `null` results in `null` (https://github.com/phpstan/phpstan-src/commit/5c40c853ff91d518dea2afee9449ef58d8479314), [#9721](https://togithub.com/phpstan/phpstan/issues/9721) - Properties set in the native constructor are initialized in additional constructors (https://github.com/phpstan/phpstan-src/commit/1b0c6a0166e6e5199407377d124cfe5cdac74b87), [#9619](https://togithub.com/phpstan/phpstan/issues/9619) - Fix performance problem with nested BooleanOr and BooleanAnd (https://github.com/phpstan/phpstan-src/commit/9adae6c4f8c4797c8e60353430ba9a66dc897bb7), [#9690](https://togithub.com/phpstan/phpstan/issues/9690), [#9676](https://togithub.com/phpstan/phpstan/issues/9676) - CallableTypeHelper - copy variadic parameters if the accepting closure has more parameters (https://github.com/phpstan/phpstan-src/commit/31ed326fb113238df762bf9237da50e4613bde32), [#9699](https://togithub.com/phpstan/phpstan/issues/9699) # Internals 🔍 - Simplify access to ClassReflection in ClassPropertyNode ([#2565](https://togithub.com/phpstan/phpstan-src/pull/2565)), thanks [@mad-briller](https://togithub.com/mad-briller)! ### [`v1.10.27`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.27) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.26...1.10.27) # Bleeding edge 🔪 - More precise `stream_socket_client()` signature ([#2519](https://togithub.com/phpstan/phpstan-src/pull/2519)), thanks [@staabm](https://togithub.com/staabm)! - More precise `scandir()` signature ([#2518](https://togithub.com/phpstan/phpstan-src/pull/2518)), thanks [@staabm](https://togithub.com/staabm)! - More precise `extract()` signature ([#2517](https://togithub.com/phpstan/phpstan-src/pull/2517)), thanks [@staabm](https://togithub.com/staabm)! *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 🔧 - Report trait access to unititialized property in the trait instead of class ([#2531](https://togithub.com/phpstan/phpstan-src/pull/2531)), thanks [@schlndh](https://togithub.com/schlndh)! - Type projections, part 2: enforce elementary rules ([#2481](https://togithub.com/phpstan/phpstan-src/pull/2481)), thanks [@jiripudil](https://togithub.com/jiripudil)! - Unify ignoring lines in traits with parser tokens (https://github.com/phpstan/phpstan-src/commit/01294d86b811444b72d7c67c5e75f115daddbd13), [#6175](https://togithub.com/phpstan/phpstan/issues/6175) # Bugfixes 🐛 - Fix json method exception ([#2524](https://togithub.com/phpstan/phpstan-src/pull/2524)), [#9568](https://togithub.com/phpstan/phpstan/issues/9568), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Support of printf with dynamic width ([#2543](https://togithub.com/phpstan/phpstan-src/pull/2543)), [#9674](https://togithub.com/phpstan/phpstan/issues/9674), thanks [@kukulich](https://togithub.com/kukulich)! - Support of printf with dynamic precision (and improved support of dynamic width) ([#2544](https://togithub.com/phpstan/phpstan-src/pull/2544)), [#9677](https://togithub.com/phpstan/phpstan/issues/9677), thanks [@kukulich](https://togithub.com/kukulich)! - Fix types for conditional parameters after checks ([#2548](https://togithub.com/phpstan/phpstan-src/pull/2548)), [#7915](https://togithub.com/phpstan/phpstan/issues/7915), thanks [@rvanvelzen](https://togithub.com/rvanvelzen)! - Prevent `Call to end() on null` (https://github.com/phpstan/phpstan-src/commit/a5e5719bcbe3385f2bac77704e7da850da766a01), [#9722](https://togithub.com/phpstan/phpstan/issues/9722) - Fix internal error in SimpleXMLElementConstructorThrowTypeExtension ([#2561](https://togithub.com/phpstan/phpstan-src/pull/2561)), [#9716](https://togithub.com/phpstan/phpstan/issues/9716), thanks [@staabm](https://togithub.com/staabm)! - Method extensions class name is case-insensitive ([#2562](https://togithub.com/phpstan/phpstan-src/pull/2562)), [#9716](https://togithub.com/phpstan/phpstan/issues/9716), thanks [@staabm](https://togithub.com/staabm)! - InArrayFunctionTypeSpecifyingExtension - fix calls with less than 2 parameters (https://github.com/phpstan/phpstan-src/commit/4d77e98e151599d12fd828df969929ed419a0924), [#9711](https://togithub.com/phpstan/phpstan/issues/9711) # Function signature fixes 🤖 - `uopz_flags` - flags are optional (https://github.com/phpstan/phpstan-src/commit/917750efd8550446492e91ca3069179416fa80f1), [#9611](https://togithub.com/phpstan/phpstan/issues/9611) - Add `base64_decode` overloads to PHP 8+ ([#2529](https://togithub.com/phpstan/phpstan-src/pull/2529)), [#9428](https://togithub.com/phpstan/phpstan/issues/9428), thanks [@dktapps](https://togithub.com/dktapps)! - Mark few Ds methods as impure ([#2550](https://togithub.com/phpstan/phpstan-src/pull/2550)), thanks [@simPod](https://togithub.com/simPod)! # Internals 🔍 - Avoid doing work before its necessary in mutating scope. ([#2537](https://togithub.com/phpstan/phpstan-src/pull/2537)), thanks [@mad-briller](https://togithub.com/mad-briller)! - Changed `linesToIgnore` attribute format (https://github.com/phpstan/phpstan-src/commit/2862a7bf7927a7e76771b71f43206d01dfc5d6ef) - Prevent unnecessary work in MutatingScope ([#2554](https://togithub.com/phpstan/phpstan-src/pull/2554)), thanks [@staabm](https://togithub.com/staabm)! - Validate parameters with parametersSchema each time after container creation ([#2558](https://togithub.com/phpstan/phpstan-src/pull/2558)) ### [`v1.10.26`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.26) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.10.25...1.10.26) # Improvements 🔧 - More precise return type for trigger_error ([#2526](https://togithub.com/phpstan/phpstan-src/pull/2526)), thanks [@paulbalandan](https://togithub.com/paulbalandan)! # Bugfixes 🐛 - Fix filtering default stub files on Windows ([#2406](https://togithub.com/phpstan/phpstan-src/pull/2406)), thanks [@maryo](https://togithub.com/maryo)! - FileHelper absolutize and normalize: Fix path with scheme ([#2506](https://togithub.com/phpstan/phpstan-src/pull/2506)), thanks [@mvorisek](https://togithub.com/mvorisek)! - Fix `array_keys()` and \`array_values()\`\` on constant arrays ([#2516](https://togithub.com/phpstan/phpstan-src/pull/2516)), thanks [@jlherren](https://togithub.com/jlherren)! - Fix access to uninitialized property via extension in additional constructor (https://github.com/phpstan/phpstan-src/commit/218aad0804bebd8f0ad60eea69afb24d8fa4ca48), [#9619](https://togithub.com/phpstan/phpstan/issues/9619) - Fix result cache bug with imported type aliases (https://github.com/phpstan/phpstan-src/commit/553c4b141b62244f629b22fe7e8054196cd73a58), [#9622](https://togithub.com/phpstan/phpstan/issues/9622) - Fix result cache bug with imported type aliases in a trait (https://github.com/phpstan/phpstan-src/commit/d8071d0904e4b06a814a0b8b8d7f343d72db0633) - Fix PHP 8.3 deprecation (`$foo--` with a non-numeric string no longer allowed) (https://github.com/phpstan/phpstan-src/commit/c6f4c4ceb7d7355ef761a6ffaa1b1574469789c6) - Array shape with optional keys might be a list (https://github.com/phpstan/phpstan-src/commit/97f0039fe568eec83607861c36718e8f79c481ff) - ArrayMapFunctionReturnTypeExtension - preserve array being a list (https://github.com/phpstan/phpstan-src/commit/d55c4f2c207a6a07712cff2cdaba670fee950258) # Function signature fixes 🤖 - More precise `ftp_*` mode parameter type ([#2513](https://togithub.com/phpstan/phpstan-src/pull/2513)), thanks [@staabm](https://togithub.com/staabm)! - Fix signature of `DOMNode::lookupNamespaceURI` ([#2527](https://togithub.com/phpstan/phpstan-src/pull/2527)), thanks [@paulbalandan](https://togithub.com/paulbalandan)! # Internals 🔍 - Simplify access to class reflections in InClassNode rules ([#2514](https://togithub.com/phpstan/phpstan-src/pull/2514)), thanks [@mad-briller](https://togithub.com/mad-briller)! - Simplify access to class reflections in ClassPropertiesNode ([#2520](https://togithub.com/phpstan/phpstan-src/pull/2520)), thanks [@mad-briller](https://togithub.com/mad-briller)! - Simplify access to function reflection in FunctionReturnStatementsNode rules ([#2522](https://togithub.com/phpstan/phpstan-src/pull/2522)), thanks [@mad-briller](https://togithub.com/mad-briller)! - Set class and method reflection in the MethodReturnStatementNode ([#2515](https://togithub.com/phpstan/phpstan-src/pull/2515)), thanks [@mad-briller](https://togithub.com/mad-briller)! - Simplify access to class reflections in ClassConstantsNode and ClassMethodsNode rules ([#2521](https://togithub.com/phpstan/phpstan-src/pull/2521)), thanks [@mad-briller](https://togithub.com/mad-briller)! - Introduce InTraitNode (https://github.com/phpstan/phpstan-src/commit/657fc54b7d358622b791828f94a6a6d9d0f8207c) - TrinaryLogic for `isList` in ConstantArrayType (https://github.com/phpstan/phpstan-src/commit/158c61c6777acb416fb5ff243916c1483b0f220a, https://github.com/phpstan/phpstan-src/commit/f0a9fd796e1b1d023affdb7fb4ffd344d79becd4) - Add polyfill for PHP 8.1 (https://github.com/phpstan/phpstan-src/commit/a8818be2f31d2bc33ac6ccb3c3f221248e70a514, https://github.com/phpstan/phpstan-src/commit/cda7e69587a3d46afe098bf7657af364f3980356)sebastianbergmann/phpunit (phpunit/phpunit)
### [`v10.4.2`](https://togithub.com/sebastianbergmann/phpunit/compare/10.4.1...10.4.2) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.4.1...10.4.2) ### [`v10.4.1`](https://togithub.com/sebastianbergmann/phpunit/compare/10.4.0...10.4.1) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.4.0...10.4.1) ### [`v10.4.0`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.5...10.4.0) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.5...10.4.0) ### [`v10.3.5`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.4...10.3.5) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.4...10.3.5) ### [`v10.3.4`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.3...10.3.4) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.3...10.3.4) ### [`v10.3.3`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.2...10.3.3) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.2...10.3.3) ### [`v10.3.2`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.1...10.3.2) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.1...10.3.2) ### [`v10.3.1`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.0...10.3.1) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.0...10.3.1) ### [`v10.3.0`](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.7...10.3.0) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.7...10.3.0) ### [`v10.2.7`](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.6...10.2.7) [Compare Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.6...10.2.7)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
Read more information about the use of Renovate Bot.