phpstan/phpstan
### [`v1.9.8`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.8)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.7...1.9.8)
# Improvements š§
- Improve constant string support in DateTime return type extensions ([#2152](https://togithub.com/phpstan/phpstan-src/pull/2152)), thanks [@herndlm](https://togithub.com/herndlm)!
- Improve expression type resolving of superglobals ([#2012](https://togithub.com/phpstan/phpstan-src/pull/2012)), thanks [@herndlm](https://togithub.com/herndlm)!
- Improve integer range multiplication and division ([#1961](https://togithub.com/phpstan/phpstan-src/pull/1961)), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
# Bugfixes š
- ObjectType static cache should be reset after container creation (https://github.com/phpstan/phpstan-src/commit/b13ce59ac33952c086b0effa986691a8fcd6166e), [https://github.com/phpstan/phpstan/discussions/8502](https://togithub.com/phpstan/phpstan/discussions/8502)
- Supports functions whose side effects are flipped by parameters ([#2037](https://togithub.com/phpstan/phpstan-src/pull/2037)), [#8440](https://togithub.com/phpstan/phpstan/issues/8440), thanks [@zonuexe](https://togithub.com/zonuexe)!
- `array_shift` et al. have side effects (https://github.com/phpstan/phpstan-src/commit/6276ce1c3e86e18d43989310dbd277e8ea9845f6), [#8084](https://togithub.com/phpstan/phpstan/issues/8084)
- Fix comparison with `get_class()` in traits always evaluate to true ([#2044](https://togithub.com/phpstan/phpstan-src/pull/2044)), [#3633](https://togithub.com/phpstan/phpstan/issues/3633), thanks [@staabm](https://togithub.com/staabm)!
### [`v1.9.7`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.7)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.6...1.9.7)
# Bleeding edge šŖ
- Empty `skipCheckGenericClasses` (https://github.com/phpstan/phpstan-src/commit/28c2c79b16cac6ba6b01f1b4d211541dd49d8a77)
*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 š§
- `UnionType::pickTypes` overriden in `BenevolentUnionType` for a more benevolent behaviour (https://github.com/phpstan/phpstan-src/commit/480626ecb52d2e98cc28cee8a18dfb86112b7f8f)
# Bugfixes š
- Fixed incorrect while loop logic (https://github.com/phpstan/phpstan-src/commit/091fcafb07ac0b3eb261285c049d9c0f214a535c), [#8643](https://togithub.com/phpstan/phpstan/issues/8643)
- Fixed scenario with zero analysed files (https://github.com/phpstan/phpstan-src/commit/6debffdb5892f7fb311a60634ec9cda79b6e3154)
# Function signature fixes š¤
- `min()` and `max()` do not return `false` on PHP 8 ([#2161](https://togithub.com/phpstan/phpstan-src/pull/2161)), thanks [@staabm](https://togithub.com/staabm)!
- Fix a few MongoDB definitions ([#2140](https://togithub.com/phpstan/phpstan-src/pull/2140)), thanks [@UCIS](https://togithub.com/UCIS)!
# Internals š
- Added missing namespaces in tests ([#2156](https://togithub.com/phpstan/phpstan-src/pull/2156)), thanks [@staabm](https://togithub.com/staabm)!
### [`v1.9.6`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.6)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.5...1.9.6)
# Improvements š§
- Show combined memory usage in parallel mode ([#2027](https://togithub.com/phpstan/phpstan-src/pull/2027)), [#4683](https://togithub.com/phpstan/phpstan/issues/4683), thanks [@janedbal](https://togithub.com/janedbal)!
# Bugfixes š
- One-part encapsed string is correctly converted to string (https://github.com/phpstan/phpstan-src/commit/dc77608ee9ab22e352cd3df60ce2bc2d8d135abc), [#8635](https://togithub.com/phpstan/phpstan/issues/8635)
- Conditional expressions - do not take conclusions about identical variable in assignment (https://github.com/phpstan/phpstan-src/commit/cde53d19e9b4edf81f4c469b7f2a2c3634004d86), [#8625](https://togithub.com/phpstan/phpstan/issues/8625), [#8621](https://togithub.com/phpstan/phpstan/issues/8621)
### [`v1.9.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.5)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.4...1.9.5)
# Improvements š§
- Improve constant string union handling for concat and encapsed string ([#2057](https://togithub.com/phpstan/phpstan-src/pull/2057)), thanks [@schlndh](https://togithub.com/schlndh)!
- PhpVersion: supportsDisjunctiveNormalForm ([#2130](https://togithub.com/phpstan/phpstan-src/pull/2130)), thanks [@janedbal](https://togithub.com/janedbal)!
- Constant scalar types might accept general type from the same family ([#2131](https://togithub.com/phpstan/phpstan-src/pull/2131)) - this moves some errors from earlier levels to level 7
- Implement OversizedArrayBuilder to improve huge constant array performance ([#2116](https://togithub.com/phpstan/phpstan-src/pull/2116)), [#8215](https://togithub.com/phpstan/phpstan/issues/8215), thanks [@staabm](https://togithub.com/staabm)!
- Improve performance again by dumbing down nested arrays ([#2077](https://togithub.com/phpstan/phpstan-src/pull/2077))
- Result cache should not be invalidated by changes to editorUrl, editorUrlTitle and errorFormat parameters ([#2136](https://togithub.com/phpstan/phpstan-src/pull/2136)), thanks [@bendavies](https://togithub.com/bendavies)!
- Faster `MutatingScope::shouldInvalidateExpression()` ([#2139](https://togithub.com/phpstan/phpstan-src/pull/2139)), thanks [@staabm](https://togithub.com/staabm)!
- Add `ReturnStatementsNode::hasNativeReturnTypehint()` ([#2141](https://togithub.com/phpstan/phpstan-src/pull/2141)), thanks [@janedbal](https://togithub.com/janedbal)!
- TypeNodeResolver - `lowercase-string` and `non-empty-lowercase-string` are known (https://github.com/phpstan/phpstan-src/commit/884ceb015c68e8c40a066732b4bc873bed568d38)
# Bugfixes š
- OversizedArrayType contains at least 1 element ([#2126](https://togithub.com/phpstan/phpstan-src/pull/2126)), thanks [@staabm](https://togithub.com/staabm)!
- Fix `pathinfo($s, PATHINFO_ALL)` return type ([#2014](https://togithub.com/phpstan/phpstan-src/pull/2014)), thanks [@staabm](https://togithub.com/staabm)!
- Bump fidry/cpu-core-counter version ([#2133](https://togithub.com/phpstan/phpstan-src/pull/2133)), thanks [@czukowski](https://togithub.com/czukowski)!
- Fix `MixedType::hasOffsetValueType()` for subtracted types ([#2135](https://togithub.com/phpstan/phpstan-src/pull/2135)), [#6705](https://togithub.com/phpstan/phpstan/issues/6705), thanks [@herndlm](https://togithub.com/herndlm)!
- Fix dumbed down arrays ([#2137](https://togithub.com/phpstan/phpstan-src/pull/2137)), [#8004](https://togithub.com/phpstan/phpstan/issues/8004)
- Return type of `parent::__set_state()` method is only object ([#2138](https://togithub.com/phpstan/phpstan-src/pull/2138)), thanks [@blankse](https://togithub.com/blankse)!
- Fix fatal error when autoloader opens directories ([#2154](https://togithub.com/phpstan/phpstan-src/pull/2154)), thanks [@staabm](https://togithub.com/staabm)!
- Fix returntype for DateInterval::createFromDateString ([#2038](https://togithub.com/phpstan/phpstan-src/pull/2038)), thanks [@verfriemelt-dot-org](https://togithub.com/verfriemelt-dot-org)!
- Fix hasSideEffects for AnnotationMethodReflection ([#2155](https://togithub.com/phpstan/phpstan-src/pull/2155)), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Fix constant-string handling in union-types ([#2134](https://togithub.com/phpstan/phpstan-src/pull/2134)), [#8568](https://togithub.com/phpstan/phpstan/issues/8568), [#8562](https://togithub.com/phpstan/phpstan/issues/8562), thanks [@staabm](https://togithub.com/staabm)!
- IntersectionType - check if it's an oversized array and return benevolent union in getOffsetValueType (https://github.com/phpstan/phpstan-src/commit/80b5cdd3ecf173f0aaa7354d28537167905aec7c)
# Internals š
- Use isArray, isConstantArray instead of instanceof in TypeCombinartor::union ([#2118](https://togithub.com/phpstan/phpstan-src/pull/2118)), thanks [@rajyan](https://togithub.com/rajyan)!
- Fix typo ([#2127](https://togithub.com/phpstan/phpstan-src/pull/2127)), thanks [@rajyan](https://togithub.com/rajyan)!
- AnalyserIntegrationTest - run with bleedingEdge (https://github.com/phpstan/phpstan-src/commit/db2de6f17469e9bc0d078e09c895d64a39fe14ca)
- Refactor options handling in `FilterVarDynamicReturnTypeExtension` ([#2120](https://togithub.com/phpstan/phpstan-src/pull/2120)), thanks [@herndlm](https://togithub.com/herndlm)!
- Add `Type::isScalar()` ([#2149](https://togithub.com/phpstan/phpstan-src/pull/2149)), thanks [@herndlm](https://togithub.com/herndlm)!
- Removed unused fileName in FetchedNode ([#2150](https://togithub.com/phpstan/phpstan-src/pull/2150)), thanks [@staabm](https://togithub.com/staabm)!
- Removed unused NodeList class ([#2151](https://togithub.com/phpstan/phpstan-src/pull/2151)), thanks [@staabm](https://togithub.com/staabm)!
- Add namespace to bug-8573.php / fix `GenericsIntegrationTest` ([#2147](https://togithub.com/phpstan/phpstan-src/pull/2147)), thanks [@herndlm](https://togithub.com/herndlm)!
Configuration
š Schedule: Branch creation - "before 3am on Monday" (UTC), 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.
š Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.9.4
->1.9.8
Release Notes
phpstan/phpstan
### [`v1.9.8`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.8) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.7...1.9.8) # Improvements š§ - Improve constant string support in DateTime return type extensions ([#2152](https://togithub.com/phpstan/phpstan-src/pull/2152)), thanks [@herndlm](https://togithub.com/herndlm)! - Improve expression type resolving of superglobals ([#2012](https://togithub.com/phpstan/phpstan-src/pull/2012)), thanks [@herndlm](https://togithub.com/herndlm)! - Improve integer range multiplication and division ([#1961](https://togithub.com/phpstan/phpstan-src/pull/1961)), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! # Bugfixes š - ObjectType static cache should be reset after container creation (https://github.com/phpstan/phpstan-src/commit/b13ce59ac33952c086b0effa986691a8fcd6166e), [https://github.com/phpstan/phpstan/discussions/8502](https://togithub.com/phpstan/phpstan/discussions/8502) - Supports functions whose side effects are flipped by parameters ([#2037](https://togithub.com/phpstan/phpstan-src/pull/2037)), [#8440](https://togithub.com/phpstan/phpstan/issues/8440), thanks [@zonuexe](https://togithub.com/zonuexe)! - `array_shift` et al. have side effects (https://github.com/phpstan/phpstan-src/commit/6276ce1c3e86e18d43989310dbd277e8ea9845f6), [#8084](https://togithub.com/phpstan/phpstan/issues/8084) - Fix comparison with `get_class()` in traits always evaluate to true ([#2044](https://togithub.com/phpstan/phpstan-src/pull/2044)), [#3633](https://togithub.com/phpstan/phpstan/issues/3633), thanks [@staabm](https://togithub.com/staabm)! ### [`v1.9.7`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.7) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.6...1.9.7) # Bleeding edge šŖ - Empty `skipCheckGenericClasses` (https://github.com/phpstan/phpstan-src/commit/28c2c79b16cac6ba6b01f1b4d211541dd49d8a77) *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 š§ - `UnionType::pickTypes` overriden in `BenevolentUnionType` for a more benevolent behaviour (https://github.com/phpstan/phpstan-src/commit/480626ecb52d2e98cc28cee8a18dfb86112b7f8f) # Bugfixes š - Fixed incorrect while loop logic (https://github.com/phpstan/phpstan-src/commit/091fcafb07ac0b3eb261285c049d9c0f214a535c), [#8643](https://togithub.com/phpstan/phpstan/issues/8643) - Fixed scenario with zero analysed files (https://github.com/phpstan/phpstan-src/commit/6debffdb5892f7fb311a60634ec9cda79b6e3154) # Function signature fixes š¤ - `min()` and `max()` do not return `false` on PHP 8 ([#2161](https://togithub.com/phpstan/phpstan-src/pull/2161)), thanks [@staabm](https://togithub.com/staabm)! - Fix a few MongoDB definitions ([#2140](https://togithub.com/phpstan/phpstan-src/pull/2140)), thanks [@UCIS](https://togithub.com/UCIS)! # Internals š - Added missing namespaces in tests ([#2156](https://togithub.com/phpstan/phpstan-src/pull/2156)), thanks [@staabm](https://togithub.com/staabm)! ### [`v1.9.6`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.6) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.5...1.9.6) # Improvements š§ - Show combined memory usage in parallel mode ([#2027](https://togithub.com/phpstan/phpstan-src/pull/2027)), [#4683](https://togithub.com/phpstan/phpstan/issues/4683), thanks [@janedbal](https://togithub.com/janedbal)! # Bugfixes š - One-part encapsed string is correctly converted to string (https://github.com/phpstan/phpstan-src/commit/dc77608ee9ab22e352cd3df60ce2bc2d8d135abc), [#8635](https://togithub.com/phpstan/phpstan/issues/8635) - Conditional expressions - do not take conclusions about identical variable in assignment (https://github.com/phpstan/phpstan-src/commit/cde53d19e9b4edf81f4c469b7f2a2c3634004d86), [#8625](https://togithub.com/phpstan/phpstan/issues/8625), [#8621](https://togithub.com/phpstan/phpstan/issues/8621) ### [`v1.9.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.9.5) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.9.4...1.9.5) # Improvements š§ - Improve constant string union handling for concat and encapsed string ([#2057](https://togithub.com/phpstan/phpstan-src/pull/2057)), thanks [@schlndh](https://togithub.com/schlndh)! - PhpVersion: supportsDisjunctiveNormalForm ([#2130](https://togithub.com/phpstan/phpstan-src/pull/2130)), thanks [@janedbal](https://togithub.com/janedbal)! - Constant scalar types might accept general type from the same family ([#2131](https://togithub.com/phpstan/phpstan-src/pull/2131)) - this moves some errors from earlier levels to level 7 - Implement OversizedArrayBuilder to improve huge constant array performance ([#2116](https://togithub.com/phpstan/phpstan-src/pull/2116)), [#8215](https://togithub.com/phpstan/phpstan/issues/8215), thanks [@staabm](https://togithub.com/staabm)! - Improve performance again by dumbing down nested arrays ([#2077](https://togithub.com/phpstan/phpstan-src/pull/2077)) - Result cache should not be invalidated by changes to editorUrl, editorUrlTitle and errorFormat parameters ([#2136](https://togithub.com/phpstan/phpstan-src/pull/2136)), thanks [@bendavies](https://togithub.com/bendavies)! - Faster `MutatingScope::shouldInvalidateExpression()` ([#2139](https://togithub.com/phpstan/phpstan-src/pull/2139)), thanks [@staabm](https://togithub.com/staabm)! - Add `ReturnStatementsNode::hasNativeReturnTypehint()` ([#2141](https://togithub.com/phpstan/phpstan-src/pull/2141)), thanks [@janedbal](https://togithub.com/janedbal)! - TypeNodeResolver - `lowercase-string` and `non-empty-lowercase-string` are known (https://github.com/phpstan/phpstan-src/commit/884ceb015c68e8c40a066732b4bc873bed568d38) # Bugfixes š - OversizedArrayType contains at least 1 element ([#2126](https://togithub.com/phpstan/phpstan-src/pull/2126)), thanks [@staabm](https://togithub.com/staabm)! - Fix `pathinfo($s, PATHINFO_ALL)` return type ([#2014](https://togithub.com/phpstan/phpstan-src/pull/2014)), thanks [@staabm](https://togithub.com/staabm)! - Bump fidry/cpu-core-counter version ([#2133](https://togithub.com/phpstan/phpstan-src/pull/2133)), thanks [@czukowski](https://togithub.com/czukowski)! - Fix `MixedType::hasOffsetValueType()` for subtracted types ([#2135](https://togithub.com/phpstan/phpstan-src/pull/2135)), [#6705](https://togithub.com/phpstan/phpstan/issues/6705), thanks [@herndlm](https://togithub.com/herndlm)! - Fix dumbed down arrays ([#2137](https://togithub.com/phpstan/phpstan-src/pull/2137)), [#8004](https://togithub.com/phpstan/phpstan/issues/8004) - Return type of `parent::__set_state()` method is only object ([#2138](https://togithub.com/phpstan/phpstan-src/pull/2138)), thanks [@blankse](https://togithub.com/blankse)! - Fix fatal error when autoloader opens directories ([#2154](https://togithub.com/phpstan/phpstan-src/pull/2154)), thanks [@staabm](https://togithub.com/staabm)! - Fix returntype for DateInterval::createFromDateString ([#2038](https://togithub.com/phpstan/phpstan-src/pull/2038)), thanks [@verfriemelt-dot-org](https://togithub.com/verfriemelt-dot-org)! - Fix hasSideEffects for AnnotationMethodReflection ([#2155](https://togithub.com/phpstan/phpstan-src/pull/2155)), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Fix constant-string handling in union-types ([#2134](https://togithub.com/phpstan/phpstan-src/pull/2134)), [#8568](https://togithub.com/phpstan/phpstan/issues/8568), [#8562](https://togithub.com/phpstan/phpstan/issues/8562), thanks [@staabm](https://togithub.com/staabm)! - IntersectionType - check if it's an oversized array and return benevolent union in getOffsetValueType (https://github.com/phpstan/phpstan-src/commit/80b5cdd3ecf173f0aaa7354d28537167905aec7c) # Internals š - Use isArray, isConstantArray instead of instanceof in TypeCombinartor::union ([#2118](https://togithub.com/phpstan/phpstan-src/pull/2118)), thanks [@rajyan](https://togithub.com/rajyan)! - Fix typo ([#2127](https://togithub.com/phpstan/phpstan-src/pull/2127)), thanks [@rajyan](https://togithub.com/rajyan)! - AnalyserIntegrationTest - run with bleedingEdge (https://github.com/phpstan/phpstan-src/commit/db2de6f17469e9bc0d078e09c895d64a39fe14ca) - Refactor options handling in `FilterVarDynamicReturnTypeExtension` ([#2120](https://togithub.com/phpstan/phpstan-src/pull/2120)), thanks [@herndlm](https://togithub.com/herndlm)! - Add `Type::isScalar()` ([#2149](https://togithub.com/phpstan/phpstan-src/pull/2149)), thanks [@herndlm](https://togithub.com/herndlm)! - Removed unused fileName in FetchedNode ([#2150](https://togithub.com/phpstan/phpstan-src/pull/2150)), thanks [@staabm](https://togithub.com/staabm)! - Removed unused NodeList class ([#2151](https://togithub.com/phpstan/phpstan-src/pull/2151)), thanks [@staabm](https://togithub.com/staabm)! - Add namespace to bug-8573.php / fix `GenericsIntegrationTest` ([#2147](https://togithub.com/phpstan/phpstan-src/pull/2147)), thanks [@herndlm](https://togithub.com/herndlm)!Configuration
š Schedule: Branch creation - "before 3am on Monday" (UTC), 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.
š Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.