phpstan/phpstan
### [`v1.12.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.12.5)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.12.4...1.12.5)
# Improvements π§
- Deprecate `ParametersAcceptorSelector::selectSingle()` (https://github.com/phpstan/phpstan-src/commit/23c53a2210b715f672ad3087dd476faf34bdec6e)
- See: https://github.com/phpstan/phpstan/blob/2.0.x/UPGRADING.md#removed-deprecated-parametersacceptorselectorselectsingle
- Introduce `lowercase-string` ([#3438](https://togithub.com/phpstan/phpstan-src/pull/3438)), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- More precise mixed-type subtraction in `toInteger()` ([#3434](https://togithub.com/phpstan/phpstan-src/pull/3434)), thanks [@staabm](https://togithub.com/staabm)!
- More precise `MixedType::toString()` with subtracted type ([#3420](https://togithub.com/phpstan/phpstan-src/pull/3420)), thanks [@staabm](https://togithub.com/staabm)!
- More precise `MixedType::toBoolean()` with subtracted type ([#3471](https://togithub.com/phpstan/phpstan-src/pull/3471)), thanks [@staabm](https://togithub.com/staabm)!
- Improve loose comparison for integer ranges ([#3465](https://togithub.com/phpstan/phpstan-src/pull/3465)), [#11694](https://togithub.com/phpstan/phpstan/issues/11694), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Truthy `isset($arr[$k])` should narrow `$k` ([#3453](https://togithub.com/phpstan/phpstan-src/pull/3453)), [#11716](https://togithub.com/phpstan/phpstan/issues/11716), [#8559](https://togithub.com/phpstan/phpstan/issues/8559), thanks [@staabm](https://togithub.com/staabm)!
- `isset()` narrows string-key in int-keyed-array to numeric-string ([#3472](https://togithub.com/phpstan/phpstan-src/pull/3472)), thanks [@staabm](https://togithub.com/staabm)!
# Bugfixes π
- Add generic types for array_values ([#3456](https://togithub.com/phpstan/phpstan-src/pull/3456)), thanks [@schlndh](https://togithub.com/schlndh)!
- Support IntegerRangeType in ConstantStringType offset-value-type handling ([#3462](https://togithub.com/phpstan/phpstan-src/pull/3462)), thanks [@staabm](https://togithub.com/staabm)!
- Fix bug with oversized array ([#3461](https://togithub.com/phpstan/phpstan-src/pull/3461)), [#11703](https://togithub.com/phpstan/phpstan/issues/11703), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Fix ErrorType after ArrayDimFetch ([#3460](https://togithub.com/phpstan/phpstan-src/pull/3460)), thanks [@staabm](https://togithub.com/staabm)!
- Implement ClosureType::getReferencedTemplateTypes() ([#3458](https://togithub.com/phpstan/phpstan-src/pull/3458)), [#10609](https://togithub.com/phpstan/phpstan/issues/10609), thanks [@jiripudil](https://togithub.com/jiripudil)!
- Fix substracted union type describe ([#3360](https://togithub.com/phpstan/phpstan-src/pull/3360)), [#10227](https://togithub.com/phpstan/phpstan/issues/10227), thanks [@mvorisek](https://togithub.com/mvorisek)!
- Fix including relative path (https://github.com/phpstan/phpstan-src/commit/098fb9416779240fab9b2dea1ee730da69668014), [#11738](https://togithub.com/phpstan/phpstan/issues/11738)
- Fix `sprintf()` inference for constant values with format-width in pattern ([#3474](https://togithub.com/phpstan/phpstan-src/pull/3474)), thanks [@staabm](https://togithub.com/staabm)!
- Drop wrong float comparison for `filter_var()` ([#2656](https://togithub.com/phpstan/phpstan-src/pull/2656)), thanks [@mvorisek](https://togithub.com/mvorisek)!
# Function signature fixes π€
- Change `iptcparse` return type ([#3483](https://togithub.com/phpstan/phpstan-src/pull/3483)), thanks [@ManuelHu](https://togithub.com/ManuelHu)!
# Internals π
- More specific return type for methods used to analyse currently entered function or method (https://github.com/phpstan/phpstan-src/commit/0e2587fae6e65be54ecbd47d33277d3f529d44d1)
- PhpFunctionFromParserNodeReflection becomes ParametersAcceptorWithPhpDocs (https://github.com/phpstan/phpstan-src/commit/1bea5c79d53e06f6cdd481decba73b504fb4bec0)
- Use methods directly on PhpFunctionFromParserNodeReflection instead of `selectSingle()` when analysing function body in rules (https://github.com/phpstan/phpstan-src/commit/41916ba39d429d096d5234acedcfe75f22025785)
- Use methods directly on PhpFunctionFromParserNodeReflection instead of `selectSingle()` in MutatingScope (https://github.com/phpstan/phpstan-src/commit/865c618f82030cbc2e915c6da6bd424bc9b8aa41)
- Use `ParametersAcceptorSelector::selectFromArgs()` instead of `selectSingle()` wherever possible (https://github.com/phpstan/phpstan-src/commit/e283d3a6df7df502f3c3e70bc086dd2018dc965b)
- Use PhpFunctionFromParserNodeReflection as ParametersAcceptor in DependencyResolver (https://github.com/phpstan/phpstan-src/commit/7e216a274f00bf0a77a72628c884fdd4cb6c24c6)
- Use methods directly on PhpFunctionFromParserNodeReflection instead of `selectSingle()` in ParametersAcceptorSelector (https://github.com/phpstan/phpstan-src/commit/1322aaf1d029c8db49c4c72742cb3d46f56be132)
- Introduce `@internal` `getOnlyVariant()` method on FunctionReflection/ExtendedMethodReflection to use instead of `selectSingle()` (https://github.com/phpstan/phpstan-src/commit/714877be8cafc1ba08610929e4dcb0d43273cc8d)
- Add `Type::chunkArray()` ([#3408](https://togithub.com/phpstan/phpstan-src/pull/3408)), thanks [@herndlm](https://togithub.com/herndlm)!
- Add more mixed-type bool subtraction tests ([#3421](https://togithub.com/phpstan/phpstan-src/pull/3421)), thanks [@staabm](https://togithub.com/staabm)!
- Made IssetExpr part of BC promise (https://github.com/phpstan/phpstan-src/commit/5677025877c6a8aef51b500cd461e8dbda6dab8c)
- Refactor RegexGroupParser for more immutability and less pass-by-ref ([#3479](https://togithub.com/phpstan/phpstan-src/pull/3479)), thanks [@staabm](https://togithub.com/staabm)!
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.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
1.12.4
->1.12.5
Release Notes
phpstan/phpstan
### [`v1.12.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.12.5) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.12.4...1.12.5) # Improvements π§ - Deprecate `ParametersAcceptorSelector::selectSingle()` (https://github.com/phpstan/phpstan-src/commit/23c53a2210b715f672ad3087dd476faf34bdec6e) - See: https://github.com/phpstan/phpstan/blob/2.0.x/UPGRADING.md#removed-deprecated-parametersacceptorselectorselectsingle - Introduce `lowercase-string` ([#3438](https://togithub.com/phpstan/phpstan-src/pull/3438)), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - More precise mixed-type subtraction in `toInteger()` ([#3434](https://togithub.com/phpstan/phpstan-src/pull/3434)), thanks [@staabm](https://togithub.com/staabm)! - More precise `MixedType::toString()` with subtracted type ([#3420](https://togithub.com/phpstan/phpstan-src/pull/3420)), thanks [@staabm](https://togithub.com/staabm)! - More precise `MixedType::toBoolean()` with subtracted type ([#3471](https://togithub.com/phpstan/phpstan-src/pull/3471)), thanks [@staabm](https://togithub.com/staabm)! - Improve loose comparison for integer ranges ([#3465](https://togithub.com/phpstan/phpstan-src/pull/3465)), [#11694](https://togithub.com/phpstan/phpstan/issues/11694), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Truthy `isset($arr[$k])` should narrow `$k` ([#3453](https://togithub.com/phpstan/phpstan-src/pull/3453)), [#11716](https://togithub.com/phpstan/phpstan/issues/11716), [#8559](https://togithub.com/phpstan/phpstan/issues/8559), thanks [@staabm](https://togithub.com/staabm)! - `isset()` narrows string-key in int-keyed-array to numeric-string ([#3472](https://togithub.com/phpstan/phpstan-src/pull/3472)), thanks [@staabm](https://togithub.com/staabm)! # Bugfixes π - Add generic types for array_values ([#3456](https://togithub.com/phpstan/phpstan-src/pull/3456)), thanks [@schlndh](https://togithub.com/schlndh)! - Support IntegerRangeType in ConstantStringType offset-value-type handling ([#3462](https://togithub.com/phpstan/phpstan-src/pull/3462)), thanks [@staabm](https://togithub.com/staabm)! - Fix bug with oversized array ([#3461](https://togithub.com/phpstan/phpstan-src/pull/3461)), [#11703](https://togithub.com/phpstan/phpstan/issues/11703), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Fix ErrorType after ArrayDimFetch ([#3460](https://togithub.com/phpstan/phpstan-src/pull/3460)), thanks [@staabm](https://togithub.com/staabm)! - Implement ClosureType::getReferencedTemplateTypes() ([#3458](https://togithub.com/phpstan/phpstan-src/pull/3458)), [#10609](https://togithub.com/phpstan/phpstan/issues/10609), thanks [@jiripudil](https://togithub.com/jiripudil)! - Fix substracted union type describe ([#3360](https://togithub.com/phpstan/phpstan-src/pull/3360)), [#10227](https://togithub.com/phpstan/phpstan/issues/10227), thanks [@mvorisek](https://togithub.com/mvorisek)! - Fix including relative path (https://github.com/phpstan/phpstan-src/commit/098fb9416779240fab9b2dea1ee730da69668014), [#11738](https://togithub.com/phpstan/phpstan/issues/11738) - Fix `sprintf()` inference for constant values with format-width in pattern ([#3474](https://togithub.com/phpstan/phpstan-src/pull/3474)), thanks [@staabm](https://togithub.com/staabm)! - Drop wrong float comparison for `filter_var()` ([#2656](https://togithub.com/phpstan/phpstan-src/pull/2656)), thanks [@mvorisek](https://togithub.com/mvorisek)! # Function signature fixes π€ - Change `iptcparse` return type ([#3483](https://togithub.com/phpstan/phpstan-src/pull/3483)), thanks [@ManuelHu](https://togithub.com/ManuelHu)! # Internals π - More specific return type for methods used to analyse currently entered function or method (https://github.com/phpstan/phpstan-src/commit/0e2587fae6e65be54ecbd47d33277d3f529d44d1) - PhpFunctionFromParserNodeReflection becomes ParametersAcceptorWithPhpDocs (https://github.com/phpstan/phpstan-src/commit/1bea5c79d53e06f6cdd481decba73b504fb4bec0) - Use methods directly on PhpFunctionFromParserNodeReflection instead of `selectSingle()` when analysing function body in rules (https://github.com/phpstan/phpstan-src/commit/41916ba39d429d096d5234acedcfe75f22025785) - Use methods directly on PhpFunctionFromParserNodeReflection instead of `selectSingle()` in MutatingScope (https://github.com/phpstan/phpstan-src/commit/865c618f82030cbc2e915c6da6bd424bc9b8aa41) - Use `ParametersAcceptorSelector::selectFromArgs()` instead of `selectSingle()` wherever possible (https://github.com/phpstan/phpstan-src/commit/e283d3a6df7df502f3c3e70bc086dd2018dc965b) - Use PhpFunctionFromParserNodeReflection as ParametersAcceptor in DependencyResolver (https://github.com/phpstan/phpstan-src/commit/7e216a274f00bf0a77a72628c884fdd4cb6c24c6) - Use methods directly on PhpFunctionFromParserNodeReflection instead of `selectSingle()` in ParametersAcceptorSelector (https://github.com/phpstan/phpstan-src/commit/1322aaf1d029c8db49c4c72742cb3d46f56be132) - Introduce `@internal` `getOnlyVariant()` method on FunctionReflection/ExtendedMethodReflection to use instead of `selectSingle()` (https://github.com/phpstan/phpstan-src/commit/714877be8cafc1ba08610929e4dcb0d43273cc8d) - Add `Type::chunkArray()` ([#3408](https://togithub.com/phpstan/phpstan-src/pull/3408)), thanks [@herndlm](https://togithub.com/herndlm)! - Add more mixed-type bool subtraction tests ([#3421](https://togithub.com/phpstan/phpstan-src/pull/3421)), thanks [@staabm](https://togithub.com/staabm)! - Made IssetExpr part of BC promise (https://github.com/phpstan/phpstan-src/commit/5677025877c6a8aef51b500cd461e8dbda6dab8c) - Refactor RegexGroupParser for more immutability and less pass-by-ref ([#3479](https://togithub.com/phpstan/phpstan-src/pull/3479)), thanks [@staabm](https://togithub.com/staabm)!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.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.