Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [phpstan/phpstan](https://github.com/phpstan/phpstan) | `1.10.67` -> `1.11.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vimeo/psalm](https://github.com/vimeo/psalm) | `5.23.1` -> `5.24.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>phpstan/phpstan (phpstan/phpstan)</summary> ### [`v1.11.0`](https://github.com/phpstan/phpstan/releases/tag/1.11.0) [Compare Source](https://github.com/phpstan/phpstan/compare/1.10.67...1.11.0) [**Read the article about PHPStan 1.11 on phpstan.org »**](https://phpstan.org/blog/phpstan-1-11-errors-identifiers-phpstan-pro-reboot) # Major new features 🚀 - **Error identifiers** - A way to categorize reported errors by a stable identifier. Up until now you had to use specific and ever-changing error messages - Can be used for [ignoring specific errors locally](https://phpstan.org/user-guide/ignoring-errors#ignoring-in-code-using-phpdocs) with new `@phpstan-ignore` comment (uses current or next line automatically) - Can be used for [ignoring specific errors in `ignoreErrors`](https://phpstan.org/user-guide/ignoring-errors#ignoring-in-configuration-file) section of your configuration file (phpstan.neon) - Can be used in [output formatters](https://phpstan.org/user-guide/output-format) - Can be seen in PHPStan Pro GUI or in TableErrorFormatter with `-v` - Catalogue with source code links: https://phpstan.org/error-identifiers - **PHPStan Pro Reboot** - A new migration wizard will effortlessly migrate all your `@phpstan-ignore-line` and `@phpstan-ignore-next-line` to the new `@phpstan-ignore` comment style with error identifiers. The old comment style is dangerous because it ignores all errors, current and future, on that line. - Revamped UI for much more comfortable viewing and browsing of reported errors - The new UI also lets you **browse ignored errors**, from `ignoreErrors`, from your baseline and also ignored locally in source code using comments - Streaming errors during launch: You don't have to wait for the analysis to complete, you can see errors as they come in during the analysis - Support for mapping file paths to the host filesystem when running in Docker or remotely - Try it out by running PHPStan with `--pro` CLI option - PHPDoc tags describing callable lifecycle: `@param-immediately-invoked-callable`, `@param-later-invoked-callable` - Useful for exception analysis (https://phpstan.org/blog/bring-your-exceptions-under-control) and `@phpstan-pure` - PHPDoc tag `@param-closure-this` to describe what `$this` is bound to in a passed closure - Two new config options around stricter offset checks in arrays ([#​3028](https://github.com/phpstan/phpstan-src/pull/3028)), [#​7553](https://github.com/phpstan/phpstan/issues/7553), thanks [@​ttomdewit](https://github.com/ttomdewit)! - `reportPossiblyNonexistentGeneralArrayOffset` - `reportPossiblyNonexistentConstantArrayOffset` - [Learn more in the documentation](https://phpstan.org/config-reference#reportpossiblynonexistentgeneralarrayoffset) # Bleeding edge 🔪 - Checking truthiness of `@phpstan-pure` above functions and methods - Check `new`/function call/method call/static method call on a separate line without any side effects even without `@phpstan-pure` PHPDoc tag on the declaration side - phpstan/phpstan-src@281a87d - [#​3020](https://github.com/phpstan/phpstan-src/pull/3020), thanks [@​staabm](https://github.com/staabm)! - [#​3022](https://github.com/phpstan/phpstan-src/pull/3022), thanks [@​staabm](https://github.com/staabm)! - [#​3023](https://github.com/phpstan/phpstan-src/pull/3023), thanks [@​staabm](https://github.com/staabm)! - BetterNoopRule - take advantage of impure points (phpstan/phpstan-src@a647052), [#​10389](https://github.com/phpstan/phpstan/issues/10389) - Run missing type check on `@param-out` (phpstan/phpstan-src@56b2002) - CallToConstructorStatementWithoutSideEffectsRule - report class with no constructor (phpstan/phpstan-src@b116d25) - Deprecated: returning plain strings as errors, use RuleErrorBuilder - Learn more: [Using RuleErrorBuilder to enrich reported errors in custom rules](https://phpstan.org/blog/using-rule-error-builder) - Deprecated: returning RuleError without identifier (phpstan/phpstan-src@969e6fa) *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 🔧 - Generic RuleErrorBuilder (phpstan/phpstan-src@9a3ed85) - Deprecate `checkMissingIterableValueType: false` and `checkGenericClassInNonGenericObjectType: false` in favour of ignoring via identifiers (phpstan/phpstan-src@a649981) - Deprecate old NoopRule - replaced by BetterNoopRule in bleeding edge (phpstan/phpstan-src@1090835) - Allow ignoring errors from CollectedDataNode with local comments (phpstan/phpstan-src@dc3b75a) - Introduce `new` type ([#​3050](https://github.com/phpstan/phpstan-src/pull/3050)), [#​9704](https://github.com/phpstan/phpstan/issues/9704), thanks [@​ruudk](https://github.com/ruudk)! - RuleTestCase - fail on PHP warnings, notices etc. ([#​3030](https://github.com/phpstan/phpstan-src/pull/3030)), thanks [@​janedbal](https://github.com/janedbal)! - Check duplicate assignment of redeclared promoted readonly properties ([#​3049](https://github.com/phpstan/phpstan-src/pull/3049)), [#​8101](https://github.com/phpstan/phpstan/issues/8101), [#​9863](https://github.com/phpstan/phpstan/issues/9863), [#​9864](https://github.com/phpstan/phpstan/issues/9864), thanks [@​schlndh](https://github.com/schlndh)! - Remove line from "nikic/php-parser" error message ([#​2845](https://github.com/phpstan/phpstan-src/pull/2845)), thanks [@​mvorisek](https://github.com/mvorisek)! - Stub validator - PHPStan classes are known without extra stubs (phpstan/phpstan-src@d004c23) - Stub validator - PhpParser classes are known without extra stubs (phpstan/phpstan-src@3e498e1) - CheckstyleErrorFormatter - include error identifier in source attribute (phpstan/phpstan-src@f66cf5b), [#​1205](https://github.com/phpstan/phpstan/issues/1205) - BaselinePhpErrorFormatter - error identifiers in comments (phpstan/phpstan-src@4b32cac) - `RuleErrorBuilder::file()` - file path needs to exist (phpstan/phpstan-src@c453f29) - AbstractMethodInNonAbstractClassRule - better error message for enums (phpstan/phpstan-src@b5dd34e) - Fixed Xdebug spelling ([#​2746](https://github.com/phpstan/phpstan-src/pull/2746)), thanks [@​derickr](https://github.com/derickr)! - Track invalidated `$this` and used variables after invoking closure ([#​2980](https://github.com/phpstan/phpstan-src/pull/2980)) - Support `@phan-` prefixes on recognized PHPDoc tags ([#​3000](https://github.com/phpstan/phpstan-src/pull/3000)), thanks [@​anomiex](https://github.com/anomiex)! - `pure-callable` and `pure-Closure` PHPDoc types (phpstan/phpstan-src@cdaff5f) - `highlight_string()` flips side-effects depending on $return ([#​3021](https://github.com/phpstan/phpstan-src/pull/3021)), thanks [@​staabm](https://github.com/staabm)! - Improve types for predefined constants ([#​3054](https://github.com/phpstan/phpstan-src/pull/3054)), thanks [@​zonuexe](https://github.com/zonuexe)! # Bugfixes 🐛 - Make `AccessoryNonFalsyStringType::toInteger()` return `IntegerType` instead of non-zero ([#​3018](https://github.com/phpstan/phpstan-src/pull/3018)), [#​10893](https://github.com/phpstan/phpstan/issues/10893), thanks [@​zonuexe](https://github.com/zonuexe)! - Filter scope by non-empty array after foreach regardless of `polluteScopeWithAlwaysIterableForeach` ([#​3029](https://github.com/phpstan/phpstan-src/pull/3029)), [#​10922](https://github.com/phpstan/phpstan/issues/10922), thanks [@​VincentLanglet](https://github.com/VincentLanglet)! - Preserve large arrays with same keys through union ([#​3032](https://github.com/phpstan/phpstan-src/pull/3032)), [#​9397](https://github.com/phpstan/phpstan/issues/9397), [#​10080](https://github.com/phpstan/phpstan/issues/10080), thanks [@​schlndh](https://github.com/schlndh)! - Fix `count($x) > $n === true` negation ([#​3037](https://github.com/phpstan/phpstan-src/pull/3037)), [#​10952](https://github.com/phpstan/phpstan/issues/10952), thanks [@​rvanvelzen](https://github.com/rvanvelzen)! - Fix NAN not accepting NAN ([#​3036](https://github.com/phpstan/phpstan-src/pull/3036)), [#​10956](https://github.com/phpstan/phpstan/issues/10956), [#​10297](https://github.com/phpstan/phpstan/issues/10297), thanks [@​rvanvelzen](https://github.com/rvanvelzen)! - DateTimeInstantiationRule - fix error message for `new` with wrong name case (phpstan/phpstan-src@59ac31a) - Process ConstFetch (phpstan/phpstan-src@b5c63c2) - Fix `preg_match_all` behaviour with no flags (phpstan/phpstan-src@a856ec7) - `file_get_contents` is an impure function (phpstan/phpstan-src@2b5b317) - Fix `ClosureType::equals()` (phpstan/phpstan-src@29c35b5) - Use statement result of analysed anonymous class to inform about throw points and impure points (phpstan/phpstan-src@70a75f6) - Filter out implicit throw points from callables when `exceptions.implicitThrows: false` ([#​3016](https://github.com/phpstan/phpstan-src/pull/3016)), thanks [@​janedbal](https://github.com/janedbal)! - Fix `ConstantArrayType::hasOffsetValueType()` for offset union type where all types are valid (phpstan/phpstan-src@26e949b) - `non-empty-list` always has offset 0 (phpstan/phpstan-src@f4d1d48) - Narrow to `non-empty-string`/`non-falsey-string` after `mb_strlen()` ([#​3038](https://github.com/phpstan/phpstan-src/pull/3038)), thanks [@​staabm](https://github.com/staabm)! - Implement `Type::isOffsetAccessLegal()` to detect offset access that crashes even in `isset()` ([#​3045](https://github.com/phpstan/phpstan-src/pull/3045)), [#​8393](https://github.com/phpstan/phpstan/issues/8393), [#​10926](https://github.com/phpstan/phpstan/issues/10926), thanks [@​rajyan](https://github.com/rajyan)! - Specify types on `match()` condition correctly ([#​3053](https://github.com/phpstan/phpstan-src/pull/3053)), [#​10974](https://github.com/phpstan/phpstan/issues/10974), [#​9694](https://github.com/phpstan/phpstan/issues/9694), thanks [@​rvanvelzen](https://github.com/rvanvelzen)! - `json_decode` with force array flag: subtract all objects, not just stdClass ([#​3052](https://github.com/phpstan/phpstan-src/pull/3052)), thanks [@​rajyan](https://github.com/rajyan)! - Fix `strlen($x) > $n === true` negation ([#​3040](https://github.com/phpstan/phpstan-src/pull/3040)), thanks [@​staabm](https://github.com/staabm)! - Support multi-byte string function variants ([#​3039](https://github.com/phpstan/phpstan-src/pull/3039)), thanks [@​staabm](https://github.com/staabm)! - Final scope from `Continue_` points should not be used for `while (true)` ([#​3057](https://github.com/phpstan/phpstan-src/pull/3057)), [#​10980](https://github.com/phpstan/phpstan/issues/10980), thanks [@​greew](https://github.com/greew)! - Fix enum performance problem ([#​3062](https://github.com/phpstan/phpstan-src/pull/3062), [#​3060](https://github.com/phpstan/phpstan-src/pull/3060)), [#​10979](https://github.com/phpstan/phpstan/issues/10979), thanks [@​staabm](https://github.com/staabm)! - NULL and null as a property default value are treated differently when overriding a parent property ([#​3063](https://github.com/phpstan/phpstan-src/pull/3063)), [#​10987](https://github.com/phpstan/phpstan/issues/10987), thanks [@​staabm](https://github.com/staabm)! # Function signature fixes 🤖 - Make the url key of metadata returned by `stream_get_meta_data()` optional ([#​3024](https://github.com/phpstan/phpstan-src/pull/3024)), [#​10887](https://github.com/phpstan/phpstan/issues/10887), thanks [@​hirokinoue](https://github.com/hirokinoue)! - Narrow `Closure::bind` `$newScope` param ([#​2817](https://github.com/phpstan/phpstan-src/pull/2817)), thanks [@​mvorisek](https://github.com/mvorisek)! - Infer object type mysqli_fetch_object ([#​2675](https://github.com/phpstan/phpstan/issues/2675)) ([#​2675](https://github.com/phpstan/phpstan-src/pull/2675)), thanks [@​staabm](https://github.com/staabm)! - Fix `Imagick::identifyImage()` return type ([#​3017](https://github.com/phpstan/phpstan-src/pull/3017)), thanks [@​SVillette](https://github.com/SVillette)! # Internals 🔍 - Clean up old identifiers and metadata (phpstan/phpstan-src@c476a86) - Delete StatementOrderVisitor that is no longer needed (phpstan/phpstan-src@017d321) - Introduce `ClassReflection::getClassTypeDescription()` (phpstan/phpstan-src@dec9e43) - Fix classname typo in tests ([#​2461](https://github.com/phpstan/phpstan-src/pull/2461)), thanks [@​szepeviktor](https://github.com/szepeviktor)! - Fix various typos ([#​2463](https://github.com/phpstan/phpstan-src/pull/2463)), thanks [@​szepeviktor](https://github.com/szepeviktor)! - Added text regarding patch issues during installation ([#​2670](https://github.com/phpstan/phpstan-src/pull/2670)), thanks [@​mt-satak](https://github.com/mt-satak)! - Fix typo in ArgumentsNormalizer ([#​2705](https://github.com/phpstan/phpstan-src/pull/2705)), thanks [@​mad-briller](https://github.com/mad-briller)! - Rich PHPDoc for ExceptionTypeResolver (phpstan/phpstan-src@e7ab4f7) - Hide internal commands ([#​2833](https://github.com/phpstan/phpstan-src/pull/2833)), thanks [@​rvanvelzen](https://github.com/rvanvelzen)! - Test invalidated object in static closure ([#​2981](https://github.com/phpstan/phpstan-src/pull/2981)), thanks [@​staabm](https://github.com/staabm)! - PHPDoc: address multiple variables defined in one [@​param](https://github.com/param) ([#​3001](https://github.com/phpstan/phpstan-src/pull/3001)), thanks [@​Muqsit](https://github.com/Muqsit)! - Do not assume every contributor uses PhpStorm (phpstan/phpstan-src@d1834e6) - TypeInferenceTestCase: ability to disable implicit throws ([#​3015](https://github.com/phpstan/phpstan-src/pull/3015)), thanks [@​janedbal](https://github.com/janedbal)! - Slightly reduce comparing and calling methods for trivial optimizations ([#​3004](https://github.com/phpstan/phpstan-src/pull/3004)), [#​10926](https://github.com/phpstan/phpstan/issues/10926), thanks [@​zonuexe](https://github.com/zonuexe)! - AnalyserResultFinalizer - DRY of running CollectedDataNode rules (phpstan/phpstan-src@38e2c96) - Introduce LocalIgnoresProcessor (phpstan/phpstan-src@d026655) - Introduce `RuleErrorBuilder::treatPhpDocTypesAsCertainTip()` for a bit more DRYness ([#​3035](https://github.com/phpstan/phpstan-src/pull/3035)), thanks [@​axlon](https://github.com/axlon)! - Make ResultCacheEndToEndTest pass level 9 ([#​3055](https://github.com/phpstan/phpstan-src/pull/3055)), [#​10977](https://github.com/phpstan/phpstan/issues/10977), thanks [@​AJenbo](https://github.com/AJenbo)! - ClassReflection - cache enum cases (phpstan/phpstan-src@39ce042), [#​10979](https://github.com/phpstan/phpstan/issues/10979) </details> <details> <summary>vimeo/psalm (vimeo/psalm)</summary> ### [`v5.24.0`](https://github.com/vimeo/psalm/releases/tag/5.24.0) [Compare Source](https://github.com/vimeo/psalm/compare/5.23.1...5.24.0) <!-- Release notes generated using configuration in .github/release.yml at 5.x --> ##### What's Changed ##### Features - Allow specifying flags to Codebase::isTypeContainedByType by [@​danog](https://github.com/danog) in [https://github.com/vimeo/psalm/pull/10829](https://github.com/vimeo/psalm/pull/10829) - Allow more callable types as subtypes of `callable` by [@​weirdan](https://github.com/weirdan) in [https://github.com/vimeo/psalm/pull/10805](https://github.com/vimeo/psalm/pull/10805) - Report `parent` being used in callable context when the class does not extend anything by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10838](https://github.com/vimeo/psalm/pull/10838) - Report error for additional deprecated arg types in PHP 8.1/8.3 by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10824](https://github.com/vimeo/psalm/pull/10824) - Add MissingClassConstType Issue by [@​jack-worman](https://github.com/jack-worman) in [https://github.com/vimeo/psalm/pull/10828](https://github.com/vimeo/psalm/pull/10828) - Enforce parameter names for consistent constructors by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10821](https://github.com/vimeo/psalm/pull/10821) - Add misc missing errors for invalid callable methods by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10839](https://github.com/vimeo/psalm/pull/10839) ##### Fixes - Forbid named arguments for ArrayAcccess methods by [@​weirdan](https://github.com/weirdan) in [https://github.com/vimeo/psalm/pull/10804](https://github.com/vimeo/psalm/pull/10804) - Don't crash on invalid templates by [@​weirdan](https://github.com/weirdan) in [https://github.com/vimeo/psalm/pull/10806](https://github.com/vimeo/psalm/pull/10806) - report error for single param name mismatch too since named args can even be used then by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10822](https://github.com/vimeo/psalm/pull/10822) - add support for named arguments for filter_var and filter_input by [@​pilif](https://github.com/pilif) in [https://github.com/vimeo/psalm/pull/10815](https://github.com/vimeo/psalm/pull/10815) - When inside isset, make array fetch result nullable by [@​edsrzf](https://github.com/edsrzf) in [https://github.com/vimeo/psalm/pull/10756](https://github.com/vimeo/psalm/pull/10756) - Promoted properties missing in extended \__construct should report PropertyNotSetInConstructor by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10817](https://github.com/vimeo/psalm/pull/10817) - Updating signature of `getmxrr()` by [@​ThomasLandauer](https://github.com/ThomasLandauer) in [https://github.com/vimeo/psalm/pull/10847](https://github.com/vimeo/psalm/pull/10847) - Improve string-int juggle consistency in array keys and display for int-like strings in type by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10814](https://github.com/vimeo/psalm/pull/10814) - Fix storage not available in thread for intersection doc types by [@​simonberger](https://github.com/simonberger) in [https://github.com/vimeo/psalm/pull/10856](https://github.com/vimeo/psalm/pull/10856) - Don't emit MissingOverrideAttribute for implicit Stringable implementations by [@​edsrzf](https://github.com/edsrzf) in [https://github.com/vimeo/psalm/pull/10858](https://github.com/vimeo/psalm/pull/10858) - Specify array return type of session_get_cookie_params by [@​jorgsowa](https://github.com/jorgsowa) in [https://github.com/vimeo/psalm/pull/10859](https://github.com/vimeo/psalm/pull/10859) - Unknown [@​psalm](https://github.com/psalm) annotation should not make whole docblock invalid by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10885](https://github.com/vimeo/psalm/pull/10885) - Add `mail` to impure functions list by [@​smaddock](https://github.com/smaddock) in [https://github.com/vimeo/psalm/pull/10923](https://github.com/vimeo/psalm/pull/10923) - Update PHP 8.2 Call map delta with refined types for string comparison functions by [@​gsteel](https://github.com/gsteel) in [https://github.com/vimeo/psalm/pull/10883](https://github.com/vimeo/psalm/pull/10883) ##### Docs - document that [@​psalm-internal](https://github.com/psalm-internal) works for namespace + class too by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10866](https://github.com/vimeo/psalm/pull/10866) ##### Internal changes - fix tests running with other than called PHP binary if called with a non-default PHP binary by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10842](https://github.com/vimeo/psalm/pull/10842) - Explicitly set value in config to fix warning in tests by [@​kkmuffme](https://github.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/10843](https://github.com/vimeo/psalm/pull/10843) - \[PHP 8.4] Fixes for implicit nullability deprecation by [@​Ayesh](https://github.com/Ayesh) in [https://github.com/vimeo/psalm/pull/10832](https://github.com/vimeo/psalm/pull/10832) - Throw exception instead of silently logging issues occurred during scan by [@​danog](https://github.com/danog) in [https://github.com/vimeo/psalm/pull/10902](https://github.com/vimeo/psalm/pull/10902) ##### Other changes - Fix conditional on non empty literal string by [@​VincentLanglet](https://github.com/VincentLanglet) in [https://github.com/vimeo/psalm/pull/10912](https://github.com/vimeo/psalm/pull/10912) - Ignore jsonSerialize for implementors of JsonSerializable by [@​josephwynn-sc](https://github.com/josephwynn-sc) in [https://github.com/vimeo/psalm/pull/10891](https://github.com/vimeo/psalm/pull/10891) - Add XML functions to ImpureFunctionsList [#​10882](https://github.com/vimeo/psalm/issues/10882) by [@​DKhalil](https://github.com/DKhalil) in [https://github.com/vimeo/psalm/pull/10887](https://github.com/vimeo/psalm/pull/10887) ##### New Contributors - [@​Ayesh](https://github.com/Ayesh) made their first contribution in [https://github.com/vimeo/psalm/pull/10832](https://github.com/vimeo/psalm/pull/10832) - [@​smaddock](https://github.com/smaddock) made their first contribution in [https://github.com/vimeo/psalm/pull/10923](https://github.com/vimeo/psalm/pull/10923) - [@​josephwynn-sc](https://github.com/josephwynn-sc) made their first contribution in [https://github.com/vimeo/psalm/pull/10891](https://github.com/vimeo/psalm/pull/10891) - [@​DKhalil](https://github.com/DKhalil) made their first contribution in [https://github.com/vimeo/psalm/pull/10887](https://github.com/vimeo/psalm/pull/10887) **Full Changelog**: vimeo/psalm@5.23.1...5.24.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am 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. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/cerbos/cerbos-sdk-php). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXJlYS9kZXBzIiwiYm90cyIsImtpbmQvY2hvcmUiXX0=--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Oğuzhan Durgun <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
- Loading branch information