phpstan/phpstan
### [`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)
phpstan/phpstan-phpunit
### [`v1.3.14`](https://togithub.com/phpstan/phpstan-phpunit/releases/tag/1.3.14)
[Compare Source](https://togithub.com/phpstan/phpstan-phpunit/compare/1.3.13...1.3.14)
- [614acc1](http://github.com/phpstan/phpstan-phpunit/commit/614acc10c522e319639bf38b0698a4a566665f04) - Add support for `assertObjectHasProperty`
- [6536e66](http://github.com/phpstan/phpstan-phpunit/commit/6536e6659038f49d37bf8c550098138edc38eccc) - Open 1.3.x-dev
- [e468b76](http://github.com/phpstan/phpstan-phpunit/commit/e468b76c2b89ce1611e2fc5ad3f6420dd49ddfbf) - Add support for assertContains and assertContainsEquals
- [2742e1c](http://github.com/phpstan/phpstan-phpunit/commit/2742e1c0d6924ff03fc640954ee4d25143d90699) - Add partial support for assertContainsOnlyInstancesOf
- [f2118db](http://github.com/phpstan/phpstan-phpunit/commit/f2118dbe168588aa4a7a300c84c822a0732c485f) - Improve support of assertArrayHasKey()
- [abc6e12](http://github.com/phpstan/phpstan-phpunit/commit/abc6e126eaccb792c2a2b6bd11760cee0b574c18) - Update phpstan/phpstan-strict-rules
- [d96b5a4](http://github.com/phpstan/phpstan-phpunit/commit/d96b5a45ace45892e55927d104e5089e354040c1) - Modernize rules with RuleErrorBuilder
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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, click this checkbox.
This PR contains the following updates:
1.10.25
->1.10.33
1.3.13
->1.3.14
Release Notes
phpstan/phpstan
### [`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)phpstan/phpstan-phpunit
### [`v1.3.14`](https://togithub.com/phpstan/phpstan-phpunit/releases/tag/1.3.14) [Compare Source](https://togithub.com/phpstan/phpstan-phpunit/compare/1.3.13...1.3.14) - [614acc1](http://github.com/phpstan/phpstan-phpunit/commit/614acc10c522e319639bf38b0698a4a566665f04) - Add support for `assertObjectHasProperty` - [6536e66](http://github.com/phpstan/phpstan-phpunit/commit/6536e6659038f49d37bf8c550098138edc38eccc) - Open 1.3.x-dev - [e468b76](http://github.com/phpstan/phpstan-phpunit/commit/e468b76c2b89ce1611e2fc5ad3f6420dd49ddfbf) - Add support for assertContains and assertContainsEquals - [2742e1c](http://github.com/phpstan/phpstan-phpunit/commit/2742e1c0d6924ff03fc640954ee4d25143d90699) - Add partial support for assertContainsOnlyInstancesOf - [f2118db](http://github.com/phpstan/phpstan-phpunit/commit/f2118dbe168588aa4a7a300c84c822a0732c485f) - Improve support of assertArrayHasKey() - [abc6e12](http://github.com/phpstan/phpstan-phpunit/commit/abc6e126eaccb792c2a2b6bd11760cee0b574c18) - Update phpstan/phpstan-strict-rules - [d96b5a4](http://github.com/phpstan/phpstan-phpunit/commit/d96b5a45ace45892e55927d104e5089e354040c1) - Modernize rules with RuleErrorBuilderConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.