Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: open-feature/php-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.0.0
Choose a base ref
...
head repository: open-feature/php-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2.0.1
Choose a head ref
  • 8 commits
  • 15 files changed
  • 5 contributors

Commits on Feb 20, 2023

  1. chore(deps): update dependency php to v8.2.3 (#73)

    [![Mend
    Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
    
    This PR contains the following updates:
    
    | Package | Update | Change |
    |---|---|---|
    | [php](https://togithub.com/php/php-src) | minor | `8.0.24` -> `8.2.3`
    |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>php/php-src</summary>
    
    ###
    [`v8.2.3`](https://togithub.com/php/php-src/compare/php-8.2.2...php-8.2.3)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.2.2...php-8.2.3)
    
    ###
    [`v8.2.2`](https://togithub.com/php/php-src/compare/php-8.2.1...php-8.2.2)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.2.1...php-8.2.2)
    
    ###
    [`v8.2.1`](https://togithub.com/php/php-src/compare/php-8.2.0...php-8.2.1)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.2.0...php-8.2.1)
    
    ###
    [`v8.2.0`](https://togithub.com/php/php-src/compare/php-8.1.16...php-8.2.0)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.16...php-8.2.0)
    
    ###
    [`v8.1.16`](https://togithub.com/php/php-src/compare/php-8.1.15...php-8.1.16)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.15...php-8.1.16)
    
    ###
    [`v8.1.15`](https://togithub.com/php/php-src/compare/php-8.1.14...php-8.1.15)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.14...php-8.1.15)
    
    ###
    [`v8.1.14`](https://togithub.com/php/php-src/compare/php-8.1.13...php-8.1.14)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.13...php-8.1.14)
    
    ###
    [`v8.1.13`](https://togithub.com/php/php-src/compare/php-8.1.12...php-8.1.13)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.12...php-8.1.13)
    
    ###
    [`v8.1.12`](https://togithub.com/php/php-src/compare/php-8.1.11...php-8.1.12)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.11...php-8.1.12)
    
    ###
    [`v8.1.11`](https://togithub.com/php/php-src/compare/php-8.1.10...php-8.1.11)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.10...php-8.1.11)
    
    ###
    [`v8.1.10`](https://togithub.com/php/php-src/compare/php-8.1.9...php-8.1.10)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.9...php-8.1.10)
    
    ###
    [`v8.1.9`](https://togithub.com/php/php-src/compare/php-8.1.8...php-8.1.9)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.8...php-8.1.9)
    
    ###
    [`v8.1.8`](https://togithub.com/php/php-src/compare/php-8.1.7...php-8.1.8)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.7...php-8.1.8)
    
    ###
    [`v8.1.7`](https://togithub.com/php/php-src/compare/php-8.1.6...php-8.1.7)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.6...php-8.1.7)
    
    ###
    [`v8.1.6`](https://togithub.com/php/php-src/compare/php-8.1.5...php-8.1.6)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.5...php-8.1.6)
    
    ###
    [`v8.1.5`](https://togithub.com/php/php-src/compare/php-8.1.4...php-8.1.5)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.4...php-8.1.5)
    
    ###
    [`v8.1.4`](https://togithub.com/php/php-src/compare/php-8.1.3...php-8.1.4)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.3...php-8.1.4)
    
    ###
    [`v8.1.3`](https://togithub.com/php/php-src/compare/php-8.1.2...php-8.1.3)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.2...php-8.1.3)
    
    ###
    [`v8.1.2`](https://togithub.com/php/php-src/compare/php-8.1.1...php-8.1.2)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.1...php-8.1.2)
    
    ###
    [`v8.1.1`](https://togithub.com/php/php-src/compare/php-8.1.0...php-8.1.1)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.1.0...php-8.1.1)
    
    ###
    [`v8.1.0`](https://togithub.com/php/php-src/compare/php-8.0.28...php-8.1.0)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.0.28...php-8.1.0)
    
    ###
    [`v8.0.28`](https://togithub.com/php/php-src/compare/php-8.0.27...php-8.0.28)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.0.27...php-8.0.28)
    
    ###
    [`v8.0.27`](https://togithub.com/php/php-src/compare/php-8.0.26...php-8.0.27)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.0.26...php-8.0.27)
    
    ###
    [`v8.0.26`](https://togithub.com/php/php-src/compare/php-8.0.25...php-8.0.26)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.0.25...php-8.0.26)
    
    ###
    [`v8.0.25`](https://togithub.com/php/php-src/compare/php-8.0.24...php-8.0.25)
    
    [Compare
    Source](https://togithub.com/php/php-src/compare/php-8.0.24...php-8.0.25)
    
    </details>
    
    ---
    
    ### 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.
    
    ---
    
    - [ ] <!-- 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://app.renovatebot.com/dashboard#github/open-feature/php-sdk).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMTcuMSIsInVwZGF0ZWRJblZlciI6IjM0LjEzOC4zIn0=-->
    
    ---------
    
    Signed-off-by: Tom Carrio <tom@carrio.dev>
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: Tom Carrio <tom@carrio.dev>
    renovate[bot] and tcarrio authored Feb 20, 2023
    Configuration menu
    Copy the full SHA
    27d1bbc View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2023

  1. test: flagd harness updates (#88)

    ## This PR
    
    - updates integration test suite to the latest test-harness
    - ensures support for existing Flagd feature-set within provider
    - does NOT provide support for caching yet (which is not a concern of
    PHP SDK directly anyway)
    
    ### Related Issues
    
    Fixes #85 
    
    ### Notes
    
    ### Follow-up Tasks
    
    Incorporate caching support when added to Flagd provider
    
    ### How to test
    
    CI, or execute the integration test suite locally.
    
    ---------
    
    Signed-off-by: Tom Carrio <tom@carrio.dev>
    tcarrio authored Mar 11, 2023
    Configuration menu
    Copy the full SHA
    9eb396c View commit details
    Browse the repository at this point in the history
  2. chore(deps): update dependency phpstan/phpstan to ~1.10.0 (#87)

    [![Mend
    Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
    
    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | require-dev
    | minor | `~1.9.0` -> `~1.10.0` |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>phpstan/phpstan</summary>
    
    ###
    [`v1.10.6`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.6)
    
    [Compare
    Source](https://togithub.com/phpstan/phpstan/compare/1.10.5...1.10.6)
    
    # Bleeding edge 🔪
    
    - Report narrowing `PHPStan\Type\Type` interface via `@var`
    (phpstan/phpstan-src@713b98f),
    [https://github.com/nunomaduro/larastan/issues/1567#issuecomment-1460445389](https://togithub.com/nunomaduro/larastan/issues/1567#issuecomment-1460445389)
    - Check invalid PHPDocs in previously unchecked statement types
    (phpstan/phpstan-src@9780d35)
    - InvalidPHPStanDocTagRule in StubValidator
    (phpstan/phpstan-src@9c2552b)
    
    *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 🔧
    
    - InvalidPHPStanDocTagRule - add forgotten handling of ClassConst
    (phpstan/phpstan-src@d943d58)
    
    # Bugfixes 🐛
    
    - Fix false positive with `array_combine()` on PHP 8+
    ([#&#8203;2276](https://togithub.com/phpstan/phpstan-src/pull/2276)),
    [#&#8203;9011](https://togithub.com/phpstan/phpstan/issues/9011), thanks
    [@&#8203;staabm](https://togithub.com/staabm)!
    - Ignore Nop nodes in NodeScopeResolver when creating
    UnreachableStatementNode
    ([#&#8203;2279](https://togithub.com/phpstan/phpstan-src/pull/2279)),
    [#&#8203;8966](https://togithub.com/phpstan/phpstan/issues/8966), thanks
    [@&#8203;herndlm](https://togithub.com/herndlm)!
    - Fix wrong positives about templates in conditional types
    ([#&#8203;2241](https://togithub.com/phpstan/phpstan-src/pull/2241)),
    [#&#8203;8609](https://togithub.com/phpstan/phpstan/issues/8609),
    [#&#8203;7310](https://togithub.com/phpstan/phpstan/issues/7310),
    [#&#8203;8408](https://togithub.com/phpstan/phpstan/issues/8408), thanks
    [@&#8203;KmeCnin](https://togithub.com/KmeCnin)!
    
    ###
    [`v1.10.5`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.5)
    
    [Compare
    Source](https://togithub.com/phpstan/phpstan/compare/1.10.4...1.10.5)
    
    # Improvements 🔧
    
    - Check local type aliases above traits
    (phpstan/phpstan-src@4654c16)
    
    # Bugfixes 🐛
    
    - Fix type aliases in method-level template types
    (phpstan/phpstan-src@c926144),
    [#&#8203;9008](https://togithub.com/phpstan/phpstan/issues/9008)
    - Fix type aliases in traits
    (phpstan/phpstan-src@60021c2),
    [#&#8203;5091](https://togithub.com/phpstan/phpstan/issues/5091)
    - Fix interface accepting a Closure
    (phpstan/phpstan-src@0dbe3ab),
    [#&#8203;9006](https://togithub.com/phpstan/phpstan/issues/9006)
    - Process enum case expression
    (phpstan/phpstan-src@f64b27c),
    [#&#8203;9005](https://togithub.com/phpstan/phpstan/issues/9005)
    - Fixed missing processing of UseUse and GroupUse
    (phpstan/phpstan-src@b797512)
    
    ###
    [`v1.10.4`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.4)
    
    [Compare
    Source](https://togithub.com/phpstan/phpstan/compare/1.10.3...1.10.4)
    
    # Improvements 🔧
    
    - Remove 3 leading spaces in PHAR
    ([#&#8203;2254](https://togithub.com/phpstan/phpstan-src/pull/2254)),
    [#&#8203;8952](https://togithub.com/phpstan/phpstan/issues/8952), thanks
    [@&#8203;ruudk](https://togithub.com/ruudk)!
    - Add missing newline at the end of the file
    ([#&#8203;2254](https://togithub.com/phpstan/phpstan-src/pull/2254)),
    thanks [@&#8203;ruudk](https://togithub.com/ruudk)!
    - RuleError interfaces are part of BC promise
    (phpstan/phpstan-src@aed9319)
    - Update nikic/php-parser
    (phpstan/phpstan-src@dda95b4)
    - Update BetterReflection
    ([#&#8203;2274](https://togithub.com/phpstan/phpstan-src/pull/2274)),
    [#&#8203;8889](https://togithub.com/phpstan/phpstan/issues/8889)
    
    # Bugfixes 🐛
    
    - Fix bug with `array_column`
    ([#&#8203;2244](https://togithub.com/phpstan/phpstan-src/pull/2244)),
    [#&#8203;8917](https://togithub.com/phpstan/phpstan/issues/8917), thanks
    [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
    - Improve `filter_var()` handling of a couple of simple scalars and null
    ([#&#8203;2262](https://togithub.com/phpstan/phpstan-src/pull/2262)),
    thanks [@&#8203;herndlm](https://togithub.com/herndlm)!
    - Fix `value-of` for multiple enums
    (phpstan/phpstan-src@3adc91d),
    [#&#8203;8983](https://togithub.com/phpstan/phpstan/issues/8983)
    - Fix `->value` on unions of enums
    (phpstan/phpstan-src@05b85ba),
    [#&#8203;9000](https://togithub.com/phpstan/phpstan/issues/9000)
    
    # Function signature fixes 🤖
    
    - Fix return type of `Ds\Sequence::copy()`
    ([#&#8203;1954](https://togithub.com/phpstan/phpstan-src/pull/1954)),
    thanks [@&#8203;MidnightDesign](https://togithub.com/MidnightDesign)!
    - Fix `password_hash()` return type
    ([#&#8203;2260](https://togithub.com/phpstan/phpstan-src/pull/2260)),
    [#&#8203;5978](https://togithub.com/phpstan/phpstan/issues/5978), thanks
    [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
    
    ###
    [`v1.10.3`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.3)
    
    [Compare
    Source](https://togithub.com/phpstan/phpstan/compare/1.10.2...1.10.3)
    
    # Improvements 🔧
    
    - Add support for `@not-deprecated` annotation
    ([#&#8203;2255](https://togithub.com/phpstan/phpstan-src/pull/2255)),
    [https://github.com/phpstan/phpstan/discussions/7422](https://togithub.com/phpstan/phpstan/discussions/7422),
    thanks [@&#8203;stof](https://togithub.com/stof)!
    
    # Bugfixes 🐛
    
    - Fix arithmetic operations with BenevolentUnionType
    (phpstan/phpstan-src@f882eff),
    [#&#8203;8938](https://togithub.com/phpstan/phpstan/issues/8938)
    - Fix native return type of `array_chunk()`
    (phpstan/phpstan-src@e4a6d20),
    [#&#8203;8956](https://togithub.com/phpstan/phpstan/issues/8956)
    - Support for property fetch in initializers
    (phpstan/phpstan-src@53c643d),
    [#&#8203;8957](https://togithub.com/phpstan/phpstan/issues/8957)
    - ObjectType - fix enum property with subtracted type
    (phpstan/phpstan-src@eb00fd2),
    [#&#8203;8828](https://togithub.com/phpstan/phpstan/issues/8828),
    [#&#8203;8486](https://togithub.com/phpstan/phpstan/issues/8486)
    
    ###
    [`v1.10.2`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.2)
    
    [Compare
    Source](https://togithub.com/phpstan/phpstan/compare/1.10.1...1.10.2)
    
    # Improvements 🔧
    
    - Allow generating baseline in .php format
    (phpstan/phpstan-src@8260032),
    [#&#8203;8870](https://togithub.com/phpstan/phpstan/issues/8870)
    - See documentation:
    https://phpstan.org/user-guide/baseline#php-baseline-format-instead-of-neon
    
    # Function signature fixes 🤖
    
    - Instances of `object` returned by `db2_*()` functions are always
    instances of `stdClass`
    ([#&#8203;2249](https://togithub.com/phpstan/phpstan-src/pull/2249)),
    thanks [@&#8203;phansys](https://togithub.com/phansys)!
    
    ###
    [`v1.10.1`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.1)
    
    [Compare
    Source](https://togithub.com/phpstan/phpstan/compare/1.10.0...1.10.1)
    
    # Bugfixes 🐛
    
    - Fix match expression and `treatPhpDocTypesAsCertain: false`
    ([#&#8203;2248](https://togithub.com/phpstan/phpstan-src/pull/2248)),
    [#&#8203;8932](https://togithub.com/phpstan/phpstan/issues/8932), thanks
    [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
    - Fix calling dynamic return type extensions on nullable types
    (phpstan/phpstan-src@7331bc5)
    - Fix edge case with `in_array` and enums
    (phpstan/phpstan-src@7d6f0f6)
    
    ###
    [`v1.10.0`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.0)
    
    [Compare
    Source](https://togithub.com/phpstan/phpstan/compare/1.9.18...1.10.0)
    
    **Read the article about this release: [PHPStan 1.10 Comes With a Lie
    Detector](https://phpstan.org/blog/phpstan-1-10-comes-with-lie-detector)**
    
    # Major new features 🚀
    
    - "Always true" conditions in the last `elseif` branch and last match
    expression arm are not reported by default
    ([#&#8203;2105](https://togithub.com/phpstan/phpstan-src/pull/2105)),
    [#&#8203;8042](https://togithub.com/phpstan/phpstan/issues/8042),
    [#&#8203;8485](https://togithub.com/phpstan/phpstan/issues/8485),
    [#&#8203;7721](https://togithub.com/phpstan/phpstan/issues/7721),
    [#&#8203;4242](https://togithub.com/phpstan/phpstan/issues/4242),
    [#&#8203;8240](https://togithub.com/phpstan/phpstan/issues/8240), thanks
    [@&#8203;staabm](https://togithub.com/staabm)!
    - Set
    [`reportAlwaysTrueInLastCondition`](https://phpstan.org/config-reference#reportalwaystrueinlastcondition)
    to `true` to have them reported again
    - Note: "Always true" conditions in PHPStan 1.x are reported with
    Bleeding Edge enabled, or with phpstan-strict-rules installed, or with
    [relevant
    options](https://togithub.com/phpstan/phpstan-strict-rules/blob/66b378f5b242130908b8a2222bf8110f14f4375a/rules.neon#L4-L7)
    enabled separately. In PHPStan 2.0 they're going to be always reported,
    except for the last `elseif` branch and last match expression arm.
    - Deprecate various `instanceof *Type` in favour of new methods on
    `Type` interface,
    (phpstan/phpstan-src@436e6d3),
    learn more: [Why Is instanceof \*Type Wrong and Getting
    Deprecated?](https://phpstan.org/blog/why-is-instanceof-type-wrong-and-getting-deprecated)
    - Deprecations in your custom rules and extensions will be reported in
    Bleeding Edge, or with `phpstan-deprecation-rules` installed
    - Explain why type isn't accepted by another type in less intuitive
    scenarios,
    [#&#8203;3281](https://togithub.com/phpstan/phpstan/issues/3281),
    [#&#8203;6787](https://togithub.com/phpstan/phpstan/issues/6787)
    - Some examples:
    https://phpstan.org/r/61cfbb65-1a04-471a-a5c5-d61f0540ae1d,
    https://phpstan.org/r/839f1fd2-d66a-4356-af21-3fe171d83fd1,
    https://phpstan.org/r/2bea7ece-6b26-4dc9-a1cf-d2f0e7fbb9d6,
    https://phpstan.org/r/fed1c275-46d0-434f-b9c4-3212f4df6d1c,
    https://phpstan.org/r/24a23b74-af27-4443-986c-04af61427d50
    
    # Bleeding edge 🔪
    
    - Validate inline PHPDoc `@var` tag type against native type
    (phpstan/phpstan-src@a69e3bc)
    - Set
    [`reportWrongPhpDocTypeInVarTag`](https://phpstan.org/config-reference#reportwrongphpdoctypeinvartag)
    to `true` to have all types validated, not just native ones
    - Always report always true conditions, except for last elseif and match
    arm
    ([#&#8203;2105](https://togithub.com/phpstan/phpstan-src/pull/2105)),
    thanks [@&#8203;staabm](https://togithub.com/staabm)!
    - Disable "unreachable branches" rules: UnreachableIfBranchesRule,
    UnreachableTernaryElseBranchRule, unreachable arm error in
    MatchExpressionRule
    - Because "always true" is always reported, these are no longer needed
    - IncompatibleDefaultParameterTypeRule for closures
    (phpstan/phpstan-src@0264f5b)
    - New `RuleLevelHelper::accepts()` behaviour
    (phpstan/phpstan-src@941fc81)
    - Check template type variance in `@param-out`
    (phpstan/phpstan-src@7ceb19d),
    [https://github.com/phpstan/phpstan/issues/8880#issuecomment-1426971473](https://togithub.com/phpstan/phpstan/issues/8880#issuecomment-1426971473)
    
    *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 🔧
    
    - Implement identical/equal comparisons on EnumCaseObjectType
    ([#&#8203;2105](https://togithub.com/phpstan/phpstan-src/pull/2105)),
    thanks [@&#8203;staabm](https://togithub.com/staabm)!
    - MatchExpressionRule - use ConstantConditionRuleHelper to remove some
    duplicate errors
    (phpstan/phpstan-src@7380ed0)
    - Improvements of `MutatingScope::getNativeType()`
    ([#&#8203;1943](https://togithub.com/phpstan/phpstan-src/pull/1943)),
    [#&#8203;4689](https://togithub.com/phpstan/phpstan/issues/4689),
    [#&#8203;7578](https://togithub.com/phpstan/phpstan/issues/7578),
    [#&#8203;6260](https://togithub.com/phpstan/phpstan/issues/6260)
    - Allow default values for allow-private-mutation properties
    ([#&#8203;2178](https://togithub.com/phpstan/phpstan-src/pull/2178)),
    [#&#8203;8701](https://togithub.com/phpstan/phpstan/issues/8701), thanks
    [@&#8203;zonuexe](https://togithub.com/zonuexe)!
    - Support `treatPhpDocTypesAsCertain` in
    NumberComparisonOperatorsConstantConditionRule
    (phpstan/phpstan-src@649eb70),
    [#&#8203;6776](https://togithub.com/phpstan/phpstan/issues/6776),
    [#&#8203;7075](https://togithub.com/phpstan/phpstan/issues/7075)
    - JsonErrorFormatter - strip console-specific characters from tip
    (phpstan/phpstan-src@6419da7)
    - `InClassMethodNode` - add `getClassReflection()`
    (phpstan/phpstan-src@c4ee0b8)
    - PhpFunctionFromParserNodeReflection and
    PhpMethodFromParserNodeReflection are part of BC promise
    (phpstan/phpstan-src@8107179)
    - AttributesCheck - detect deprecated attributes
    (phpstan/phpstan-src@e46b0b4)
    - Introduce `Type::getTemplateType()` and deprecate
    `GenericTypeVariableResolver`
    (phpstan/phpstan-src@b73a8aa,
    phpstan/phpstan-src@01b4d4e)
    - Implement PHP version dependent loose const comparison
    ([#&#8203;2220](https://togithub.com/phpstan/phpstan-src/pull/2220),
    [#&#8203;2225](https://togithub.com/phpstan/phpstan-src/pull/2225)),
    thanks [@&#8203;staabm](https://togithub.com/staabm)!
    
    # Bugfixes 🐛
    
    - Fix LateResolvableTypeTrait
    (phpstan/phpstan-src@bc28286)
    - StrCaseFunctionsReturnTypeExtension - do not throw
    ShouldNotHappenException, it might happen if mbstring is not enabled and
    the polyfill is not implemented
    (phpstan/phpstan-src@c015e47),
    [#&#8203;8925](https://togithub.com/phpstan/phpstan/issues/8925)
    
    # Function signature fixes 🤖
    
    - Fix `PDO::sqliteCreateFunction`
    ([#&#8203;2208](https://togithub.com/phpstan/phpstan-src/pull/2208)),
    [#&#8203;8802](https://togithub.com/phpstan/phpstan/issues/8802), thanks
    [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
    - Use "numeric-string" type for some MySQLi functions
    ([#&#8203;2223](https://togithub.com/phpstan/phpstan-src/pull/2223),
    [#&#8203;2224](https://togithub.com/phpstan/phpstan-src/pull/2224)),
    thanks [@&#8203;phansys](https://togithub.com/phansys)!
    - Update param and return type for `db2_autocommit()`
    ([#&#8203;2239](https://togithub.com/phpstan/phpstan-src/pull/2239)),
    thanks [@&#8203;phansys](https://togithub.com/phansys)!
    
    # Internals 🔍
    
    - Deprecate `TypeUtils::getDirectClassNames()` and `instanceof
    TypeWithClassName`, use `Type::getObjectClassNames()` instead
    ([#&#8203;1924](https://togithub.com/phpstan/phpstan-src/pull/1924)),
    thanks [@&#8203;herndlm](https://togithub.com/herndlm)!
    - Remove dead code in UnionType
    ([#&#8203;2194](https://togithub.com/phpstan/phpstan-src/pull/2194)),
    thanks [@&#8203;staabm](https://togithub.com/staabm)!
    - Use `isSuperTypeOf()` instead of `accepts()` in the right places
    (phpstan/phpstan-src@ddb9dc5)
    - Modernized `IncompatibleDefaultParameterTypeRule`
    (phpstan/phpstan-src@a79ad03)
    - InClassMethodNode always contains PhpMethodFromParserNodeReflection
    (phpstan/phpstan-src@01a7897)
    - InFunctionNode always contains PhpFunctionFromParserNodeReflection
    (phpstan/phpstan-src@e864b24)
    - Modernized InClassMethodNode rules
    (phpstan/phpstan-src@c3da6a9)
    - Modernized InFunctionNode rules
    (phpstan/phpstan-src@b736ddc)
    - Introduce `Type::acceptsWithReason()`
    (phpstan/phpstan-src@b763bd9),
    [#&#8203;3281](https://togithub.com/phpstan/phpstan/issues/3281)
    - Fix invalid phpdocs missing null
    ([#&#8203;2213](https://togithub.com/phpstan/phpstan-src/pull/2213)),
    thanks [@&#8203;janedbal](https://togithub.com/janedbal)!
    - NodeScopeResolver::earlyTerminatingMethodNames remove useless default
    ([#&#8203;2214](https://togithub.com/phpstan/phpstan-src/pull/2214)),
    [#&#8203;8830](https://togithub.com/phpstan/phpstan/issues/8830), thanks
    [@&#8203;janedbal](https://togithub.com/janedbal)!
    - Skip `testEditorUrlWithRelativePath()` test on PhpStorm console
    ([#&#8203;2229](https://togithub.com/phpstan/phpstan-src/pull/2229)),
    thanks [@&#8203;staabm](https://togithub.com/staabm)!
    - VarianceCheck - accept only ParametersAcceptorWithPhpDocs
    (phpstan/phpstan-src@7da13f7)
    - Remove duplicate method definition from ConstantType interface
    (phpstan/phpstan-src@61fa3a1)
    - `Type::isEnum()`
    (phpstan/phpstan-src@93113cb)
    - `Type::getObjectClassReflections()`
    (phpstan/phpstan-src@4c7046e)
    
    </details>
    
    ---
    
    ### 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.
    
    ---
    
    - [ ] <!-- 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://app.renovatebot.com/dashboard#github/open-feature/php-sdk).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNDguMCIsInVwZGF0ZWRJblZlciI6IjM0LjE2MC4wIn0=-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 11, 2023
    Configuration menu
    Copy the full SHA
    f59da40 View commit details
    Browse the repository at this point in the history
  3. chore(deps): update dependency vimeo/psalm to ~5.8.0 (#72)

    [![Mend
    Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
    
    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | [vimeo/psalm](https://togithub.com/vimeo/psalm) | require-dev | minor
    | `~5.4.0` -> `~5.8.0` |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>vimeo/psalm</summary>
    
    ### [`v5.8.0`](https://togithub.com/vimeo/psalm/releases/tag/5.8.0)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.7...5.8.0)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Features
    
    - FFI stubs improvement by
    [@&#8203;UlrichEckhardt](https://togithub.com/UlrichEckhardt) in
    [https://github.com/vimeo/psalm/pull/9368](https://togithub.com/vimeo/psalm/pull/9368)
    - Support sizeof alias of count by
    [@&#8203;jsanahuja](https://togithub.com/jsanahuja) in
    [https://github.com/vimeo/psalm/pull/9375](https://togithub.com/vimeo/psalm/pull/9375)
    - Iterated array in `foreach` body is never empty by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9380](https://togithub.com/vimeo/psalm/pull/9380)
    - Process `@psalm-api` tags on methods by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9383](https://togithub.com/vimeo/psalm/pull/9383)
    - Enforce literal string length limit by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9381](https://togithub.com/vimeo/psalm/pull/9381)
    - \[ibm_db2] Improve return type inference for `db2_autocommit()` by
    [@&#8203;phansys](https://togithub.com/phansys) in
    [https://github.com/vimeo/psalm/pull/9310](https://togithub.com/vimeo/psalm/pull/9310)
    - Only disable grpc extension if it is not properly configured by
    [@&#8203;gndk](https://togithub.com/gndk) in
    [https://github.com/vimeo/psalm/pull/9398](https://togithub.com/vimeo/psalm/pull/9398)
    - PHP 8.3 dictionary by [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9366](https://togithub.com/vimeo/psalm/pull/9366)
    - concat should never remove non empty non falsy from string
    [#&#8203;9411](https://togithub.com/vimeo/psalm/issues/9411) by
    [@&#8203;EgorBakulin](https://togithub.com/EgorBakulin) in
    [https://github.com/vimeo/psalm/pull/9422](https://togithub.com/vimeo/psalm/pull/9422)
    - Forbid private final methods by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9442](https://togithub.com/vimeo/psalm/pull/9442)
    - Support for `readonly` classes by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9444](https://togithub.com/vimeo/psalm/pull/9444)
    - Consider new HTML entity en/decode function defaults since PHP 8.1 by
    [@&#8203;pereorga](https://togithub.com/pereorga) in
    [https://github.com/vimeo/psalm/pull/9471](https://togithub.com/vimeo/psalm/pull/9471)
    
    ##### Fixes
    
    - Instances of `object` returned by `db2_*()` functions are always
    instances of `stdClass` by
    [@&#8203;phansys](https://togithub.com/phansys) in
    [https://github.com/vimeo/psalm/pull/9369](https://togithub.com/vimeo/psalm/pull/9369)
    - Simplify and fix Shepherd to support custom endpoints for reporting by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9296](https://togithub.com/vimeo/psalm/pull/9296)
    - Fixes [#&#8203;9384](https://togithub.com/vimeo/psalm/issues/9384)
    (Wrong type for variable checked with is_long) by
    [@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
    [https://github.com/vimeo/psalm/pull/9385](https://togithub.com/vimeo/psalm/pull/9385)
    - Update Phar callmaps by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9389](https://togithub.com/vimeo/psalm/pull/9389)
    - Correctly process use aliases in `@psalm-scope-this` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9390](https://togithub.com/vimeo/psalm/pull/9390)
    - Allow `array` as magic method name by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9391](https://togithub.com/vimeo/psalm/pull/9391)
    - Consistently report docblock issues on all classlikes by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9392](https://togithub.com/vimeo/psalm/pull/9392)
    - \[ibm_db2] Update some return types in callmaps by
    [@&#8203;phansys](https://togithub.com/phansys) in
    [https://github.com/vimeo/psalm/pull/9387](https://togithub.com/vimeo/psalm/pull/9387)
    - Preserve PossiblyUndefinedVariable when fixing UnusedVariable by
    [@&#8203;edsrzf](https://togithub.com/edsrzf) in
    [https://github.com/vimeo/psalm/pull/9400](https://togithub.com/vimeo/psalm/pull/9400)
    - \[ibm_db2] Update callmaps by
    [@&#8203;phansys](https://togithub.com/phansys) in
    [https://github.com/vimeo/psalm/pull/9404](https://togithub.com/vimeo/psalm/pull/9404)
    - Fix [#&#8203;9401](https://togithub.com/vimeo/psalm/issues/9401) by
    [@&#8203;ptomulik](https://togithub.com/ptomulik) in
    [https://github.com/vimeo/psalm/pull/9418](https://togithub.com/vimeo/psalm/pull/9418)
    - Fix remaining spl and iterator callmaps by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9420](https://togithub.com/vimeo/psalm/pull/9420)
    - An attempt to fix
    [#&#8203;4460](https://togithub.com/vimeo/psalm/issues/4460) by
    [@&#8203;ptomulik](https://togithub.com/ptomulik) in
    [https://github.com/vimeo/psalm/pull/9415](https://togithub.com/vimeo/psalm/pull/9415)
    - `array_pop` is impure by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9434](https://togithub.com/vimeo/psalm/pull/9434)
    - Revert "`array_pop` is impure" by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9435](https://togithub.com/vimeo/psalm/pull/9435)
    - Update pack() stub by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9438](https://togithub.com/vimeo/psalm/pull/9438)
    - Merge param descriptions when adding or updating types by
    [@&#8203;aboyton](https://togithub.com/aboyton) in
    [https://github.com/vimeo/psalm/pull/9441](https://togithub.com/vimeo/psalm/pull/9441)
    - PHP 8.2 attributes moved to 8.2 stub by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9445](https://togithub.com/vimeo/psalm/pull/9445)
    - Improce enum case reconciliation by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9457](https://togithub.com/vimeo/psalm/pull/9457)
    - Do not strip the last `)` bracket when parsing phpdoc type aliases. by
    [@&#8203;pvandommelen](https://togithub.com/pvandommelen) in
    [https://github.com/vimeo/psalm/pull/9458](https://togithub.com/vimeo/psalm/pull/9458)
    - Replace package-versions with Composer 2 APIs by
    [@&#8203;Jean85](https://togithub.com/Jean85) in
    [https://github.com/vimeo/psalm/pull/9459](https://togithub.com/vimeo/psalm/pull/9459)
    - Fix DOM callmaps by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9460](https://togithub.com/vimeo/psalm/pull/9460)
    - Don't crash on unary minus overflow by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9466](https://togithub.com/vimeo/psalm/pull/9466)
    - Fix remaining intl callmaps by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9473](https://togithub.com/vimeo/psalm/pull/9473)
    
    ##### Internal changes
    
    - Convert callmap associative-array types into proper array types by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9362](https://togithub.com/vimeo/psalm/pull/9362)
    - Callmap is always non-empty by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9405](https://togithub.com/vimeo/psalm/pull/9405)
    - Reorganize pushes to `psalm/phar` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9399](https://togithub.com/vimeo/psalm/pull/9399)
    - Do not display ext deprecation note when `disableExtensions` used by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9291](https://togithub.com/vimeo/psalm/pull/9291)
    - Require `<?php` tag in tests by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9443](https://togithub.com/vimeo/psalm/pull/9443)
    
    #### New Contributors
    
    - [@&#8203;UlrichEckhardt](https://togithub.com/UlrichEckhardt) made
    their first contribution in
    [https://github.com/vimeo/psalm/pull/9368](https://togithub.com/vimeo/psalm/pull/9368)
    - [@&#8203;jsanahuja](https://togithub.com/jsanahuja) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9375](https://togithub.com/vimeo/psalm/pull/9375)
    - [@&#8203;EgorBakulin](https://togithub.com/EgorBakulin) made their
    first contribution in
    [https://github.com/vimeo/psalm/pull/9422](https://togithub.com/vimeo/psalm/pull/9422)
    - [@&#8203;pereorga](https://togithub.com/pereorga) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9471](https://togithub.com/vimeo/psalm/pull/9471)
    
    **Full Changelog**: vimeo/psalm@5.7.7...5.8.0
    
    ### [`v5.7.7`](https://togithub.com/vimeo/psalm/releases/tag/5.7.7)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.6...5.7.7)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at 5.7.x -->
    
    #### What's Changed
    
    ##### Fixes
    
    - Don't crash on empty `jit_buffer_size` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9397](https://togithub.com/vimeo/psalm/pull/9397)
    
    **Full Changelog**: vimeo/psalm@5.7.6...5.7.7
    
    ### [`v5.7.6`](https://togithub.com/vimeo/psalm/releases/tag/5.7.6)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.5...5.7.6)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at 5.7.x -->
    
    #### What's Changed
    
    ##### Fixes
    
    - Disable `opcache.preload` if it's enabled by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9388](https://togithub.com/vimeo/psalm/pull/9388)
    
    **Full Changelog**: vimeo/psalm@5.7.5...5.7.6
    
    ### [`v5.7.5`](https://togithub.com/vimeo/psalm/releases/tag/5.7.5)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.4...5.7.5)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Fixes
    
    - Workaround opcache issue (fixes
    [#&#8203;9363](https://togithub.com/vimeo/psalm/issues/9363)) by
    [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/9364](https://togithub.com/vimeo/psalm/pull/9364)
    
    **Full Changelog**: vimeo/psalm@5.7.4...5.7.5
    
    ### [`v5.7.4`](https://togithub.com/vimeo/psalm/releases/tag/5.7.4)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.3...5.7.4)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Fixes
    
    - Include setrawcookie as an impure function by
    [@&#8203;edsrzf](https://togithub.com/edsrzf) in
    [https://github.com/vimeo/psalm/pull/9356](https://togithub.com/vimeo/psalm/pull/9356)
    - Fix several spl callmap methods by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9360](https://togithub.com/vimeo/psalm/pull/9360)
    - Revert "[#&#8203;7387](https://togithub.com/vimeo/psalm/issues/7387)
    Add asserting non-empty-string by strlen" by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9358](https://togithub.com/vimeo/psalm/pull/9358)
    
    **Full Changelog**: vimeo/psalm@5.7.3...5.7.4
    
    ### [`v5.7.3`](https://togithub.com/vimeo/psalm/releases/tag/5.7.3)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.2...5.7.3)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Fixes
    
    - Replace use of DOMParentNode::append() with appendChild() by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9354](https://togithub.com/vimeo/psalm/pull/9354)
    
    **Full Changelog**: vimeo/psalm@5.7.2...5.7.3
    
    ### [`v5.7.2`](https://togithub.com/vimeo/psalm/releases/tag/5.7.2)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.1...5.7.2)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Fixes
    
    - fix (DateTime|DateTimeImmutable)::modify() return types by
    [@&#8203;DaDeather](https://togithub.com/DaDeather) in
    [https://github.com/vimeo/psalm/pull/9172](https://togithub.com/vimeo/psalm/pull/9172)
    - Workaround arm64 opcache bug (fixes
    [#&#8203;9350](https://togithub.com/vimeo/psalm/issues/9350)) by
    [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/9351](https://togithub.com/vimeo/psalm/pull/9351)
    
    #### New Contributors
    
    - [@&#8203;DaDeather](https://togithub.com/DaDeather) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9172](https://togithub.com/vimeo/psalm/pull/9172)
    
    **Full Changelog**: vimeo/psalm@5.7.1...5.7.2
    
    ### [`v5.7.1`](https://togithub.com/vimeo/psalm/releases/tag/5.7.1)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.0...5.7.1)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Fixes
    
    - Always use 0x7FFEBFFF opcache optimization level (fixes
    [#&#8203;9340](https://togithub.com/vimeo/psalm/issues/9340)) by
    [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/9342](https://togithub.com/vimeo/psalm/pull/9342)
    - Fix `PsalmRestarter::restart()` signature by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9347](https://togithub.com/vimeo/psalm/pull/9347)
    
    **Full Changelog**: vimeo/psalm@5.7.0...5.7.1
    
    ### [`v5.7.0`](https://togithub.com/vimeo/psalm/releases/tag/5.7.0)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.6.0...5.7.0)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Deprecations
    
    - Deprecate `FunctionLikeStorage::$unused_docblock_params` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9312](https://togithub.com/vimeo/psalm/pull/9312)
    
    ##### Features
    
    - [#&#8203;7387](https://togithub.com/vimeo/psalm/issues/7387) Add
    asserting non-empty-string by strlen by
    [@&#8203;LeoVie](https://togithub.com/LeoVie) in
    [https://github.com/vimeo/psalm/pull/8761](https://togithub.com/vimeo/psalm/pull/8761)
    - Forbid implementing some interfaces by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9272](https://togithub.com/vimeo/psalm/pull/9272)
    - Added issue type and psalm.dev link to Emacs report by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9299](https://togithub.com/vimeo/psalm/pull/9299)
    - Allow `@var` annotations on global vars by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9301](https://togithub.com/vimeo/psalm/pull/9301)
    - Allow suppressing `MissingThrowsDocblock` for individual exceptions by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9303](https://togithub.com/vimeo/psalm/pull/9303)
    - Flag direct constructor calls by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9311](https://togithub.com/vimeo/psalm/pull/9311)
    - Flag docblock parameters that have no counterparts in function
    signature by [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9314](https://togithub.com/vimeo/psalm/pull/9314)
    - Forbid non-null defaults for callable parameters by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9316](https://togithub.com/vimeo/psalm/pull/9316)
    
    ##### Fixes
    
    - cdata in baseline by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/9184](https://togithub.com/vimeo/psalm/pull/9184)
    - Resolve class constants within PhpStorm metadata by
    [@&#8203;shvlv](https://togithub.com/shvlv) in
    [https://github.com/vimeo/psalm/pull/9173](https://togithub.com/vimeo/psalm/pull/9173)
    - Detect duplicate keys in array shapes by
    [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/9177](https://togithub.com/vimeo/psalm/pull/9177)
    - Fix xmlrpc callmap functions that were dropped in PHP 8.0 by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9212](https://togithub.com/vimeo/psalm/pull/9212)
    - fix `didChange` event in LSP by
    [@&#8203;ging-dev](https://togithub.com/ging-dev) in
    [https://github.com/vimeo/psalm/pull/9207](https://togithub.com/vimeo/psalm/pull/9207)
    - Added [@&#8203;psalm-pure](https://togithub.com/psalm-pure) to
    filter_var() by [@&#8203;mmcev106](https://togithub.com/mmcev106) in
    [https://github.com/vimeo/psalm/pull/9170](https://togithub.com/vimeo/psalm/pull/9170)
    - Add DatePeriod::INCLUDE_END_DATE option by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9220](https://togithub.com/vimeo/psalm/pull/9220)
    - Add more specific return for class-implements by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9228](https://togithub.com/vimeo/psalm/pull/9228)
    - Convert callmaps resource types by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9227](https://togithub.com/vimeo/psalm/pull/9227)
    - Use "numeric-string" type for some MySQLi properties by
    [@&#8203;phansys](https://togithub.com/phansys) in
    [https://github.com/vimeo/psalm/pull/9226](https://togithub.com/vimeo/psalm/pull/9226)
    - find_unused_code CLI arg should not be overwritten by config file by
    [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9235](https://togithub.com/vimeo/psalm/pull/9235)
    - Fix divide by a floating point zero by
    [@&#8203;aboyton](https://togithub.com/aboyton) in
    [https://github.com/vimeo/psalm/pull/9247](https://togithub.com/vimeo/psalm/pull/9247)
    - Don't crash on unknown exceptions in `@throws` docblock by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9250](https://togithub.com/vimeo/psalm/pull/9250)
    - Fix Spoofchecker callmaps by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9256](https://togithub.com/vimeo/psalm/pull/9256)
    - Fix crashes with invalid `@psalm-check-type` syntax by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9257](https://togithub.com/vimeo/psalm/pull/9257)
    - Fix crash when int range boundary is overflown by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9260](https://togithub.com/vimeo/psalm/pull/9260)
    - Drop abandoned mcve m\_ functions by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9266](https://togithub.com/vimeo/psalm/pull/9266)
    - Fix several callmap fuction signatures by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9264](https://togithub.com/vimeo/psalm/pull/9264)
    - fix lstat bug cache directory race condition by
    [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9253](https://togithub.com/vimeo/psalm/pull/9253)
    - Drop removed xsl callmap functions by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9269](https://togithub.com/vimeo/psalm/pull/9269)
    - Drop abandoned maxdb callmap functions by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9270](https://togithub.com/vimeo/psalm/pull/9270)
    - Drop abandoned newt callmap functions by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9271](https://togithub.com/vimeo/psalm/pull/9271)
    - Update callmap types for php 8.2 by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9273](https://togithub.com/vimeo/psalm/pull/9273)
    - Fix opcache being loaded twice by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9265](https://togithub.com/vimeo/psalm/pull/9265)
    - Forbid overriding built-in enum methods by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9280](https://togithub.com/vimeo/psalm/pull/9280)
    - Fix remaining callmap functions by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9278](https://togithub.com/vimeo/psalm/pull/9278)
    - Add curl stubs to prevent crashes by
    [@&#8203;kamil-tekiela](https://togithub.com/kamil-tekiela) in
    [https://github.com/vimeo/psalm/pull/9283](https://togithub.com/vimeo/psalm/pull/9283)
    - Compare enum cases thoroughly by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9286](https://togithub.com/vimeo/psalm/pull/9286)
    - Drop abandoned ncurses extension by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9293](https://togithub.com/vimeo/psalm/pull/9293)
    - Drop abandoned cairo extension by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9292](https://togithub.com/vimeo/psalm/pull/9292)
    - Emit issues for calls to `is_a(string, class-string, false)` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9287](https://togithub.com/vimeo/psalm/pull/9287)
    - Made `WeakReference` mutable by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9297](https://togithub.com/vimeo/psalm/pull/9297)
    - Flag class constant references where LHS is ordinary string by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9302](https://togithub.com/vimeo/psalm/pull/9302)
    - Fixed issue message for missing `@psalm-external-mutation-free` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9304](https://togithub.com/vimeo/psalm/pull/9304)
    - Fix memcached extension callmap by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9309](https://togithub.com/vimeo/psalm/pull/9309)
    - Fix strpos stub return type by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9322](https://togithub.com/vimeo/psalm/pull/9322)
    - Propagate phantom classes to closure context by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9329](https://togithub.com/vimeo/psalm/pull/9329)
    - Fix language server first-class callable crashes by
    [@&#8203;edsrzf](https://togithub.com/edsrzf) in
    [https://github.com/vimeo/psalm/pull/9336](https://togithub.com/vimeo/psalm/pull/9336)
    - Forbid first-class callables in `new` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9338](https://togithub.com/vimeo/psalm/pull/9338)
    - Negated is_numeric narrows scalar type by
    [@&#8203;edsrzf](https://togithub.com/edsrzf) in
    [https://github.com/vimeo/psalm/pull/9339](https://togithub.com/vimeo/psalm/pull/9339)
    
    ##### Docs
    
    - Documentation: Add BackedEnum compatibility to value-of docs by
    [@&#8203;bitwise-operators](https://togithub.com/bitwise-operators) in
    [https://github.com/vimeo/psalm/pull/9252](https://togithub.com/vimeo/psalm/pull/9252)
    - Added note on properties used in constructor only by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9298](https://togithub.com/vimeo/psalm/pull/9298)
    - Added a page explaining how to add a new issue type by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9315](https://togithub.com/vimeo/psalm/pull/9315)
    
    ##### Internal changes
    
    - Unify warning messages for deprecated config variables by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9135](https://togithub.com/vimeo/psalm/pull/9135)
    - Fix newly discovered CS issues by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9210](https://togithub.com/vimeo/psalm/pull/9210)
    - Fixed more CS issues by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9236](https://togithub.com/vimeo/psalm/pull/9236)
    - Always enable JIT by [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/9237](https://togithub.com/vimeo/psalm/pull/9237)
    - Allow fidry/cpu-core-counter:v0.5 by
    [@&#8203;Slamdunk](https://togithub.com/Slamdunk) in
    [https://github.com/vimeo/psalm/pull/9234](https://togithub.com/vimeo/psalm/pull/9234)
    - Update workflows to use non-deprecated method of setting step output
    by [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9251](https://togithub.com/vimeo/psalm/pull/9251)
    - Emit warning if opcache cannot be enabled by
    [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/9240](https://togithub.com/vimeo/psalm/pull/9240)
    - Add option to skip callmap test by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9300](https://togithub.com/vimeo/psalm/pull/9300)
    - Suggest Psalm to be installed in require-dev section by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9308](https://togithub.com/vimeo/psalm/pull/9308)
    - Skip verifying callmaps based on name pattern by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9313](https://togithub.com/vimeo/psalm/pull/9313)
    - Skip verifying memcache extension callmap by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9325](https://togithub.com/vimeo/psalm/pull/9325)
    - Run assertions on CI by [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9318](https://togithub.com/vimeo/psalm/pull/9318)
    - Allow spatie/array-to-xml v3 by
    [@&#8203;gharlan](https://togithub.com/gharlan) in
    [https://github.com/vimeo/psalm/pull/9331](https://togithub.com/vimeo/psalm/pull/9331)
    - Disable JIT-incompatible extensions to prevent warnings by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9326](https://togithub.com/vimeo/psalm/pull/9326)
    - Added the test to validate test environment itself by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9337](https://togithub.com/vimeo/psalm/pull/9337)
    
    ##### Other changes
    
    - Remove some logic that didn't need to be there by
    [@&#8203;muglug](https://togithub.com/muglug) in
    [https://github.com/vimeo/psalm/pull/9209](https://togithub.com/vimeo/psalm/pull/9209)
    
    #### New Contributors
    
    - [@&#8203;shvlv](https://togithub.com/shvlv) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9173](https://togithub.com/vimeo/psalm/pull/9173)
    - [@&#8203;LeoVie](https://togithub.com/LeoVie) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/8761](https://togithub.com/vimeo/psalm/pull/8761)
    - [@&#8203;phansys](https://togithub.com/phansys) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9226](https://togithub.com/vimeo/psalm/pull/9226)
    - [@&#8203;Slamdunk](https://togithub.com/Slamdunk) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9234](https://togithub.com/vimeo/psalm/pull/9234)
    - [@&#8203;aboyton](https://togithub.com/aboyton) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9247](https://togithub.com/vimeo/psalm/pull/9247)
    - [@&#8203;edsrzf](https://togithub.com/edsrzf) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9336](https://togithub.com/vimeo/psalm/pull/9336)
    
    **Full Changelog**: vimeo/psalm@5.6.0...5.7.0
    
    ### [`v5.6.0`](https://togithub.com/vimeo/psalm/releases/tag/5.6.0)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.5.0...5.6.0)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Features
    
    - Check `$this` in static closures by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9164](https://togithub.com/vimeo/psalm/pull/9164)
    
    ##### Fixes
    
    - Use STDERR for Shepherd output by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9169](https://togithub.com/vimeo/psalm/pull/9169)
    
    ##### Typos
    
    - HEAD in all caps by
    [@&#8203;buismaarten](https://togithub.com/buismaarten) in
    [https://github.com/vimeo/psalm/pull/9163](https://togithub.com/vimeo/psalm/pull/9163)
    
    #### New Contributors
    
    - [@&#8203;buismaarten](https://togithub.com/buismaarten) made their
    first contribution in
    [https://github.com/vimeo/psalm/pull/9163](https://togithub.com/vimeo/psalm/pull/9163)
    
    **Full Changelog**: vimeo/psalm@5.5.0...5.6.0
    
    ### [`v5.5.0`](https://togithub.com/vimeo/psalm/releases/tag/5.5.0)
    
    [Compare Source](https://togithub.com/vimeo/psalm/compare/5.4.0...5.5.0)
    
    <!-- Release notes generated using configuration in .github/release.yml
    at master -->
    
    #### What's Changed
    
    ##### Features
    
    - Add Codebase to remaining events by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/8961](https://togithub.com/vimeo/psalm/pull/8961)
    - Add [@&#8203;psalm-api](https://togithub.com/psalm-api) annotation by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/8987](https://togithub.com/vimeo/psalm/pull/8987)
    - Refined `explode()` types by
    [@&#8203;Ocramius](https://togithub.com/Ocramius) in
    [https://github.com/vimeo/psalm/pull/9016](https://togithub.com/vimeo/psalm/pull/9016)
    - Support constants in traits by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/9126](https://togithub.com/vimeo/psalm/pull/9126)
    - Report unused baseline entries by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/9130](https://togithub.com/vimeo/psalm/pull/9130)
    - Allow to specify custom shepherd endpoint by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9133](https://togithub.com/vimeo/psalm/pull/9133)
    - Narrow ->value of enum case(s) to only the possible values by
    [@&#8203;annervisser](https://togithub.com/annervisser) in
    [https://github.com/vimeo/psalm/pull/9157](https://togithub.com/vimeo/psalm/pull/9157)
    
    ##### Fixes
    
    - Fix bug by [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/8955](https://togithub.com/vimeo/psalm/pull/8955)
    - getopt() return type fix by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/8945](https://togithub.com/vimeo/psalm/pull/8945)
    - Allow omitting argument offsets for map-type overrides in
    phpstorm.meta by [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/8781](https://togithub.com/vimeo/psalm/pull/8781)
    - Extend XML enum of supported PHP ext by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/8971](https://togithub.com/vimeo/psalm/pull/8971)
    - Revert [#&#8203;8955](https://togithub.com/vimeo/psalm/issues/8955) by
    [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/8972](https://togithub.com/vimeo/psalm/pull/8972)
    - (mb\_)chr returns a non-empty-string by
    [@&#8203;fluffycondor](https://togithub.com/fluffycondor) in
    [https://github.com/vimeo/psalm/pull/8974](https://togithub.com/vimeo/psalm/pull/8974)
    - Remove occurrences from error baseline by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/8967](https://togithub.com/vimeo/psalm/pull/8967)
    - Add DateTimeInterface::\__serialize and \__unserialize by
    [@&#8203;michnovka](https://togithub.com/michnovka) in
    [https://github.com/vimeo/psalm/pull/8976](https://togithub.com/vimeo/psalm/pull/8976)
    - Fix get_object_vars on enums by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/8973](https://togithub.com/vimeo/psalm/pull/8973)
    - Fixes [#&#8203;8112](https://togithub.com/vimeo/psalm/issues/8112) by
    [@&#8203;emmanuelGuiton](https://togithub.com/emmanuelGuiton) in
    [https://github.com/vimeo/psalm/pull/8792](https://togithub.com/vimeo/psalm/pull/8792)
    - Verify nullable callmap parameters by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/8990](https://togithub.com/vimeo/psalm/pull/8990)
    - Improve `invalid references` message in `@psalm-type` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/8996](https://togithub.com/vimeo/psalm/pull/8996)
    - Fix missing version in PHARs build on GA by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/8997](https://togithub.com/vimeo/psalm/pull/8997)
    - forbidden function bug and better get_defined_functions() signature by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/9002](https://togithub.com/vimeo/psalm/pull/9002)
    - Add imap_is_open() to PHP 8.2 dictionary by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9007](https://togithub.com/vimeo/psalm/pull/9007)
    - Do not require return type on destructors in interfaces by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9009](https://togithub.com/vimeo/psalm/pull/9009)
    - feat: add xdebug_info (fixes
    [#&#8203;8977](https://togithub.com/vimeo/psalm/issues/8977)) by
    [@&#8203;mathe42](https://togithub.com/mathe42) in
    [https://github.com/vimeo/psalm/pull/9011](https://togithub.com/vimeo/psalm/pull/9011)
    - Make `$http_response_header` a non-empty-list by
    [@&#8203;fluffycondor](https://togithub.com/fluffycondor) in
    [https://github.com/vimeo/psalm/pull/9001](https://togithub.com/vimeo/psalm/pull/9001)
    - Preserve from_docblock in TypeCombiner by
    [@&#8203;VincentLanglet](https://togithub.com/VincentLanglet) in
    [https://github.com/vimeo/psalm/pull/8999](https://togithub.com/vimeo/psalm/pull/8999)
    - Add getAtomicType to IsNotAClass for proper negation Reconciliation by
    [@&#8203;orklah](https://togithub.com/orklah) in
    [https://github.com/vimeo/psalm/pull/9017](https://togithub.com/vimeo/psalm/pull/9017)
    - create proper TClosure instead of TNamedObject with a Closure value by
    [@&#8203;orklah](https://togithub.com/orklah) in
    [https://github.com/vimeo/psalm/pull/9018](https://togithub.com/vimeo/psalm/pull/9018)
    - Prevent DB escaping functions from affecting non-sql taints by
    [@&#8203;mmcev106](https://togithub.com/mmcev106) in
    [https://github.com/vimeo/psalm/pull/9019](https://togithub.com/vimeo/psalm/pull/9019)
    - Is containedbug by [@&#8203;orklah](https://togithub.com/orklah) in
    [https://github.com/vimeo/psalm/pull/9020](https://togithub.com/vimeo/psalm/pull/9020)
    - Better type inference and type checking for large union types used in
    array keys/values by [@&#8203;Ocramius](https://togithub.com/Ocramius)
    in
    [https://github.com/vimeo/psalm/pull/9022](https://togithub.com/vimeo/psalm/pull/9022)
    - fix never return for MethodCalls by
    [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9024](https://togithub.com/vimeo/psalm/pull/9024)
    - Fix never return union type wrong condition by
    [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9023](https://togithub.com/vimeo/psalm/pull/9023)
    - fixes return type issues of methods reported for the wrong file by
    [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9025](https://togithub.com/vimeo/psalm/pull/9025)
    - Non empty reconciliation by
    [@&#8203;orklah](https://togithub.com/orklah) in
    [https://github.com/vimeo/psalm/pull/9021](https://togithub.com/vimeo/psalm/pull/9021)
    - fix [@&#8203;psalm-scope-this](https://togithub.com/psalm-scope-this)
    not working with FQCN with leading backslash by
    [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9030](https://togithub.com/vimeo/psalm/pull/9030)
    - Fix iterator and exception callmaps by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9035](https://togithub.com/vimeo/psalm/pull/9035)
    - fix DateTime::modify() and DateTimeImmutable::modify() return types by
    [@&#8203;pilif](https://togithub.com/pilif) in
    [https://github.com/vimeo/psalm/pull/9043](https://togithub.com/vimeo/psalm/pull/9043)
    - Fix `ReflectionClass::getModifiers()` stub by
    [@&#8203;kukulich](https://togithub.com/kukulich) in
    [https://github.com/vimeo/psalm/pull/9047](https://togithub.com/vimeo/psalm/pull/9047)
    - Fix `ReflectionClass::getReflectionConstants()` stub by
    [@&#8203;kukulich](https://togithub.com/kukulich) in
    [https://github.com/vimeo/psalm/pull/9048](https://togithub.com/vimeo/psalm/pull/9048)
    - Fix `ReflectionClass::getTraitAliases()` stub by
    [@&#8203;kukulich](https://togithub.com/kukulich) in
    [https://github.com/vimeo/psalm/pull/9046](https://togithub.com/vimeo/psalm/pull/9046)
    - Fix `ReflectionFunctionAbstract::getExtensionName()` stub by
    [@&#8203;kukulich](https://togithub.com/kukulich) in
    [https://github.com/vimeo/psalm/pull/9053](https://togithub.com/vimeo/psalm/pull/9053)
    - Fix `ReflectionMethod::getModifiers()` stub by
    [@&#8203;kukulich](https://togithub.com/kukulich) in
    [https://github.com/vimeo/psalm/pull/9052](https://togithub.com/vimeo/psalm/pull/9052)
    - Fix `ReflectionClass::getTraitNames()` stub by
    [@&#8203;kukulich](https://togithub.com/kukulich) in
    [https://github.com/vimeo/psalm/pull/9051](https://togithub.com/vimeo/psalm/pull/9051)
    - Fix `ReflectionClass` stub by
    [@&#8203;kukulich](https://togithub.com/kukulich) in
    [https://github.com/vimeo/psalm/pull/9055](https://togithub.com/vimeo/psalm/pull/9055)
    - fix autoloader not working with absolute path by
    [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9044](https://togithub.com/vimeo/psalm/pull/9044)
    - Narrow down the return type of DOMXPath::query() by
    [@&#8203;MidnightDesign](https://togithub.com/MidnightDesign) in
    [https://github.com/vimeo/psalm/pull/9072](https://togithub.com/vimeo/psalm/pull/9072)
    - fix `I::cases()` where `interface I extends BackedEnum` by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9067](https://togithub.com/vimeo/psalm/pull/9067)
    - fix implicit return type by
    [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9026](https://togithub.com/vimeo/psalm/pull/9026)
    - Update Call Maps and Signature for get_headers by
    [@&#8203;therealryanbonham](https://togithub.com/therealryanbonham) in
    [https://github.com/vimeo/psalm/pull/9073](https://togithub.com/vimeo/psalm/pull/9073)
    - dont report MissingFile error when file_exists is validated beforehand
    by [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
    [https://github.com/vimeo/psalm/pull/9012](https://togithub.com/vimeo/psalm/pull/9012)
    - Handle template type on promoted property by
    [@&#8203;vincent4vx](https://togithub.com/vincent4vx) in
    [https://github.com/vimeo/psalm/pull/9092](https://togithub.com/vimeo/psalm/pull/9092)
    - Additional test and fix when comparing nested templates by
    [@&#8203;emmanuelGuiton](https://togithub.com/emmanuelGuiton) in
    [https://github.com/vimeo/psalm/pull/9095](https://togithub.com/vimeo/psalm/pull/9095)
    - Automatically load stubs for random ext on PHP 8.2 by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9099](https://togithub.com/vimeo/psalm/pull/9099)
    - Add missing `int-range` aliases into the list of psalm reserved words
    by [@&#8203;eopnetto](https://togithub.com/eopnetto) in
    [https://github.com/vimeo/psalm/pull/9107](https://togithub.com/vimeo/psalm/pull/9107)
    - Clean up more callmap return types by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9113](https://togithub.com/vimeo/psalm/pull/9113)
    - Infer getDefaultValueConstantName() type when isDefaultValueConstant()
    is true by [@&#8203;BenMorel](https://togithub.com/BenMorel) in
    [https://github.com/vimeo/psalm/pull/9115](https://togithub.com/vimeo/psalm/pull/9115)
    - Fix libxml_get_errors() return type by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/9118](https://togithub.com/vimeo/psalm/pull/9118)
    - Fix remaining ignored CallMap return types that can be updated by
    [@&#8203;othercorey](https://togithub.com/othercorey) in
    [https://github.com/vimeo/psalm/pull/9122](https://togithub.com/vimeo/psalm/pull/9122)
    - Fix dom_import_simplexml() by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/9139](https://togithub.com/vimeo/psalm/pull/9139)
    - Fix ReflectionClass::newInstanceArgs() with named parameters by
    [@&#8203;BenMorel](https://togithub.com/BenMorel) in
    [https://github.com/vimeo/psalm/pull/9085](https://togithub.com/vimeo/psalm/pull/9085)
    - Fix shepherd for default domain by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9136](https://togithub.com/vimeo/psalm/pull/9136)
    - Suppress warnings when `--no-output` is specified by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9162](https://togithub.com/vimeo/psalm/pull/9162)
    
    ##### Docs
    
    - restrictReturnTypes configuration documentation by
    [@&#8203;jack-worman](https://togithub.com/jack-worman) in
    [https://github.com/vimeo/psalm/pull/9000](https://togithub.com/vimeo/psalm/pull/9000)
    - Update ForbiddenCode.md by
    [@&#8203;maniaba](https://togithub.com/maniaba) in
    [https://github.com/vimeo/psalm/pull/9105](https://togithub.com/vimeo/psalm/pull/9105)
    - Add information on pure-callables to documentation by
    [@&#8203;bitwise-operators](https://togithub.com/bitwise-operators) in
    [https://github.com/vimeo/psalm/pull/9141](https://togithub.com/vimeo/psalm/pull/9141)
    
    ##### Internal changes
    
    - Update BCC by [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/8966](https://togithub.com/vimeo/psalm/pull/8966)
    - Drop symfony/polyfill-php80 dependency by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/8988](https://togithub.com/vimeo/psalm/pull/8988)
    - Fix PHPCS trailing comma by
    [@&#8203;theodorejb](https://togithub.com/theodorejb) in
    [https://github.com/vimeo/psalm/pull/9014](https://togithub.com/vimeo/psalm/pull/9014)
    - Misc fixes by [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/9031](https://togithub.com/vimeo/psalm/pull/9031)
    - Fix remaining markdown issues by
    [@&#8203;danog](https://togithub.com/danog) in
    [https://github.com/vimeo/psalm/pull/9033](https://togithub.com/vimeo/psalm/pull/9033)
    - Bump mheap/github-action-required-labels from 2 to 3 by
    [@&#8203;dependabot](https://togithub.com/dependabot) in
    [https://github.com/vimeo/psalm/pull/9039](https://togithub.com/vimeo/psalm/pull/9039)
    - Internal: use more specific types by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9063](https://togithub.com/vimeo/psalm/pull/9063)
    - Make it more clear what do we test from Psalm output by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9061](https://togithub.com/vimeo/psalm/pull/9061)
    - Internal cleanup: Unify syntax for redis.phpstub by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9088](https://togithub.com/vimeo/psalm/pull/9088)
    - Cleanup unsupported extensions message by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9089](https://togithub.com/vimeo/psalm/pull/9089)
    - Allow sebastian/diff 5 by
    [@&#8203;Jean85](https://togithub.com/Jean85) in
    [https://github.com/vimeo/psalm/pull/9117](https://togithub.com/vimeo/psalm/pull/9117)
    - Enhance error output for shepherd by
    [@&#8203;lptn](https://togithub.com/lptn) in
    [https://github.com/vimeo/psalm/pull/9134](https://togithub.com/vimeo/psalm/pull/9134)
    - Indent docblocks in DocComment test by
    [@&#8203;weirdan](https://togithub.com/weirdan) in
    [https://github.com/vimeo/psalm/pull/9156](https://togithub.com/vimeo/psalm/pull/9156)
    
    #### New Contributors
    
    - [@&#8203;michnovka](https://togithub.com/michnovka) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/8976](https://togithub.com/vimeo/psalm/pull/8976)
    - [@&#8203;emmanuelGuiton](https://togithub.com/emmanuelGuiton) made
    their first contribution in
    [https://github.com/vimeo/psalm/pull/8792](https://togithub.com/vimeo/psalm/pull/8792)
    - [@&#8203;mathe42](https://togithub.com/mathe42) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9011](https://togithub.com/vimeo/psalm/pull/9011)
    - [@&#8203;kukulich](https://togithub.com/kukulich) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9047](https://togithub.com/vimeo/psalm/pull/9047)
    - [@&#8203;therealryanbonham](https://togithub.com/therealryanbonham)
    made their first contribution in
    [https://github.com/vimeo/psalm/pull/9073](https://togithub.com/vimeo/psalm/pull/9073)
    - [@&#8203;maniaba](https://togithub.com/maniaba) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9105](https://togithub.com/vimeo/psalm/pull/9105)
    - [@&#8203;eopnetto](https://togithub.com/eopnetto) made their first
    contribution in
    [https://github.com/vimeo/psalm/pull/9107](https://togithub.com/vimeo/psalm/pull/9107)
    
    **Full Changelog**: vimeo/psalm@5.4.0...5.5.0
    
    </details>
    
    ---
    
    ### 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.
    
    ---
    
    - [ ] <!-- 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://app.renovatebot.com/dashboard#github/open-feature/php-sdk).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDguNCIsInVwZGF0ZWRJblZlciI6IjM0LjE1OS4yIn0=-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 11, 2023
    Configuration menu
    Copy the full SHA
    800119f View commit details
    Browse the repository at this point in the history
  4. chore: remove deprecated --no-suggest composer flag (#89)

    ## This PR
    
    - remove deprecated flag usage from composer commands
    
    Signed-off-by: Tom Carrio <tom@carrio.dev>
    tcarrio authored Mar 11, 2023
    Configuration menu
    Copy the full SHA
    2adecfb View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2023

  1. Configuration menu
    Copy the full SHA
    a03e6b6 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2023

  1. chore: update psr/log (#74)

    ## This PR
    - updates the `psr/log` version requirements
    
    ### Notes
    Some projects require other versions of `psr/log` than `1.*`
    
    Example:
    On a fresh Laravel 9 project, running `composer require
    open-feature/sdk` yields the following error:
    ```
    Info from https://repo.packagist.org: #StandWithUkraine
    ./composer.json has been updated
    Running composer update open-feature/sdk
    Loading composer repositories with package information
    Updating dependencies
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Root composer.json requires open-feature/sdk * -> satisfiable by open-feature/sdk[0.0.2, ..., 0.1.1, 1.0.0, ..., 1.3.1].
        - open-feature/sdk[0.0.2, ..., 0.1.1, 1.0.0, ..., 1.3.1] require psr/log ^1.1 -> found psr/log[1.1.0, ..., 1.1.4] but the package is fixed to 3.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    
    Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
    You can also try re-running composer require with an explicit version constraint, e.g. "composer require open-feature/sdk:*" to figure out if any version is installable, or "composer require open-feature/sdk:^2.1" if you know which you need.
    
    Installation failed, reverting ./composer.json and ./composer.lock to their original content.
    ```
    
    ---------
    
    Signed-off-by: Jacem Chaieb <jacem@chaieb.me>
    Signed-off-by: Tom Carrio <tom@carrio.dev>
    Co-authored-by: Tom Carrio <tom@carrio.dev>
    kidager and tcarrio authored May 16, 2023
    Configuration menu
    Copy the full SHA
    f8a67c7 View commit details
    Browse the repository at this point in the history
  2. chore(main): release 2.0.1 (#84)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [2.0.1](2.0.0...2.0.1)
    (2023-05-16)
    
    
    ### Miscellaneous Chores
    
    * **deps:** update dependency php to v8.2.3
    ([#73](#73))
    ([27d1bbc](27d1bbc))
    * **deps:** update dependency phpstan/phpstan to ~1.10.0
    ([#87](#87))
    ([f59da40](f59da40))
    * **deps:** update dependency vimeo/psalm to ~5.8.0
    ([#72](#72))
    ([800119f](800119f))
    * remove deprecated --no-suggest composer flag
    ([#89](#89))
    ([2adecfb](2adecfb))
    * update psr/log
    ([#74](#74))
    ([f8a67c7](f8a67c7))
    
    ---
    This PR was generated with [Release
    Please](https://github.com/googleapis/release-please). See
    [documentation](https://github.com/googleapis/release-please#release-please).
    
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    github-actions[bot] authored May 16, 2023
    Configuration menu
    Copy the full SHA
    4130e65 View commit details
    Browse the repository at this point in the history
Loading