Updates the requirements on phpstan/phpstan to permit the latest version.
Release notes
*Sourced from [phpstan/phpstan's releases](https://github.com/phpstan/phpstan/releases).*
> ## 0.12.0
> This is a massive release! Check out the [accompanying article on Medium.com for an overview](https://medium.com/@ondrejmirtes/phpstan-0-12-released-f1a88036535d) of the major new features.
>
> **PHPStan 0.12 is brought to you by Gábor Hojtsy ([@gaborhojtsy](https://twitter.com/gaborhojtsy)):**
>
> > PHPStan has already been tremendous help in our preparation for Drupal 9 across the whole Drupal ecosystem, as a backbone of drupal-check, Upgrade Status and drupalci deprecation testing. It allows us to find common patterns in deprecated API use, make critical tooling decisions and rally the community. Thank you!
>
> Major new features
> ===================
>
> * **Generics** (huge thanks to [@arnaud-lb](https://github.com/arnaud-lb)!) [See this article](https://medium.com/@ondrejmirtes/generics-in-php-using-phpdocs-14e7301953) for more details on what they can do for you and how to start using them.
> * **New level 6** - checking for missing typehints in function and method parameters and in properties. Previous level 6 is now level 7 and previous level 7 is now level 8.
> * **Integer range types** ([#2484](https://github-redirect.dependabot.com/phpstan/phpstan/issues/2484)), thanks [@JanTvrdik](https://github.com/JanTvrdik)!
> * **PHAR distribution by default** - `phpstan/phpstan` Composer package now consists of a single PHAR file, similarly to the role previously handled by `phpstan-shim` repository which is now obsoleted. PHPStan development now happens at https://github.com/phpstan/phpstan-src.
> * **Detection of methods and functions with no side effects called on separate lines** - level 4. Functions like `sprintf()` and methods like `DateTimeImmutable::setTime()` called without reading the returned value are now detected.
> * Support for `class-string` and `class-string` pseudotypes (https://github.com/phpstan/phpstan-src/commit/77eb14115b425213e38c91cf0b105fbadcb44901, https://github.com/phpstan/phpstan-src/commit/6262320554489ffe91eb866fc6360c9b69e199be)
> * Subtractable types - subtract subtypes from their supertype to find errors in code. `mixed`, `object` and concrete class objects now understand if their subtype is being subtracted from them. So for example a prior check for null on mixed now makes PHPStan understand that the type does not contain null anymore. This is especially useful for parent and child classes. [See examples.](https://phpstan.org/r/39f70101-645b-4a19-8d2a-29c95093be3a)
> * Check missing return in functions, methods, and closures - levels 0 and 3 (https://github.com/phpstan/phpstan-src/commit/b149f8e5326e097dec6fcb8116a8b5b63a2da483)
> * Check for unreachable statements - level 4 (https://github.com/phpstan/phpstan-src/commit/83078fe308a383c618b8c1caec299e5765d9ac82)
> * Check: `new static()` is safe only with final constructor or in final class - level 0 (https://github.com/phpstan/phpstan-src/commit/3ebf508a9a51bc1d67c1015732eac51fbc4bd846)
> * Check too wide return types on functions, closures and private methods (https://github.com/phpstan/phpstan-src/commit/178953d5b76b22a062b1253c3a3ab81f6691cf58, https://github.com/phpstan/phpstan-src/commit/91555306f311ed82d9b99f901de223de8fd27dd9, https://github.com/phpstan/phpstan/commit/78e04aac9614004baa20c583183c7c4632b480a4)
> * Various `yield` and generators related checks (https://github.com/phpstan/phpstan-src/commit/c952192e7185376c0f722937982d055cab0bebc8, https://github.com/phpstan/phpstan-src/commit/96c57c66ea24a75a17ec5dff8c684439ac52ead5, https://github.com/phpstan/phpstan-src/commit/83e1163c3f9b447fce734fbd01b65e6fb33632c6)
> * Detect invalid types and wrong variable names in `@var` annotation tag - level 2 (https://github.com/phpstan/phpstan-src/commit/25101c464ca0f8b9e3a552fd24dbc01a201787f8, https://github.com/phpstan/phpstan-src/commit/42a8618b10c3f49bea6a60f395b5885ee1d79a7c, https://github.com/phpstan/phpstan-src/commit/d17e459fd9b45129c5deafe12bca56f30ea5ee99)
> * Wrong 3rd party PHPDocs can now be overriden with custom stub files. Create PHP stub files [like this](https://github.com/phpstan/phpstan-src/tree/master/stubs) and register them in your `phpstan.neon` using `stubFiles` config option. This feature can also be used to make non-generic classes and interfaces generic. Only PHPDocs are read from those files right now, nothing else.
>
> BC breaks
> ===================
>
> * Resolving relative paths in NEON according to config file placement (0c17a5bac7ef0576b9899147407294ce5832123f)
> * This means you no longer have to use ugly `%rootDir%/../../../` in paths, but can use a relative path which is resolved relatively to the config file placement. So if you have `phpstan.neon` in the root of your project, you can reference your `src/Foo.php` file simply by `src/Foo.php`, no matter what the current working directory in your CLI prompt is.
> * [Docker image](https://hub.docker.com/r/phpstan/phpstan) is based on official PHP Alpine image. See README on how to enable PHP extensions.
>
> BC breaks for extension developers
> ===================
>
> * Custom parameters have to be also mentioned in `parametersSchema`, to prevent accidental typos. [See examples.](https://github.com/phpstan/phpstan-src/blob/8457df92f727c82269242f8f4aab43421eef89dc/conf/config.neon#L103-L178)
> * ErrorFormatter uses our own PHPStan\Command\Output interface (https://github.com/phpstan/phpstan-src/commit/9d54899d41425fc3ee66a304e028b7c7e0227191)
> * PhpMethodReflection - made all constructor parameters required (https://github.com/phpstan/phpstan-src/commit/beda6ea662b3d04161ff2315127db84b3ce63e35)
> * Scope is an interface, MutatingScope is the implementation (https://github.com/phpstan/phpstan-src/commit/24fa3bc001df8a6d06277b734985b6481a7193e5)
> * Remove `Scope::isNegated()` (https://github.com/phpstan/phpstan-src/commit/7efe347a3a114f98cfac219e93b27883bdb35f75)
> * Remove `Scope::getInFunctionCall()` (https://github.com/phpstan/phpstan-src/commit/164e195418a6c3029ec2f37a085d979650d9d5f4)
> * Drop optional reflection interfaces (https://github-redirect.dependabot.com/phpstan/phpstan/pull/2307), https://github.com/phpstan/phpstan-src/commit/e13c6851c76456a9b071c55a5ee7f2c821758dd6
> * MethodReflection now has to implement: `isDeprecated()`, `getDeprecatedDescription()`, `isFinal()`, `isInternal()`, `getThrowType()`
> * PropertyReflection now has to implement: `isDeprecated()`, `getDeprecatedDescription()`, `isInternal()`
> * TrinaryLogic in reflection (https://github-redirect.dependabot.com/phpstan/phpstan/pull/2307), https://github.com/phpstan/phpstan-src/commit/98362bc287ee9f1aff1f4e4cf82b0f889f658b32
> * Existing implementations of above methods on concrete classes now return TrinaryLogic instead of bool.
> * Remove deprecated `BrokerAwareClassReflectionExtension`, use `BrokerAwareExtension` instead (https://github.com/phpstan/phpstan-src/commit/33a8798f6de81638523caa2e9a8c3beb5472744e)
> * Remove deprecated `AnalysisResult::getCurrentDirectory()` (https://github.com/phpstan/phpstan-src/commit/38babb776ab910fc99138f9f4736fa5b0705b224)
> * ContainerFactory returns PHPStan\DependencyInjection\Container (https://github.com/phpstan/phpstan-src/commit/68797a5d26494d03ff75db056e24630de0263ef1)
> * Wrap bootstrap code in bin/phpstan in closure to prevent global variable leakage (https://github.com/phpstan/phpstan-src/commit/1f3ecf8512008fb60fea2258ba53f914118d900f)
> ... (truncated)
Commits
- [`1cc06d8`](https://github.com/phpstan/phpstan/commit/1cc06d8493917d16b1742f6c9fd2963c51a4e773) PHPStan 0.12.0
- [`5ca8370`](https://github.com/phpstan/phpstan/commit/5ca8370dc8551d77de6c9fab34969271d67b19c0) Updated PHPStan to commit fd8f0a852207a1724ae4a262f47d9a449de70da4
- [`dab07d5`](https://github.com/phpstan/phpstan/commit/dab07d5cb40fb989cb6dc58325638d6e4e4a93be) Updated PHPStan to commit 2ca5859c0d1660d8ddd93243090bd093f27af4f7
- [`2abeb1f`](https://github.com/phpstan/phpstan/commit/2abeb1f0c842990609d04bca21f7764b06424c65) Updated PHPStan to commit 088b9fab470632cea07f08a936fb0923a59b2ecb
- [`743f7a6`](https://github.com/phpstan/phpstan/commit/743f7a60b21452c3c9f561c5a3e19d7fc56777a0) Updated PHPStan to commit 2d69ac7b6c27f304975cdd6cbe78538c97c05b97
- [`4de5a8a`](https://github.com/phpstan/phpstan/commit/4de5a8ab93c3ccdc4779ab26c156456a26543101) Updated PHPStan to commit 66ae16bd5effa39bac94ad1043cc1b8541cf2008
- [`4e65d37`](https://github.com/phpstan/phpstan/commit/4e65d37c25441fe7af8c2a291b001822d81d1493) Updated PHPStan to commit a70dce9dfdcacb8e7a9d5c14fdf01ad754070597
- [`014d8e1`](https://github.com/phpstan/phpstan/commit/014d8e1b0d40ccdbe21689f21f88dab5f4856e54) Updated PHPStan to commit f671a85b57e3b323068907c5e843311e4e53e465
- [`adc3350`](https://github.com/phpstan/phpstan/commit/adc33501e8138b01331a309968c2cb4fc97ac2a8) Updated PHPStan to commit 49380f04ae600c2c1da04fff3ec514ba91b4bd66
- [`b264ac9`](https://github.com/phpstan/phpstan/commit/b264ac97265bd794d6846ad3f6c66a07a1dc66e6) Updated PHPStan to commit d6e7784f163a94f3f1366bab3d348267a4408979
- Additional commits viewable in [compare view](https://github.com/phpstan/phpstan/compare/0.11...0.12.0)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Updates the requirements on phpstan/phpstan to permit the latest version.
Release notes
*Sourced from [phpstan/phpstan's releases](https://github.com/phpstan/phpstan/releases).* > ## 0.12.0 > This is a massive release! Check out the [accompanying article on Medium.com for an overview](https://medium.com/@ondrejmirtes/phpstan-0-12-released-f1a88036535d) of the major new features. > > **PHPStan 0.12 is brought to you by Gábor Hojtsy ([@gaborhojtsy](https://twitter.com/gaborhojtsy)):** > > > PHPStan has already been tremendous help in our preparation for Drupal 9 across the whole Drupal ecosystem, as a backbone of drupal-check, Upgrade Status and drupalci deprecation testing. It allows us to find common patterns in deprecated API use, make critical tooling decisions and rally the community. Thank you! > > Major new features > =================== > > * **Generics** (huge thanks to [@arnaud-lb](https://github.com/arnaud-lb)!) [See this article](https://medium.com/@ondrejmirtes/generics-in-php-using-phpdocs-14e7301953) for more details on what they can do for you and how to start using them. > * **New level 6** - checking for missing typehints in function and method parameters and in properties. Previous level 6 is now level 7 and previous level 7 is now level 8. > * **Integer range types** ([#2484](https://github-redirect.dependabot.com/phpstan/phpstan/issues/2484)), thanks [@JanTvrdik](https://github.com/JanTvrdik)! > * **PHAR distribution by default** - `phpstan/phpstan` Composer package now consists of a single PHAR file, similarly to the role previously handled by `phpstan-shim` repository which is now obsoleted. PHPStan development now happens at https://github.com/phpstan/phpstan-src. > * **Detection of methods and functions with no side effects called on separate lines** - level 4. Functions like `sprintf()` and methods like `DateTimeImmutable::setTime()` called without reading the returned value are now detected. > * Support for `class-string` and `class-stringCommits
- [`1cc06d8`](https://github.com/phpstan/phpstan/commit/1cc06d8493917d16b1742f6c9fd2963c51a4e773) PHPStan 0.12.0 - [`5ca8370`](https://github.com/phpstan/phpstan/commit/5ca8370dc8551d77de6c9fab34969271d67b19c0) Updated PHPStan to commit fd8f0a852207a1724ae4a262f47d9a449de70da4 - [`dab07d5`](https://github.com/phpstan/phpstan/commit/dab07d5cb40fb989cb6dc58325638d6e4e4a93be) Updated PHPStan to commit 2ca5859c0d1660d8ddd93243090bd093f27af4f7 - [`2abeb1f`](https://github.com/phpstan/phpstan/commit/2abeb1f0c842990609d04bca21f7764b06424c65) Updated PHPStan to commit 088b9fab470632cea07f08a936fb0923a59b2ecb - [`743f7a6`](https://github.com/phpstan/phpstan/commit/743f7a60b21452c3c9f561c5a3e19d7fc56777a0) Updated PHPStan to commit 2d69ac7b6c27f304975cdd6cbe78538c97c05b97 - [`4de5a8a`](https://github.com/phpstan/phpstan/commit/4de5a8ab93c3ccdc4779ab26c156456a26543101) Updated PHPStan to commit 66ae16bd5effa39bac94ad1043cc1b8541cf2008 - [`4e65d37`](https://github.com/phpstan/phpstan/commit/4e65d37c25441fe7af8c2a291b001822d81d1493) Updated PHPStan to commit a70dce9dfdcacb8e7a9d5c14fdf01ad754070597 - [`014d8e1`](https://github.com/phpstan/phpstan/commit/014d8e1b0d40ccdbe21689f21f88dab5f4856e54) Updated PHPStan to commit f671a85b57e3b323068907c5e843311e4e53e465 - [`adc3350`](https://github.com/phpstan/phpstan/commit/adc33501e8138b01331a309968c2cb4fc97ac2a8) Updated PHPStan to commit 49380f04ae600c2c1da04fff3ec514ba91b4bd66 - [`b264ac9`](https://github.com/phpstan/phpstan/commit/b264ac97265bd794d6846ad3f6c66a07a1dc66e6) Updated PHPStan to commit d6e7784f163a94f3f1366bab3d348267a4408979 - Additional commits viewable in [compare view](https://github.com/phpstan/phpstan/compare/0.11...0.12.0)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)