Skip to content

Fixed psalm self test#9990

Merged
orklah merged 2 commits intovimeo:masterfrom
ygottschalk:fix/9989-psalm-self-test
Jul 3, 2023
Merged

Fixed psalm self test#9990
orklah merged 2 commits intovimeo:masterfrom
ygottschalk:fix/9989-psalm-self-test

Conversation

@ygottschalk
Copy link
Copy Markdown
Contributor

fixes #9989

@ygottschalk ygottschalk force-pushed the fix/9989-psalm-self-test branch from 08e087f to 42b3736 Compare July 3, 2023 08:28
@ygottschalk
Copy link
Copy Markdown
Contributor Author

Failing shepherd unrelated. Not sure why windows unit test timed out. IMO ready to merge

@ygottschalk ygottschalk marked this pull request as ready for review July 3, 2023 09:02
Copy link
Copy Markdown
Contributor

@ro0NL ro0NL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-.-

@orklah
Copy link
Copy Markdown
Collaborator

orklah commented Jul 3, 2023

yeah, test on windows fails sometimes, not a big issue

Sorry I didn't see that error among the rest

Thanks!

@orklah orklah added the release:internal The PR will be included in 'Internal changes' section of the release notes label Jul 3, 2023
@orklah orklah merged commit bc46938 into vimeo:master Jul 3, 2023
@ygottschalk ygottschalk deleted the fix/9989-psalm-self-test branch August 5, 2023 12:56
oguzhand95 referenced this pull request in cerbos/cerbos-sdk-php Aug 7, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[google/common-protos](https://togithub.com/googleapis/common-protos-php)
| require | minor | `4.1.0` -> `4.2.0` |
| [phpstan/phpstan](https://togithub.com/phpstan/phpstan) | require-dev
| patch | `1.10.26` -> `1.10.27` |
| [phpunit/phpunit](https://phpunit.de/)
([source](https://togithub.com/sebastianbergmann/phpunit)) | require-dev
| minor | `10.2.6` -> `10.3.1` |
| [vimeo/psalm](https://togithub.com/vimeo/psalm) | require-dev | minor
| `5.13.1` -> `5.14.1` |

---

### Release Notes

<details>
<summary>googleapis/common-protos-php (google/common-protos)</summary>

###
[`v4.2.0`](https://togithub.com/googleapis/common-protos-php/blob/HEAD/CHANGELOG.md#420-2023-07-25)

[Compare
Source](https://togithub.com/googleapis/common-protos-php/compare/v4.1.0...v4.2.0)

##### Features

- Add a proto message to describe the `resource_type` and
`resource_permission` for an API method
([#&#8203;64](https://togithub.com/googleapis/common-protos-php/issues/64))
([8a0ff5f](https://togithub.com/googleapis/common-protos-php/commit/8a0ff5f9ffcf3683fc4718e85e97f45a001a1925))

</details>

<details>
<summary>phpstan/phpstan (phpstan/phpstan)</summary>

###
[`v1.10.27`](https://togithub.com/phpstan/phpstan/releases/tag/1.10.27)

[Compare
Source](https://togithub.com/phpstan/phpstan/compare/1.10.26...1.10.27)

# Bleeding edge 🔪

- More precise `stream_socket_client()` signature
([#&#8203;2519](https://togithub.com/phpstan/phpstan-src/pull/2519)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- More precise `scandir()` signature
([#&#8203;2518](https://togithub.com/phpstan/phpstan-src/pull/2518)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- More precise `extract()` signature
([#&#8203;2517](https://togithub.com/phpstan/phpstan-src/pull/2517)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!

*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 🔧

- Report trait access to unititialized property in the trait instead of
class
([#&#8203;2531](https://togithub.com/phpstan/phpstan-src/pull/2531)),
thanks [@&#8203;schlndh](https://togithub.com/schlndh)!
- Type projections, part 2: enforce elementary rules
([#&#8203;2481](https://togithub.com/phpstan/phpstan-src/pull/2481)),
thanks [@&#8203;jiripudil](https://togithub.com/jiripudil)!
- Unify ignoring lines in traits with parser tokens
(phpstan/phpstan-src@01294d8),
[#&#8203;6175](https://togithub.com/phpstan/phpstan/issues/6175)

# Bugfixes 🐛

- Fix json method exception
([#&#8203;2524](https://togithub.com/phpstan/phpstan-src/pull/2524)),
[#&#8203;9568](https://togithub.com/phpstan/phpstan/issues/9568), thanks
[@&#8203;VincentLanglet](https://togithub.com/VincentLanglet)!
- Support of printf with dynamic width
([#&#8203;2543](https://togithub.com/phpstan/phpstan-src/pull/2543)),
[#&#8203;9674](https://togithub.com/phpstan/phpstan/issues/9674), thanks
[@&#8203;kukulich](https://togithub.com/kukulich)!
- Support of printf with dynamic precision (and improved support of
dynamic width)
([#&#8203;2544](https://togithub.com/phpstan/phpstan-src/pull/2544)),
[#&#8203;9677](https://togithub.com/phpstan/phpstan/issues/9677), thanks
[@&#8203;kukulich](https://togithub.com/kukulich)!
- Fix types for conditional parameters after checks
([#&#8203;2548](https://togithub.com/phpstan/phpstan-src/pull/2548)),
[#&#8203;7915](https://togithub.com/phpstan/phpstan/issues/7915), thanks
[@&#8203;rvanvelzen](https://togithub.com/rvanvelzen)!
- Prevent `Call to end() on null`
(phpstan/phpstan-src@a5e5719),
[#&#8203;9722](https://togithub.com/phpstan/phpstan/issues/9722)
- Fix internal error in SimpleXMLElementConstructorThrowTypeExtension
([#&#8203;2561](https://togithub.com/phpstan/phpstan-src/pull/2561)),
[#&#8203;9716](https://togithub.com/phpstan/phpstan/issues/9716), thanks
[@&#8203;staabm](https://togithub.com/staabm)!
- Method extensions class name is case-insensitive
([#&#8203;2562](https://togithub.com/phpstan/phpstan-src/pull/2562)),
[#&#8203;9716](https://togithub.com/phpstan/phpstan/issues/9716), thanks
[@&#8203;staabm](https://togithub.com/staabm)!
- InArrayFunctionTypeSpecifyingExtension - fix calls with less than 2
parameters
(phpstan/phpstan-src@4d77e98),
[#&#8203;9711](https://togithub.com/phpstan/phpstan/issues/9711)

# Function signature fixes 🤖

- `uopz_flags` - flags are optional
(phpstan/phpstan-src@917750e),
[#&#8203;9611](https://togithub.com/phpstan/phpstan/issues/9611)
- Add `base64_decode` overloads to PHP 8+
([#&#8203;2529](https://togithub.com/phpstan/phpstan-src/pull/2529)),
[#&#8203;9428](https://togithub.com/phpstan/phpstan/issues/9428), thanks
[@&#8203;dktapps](https://togithub.com/dktapps)!
- Mark few Ds methods as impure
([#&#8203;2550](https://togithub.com/phpstan/phpstan-src/pull/2550)),
thanks [@&#8203;simPod](https://togithub.com/simPod)!

# Internals 🔍

- Avoid doing work before its necessary in mutating scope.
([#&#8203;2537](https://togithub.com/phpstan/phpstan-src/pull/2537)),
thanks [@&#8203;mad-briller](https://togithub.com/mad-briller)!
- Changed `linesToIgnore` attribute format
(phpstan/phpstan-src@2862a7b)
- Prevent unnecessary work in MutatingScope
([#&#8203;2554](https://togithub.com/phpstan/phpstan-src/pull/2554)),
thanks [@&#8203;staabm](https://togithub.com/staabm)!
- Validate parameters with parametersSchema each time after container
creation
([#&#8203;2558](https://togithub.com/phpstan/phpstan-src/pull/2558))

</details>

<details>
<summary>sebastianbergmann/phpunit (phpunit/phpunit)</summary>

###
[`v10.3.1`](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.0...10.3.1)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.3.0...10.3.1)

###
[`v10.3.0`](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.7...10.3.0)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.7...10.3.0)

###
[`v10.2.7`](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.6...10.2.7)

[Compare
Source](https://togithub.com/sebastianbergmann/phpunit/compare/10.2.6...10.2.7)

</details>

<details>
<summary>vimeo/psalm (vimeo/psalm)</summary>

### [`v5.14.1`](https://togithub.com/vimeo/psalm/releases/tag/5.14.1)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.14.0...5.14.1)

<!-- Release notes generated using configuration in .github/release.yml
at 5.x -->

#### What's Changed

##### Fixes

- Allow method-like strings in `referencedFunction` by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10071](https://togithub.com/vimeo/psalm/pull/10071)

**Full Changelog**:
vimeo/psalm@5.14.0...5.14.1

### [`v5.14.0`](https://togithub.com/vimeo/psalm/releases/tag/5.14.0)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.13.1...5.14.0)

<!-- Release notes generated using configuration in .github/release.yml
at 5.x -->

#### What's Changed

##### Features

- Infer output format from GITHUB_ACTIONS env by
[@&#8203;ro0NL](https://togithub.com/ro0NL) in
[https://github.com/vimeo/psalm/pull/9982](https://togithub.com/vimeo/psalm/pull/9982)
- fix mixed replace return types for arrays by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9981](https://togithub.com/vimeo/psalm/pull/9981)
- make stubbed constant types configurable with comment by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9992](https://togithub.com/vimeo/psalm/pull/9992)
- Allow space before array shape opening brace and added unit tests by
[@&#8203;rhertogh](https://togithub.com/rhertogh) in
[https://github.com/vimeo/psalm/pull/10000](https://togithub.com/vimeo/psalm/pull/10000)
- Add generic stubs for MongoDB BSON classes by
[@&#8203;alcaeus](https://togithub.com/alcaeus) in
[https://github.com/vimeo/psalm/pull/10016](https://togithub.com/vimeo/psalm/pull/10016)
- Allow comments in types (e.g. in array shapes) by
[@&#8203;rhertogh](https://togithub.com/rhertogh) in
[https://github.com/vimeo/psalm/pull/10004](https://togithub.com/vimeo/psalm/pull/10004)
- [#&#8203;10030](https://togithub.com/vimeo/psalm/issues/10030) Fix
missing TaintedSql by [@&#8203;cgocast](https://togithub.com/cgocast) in
[https://github.com/vimeo/psalm/pull/10032](https://togithub.com/vimeo/psalm/pull/10032)
- Automatic LSP container path mapping by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10033](https://togithub.com/vimeo/psalm/pull/10033)
- added GitHub CI for unit tests with PHP 8.2 and 8.3 by
[@&#8203;thbley](https://togithub.com/thbley) in
[https://github.com/vimeo/psalm/pull/10028](https://togithub.com/vimeo/psalm/pull/10028)
- Modernize LSP progress reporting by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10050](https://togithub.com/vimeo/psalm/pull/10050)
- Add type detection for PDOStatement::fetchAll(PDO::FETCH_CLASS,
SomeClass::class) by [@&#8203;thbley](https://togithub.com/thbley) in
[https://github.com/vimeo/psalm/pull/10055](https://togithub.com/vimeo/psalm/pull/10055)

##### Fixes

- Fix sprintf single arg splat array by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9975](https://togithub.com/vimeo/psalm/pull/9975)
- Fixed exhuming enums as enums, not as classes by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9988](https://togithub.com/vimeo/psalm/pull/9988)
- Missing composer lock should not invalidate cache created with missing
composer lock by [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9970](https://togithub.com/vimeo/psalm/pull/9970)
- no error for printf with only 1 arg by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9993](https://togithub.com/vimeo/psalm/pull/9993)
- Fix "days" falsable return not ignored consistently by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9998](https://togithub.com/vimeo/psalm/pull/9998)
- offsetExists/Get/Set/Unset types were too generic by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9999](https://togithub.com/vimeo/psalm/pull/9999)
- Fix inference high order function when closure param is omitted by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/10014](https://togithub.com/vimeo/psalm/pull/10014)
- Fix incorrect positions set in code action edits by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10034](https://togithub.com/vimeo/psalm/pull/10034)
- Always report UnusedBaseline issues by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/10012](https://togithub.com/vimeo/psalm/pull/10012)
- Fix scanning of intersection types by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/10043](https://togithub.com/vimeo/psalm/pull/10043)
- Fix combination of non-falsy-string and falsy literal by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/10039](https://togithub.com/vimeo/psalm/pull/10039)
- Fix variadic callable type check by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/10066](https://togithub.com/vimeo/psalm/pull/10066)

##### Internal changes

- Fixed psalm self test by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9990](https://togithub.com/vimeo/psalm/pull/9990)
- Fix/phpparser deprecation name parts by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9964](https://togithub.com/vimeo/psalm/pull/9964)
- Simplify conditions with deep object access by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10037](https://togithub.com/vimeo/psalm/pull/10037)
- Map special RPC paths by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10046](https://togithub.com/vimeo/psalm/pull/10046)

#### New Contributors

- [@&#8203;rhertogh](https://togithub.com/rhertogh) made their first
contribution in
[https://github.com/vimeo/psalm/pull/10000](https://togithub.com/vimeo/psalm/pull/10000)
- [@&#8203;cgocast](https://togithub.com/cgocast) made their first
contribution in
[https://github.com/vimeo/psalm/pull/10032](https://togithub.com/vimeo/psalm/pull/10032)

**Full Changelog**:
vimeo/psalm@5.13.1...5.14.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://togithub.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:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNC4yIiwidXBkYXRlZEluVmVyIjoiMzYuMjcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Oğuzhan Durgun <oguzhandurgun95@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tcarrio referenced this pull request in open-feature/php-sdk Aug 16, 2023
[![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.8.0` -> `~5.14.0` |

---

### Release Notes

<details>
<summary>vimeo/psalm (vimeo/psalm)</summary>

### [`v5.14.0`](https://togithub.com/vimeo/psalm/releases/tag/5.14.0)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.13.1...5.14.0)

<!-- Release notes generated using configuration in .github/release.yml
at 5.x -->

#### What's Changed

##### Features

- Infer output format from GITHUB_ACTIONS env by
[@&#8203;ro0NL](https://togithub.com/ro0NL) in
[https://github.com/vimeo/psalm/pull/9982](https://togithub.com/vimeo/psalm/pull/9982)
- fix mixed replace return types for arrays by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9981](https://togithub.com/vimeo/psalm/pull/9981)
- make stubbed constant types configurable with comment by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9992](https://togithub.com/vimeo/psalm/pull/9992)
- Allow space before array shape opening brace and added unit tests by
[@&#8203;rhertogh](https://togithub.com/rhertogh) in
[https://github.com/vimeo/psalm/pull/10000](https://togithub.com/vimeo/psalm/pull/10000)
- Add generic stubs for MongoDB BSON classes by
[@&#8203;alcaeus](https://togithub.com/alcaeus) in
[https://github.com/vimeo/psalm/pull/10016](https://togithub.com/vimeo/psalm/pull/10016)
- Allow comments in types (e.g. in array shapes) by
[@&#8203;rhertogh](https://togithub.com/rhertogh) in
[https://github.com/vimeo/psalm/pull/10004](https://togithub.com/vimeo/psalm/pull/10004)
- [#&#8203;10030](https://togithub.com/vimeo/psalm/issues/10030) Fix
missing TaintedSql by [@&#8203;cgocast](https://togithub.com/cgocast) in
[https://github.com/vimeo/psalm/pull/10032](https://togithub.com/vimeo/psalm/pull/10032)
- Automatic LSP container path mapping by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10033](https://togithub.com/vimeo/psalm/pull/10033)
- added GitHub CI for unit tests with PHP 8.2 and 8.3 by
[@&#8203;thbley](https://togithub.com/thbley) in
[https://github.com/vimeo/psalm/pull/10028](https://togithub.com/vimeo/psalm/pull/10028)
- Modernize LSP progress reporting by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10050](https://togithub.com/vimeo/psalm/pull/10050)
- Add type detection for PDOStatement::fetchAll(PDO::FETCH_CLASS,
SomeClass::class) by [@&#8203;thbley](https://togithub.com/thbley) in
[https://github.com/vimeo/psalm/pull/10055](https://togithub.com/vimeo/psalm/pull/10055)

##### Fixes

- Fix sprintf single arg splat array by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9975](https://togithub.com/vimeo/psalm/pull/9975)
- Fixed exhuming enums as enums, not as classes by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9988](https://togithub.com/vimeo/psalm/pull/9988)
- Missing composer lock should not invalidate cache created with missing
composer lock by [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9970](https://togithub.com/vimeo/psalm/pull/9970)
- no error for printf with only 1 arg by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9993](https://togithub.com/vimeo/psalm/pull/9993)
- Fix "days" falsable return not ignored consistently by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9998](https://togithub.com/vimeo/psalm/pull/9998)
- offsetExists/Get/Set/Unset types were too generic by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9999](https://togithub.com/vimeo/psalm/pull/9999)
- Fix inference high order function when closure param is omitted by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/10014](https://togithub.com/vimeo/psalm/pull/10014)
- Fix incorrect positions set in code action edits by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10034](https://togithub.com/vimeo/psalm/pull/10034)
- Always report UnusedBaseline issues by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/10012](https://togithub.com/vimeo/psalm/pull/10012)
- Fix scanning of intersection types by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/10043](https://togithub.com/vimeo/psalm/pull/10043)
- Fix combination of non-falsy-string and falsy literal by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/10039](https://togithub.com/vimeo/psalm/pull/10039)
- Fix variadic callable type check by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/10066](https://togithub.com/vimeo/psalm/pull/10066)

##### Internal changes

- Fixed psalm self test by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9990](https://togithub.com/vimeo/psalm/pull/9990)
- Fix/phpparser deprecation name parts by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9964](https://togithub.com/vimeo/psalm/pull/9964)
- Simplify conditions with deep object access by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10037](https://togithub.com/vimeo/psalm/pull/10037)
- Map special RPC paths by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/10046](https://togithub.com/vimeo/psalm/pull/10046)

#### New Contributors

- [@&#8203;rhertogh](https://togithub.com/rhertogh) made their first
contribution in
[https://github.com/vimeo/psalm/pull/10000](https://togithub.com/vimeo/psalm/pull/10000)
- [@&#8203;cgocast](https://togithub.com/cgocast) made their first
contribution in
[https://github.com/vimeo/psalm/pull/10032](https://togithub.com/vimeo/psalm/pull/10032)

**Full Changelog**:
vimeo/psalm@5.13.1...5.14.0

### [`v5.13.1`](https://togithub.com/vimeo/psalm/releases/tag/5.13.1)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.13.0...5.13.1)

<!-- Release notes generated using configuration in .github/release.yml
at 5.13.1 -->

#### What's Changed

##### Fixes

- Fix glob CallMap and stub to prevent crash on alpine by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9942](https://togithub.com/vimeo/psalm/pull/9942)

##### Docs

- Fix the link reference in the doc by
[@&#8203;stof](https://togithub.com/stof) in
[https://github.com/vimeo/psalm/pull/9967](https://togithub.com/vimeo/psalm/pull/9967)

**Full Changelog**:
vimeo/psalm@5.13.0...5.13.1

### [`v5.13.0`](https://togithub.com/vimeo/psalm/releases/tag/5.13.0)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.12.0...5.13.0)

<!-- Release notes generated using configuration in .github/release.yml
at master -->

#### What's Changed

##### Features

- Add a support for multilevel glob wildcards by
[@&#8203;2e3s](https://togithub.com/2e3s) in
[https://github.com/vimeo/psalm/pull/9813](https://togithub.com/vimeo/psalm/pull/9813)
- Mapping closed inheritance to union during assertion by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9829](https://togithub.com/vimeo/psalm/pull/9829)
- Use PHPStorm output format by default on JetBrains terminals by
[@&#8203;lptn](https://togithub.com/lptn) in
[https://github.com/vimeo/psalm/pull/9848](https://togithub.com/vimeo/psalm/pull/9848)
- sprintf basic non-empty-string return type provider by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9841](https://togithub.com/vimeo/psalm/pull/9841)
- Extend Shepherd payload by information about package versions by
[@&#8203;lptn](https://togithub.com/lptn) in
[https://github.com/vimeo/psalm/pull/9856](https://togithub.com/vimeo/psalm/pull/9856)
- Allow if/false assert for same variable to allow array/list
distinction by [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9853](https://togithub.com/vimeo/psalm/pull/9853)
- readonly does not have write access, therefore is safe as long as the…
by [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9887](https://togithub.com/vimeo/psalm/pull/9887)
- Sprintf improve return param type validation by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9877](https://togithub.com/vimeo/psalm/pull/9877)
- feat: cache.gz by [@&#8203;dkarlovi](https://togithub.com/dkarlovi) in
[https://github.com/vimeo/psalm/pull/9889](https://togithub.com/vimeo/psalm/pull/9889)
- make compressor configurable v2 by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9924](https://togithub.com/vimeo/psalm/pull/9924)
- Invalidate cached methods when referenced files are deleted by
[@&#8203;tscni](https://togithub.com/tscni) in
[https://github.com/vimeo/psalm/pull/9931](https://togithub.com/vimeo/psalm/pull/9931)
- Invalidate cached methods when referenced class property types change
by [@&#8203;tscni](https://togithub.com/tscni) in
[https://github.com/vimeo/psalm/pull/9955](https://togithub.com/vimeo/psalm/pull/9955)

##### Fixes

- glob: allow empty string for pattern by
[@&#8203;Hanmac](https://togithub.com/Hanmac) in
[https://github.com/vimeo/psalm/pull/9814](https://togithub.com/vimeo/psalm/pull/9814)
- [GH-9825](https://togithub.com/vimeo/psalm/issues/9825) by
[@&#8203;jack-worman](https://togithub.com/jack-worman) in
[https://github.com/vimeo/psalm/pull/9828](https://togithub.com/vimeo/psalm/pull/9828)
- Fix [#&#8203;9824](https://togithub.com/vimeo/psalm/issues/9824) const
enum self reference by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9833](https://togithub.com/vimeo/psalm/pull/9833)
- base64\_decode returns false only in strict mode by
[@&#8203;kamil-tekiela](https://togithub.com/kamil-tekiela) in
[https://github.com/vimeo/psalm/pull/9832](https://togithub.com/vimeo/psalm/pull/9832)
- Dirname return type non empty string by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9837](https://togithub.com/vimeo/psalm/pull/9837)
- uniqid return type non-empty-string inconsistent by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9842](https://togithub.com/vimeo/psalm/pull/9842)
- PropertyNotSetInConstructor should not report for abstract
constructors by [@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9844](https://togithub.com/vimeo/psalm/pull/9844)
- Intersect template types during inheritance check by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9865](https://togithub.com/vimeo/psalm/pull/9865)
- Fix generic type params mapping by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9866](https://togithub.com/vimeo/psalm/pull/9866)
- Better intersection of template types during inheritance check by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9883](https://togithub.com/vimeo/psalm/pull/9883)
- Update the signature of debug_backtrace by
[@&#8203;stof](https://togithub.com/stof) in
[https://github.com/vimeo/psalm/pull/9868](https://togithub.com/vimeo/psalm/pull/9868)
- Glob return type stub by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9878](https://togithub.com/vimeo/psalm/pull/9878)
- Improve the return types for getimagesize and getimagesizefromstring
by [@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9875](https://togithub.com/vimeo/psalm/pull/9875)
- Unmark DateInterval::$invert as read-only by
[@&#8203;morozov](https://togithub.com/morozov) in
[https://github.com/vimeo/psalm/pull/9895](https://togithub.com/vimeo/psalm/pull/9895)
- Sprintf additional validations and bugfix by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9904](https://togithub.com/vimeo/psalm/pull/9904)
- Fixes [#&#8203;9827](https://togithub.com/vimeo/psalm/issues/9827) by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9903](https://togithub.com/vimeo/psalm/pull/9903)
- set type of **LINE** to positive int by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9921](https://togithub.com/vimeo/psalm/pull/9921)
- Add a stub file for Attributes defined by PHP by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9920](https://togithub.com/vimeo/psalm/pull/9920)
- Don't update types of the outer scope when in an elseif conditional by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9922](https://togithub.com/vimeo/psalm/pull/9922)
- Update callmap for ext-mongodb 1.16 by
[@&#8203;alcaeus](https://togithub.com/alcaeus) in
[https://github.com/vimeo/psalm/pull/9933](https://togithub.com/vimeo/psalm/pull/9933)
- Add call map entries for MongoDB functions by
[@&#8203;alcaeus](https://togithub.com/alcaeus) in
[https://github.com/vimeo/psalm/pull/9934](https://togithub.com/vimeo/psalm/pull/9934)
- fix reconciliation between a list and iterable by
[@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9950](https://togithub.com/vimeo/psalm/pull/9950)
- `non-empty-list` assertion for iterable by
[@&#8203;boesing](https://togithub.com/boesing) in
[https://github.com/vimeo/psalm/pull/9953](https://togithub.com/vimeo/psalm/pull/9953)
- fix PHP 7 sprintf too many arguments false positive by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9943](https://togithub.com/vimeo/psalm/pull/9943)

##### Docs

- Document classAndDescendants configuration tag by
[@&#8203;janopae](https://togithub.com/janopae) in
[https://github.com/vimeo/psalm/pull/9867](https://togithub.com/vimeo/psalm/pull/9867)

##### Internal changes

- Introduce and use `IssueData` constants for severity levels by
[@&#8203;lptn](https://togithub.com/lptn) in
[https://github.com/vimeo/psalm/pull/9846](https://togithub.com/vimeo/psalm/pull/9846)
- Shepherd: send a list of issues (instead of array with int keys) by
[@&#8203;lptn](https://togithub.com/lptn) in
[https://github.com/vimeo/psalm/pull/9845](https://togithub.com/vimeo/psalm/pull/9845)
- fix failing mock tests by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9880](https://togithub.com/vimeo/psalm/pull/9880)
- Bump mheap/github-action-required-labels from 4 to 5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/vimeo/psalm/pull/9898](https://togithub.com/vimeo/psalm/pull/9898)
- fix CI warnings for findUnusedCode in psalm 6 by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9915](https://togithub.com/vimeo/psalm/pull/9915)
- docblock parser minor performance gain by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9916](https://togithub.com/vimeo/psalm/pull/9916)
- improve perfs for switch by not creating reverse assertions against
constants by [@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9929](https://togithub.com/vimeo/psalm/pull/9929)
- remove StementsVolatileCache for perf reasons by
[@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9930](https://togithub.com/vimeo/psalm/pull/9930)
- put config to true to prevent deprecations for new config files by
[@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9857](https://togithub.com/vimeo/psalm/pull/9857)
- Make config warn about missing cache related functions by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9935](https://togithub.com/vimeo/psalm/pull/9935)
- Fix/cache fail silent by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9932](https://togithub.com/vimeo/psalm/pull/9932)

##### Typos

- Fixed typo in ConstantTest by
[@&#8203;staabm](https://togithub.com/staabm) in
[https://github.com/vimeo/psalm/pull/9835](https://togithub.com/vimeo/psalm/pull/9835)

#### New Contributors

- [@&#8203;Hanmac](https://togithub.com/Hanmac) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9814](https://togithub.com/vimeo/psalm/pull/9814)
- [@&#8203;stof](https://togithub.com/stof) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9868](https://togithub.com/vimeo/psalm/pull/9868)

**Full Changelog**:
vimeo/psalm@5.12.0...5.13.0

### [`v5.12.0`](https://togithub.com/vimeo/psalm/releases/tag/5.12.0)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.11.0...5.12.0)

<!-- Release notes generated using configuration in .github/release.yml
at master -->

#### What's Changed

##### Features

- WIP - Limit inheritance to a subset of classes
[#&#8203;1450](https://togithub.com/vimeo/psalm/issues/1450) by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9687](https://togithub.com/vimeo/psalm/pull/9687)
- UnsupportedPropertyReferenceUsage by
[@&#8203;jack-worman](https://togithub.com/jack-worman) in
[https://github.com/vimeo/psalm/pull/9769](https://togithub.com/vimeo/psalm/pull/9769)
- Improve return types of pow() by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9795](https://togithub.com/vimeo/psalm/pull/9795)
- Narrow the type of $haystack when strpos(...) !== false by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9788](https://togithub.com/vimeo/psalm/pull/9788)
- allow using more than 8G of memory in psalter by
[@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9805](https://togithub.com/vimeo/psalm/pull/9805)

##### Fixes

- Fix missing global class type when scanning cached files by
[@&#8203;tscni](https://togithub.com/tscni) in
[https://github.com/vimeo/psalm/pull/9735](https://togithub.com/vimeo/psalm/pull/9735)
- Fix union argument type check against templated param by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9750](https://togithub.com/vimeo/psalm/pull/9750)
- Allow dynamic properties from PHPDoc by
[@&#8203;fluffycondor](https://togithub.com/fluffycondor) in
[https://github.com/vimeo/psalm/pull/9742](https://togithub.com/vimeo/psalm/pull/9742)
- improve glob stubs by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9752](https://togithub.com/vimeo/psalm/pull/9752)
- Removed return type false from date and gmdate by
[@&#8203;Alkisum](https://togithub.com/Alkisum) in
[https://github.com/vimeo/psalm/pull/9761](https://togithub.com/vimeo/psalm/pull/9761)
- methods and vars cannot be falsy by
[@&#8203;kkmuffme](https://togithub.com/kkmuffme) in
[https://github.com/vimeo/psalm/pull/9796](https://togithub.com/vimeo/psalm/pull/9796)
- fix offset for type param changes by
[@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9803](https://togithub.com/vimeo/psalm/pull/9803)

##### Docs

- Documented suggestions for HTML user input by
[@&#8203;mmcev106](https://togithub.com/mmcev106) in
[https://github.com/vimeo/psalm/pull/9780](https://togithub.com/vimeo/psalm/pull/9780)
- Document array shape unsealing syntax by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9784](https://togithub.com/vimeo/psalm/pull/9784)

##### Internal changes

- Enable opcache if it is installed by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9779](https://togithub.com/vimeo/psalm/pull/9779)

#### New Contributors

- [@&#8203;tscni](https://togithub.com/tscni) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9735](https://togithub.com/vimeo/psalm/pull/9735)
- [@&#8203;Alkisum](https://togithub.com/Alkisum) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9761](https://togithub.com/vimeo/psalm/pull/9761)

**Full Changelog**:
vimeo/psalm@5.11.0...5.12.0

### [`v5.11.0`](https://togithub.com/vimeo/psalm/releases/tag/5.11.0)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.10.0...5.11.0)

<!-- Release notes generated using configuration in .github/release.yml
at master -->

#### What's Changed

##### Fixes

- SplDoublyLinkedList's index is always int by
[@&#8203;kamil-tekiela](https://togithub.com/kamil-tekiela) in
[https://github.com/vimeo/psalm/pull/9736](https://togithub.com/vimeo/psalm/pull/9736)
- Fix string negation to never by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9743](https://togithub.com/vimeo/psalm/pull/9743)
- Fix ParadoxicalCondition with complex match expression by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9739](https://togithub.com/vimeo/psalm/pull/9739)
- Fix invalid cast for templated class-string by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9738](https://togithub.com/vimeo/psalm/pull/9738)
- Fix OverriddenPropertyAccess error message by
[@&#8203;edsrzf](https://togithub.com/edsrzf) in
[https://github.com/vimeo/psalm/pull/9740](https://togithub.com/vimeo/psalm/pull/9740)
- Ignore nullable return form SimpleXMLElement::addChild() by
[@&#8203;greg0ire](https://togithub.com/greg0ire) in
[https://github.com/vimeo/psalm/pull/9745](https://togithub.com/vimeo/psalm/pull/9745)

**Full Changelog**:
vimeo/psalm@5.10.0...5.11.0

### [`v5.10.0`](https://togithub.com/vimeo/psalm/releases/tag/5.10.0)

[Compare
Source](https://togithub.com/vimeo/psalm/compare/5.9.0...5.10.0)

<!-- Release notes generated using configuration in .github/release.yml
at master -->

#### What's Changed

##### Features

- Introduce `value-of` with backed enum cases in assertions by
[@&#8203;boesing](https://togithub.com/boesing) in
[https://github.com/vimeo/psalm/pull/9586](https://togithub.com/vimeo/psalm/pull/9586)
- Introduce callable object intersection by
[@&#8203;boesing](https://togithub.com/boesing) in
[https://github.com/vimeo/psalm/pull/9599](https://togithub.com/vimeo/psalm/pull/9599)
- Contextual inference for const callable by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9623](https://togithub.com/vimeo/psalm/pull/9623)
- Allow to intersect type alias with non-type-aliases by
[@&#8203;boesing](https://togithub.com/boesing) in
[https://github.com/vimeo/psalm/pull/9638](https://togithub.com/vimeo/psalm/pull/9638)
- Provide support for templated `value-of` enum values by
[@&#8203;boesing](https://togithub.com/boesing) in
[https://github.com/vimeo/psalm/pull/9655](https://togithub.com/vimeo/psalm/pull/9655)
- (re-)implement object-shape assertions by
[@&#8203;boesing](https://togithub.com/boesing) in
[https://github.com/vimeo/psalm/pull/9656](https://togithub.com/vimeo/psalm/pull/9656)
- Support anonymous object template replacement by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9664](https://togithub.com/vimeo/psalm/pull/9664)
- Implement unsealed array generic syntax by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9694](https://togithub.com/vimeo/psalm/pull/9694)
- Introduce BeforeExpressionAnalysisEvent by
[@&#8203;tuqqu](https://togithub.com/tuqqu) in
[https://github.com/vimeo/psalm/pull/9725](https://togithub.com/vimeo/psalm/pull/9725)
- Add support for
[@&#8203;psalm-no-seal-properties](https://togithub.com/psalm-no-seal-properties)
and
[@&#8203;psalm-no-seal-methods](https://togithub.com/psalm-no-seal-methods)
by [@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9681](https://togithub.com/vimeo/psalm/pull/9681)

##### Fixes

- Fix remaining intl, reflection. xml and zip callmaps by
[@&#8203;othercorey](https://togithub.com/othercorey) in
[https://github.com/vimeo/psalm/pull/9595](https://togithub.com/vimeo/psalm/pull/9595)
- fix [#&#8203;9049](https://togithub.com/vimeo/psalm/issues/9049) by
[@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9598](https://togithub.com/vimeo/psalm/pull/9598)
- fix coercion detection between two keyed arrays by
[@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9606](https://togithub.com/vimeo/psalm/pull/9606)
- fix: treat includes starting with '.' and '..' correct by
[@&#8203;jjjb03](https://togithub.com/jjjb03) in
[https://github.com/vimeo/psalm/pull/9608](https://togithub.com/vimeo/psalm/pull/9608)
- Allow enabling mixed issues reporting for error levels > 2. by
[@&#8203;ADmad](https://togithub.com/ADmad) in
[https://github.com/vimeo/psalm/pull/9626](https://togithub.com/vimeo/psalm/pull/9626)
- Preserve `non-empty-string` type when combining literal and numeric
strings by [@&#8203;boesing](https://togithub.com/boesing) in
[https://github.com/vimeo/psalm/pull/9630](https://togithub.com/vimeo/psalm/pull/9630)
- Do not report required closure arguments as unused by
[@&#8203;boesing](https://togithub.com/boesing) in
[https://github.com/vimeo/psalm/pull/9629](https://togithub.com/vimeo/psalm/pull/9629)
- Fix various db callmaps by
[@&#8203;othercorey](https://togithub.com/othercorey) in
[https://github.com/vimeo/psalm/pull/9632](https://togithub.com/vimeo/psalm/pull/9632)
- fix: add missing constructor parameter to IteratorIterator by
[@&#8203;SenseException](https://togithub.com/SenseException) in
[https://github.com/vimeo/psalm/pull/9646](https://togithub.com/vimeo/psalm/pull/9646)
- Flatten `match` arm conditions to check conditions independently by
[@&#8203;tuqqu](https://togithub.com/tuqqu) in
[https://github.com/vimeo/psalm/pull/9647](https://togithub.com/vimeo/psalm/pull/9647)
- Fixed non empty arg issue in array_splice function by
[@&#8203;whizsid](https://togithub.com/whizsid) in
[https://github.com/vimeo/psalm/pull/9643](https://togithub.com/vimeo/psalm/pull/9643)
- Fix `array_flip` to preserve non-empty array type by
[@&#8203;tuqqu](https://togithub.com/tuqqu) in
[https://github.com/vimeo/psalm/pull/9651](https://togithub.com/vimeo/psalm/pull/9651)
- Fix list<T> template replacement by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9658](https://togithub.com/vimeo/psalm/pull/9658)
- Fix iterable template replacement by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9660](https://togithub.com/vimeo/psalm/pull/9660)
- Fix/9373 using enum property as const array key by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9393](https://togithub.com/vimeo/psalm/pull/9393)
- Specify array share for `stream_context_get_params` return value by
[@&#8203;lptn](https://togithub.com/lptn) in
[https://github.com/vimeo/psalm/pull/9663](https://togithub.com/vimeo/psalm/pull/9663)
- Fixed crash issue when using multiple literals for array_splice by
[@&#8203;whizsid](https://togithub.com/whizsid) in
[https://github.com/vimeo/psalm/pull/9673](https://togithub.com/vimeo/psalm/pull/9673)
- Fix comparison of unions of multiple callables by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9676](https://togithub.com/vimeo/psalm/pull/9676)
- Add stub for DateInterval by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9682](https://togithub.com/vimeo/psalm/pull/9682)
- Return a non-empty-(lowercase-)string from mb_strtolower by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9678](https://togithub.com/vimeo/psalm/pull/9678)
- Don't throw UnnecesseryVarAnnotation when hinting a mixed template var
by [@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9679](https://togithub.com/vimeo/psalm/pull/9679)
- Fix is_object assertions on final classes by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9686](https://togithub.com/vimeo/psalm/pull/9686)
- Add return type provider for date/gmdate by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9691](https://togithub.com/vimeo/psalm/pull/9691)
- Avoid wrong assertions when working with objects returned by methods
by [@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9685](https://togithub.com/vimeo/psalm/pull/9685)
- Handle included directory paths without crashing by
[@&#8203;edsrzf](https://togithub.com/edsrzf) in
[https://github.com/vimeo/psalm/pull/9701](https://togithub.com/vimeo/psalm/pull/9701)
- Contextual closure arg inference for class methods by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9700](https://togithub.com/vimeo/psalm/pull/9700)
- Fix [#&#8203;9692](https://togithub.com/vimeo/psalm/issues/9692) by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9693](https://togithub.com/vimeo/psalm/pull/9693)
- Allow running new on template objects by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9704](https://togithub.com/vimeo/psalm/pull/9704)
- Fix date return type provider by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9711](https://togithub.com/vimeo/psalm/pull/9711)
- Fix UnevaluatedCode false positive at declare(strict_types=1) by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9719](https://togithub.com/vimeo/psalm/pull/9719)
- Fix ambiguous constant inheritance false positive by
[@&#8203;Jean85](https://togithub.com/Jean85) in
[https://github.com/vimeo/psalm/pull/9720](https://togithub.com/vimeo/psalm/pull/9720)

##### Docs

- Add CLI help for the error-level option by
[@&#8203;dantleech](https://togithub.com/dantleech) in
[https://github.com/vimeo/psalm/pull/9590](https://togithub.com/vimeo/psalm/pull/9590)
- Replace `@template T as X` with `@template T of X` in documentation by
[@&#8203;janopae](https://togithub.com/janopae) in
[https://github.com/vimeo/psalm/pull/9690](https://togithub.com/vimeo/psalm/pull/9690)
- Make it easier to find how to promote Trace by
[@&#8203;greg0ire](https://togithub.com/greg0ire) in
[https://github.com/vimeo/psalm/pull/9717](https://togithub.com/vimeo/psalm/pull/9717)
- Document [@&#8203;mixin](https://togithub.com/mixin) by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9706](https://togithub.com/vimeo/psalm/pull/9706)

##### Internal changes

- Bump mheap/github-action-required-labels from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/vimeo/psalm/pull/9601](https://togithub.com/vimeo/psalm/pull/9601)
- Avoid verbose opcache logging by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9670](https://togithub.com/vimeo/psalm/pull/9670)
- Valid array access on a non-empty-string yields a non-empty-string by
[@&#8203;robchett](https://togithub.com/robchett) in
[https://github.com/vimeo/psalm/pull/9675](https://togithub.com/vimeo/psalm/pull/9675)
- Remove clone leftovers from immutable refactoring by
[@&#8203;danog](https://togithub.com/danog) in
[https://github.com/vimeo/psalm/pull/9709](https://togithub.com/vimeo/psalm/pull/9709)

#### New Contributors

- [@&#8203;dantleech](https://togithub.com/dantleech) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9590](https://togithub.com/vimeo/psalm/pull/9590)
- [@&#8203;jjjb03](https://togithub.com/jjjb03) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9608](https://togithub.com/vimeo/psalm/pull/9608)
- [@&#8203;SenseException](https://togithub.com/SenseException) made
their first contribution in
[https://github.com/vimeo/psalm/pull/9646](https://togithub.com/vimeo/psalm/pull/9646)
- [@&#8203;tuqqu](https://togithub.com/tuqqu) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9647](https://togithub.com/vimeo/psalm/pull/9647)
- [@&#8203;whizsid](https://togithub.com/whizsid) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9643](https://togithub.com/vimeo/psalm/pull/9643)
- [@&#8203;janopae](https://togithub.com/janopae) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9690](https://togithub.com/vimeo/psalm/pull/9690)

**Full Changelog**:
vimeo/psalm@5.9.0...5.10.0

### [`v5.9.0`](https://togithub.com/vimeo/psalm/releases/tag/5.9.0)

[Compare Source](https://togithub.com/vimeo/psalm/compare/5.8.0...5.9.0)

<!-- Release notes generated using configuration in .github/release.yml
at master -->

#### What's Changed

##### Features

- `json_encode()` returns a non-empty-string with `JSON_THROW_ON_ERROR |
JSON_UNESCAPED_UNICODE` by
[@&#8203;fluffycondor](https://togithub.com/fluffycondor) in
[https://github.com/vimeo/psalm/pull/9479](https://togithub.com/vimeo/psalm/pull/9479)
- WIP: Performance/Feature Improvements to the Language Server by
[@&#8203;tm1000](https://togithub.com/tm1000) in
[https://github.com/vimeo/psalm/pull/8960](https://togithub.com/vimeo/psalm/pull/8960)
- Support int separators in docblocks by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9491](https://togithub.com/vimeo/psalm/pull/9491)
- [@&#8203;property](https://togithub.com/property) annotations: allow
*not* implying
[@&#8203;psalm-seal-properties](https://togithub.com/psalm-seal-properties)
by [@&#8203;danielbeardsley](https://togithub.com/danielbeardsley) in
[https://github.com/vimeo/psalm/pull/9568](https://togithub.com/vimeo/psalm/pull/9568)
- Improve PHP8 str_\* function signatures by
[@&#8203;fluffycondor](https://togithub.com/fluffycondor) in
[https://github.com/vimeo/psalm/pull/9534](https://togithub.com/vimeo/psalm/pull/9534)
- Contextual inference for first-class-callable by
[@&#8203;klimick](https://togithub.com/klimick) in
[https://github.com/vimeo/psalm/pull/9570](https://togithub.com/vimeo/psalm/pull/9570)

##### Fixes

- Compare list generic params by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9487](https://togithub.com/vimeo/psalm/pull/9487)
- Add `truthy-string` to reserved word list. by
[@&#8203;ZebulanStanphill](https://togithub.com/ZebulanStanphill) in
[https://github.com/vimeo/psalm/pull/9486](https://togithub.com/vimeo/psalm/pull/9486)
- Fix [#&#8203;9433](https://togithub.com/vimeo/psalm/issues/9433) by
[@&#8203;ptomulik](https://togithub.com/ptomulik) in
[https://github.com/vimeo/psalm/pull/9439](https://togithub.com/vimeo/psalm/pull/9439)
- Add missing array, float, int and bool types to callmaps by
[@&#8203;othercorey](https://togithub.com/othercorey) in
[https://github.com/vimeo/psalm/pull/9474](https://togithub.com/vimeo/psalm/pull/9474)
- Fix asserted property mangling by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9507](https://togithub.com/vimeo/psalm/pull/9507)
- Fix return type of str_split() by
[@&#8203;othercorey](https://togithub.com/othercorey) in
[https://github.com/vimeo/psalm/pull/9504](https://togithub.com/vimeo/psalm/pull/9504)
- Fix integer overflow in array keys by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9499](https://togithub.com/vimeo/psalm/pull/9499)
- Set inside_call for eval expressions by
[@&#8203;edsrzf](https://togithub.com/edsrzf) in
[https://github.com/vimeo/psalm/pull/9519](https://togithub.com/vimeo/psalm/pull/9519)
- Improve json_encode/json_decode functions signatures by
[@&#8203;fluffycondor](https://togithub.com/fluffycondor) in
[https://github.com/vimeo/psalm/pull/9525](https://togithub.com/vimeo/psalm/pull/9525)
- Fix MissingThrowsDocblock when documented interface is extended by
thrown exception interface by
[@&#8203;paoloconi96](https://togithub.com/paoloconi96) in
[https://github.com/vimeo/psalm/pull/9528](https://togithub.com/vimeo/psalm/pull/9528)
- Fixed [#&#8203;9496](https://togithub.com/vimeo/psalm/issues/9496) by
[@&#8203;ptomulik](https://togithub.com/ptomulik) in
[https://github.com/vimeo/psalm/pull/9497](https://togithub.com/vimeo/psalm/pull/9497)
- Prevent assertion leaks from `else` by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9538](https://togithub.com/vimeo/psalm/pull/9538)
- Fixed coercion of mixed into non-empty-mixed by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9541](https://togithub.com/vimeo/psalm/pull/9541)
- always combine the result of expansions by
[@&#8203;orklah](https://togithub.com/orklah) in
[https://github.com/vimeo/psalm/pull/9562](https://togithub.com/vimeo/psalm/pull/9562)
- Clean up unreflectable callmap methods by
[@&#8203;othercorey](https://togithub.com/othercorey) in
[https://github.com/vimeo/psalm/pull/9526](https://togithub.com/vimeo/psalm/pull/9526)
- Add better return type to mysqli fetch_field\* by
[@&#8203;MoonE](https://togithub.com/MoonE) in
[https://github.com/vimeo/psalm/pull/9555](https://togithub.com/vimeo/psalm/pull/9555)
- \[mysql] Add stubs for `mysqli`, `mysqli_result` and `mysqli_stmt`
classes by [@&#8203;phansys](https://togithub.com/phansys) in
[https://github.com/vimeo/psalm/pull/9547](https://togithub.com/vimeo/psalm/pull/9547)
- Fix array_unique callmap by
[@&#8203;othercorey](https://togithub.com/othercorey) in
[https://github.com/vimeo/psalm/pull/9323](https://togithub.com/vimeo/psalm/pull/9323)
- Improve types for range() by
[@&#8203;kamil-tekiela](https://togithub.com/kamil-tekiela) in
[https://github.com/vimeo/psalm/pull/9577](https://togithub.com/vimeo/psalm/pull/9577)
- Fixed [#&#8203;9506](https://togithub.com/vimeo/psalm/issues/9506) by
[@&#8203;ptomulik](https://togithub.com/ptomulik) in
[https://github.com/vimeo/psalm/pull/9509](https://togithub.com/vimeo/psalm/pull/9509)
- Handle different line endings from baseline. by
[@&#8203;DnwK98](https://togithub.com/DnwK98) in
[https://github.com/vimeo/psalm/pull/9566](https://togithub.com/vimeo/psalm/pull/9566)

##### Docs

- Doc/psalm api on methods by
[@&#8203;ygottschalk](https://togithub.com/ygottschalk) in
[https://github.com/vimeo/psalm/pull/9544](https://togithub.com/vimeo/psalm/pull/9544)

##### Internal changes

- Optimize composer caching by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9493](https://togithub.com/vimeo/psalm/pull/9493)
- Update phar-build to large resource class in config.yml by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9494](https://togithub.com/vimeo/psalm/pull/9494)
- Refuse to use PHP versions we did not request by
[@&#8203;weirdan](https://togithub.com/weirdan) in
[https://github.com/vimeo/psalm/pull/9492](https://togithub.com/vimeo/psalm/pull/9492)
- Make Atomic subclasses consistently call their parent constructors by
[@&#8203;edsrzf](https://togithub.com/edsrzf) in
[https://github.com/vimeo/psalm/pull/9406](https://togithub.com/vimeo/psalm/pull/9406)
- Remove always-empty ClassAnalyzer leftover_stmts array by
[@&#8203;edsrzf](https://togithub.com/edsrzf) in
[https://github.com/vimeo/psalm/pull/9522](https://togithub.com/vimeo/psalm/pull/9522)
- Skip gnupg extension in callmap tests by
[@&#8203;othercorey](https://togithub.com/othercorey) in
[https://github.com/vimeo/psalm/pull/9576](https://togithub.com/vimeo/psalm/pull/9576)

#### New Contributors

- [@&#8203;ZebulanStanphill](https://togithub.com/ZebulanStanphill) made
their first contribution in
[https://github.com/vimeo/psalm/pull/9486](https://togithub.com/vimeo/psalm/pull/9486)
- [@&#8203;paoloconi96](https://togithub.com/paoloconi96) made their
first contribution in
[https://github.com/vimeo/psalm/pull/9528](https://togithub.com/vimeo/psalm/pull/9528)
- [@&#8203;MoonE](https://togithub.com/MoonE) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9555](https://togithub.com/vimeo/psalm/pull/9555)
- [@&#8203;danielbeardsley](https://togithub.com/danielbeardsley) made
their first contribution in
[https://github.com/vimeo/psalm/pull/9568](https://togithub.com/vimeo/psalm/pull/9568)
- [@&#8203;DnwK98](https://togithub.com/DnwK98) made their first
contribution in
[https://github.com/vimeo/psalm/pull/9566](https://togithub.com/vimeo/psalm/pull/9566)

**Full Changelog**: vimeo/psalm@5.8.0...5.9.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://developer.mend.io/github/open-feature/php-sdk).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4yMi4xIiwidXBkYXRlZEluVmVyIjoiMzYuMjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:internal The PR will be included in 'Internal changes' section of the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Psalm self-test/shepherd fails

3 participants