phpstan/phpstan
### [`v1.12.9`](https://togithub.com/phpstan/phpstan/releases/tag/1.12.9)
[Compare Source](https://togithub.com/phpstan/phpstan/compare/1.12.8...1.12.9)
# Improvements 🔧
- Support `@readonly` PHPDoc on the class as alternative to `@immutable` ([#3523](https://togithub.com/phpstan/phpstan-src/pull/3523)), [#11775](https://togithub.com/phpstan/phpstan/issues/11775), thanks [@herndlm](https://togithub.com/herndlm)!
# Bugfixes 🐛
- Fix too early lowercase-string inference ([#3585](https://togithub.com/phpstan/phpstan-src/pull/3585)), [#11852](https://togithub.com/phpstan/phpstan/issues/11852), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)!
- Support `for` endless loops ([#3573](https://togithub.com/phpstan/phpstan-src/pull/3573)), [#6807](https://togithub.com/phpstan/phpstan/issues/6807), [#8463](https://togithub.com/phpstan/phpstan/issues/8463), [#9374](https://togithub.com/phpstan/phpstan/issues/9374), thanks [@herndlm](https://togithub.com/herndlm)!
- More precise types for `preg_match` greater than `0` ([#3612](https://togithub.com/phpstan/phpstan-src/pull/3612)), [#11293](https://togithub.com/phpstan/phpstan/issues/11293), thanks [@staabm](https://togithub.com/staabm)!
- Too-wide return type - do not report void in PHPDoc union type (https://github.com/phpstan/phpstan-src/commit/5f0b1ccfa47060c209ead7116005214183c0e56f), [#11980](https://togithub.com/phpstan/phpstan/issues/11980)
- Too-wide return type - allow `void` return type in a union when the returned expr is originally `void` (https://github.com/phpstan/phpstan-src/commit/80c1df2d73210227776db5443dbc28c2d71fa289), [#11980](https://togithub.com/phpstan/phpstan/issues/11980)
- RichParser - fix `@phpstan-ignore` with trait in the same file (https://github.com/phpstan/phpstan-src/commit/381c1370e7ce3b1c2d8de6c5b30913908c362eb8), [#11981](https://togithub.com/phpstan/phpstan/issues/11981)
# Internals 🔍
- Result DTOs - make reasons unique (https://github.com/phpstan/phpstan-src/commit/ccfb4ab7a19151925b9434e3245892006b3d9dcd)
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.8
->1.12.9
Release Notes
phpstan/phpstan
### [`v1.12.9`](https://togithub.com/phpstan/phpstan/releases/tag/1.12.9) [Compare Source](https://togithub.com/phpstan/phpstan/compare/1.12.8...1.12.9) # Improvements 🔧 - Support `@readonly` PHPDoc on the class as alternative to `@immutable` ([#3523](https://togithub.com/phpstan/phpstan-src/pull/3523)), [#11775](https://togithub.com/phpstan/phpstan/issues/11775), thanks [@herndlm](https://togithub.com/herndlm)! # Bugfixes 🐛 - Fix too early lowercase-string inference ([#3585](https://togithub.com/phpstan/phpstan-src/pull/3585)), [#11852](https://togithub.com/phpstan/phpstan/issues/11852), thanks [@VincentLanglet](https://togithub.com/VincentLanglet)! - Support `for` endless loops ([#3573](https://togithub.com/phpstan/phpstan-src/pull/3573)), [#6807](https://togithub.com/phpstan/phpstan/issues/6807), [#8463](https://togithub.com/phpstan/phpstan/issues/8463), [#9374](https://togithub.com/phpstan/phpstan/issues/9374), thanks [@herndlm](https://togithub.com/herndlm)! - More precise types for `preg_match` greater than `0` ([#3612](https://togithub.com/phpstan/phpstan-src/pull/3612)), [#11293](https://togithub.com/phpstan/phpstan/issues/11293), thanks [@staabm](https://togithub.com/staabm)! - Too-wide return type - do not report void in PHPDoc union type (https://github.com/phpstan/phpstan-src/commit/5f0b1ccfa47060c209ead7116005214183c0e56f), [#11980](https://togithub.com/phpstan/phpstan/issues/11980) - Too-wide return type - allow `void` return type in a union when the returned expr is originally `void` (https://github.com/phpstan/phpstan-src/commit/80c1df2d73210227776db5443dbc28c2d71fa289), [#11980](https://togithub.com/phpstan/phpstan/issues/11980) - RichParser - fix `@phpstan-ignore` with trait in the same file (https://github.com/phpstan/phpstan-src/commit/381c1370e7ce3b1c2d8de6c5b30913908c362eb8), [#11981](https://togithub.com/phpstan/phpstan/issues/11981) # Internals 🔍 - Result DTOs - make reasons unique (https://github.com/phpstan/phpstan-src/commit/ccfb4ab7a19151925b9434e3245892006b3d9dcd)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.