Roave / DocbookTool

:books: Docbook Tool for static documentation generation from Markdown files
52 stars 4 forks source link

Update dependency vimeo/psalm to v5 #313

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
vimeo/psalm require-dev major ^4.30.0 -> ^5.0.0

Release Notes

vimeo/psalm ### [`v5.0.0`](https://togithub.com/vimeo/psalm/releases/tag/5.0.0): Psalm 5 [Compare Source](https://togithub.com/vimeo/psalm/compare/4.30.0...5.0.0) Welcome to Psalm 5! There's an accompanying post on psalm.dev, written by [@​muglug](https://togithub.com/muglug) & the current maintainers of Psalm. - [read in English](https://psalm.dev/articles/psalm-5) - [read in Ukrainian](https://psalm.dev/articles/psalm-5-uk) (translated by [@​weirdan](https://togithub.com/weirdan)) - [read in French](https://psalm.dev/articles/psalm-5-fr) (translated by [@​orklah](https://togithub.com/orklah)) - [read in Italian](https://psalm.dev/articles/psalm-5-it) (translated by [@​danog](https://togithub.com/danog)) #### What's Changed ##### Removed - Php version consistency by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/6898](https://togithub.com/vimeo/psalm/pull/6898) - Removed TEmpty by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/6662](https://togithub.com/vimeo/psalm/pull/6662) - remove support for allowPhpstormGenerics by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/6705](https://togithub.com/vimeo/psalm/pull/6705) - remove exitFunctions for Psalm5 by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/6808](https://togithub.com/vimeo/psalm/pull/6808) - Drop legacy procedural files by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7270](https://togithub.com/vimeo/psalm/pull/7270) - Dropped removed config entries by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7272](https://togithub.com/vimeo/psalm/pull/7272) - Dropped legacy plugin API by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7275](https://togithub.com/vimeo/psalm/pull/7275) - Dropped deprecated `CodeIssue` methods by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7276](https://togithub.com/vimeo/psalm/pull/7276) - Dropped deprecated `DocComment` methods by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7278](https://togithub.com/vimeo/psalm/pull/7278) - Dropped `THtmlEscapedString` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7285](https://togithub.com/vimeo/psalm/pull/7285) - Drop orphaned token by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7290](https://togithub.com/vimeo/psalm/pull/7290) - Bump PHP version to 7.4 by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7291](https://togithub.com/vimeo/psalm/pull/7291) - Remove forbidEcho by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7420](https://togithub.com/vimeo/psalm/pull/7420) - remove TPositiveInt by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7473](https://togithub.com/vimeo/psalm/pull/7473) - Lock event classes by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7491](https://togithub.com/vimeo/psalm/pull/7491) - \[TASK] Add AfterFunctionLikeAnalysisEvent::getFunctionlikeStorage by [@​ohader](https://togithub.com/ohader) in [https://github.com/vimeo/psalm/pull/7526](https://togithub.com/vimeo/psalm/pull/7526) - Finalize (and internalize) more classes by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7578](https://togithub.com/vimeo/psalm/pull/7578) - Finalize issues by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7595](https://togithub.com/vimeo/psalm/pull/7595) - Finalize storages by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7597](https://togithub.com/vimeo/psalm/pull/7597) - Finalize virtual nodes by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7598](https://togithub.com/vimeo/psalm/pull/7598) - Finalize types nodes by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7623](https://togithub.com/vimeo/psalm/pull/7623) - remove totallyTyped by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7651](https://togithub.com/vimeo/psalm/pull/7651) ##### Features - Support PHPStan notation for empty-arrays by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7312](https://togithub.com/vimeo/psalm/pull/7312) - Try to provide literal int types when possible (fixes [#​6966](https://togithub.com/vimeo/psalm/issues/6966)) by [@​ricardoboss](https://togithub.com/ricardoboss) in [https://github.com/vimeo/psalm/pull/7071](https://togithub.com/vimeo/psalm/pull/7071) - Allow config to define thread count by [@​M1ke](https://togithub.com/M1ke) in [https://github.com/vimeo/psalm/pull/7442](https://togithub.com/vimeo/psalm/pull/7442) - Contextual type inference for high order function arg by [@​klimick](https://togithub.com/klimick) in [https://github.com/vimeo/psalm/pull/7417](https://togithub.com/vimeo/psalm/pull/7417) - feat: Handle native intersection types by [@​petewalker](https://togithub.com/petewalker) in [https://github.com/vimeo/psalm/pull/7454](https://togithub.com/vimeo/psalm/pull/7454) - improve support for enum_exists by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7404](https://togithub.com/vimeo/psalm/pull/7404) - Support type annotations for class consts (fixes [#​942](https://togithub.com/vimeo/psalm/issues/942)). by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7123](https://togithub.com/vimeo/psalm/pull/7123) - Improve class constant static analysis by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7154](https://togithub.com/vimeo/psalm/pull/7154) - Add support for references and improve UnusedVariable checks (fixes [#​7254](https://togithub.com/vimeo/psalm/issues/7254)). by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7339](https://togithub.com/vimeo/psalm/pull/7339) - InternalTaintSinkMap: Add `getimagesize` as SSRF sink by [@​mal-tee](https://togithub.com/mal-tee) in [https://github.com/vimeo/psalm/pull/7504](https://togithub.com/vimeo/psalm/pull/7504) - Enable extensions based on composer.json instead of those loaded at runtime (fixes [#​5482](https://togithub.com/vimeo/psalm/issues/5482)). by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7107](https://togithub.com/vimeo/psalm/pull/7107) - Dynamic function storage provider by [@​klimick](https://togithub.com/klimick) in [https://github.com/vimeo/psalm/pull/7471](https://togithub.com/vimeo/psalm/pull/7471) - ❗Allow plugins to modify Config::$fileExtensions early by [@​ohader](https://togithub.com/ohader) in [https://github.com/vimeo/psalm/pull/6789](https://togithub.com/vimeo/psalm/pull/6789) - \[FEATURE] Introduce BeforeStatementAnalysisEvent by [@​ohader](https://togithub.com/ohader) in [https://github.com/vimeo/psalm/pull/7535](https://togithub.com/vimeo/psalm/pull/7535) - \[FEATURE] Allow to intercept adding issue in IssueBuffer by [@​ohader](https://togithub.com/ohader) in [https://github.com/vimeo/psalm/pull/7530](https://togithub.com/vimeo/psalm/pull/7530) - Ensure all template parameters are specified in all extended|used classlikes by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/7492](https://togithub.com/vimeo/psalm/pull/7492) - feat: make key-of/value-of usable with non-const arrays by [@​Patrick-Remy](https://togithub.com/Patrick-Remy) in [https://github.com/vimeo/psalm/pull/7396](https://togithub.com/vimeo/psalm/pull/7396) - More class const improvements. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7666](https://togithub.com/vimeo/psalm/pull/7666) - Add `@psalm-check-type` and `@psalm-check-type-exact`. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7686](https://togithub.com/vimeo/psalm/pull/7686) - feat(types): add properties-of type by [@​Patrick-Remy](https://togithub.com/Patrick-Remy) in [https://github.com/vimeo/psalm/pull/7359](https://togithub.com/vimeo/psalm/pull/7359) - Invert meaning of dupe_key by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/7475](https://togithub.com/vimeo/psalm/pull/7475) - Feature: allow non-union assertion types by [@​boesing](https://togithub.com/boesing) in [https://github.com/vimeo/psalm/pull/8077](https://togithub.com/vimeo/psalm/pull/8077) - Allow `value-of` to work with backed enums (fixes [#​7874](https://togithub.com/vimeo/psalm/issues/7874)). by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/8283](https://togithub.com/vimeo/psalm/pull/8283) - Add capability to use inclusion files in a different directory (fix) by [@​gmessier](https://togithub.com/gmessier) in [https://github.com/vimeo/psalm/pull/8402](https://togithub.com/vimeo/psalm/pull/8402) - Add dirname return type provider by [@​mcaskill](https://togithub.com/mcaskill) in [https://github.com/vimeo/psalm/pull/8611](https://togithub.com/vimeo/psalm/pull/8611) - Add stubs for ext-ffi by [@​LeSuisse](https://togithub.com/LeSuisse) in [https://github.com/vimeo/psalm/pull/8614](https://togithub.com/vimeo/psalm/pull/8614) - add basename return type provider by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/8620](https://togithub.com/vimeo/psalm/pull/8620) - Add stubs for ext-random (PHP 8.2) by [@​lptn](https://togithub.com/lptn) in [https://github.com/vimeo/psalm/pull/8649](https://togithub.com/vimeo/psalm/pull/8649) - Add support for strict arrays, fix type alias intersection, fix array_is_list assertion on non-lists by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8395](https://togithub.com/vimeo/psalm/pull/8395) - Add support for phpstan-param-out by [@​VincentLanglet](https://togithub.com/VincentLanglet) in [https://github.com/vimeo/psalm/pull/8678](https://togithub.com/vimeo/psalm/pull/8678) - add --no-progress to psalter by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/8709](https://togithub.com/vimeo/psalm/pull/8709) - Allow `new` on objects by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8723](https://togithub.com/vimeo/psalm/pull/8723) ##### Fixes - Use InvalidScalarArgument only when we can be sure PHP attempts coercion by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/7188](https://togithub.com/vimeo/psalm/pull/7188) - Trim baseline selection by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7279](https://togithub.com/vimeo/psalm/pull/7279) - Prevent NoValue when there is no phpdoc by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7399](https://togithub.com/vimeo/psalm/pull/7399) - create a return type provider for mb_internal_encoding by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7437](https://togithub.com/vimeo/psalm/pull/7437) - Array key exists assert both ways by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7449](https://togithub.com/vimeo/psalm/pull/7449) - \[TypeProvider] Provide argument types during FunctionParamsProviderEvent by [@​veewee](https://togithub.com/veewee) in [https://github.com/vimeo/psalm/pull/7394](https://togithub.com/vimeo/psalm/pull/7394) - Fix stub parent class not loaded. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7110](https://togithub.com/vimeo/psalm/pull/7110) - fix code where the offset was wrong by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7463](https://togithub.com/vimeo/psalm/pull/7463) - reconcile two arrays by intersecting them by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7470](https://togithub.com/vimeo/psalm/pull/7470) - fix error with 0 being considered positive by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7487](https://togithub.com/vimeo/psalm/pull/7487) - Fix crash due to unresolvable constant. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7490](https://togithub.com/vimeo/psalm/pull/7490) - Fix failing case for const analyzer. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7503](https://togithub.com/vimeo/psalm/pull/7503) - Fix side effect when loading config by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7506](https://togithub.com/vimeo/psalm/pull/7506) - improve literal inequality with ranges and rework GreaterThan/LessThan assertions by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7511](https://togithub.com/vimeo/psalm/pull/7511) - Remove mic-drop hack from if analysis by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/7484](https://togithub.com/vimeo/psalm/pull/7484) - fix some iterator stubs by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/6970](https://togithub.com/vimeo/psalm/pull/6970) - Fix empty array by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7517](https://togithub.com/vimeo/psalm/pull/7517) - add back empty keyword by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7533](https://togithub.com/vimeo/psalm/pull/7533) - Fix crash when assigning reference to unknown array offset by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7583](https://togithub.com/vimeo/psalm/pull/7583) - Fix [#​6683](https://togithub.com/vimeo/psalm/issues/6683) by improving simplification of CNF by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/7631](https://togithub.com/vimeo/psalm/pull/7631) - Enum collapsing by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7655](https://togithub.com/vimeo/psalm/pull/7655) - Enum assertions by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7662](https://togithub.com/vimeo/psalm/pull/7662) - Consistency for empty reconciliations by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7663](https://togithub.com/vimeo/psalm/pull/7663) - fix count with match on arrays by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7665](https://togithub.com/vimeo/psalm/pull/7665) - Prevent unnecessary filter_var() warnings on primitive types by [@​mmcev106](https://togithub.com/mmcev106) in [https://github.com/vimeo/psalm/pull/7677](https://togithub.com/vimeo/psalm/pull/7677) - Improve bool to int casting. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7696](https://togithub.com/vimeo/psalm/pull/7696) - Fix issues with int range unpacking and with min/max by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7699](https://togithub.com/vimeo/psalm/pull/7699) - Fix some minor issues with references. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7684](https://togithub.com/vimeo/psalm/pull/7684) - restore callable-string Id by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7787](https://togithub.com/vimeo/psalm/pull/7787) - fix refining lowercase string and non-empty-string together by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7844](https://togithub.com/vimeo/psalm/pull/7844) - Remove `@psalm-generator-return` annotation by [@​jrmajor](https://togithub.com/jrmajor) in [https://github.com/vimeo/psalm/pull/7853](https://togithub.com/vimeo/psalm/pull/7853) - Resolve [#​7855](https://togithub.com/vimeo/psalm/issues/7855) remove false from return type, in php8.0 and further ve… by [@​dkemper](https://togithub.com/dkemper) in [https://github.com/vimeo/psalm/pull/7859](https://togithub.com/vimeo/psalm/pull/7859) - Fix class const issue when using floats declared in future consts (fixes [#​7973](https://togithub.com/vimeo/psalm/issues/7973)). by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7992](https://togithub.com/vimeo/psalm/pull/7992) - Improve handling of unsupported references (fixes [#​8018](https://togithub.com/vimeo/psalm/issues/8018)). by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/8022](https://togithub.com/vimeo/psalm/pull/8022) - Bring back disableVarParsing option by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8058](https://togithub.com/vimeo/psalm/pull/8058) - Skip native classlike aliases by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8080](https://togithub.com/vimeo/psalm/pull/8080) - Fix nasty parameter storage corruption bug by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8098](https://togithub.com/vimeo/psalm/pull/8098) - Change return type of createFromInterface() on DateTime and DateTimeImmutable to static by [@​bitwise-operators](https://togithub.com/bitwise-operators) in [https://github.com/vimeo/psalm/pull/8102](https://togithub.com/vimeo/psalm/pull/8102) - Update DOM stub and add separate SimpleXML stub by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/8140](https://togithub.com/vimeo/psalm/pull/8140) - Track taints in static properties by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/8150](https://togithub.com/vimeo/psalm/pull/8150) - Fix type reconciliation breaking Context::$references_in_scope (fixes [#​8289](https://togithub.com/vimeo/psalm/issues/8289)). by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/8306](https://togithub.com/vimeo/psalm/pull/8306) - Update `CachingIterator::getCache` stub. by [@​drupol](https://togithub.com/drupol) in [https://github.com/vimeo/psalm/pull/8282](https://togithub.com/vimeo/psalm/pull/8282) - Fix various array spread issues. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/8044](https://togithub.com/vimeo/psalm/pull/8044) - Fix union assertions by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8324](https://togithub.com/vimeo/psalm/pull/8324) - Add BitwiseNot and BooleanNot operators to SimpleTypeInferer by [@​bitwise-operators](https://togithub.com/bitwise-operators) in [https://github.com/vimeo/psalm/pull/8360](https://togithub.com/vimeo/psalm/pull/8360) - fix: Fix template resolution of complex extended types by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8418](https://togithub.com/vimeo/psalm/pull/8418) - Fix mixed type hole when sending Foo to Foo by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/8481](https://togithub.com/vimeo/psalm/pull/8481) - Fix type widening when `Any` assertion is used by [@​pvandommelen](https://togithub.com/pvandommelen) in [https://github.com/vimeo/psalm/pull/8494](https://togithub.com/vimeo/psalm/pull/8494) - Fix callmap for DOMNode methods by [@​tvdijen](https://togithub.com/tvdijen) in [https://github.com/vimeo/psalm/pull/8566](https://togithub.com/vimeo/psalm/pull/8566) - Fix [#​8562](https://togithub.com/vimeo/psalm/issues/8562) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8571](https://togithub.com/vimeo/psalm/pull/8571) - Fix [#​8569](https://togithub.com/vimeo/psalm/issues/8569) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8570](https://togithub.com/vimeo/psalm/pull/8570) - Fix [#​6983](https://togithub.com/vimeo/psalm/issues/6983) [#​8564](https://togithub.com/vimeo/psalm/issues/8564) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8578](https://togithub.com/vimeo/psalm/pull/8578) - Fix template param for SplDoublyLinkedList by [@​ADmad](https://togithub.com/ADmad) in [https://github.com/vimeo/psalm/pull/8579](https://togithub.com/vimeo/psalm/pull/8579) - Fix [#​8560](https://togithub.com/vimeo/psalm/issues/8560) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8586](https://togithub.com/vimeo/psalm/pull/8586) - keep literal string for simple str_replace by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/8619](https://togithub.com/vimeo/psalm/pull/8619) - Mark hash_update functions as impure by [@​aboks](https://togithub.com/aboks) in [https://github.com/vimeo/psalm/pull/8658](https://togithub.com/vimeo/psalm/pull/8658) - Fix [#​8664](https://togithub.com/vimeo/psalm/issues/8664) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8665](https://togithub.com/vimeo/psalm/pull/8665) - Fix [#​8669](https://togithub.com/vimeo/psalm/issues/8669) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8670](https://togithub.com/vimeo/psalm/pull/8670) - Fix return type of ReflectionExtension::getVersion by [@​come-nc](https://togithub.com/come-nc) in [https://github.com/vimeo/psalm/pull/8655](https://togithub.com/vimeo/psalm/pull/8655) - Making `json_encode()` always produce a `non-empty-string`, when successful by [@​Ocramius](https://togithub.com/Ocramius) in [https://github.com/vimeo/psalm/pull/8681](https://togithub.com/vimeo/psalm/pull/8681) - Emit `DeprecatedInterface` when interface is referenced in a generic by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8687](https://togithub.com/vimeo/psalm/pull/8687) - Prevent array{a: Foo} going cleanly into array by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/8691](https://togithub.com/vimeo/psalm/pull/8691) - Allow enum cases to reference constants by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8694](https://togithub.com/vimeo/psalm/pull/8694) - Mark inferred mutation-free constructor as such by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8692](https://togithub.com/vimeo/psalm/pull/8692) - Make `stringable-object` equivalent to `Stringable` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8688](https://togithub.com/vimeo/psalm/pull/8688) - Flag invalid enum case value types by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8693](https://togithub.com/vimeo/psalm/pull/8693) - Add extra types to Memcache::getExtendedStats and Memcached::getStats by [@​bram123](https://togithub.com/bram123) in [https://github.com/vimeo/psalm/pull/8700](https://togithub.com/vimeo/psalm/pull/8700) - Make array shapes strict by default by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/8701](https://togithub.com/vimeo/psalm/pull/8701) - Add support for type aliases in [@​psalm-assert](https://togithub.com/psalm-assert)(-\*) annotations by [@​annervisser](https://togithub.com/annervisser) in [https://github.com/vimeo/psalm/pull/8705](https://togithub.com/vimeo/psalm/pull/8705) - Fix DateTimeZone::listAbbreviations return type by [@​franmomu](https://togithub.com/franmomu) in [https://github.com/vimeo/psalm/pull/8717](https://togithub.com/vimeo/psalm/pull/8717) - Reject `@psalm-consistent-constructor` in function docblocks by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8713](https://togithub.com/vimeo/psalm/pull/8713) - Allow using imported types in other types within the same file by [@​annervisser](https://togithub.com/annervisser) in [https://github.com/vimeo/psalm/pull/8708](https://togithub.com/vimeo/psalm/pull/8708) - Argument 1 of curl_unescape by [@​kamil-tekiela](https://togithub.com/kamil-tekiela) in [https://github.com/vimeo/psalm/pull/8730](https://togithub.com/vimeo/psalm/pull/8730) - Allow parameter types to be contained by a class template type by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8731](https://togithub.com/vimeo/psalm/pull/8731) - Fix dictionary for strip_tags by [@​lptn](https://togithub.com/lptn) in [https://github.com/vimeo/psalm/pull/8729](https://togithub.com/vimeo/psalm/pull/8729) - Fix [#​8735](https://togithub.com/vimeo/psalm/issues/8735): IntlDateFormatter CallMaps. by [@​niconoe-](https://togithub.com/niconoe-) in [https://github.com/vimeo/psalm/pull/8739](https://togithub.com/vimeo/psalm/pull/8739) - Fix [#​8748](https://togithub.com/vimeo/psalm/issues/8748) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8749](https://togithub.com/vimeo/psalm/pull/8749) - Fix [#​8745](https://togithub.com/vimeo/psalm/issues/8745) by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/8753](https://togithub.com/vimeo/psalm/pull/8753) - Simplify assertions generated by an array_key_exists check by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/8763](https://togithub.com/vimeo/psalm/pull/8763) - Suppress errors when validation regexps by [@​Chi-teck](https://togithub.com/Chi-teck) in [https://github.com/vimeo/psalm/pull/8766](https://togithub.com/vimeo/psalm/pull/8766) - Upgrade `humbug/box` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8770](https://togithub.com/vimeo/psalm/pull/8770) - Replace all references to static variables when moving class by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8780](https://togithub.com/vimeo/psalm/pull/8780) - Variables should outlive namespaces by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8779](https://togithub.com/vimeo/psalm/pull/8779) - Check runtime requirements by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8782](https://togithub.com/vimeo/psalm/pull/8782) - Fix crashes when XML report is used on PHP 8.1 by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8788](https://togithub.com/vimeo/psalm/pull/8788) ##### Docs - Dropped `html-escaped-string` docs by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7281](https://togithub.com/vimeo/psalm/pull/7281) - Document BC breaks in [#​7358](https://togithub.com/vimeo/psalm/issues/7358) by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7360](https://togithub.com/vimeo/psalm/pull/7360) - Added documentation for baseline files by [@​ricardoboss](https://togithub.com/ricardoboss) in [https://github.com/vimeo/psalm/pull/7429](https://togithub.com/vimeo/psalm/pull/7429) - Fix documentation for config. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7564](https://togithub.com/vimeo/psalm/pull/7564) - Fix bullet indentation in documentation by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7565](https://togithub.com/vimeo/psalm/pull/7565) - doc about property initialization by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7593](https://togithub.com/vimeo/psalm/pull/7593) - Fix issue documentation links. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7687](https://togithub.com/vimeo/psalm/pull/7687) - Improve documentation for InvalidGlobal to explain that it's sometimes valid by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7693](https://togithub.com/vimeo/psalm/pull/7693) - Fix int-mask-of doc example by [@​Seldaek](https://togithub.com/Seldaek) in [https://github.com/vimeo/psalm/pull/7812](https://togithub.com/vimeo/psalm/pull/7812) - Documented the allowMissingFiles attribute for ignoreFiles by [@​mmcev106](https://togithub.com/mmcev106) in [https://github.com/vimeo/psalm/pull/7867](https://togithub.com/vimeo/psalm/pull/7867) - Fix a typo in MissingConstructor.md by [@​MidnightDesign](https://togithub.com/MidnightDesign) in [https://github.com/vimeo/psalm/pull/8023](https://togithub.com/vimeo/psalm/pull/8023) - PossiblyNullArgument: Adding common problem cases and possible solutions by [@​ThomasLandauer](https://togithub.com/ThomasLandauer) in [https://github.com/vimeo/psalm/pull/8135](https://togithub.com/vimeo/psalm/pull/8135) - Adding note about referencedMethod by [@​ThomasLandauer](https://togithub.com/ThomasLandauer) in [https://github.com/vimeo/psalm/pull/8408](https://togithub.com/vimeo/psalm/pull/8408) - Docs: Fix minor php syntax issues in code examples by [@​pchapl](https://togithub.com/pchapl) in [https://github.com/vimeo/psalm/pull/8601](https://togithub.com/vimeo/psalm/pull/8601) - Update PossiblyFalseReference.md by [@​webmaster777](https://togithub.com/webmaster777) in [https://github.com/vimeo/psalm/pull/8622](https://togithub.com/vimeo/psalm/pull/8622) - Last-minute docufix by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8685](https://togithub.com/vimeo/psalm/pull/8685) - Fixing code formatting by [@​ThomasLandauer](https://togithub.com/ThomasLandauer) in [https://github.com/vimeo/psalm/pull/8696](https://togithub.com/vimeo/psalm/pull/8696) - Fix formatting by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8689](https://togithub.com/vimeo/psalm/pull/8689) - Removing list by [@​ThomasLandauer](https://togithub.com/ThomasLandauer) in [https://github.com/vimeo/psalm/pull/8698](https://togithub.com/vimeo/psalm/pull/8698) - improve docs and phrasing about NoValue by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/8754](https://togithub.com/vimeo/psalm/pull/8754) ##### Internal changes - Disable PSL (not yet compatible with Psalm 5) by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7269](https://togithub.com/vimeo/psalm/pull/7269) - Require `@internal` annotation on `Psalm\Internal` symbols by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7268](https://togithub.com/vimeo/psalm/pull/7268) - Dropped deprecated `TypeAnalyzer` methods by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7277](https://togithub.com/vimeo/psalm/pull/7277) - Moved `getPsalmHelpText()` to `Cli\Psalm` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7280](https://togithub.com/vimeo/psalm/pull/7280) - Replaced deprecated `webmozart/path-util` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7292](https://togithub.com/vimeo/psalm/pull/7292) - Indent heredoc by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7294](https://togithub.com/vimeo/psalm/pull/7294) - Dropped dead code based on PHP_VERSION_ID by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7300](https://togithub.com/vimeo/psalm/pull/7300) - Apply literal number separator rector by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7299](https://togithub.com/vimeo/psalm/pull/7299) - Applied NullCoalescingOperatorRector by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7302](https://togithub.com/vimeo/psalm/pull/7302) - Applied JsonThrowOnErrorRector by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7303](https://togithub.com/vimeo/psalm/pull/7303) - Applied ListToArrayDestructRector by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7310](https://togithub.com/vimeo/psalm/pull/7310) - replace `array` as a way to detect empty arrays by a dedicated method by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7313](https://togithub.com/vimeo/psalm/pull/7313) - Applied ClosureToArrowFunctionRector by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7315](https://togithub.com/vimeo/psalm/pull/7315) - Simplify object comparison by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/7340](https://togithub.com/vimeo/psalm/pull/7340) - Rename was_static property to is_static to be more accurate by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/7358](https://togithub.com/vimeo/psalm/pull/7358) - Add explicit `resolveSymlinks` option for project directories by [@​dvz](https://togithub.com/dvz) in [https://github.com/vimeo/psalm/pull/7163](https://togithub.com/vimeo/psalm/pull/7163) - Ensure that all entries in test arrays have explicit keys by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/7386](https://togithub.com/vimeo/psalm/pull/7386) - TCallableString is non-falsy (0 can't be a functionlike name) by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/6521](https://togithub.com/vimeo/psalm/pull/6521) - fix tests by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7446](https://togithub.com/vimeo/psalm/pull/7446) - Use objects, not strings, for assertions by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/7410](https://togithub.com/vimeo/psalm/pull/7410) - Nitpicks by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7448](https://togithub.com/vimeo/psalm/pull/7448) - refactor description of types in Atomic by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7409](https://togithub.com/vimeo/psalm/pull/7409) - remove TPositiveInt usage for TIntRange by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7472](https://togithub.com/vimeo/psalm/pull/7472) - Fix ExceptionCodeTest provider shape by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7538](https://togithub.com/vimeo/psalm/pull/7538) - Fix extension capitalization issue, add extensions to version message. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/7574](https://togithub.com/vimeo/psalm/pull/7574) - Added backward compatibility check by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7576](https://togithub.com/vimeo/psalm/pull/7576) - Allow mocking final classes by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7591](https://togithub.com/vimeo/psalm/pull/7591) - Fixed composer branch-alias by [@​sasezaki](https://togithub.com/sasezaki) in [https://github.com/vimeo/psalm/pull/7594](https://togithub.com/vimeo/psalm/pull/7594) - No longer require declare reflection-docblock:^5 as dependency by [@​sasezaki](https://togithub.com/sasezaki) in [https://github.com/vimeo/psalm/pull/7612](https://togithub.com/vimeo/psalm/pull/7612) - Bump up phpunit,prophecy, and introduced phpspec/prophecy-phpunit by [@​sasezaki](https://togithub.com/sasezaki) in [https://github.com/vimeo/psalm/pull/7617](https://togithub.com/vimeo/psalm/pull/7617) - consistency in AssertionFinder by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7622](https://togithub.com/vimeo/psalm/pull/7622) - skip a test because we removed the feature for now by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/7642](https://togithub.com/vimeo/psalm/pull/7642) - Adjust for composer-require-checker check. by [@​sasezaki](https://togithub.com/sasezaki) in [https://github.com/vimeo/psalm/pull/7632](https://togithub.com/vimeo/psalm/pull/7632) - Removed .scrutinizer.yml by [@​sasezaki](https://togithub.com/sasezaki) in [https://github.com/vimeo/psalm/pull/7652](https://togithub.com/vimeo/psalm/pull/7652) - Use `array_fill_keys()` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7661](https://togithub.com/vimeo/psalm/pull/7661) - Fixed PSR-4 warnings by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/7683](https://togithub.com/vimeo/psalm/pull/7683) - chore: enable psl tests again by [@​azjezz](https://togithub.com/azjezz) in [https://github.com/vimeo/psalm/pull/7596](https://togithub.com/vimeo/psalm/pull/7596) - Make callbacks marked as static by [@​SCIF](https://togithub.com/SCIF) in [https://github.com/vimeo/psalm/pull/6695](https://togithub.com/vimeo/psalm/pull/6695) - Update master by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8024](https://togithub.com/vimeo/psalm/pull/8024) - Run method call prohibition analyzer when cloning by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8155](https://togithub.com/vimeo/psalm/pull/8155) - Avoid re-parsing template types by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8181](https://togithub.com/vimeo/psalm/pull/8181) - Fix namespace of test by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8191](https://togithub.com/vimeo/psalm/pull/8191) - update property map by [@​discordier](https://togithub.com/discordier) in [https://github.com/vimeo/psalm/pull/8000](https://togithub.com/vimeo/psalm/pull/8000) - Merge 4.x to master. by [@​AndrolGenhald](https://togithub.com/AndrolGenhald) in [https://github.com/vimeo/psalm/pull/8222](https://togithub.com/vimeo/psalm/pull/8222) - Remove special handling for elseifs that breaks for else if by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/8273](https://togithub.com/vimeo/psalm/pull/8273) - Applied ArraySpreadInsteadOfArrayMergeRector (take 2) by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8345](https://togithub.com/vimeo/psalm/pull/8345) - Merge 4.x by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8591](https://togithub.com/vimeo/psalm/pull/8591) - Immutable readonly atomics by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8525](https://togithub.com/vimeo/psalm/pull/8525) - Immutable unions by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8627](https://togithub.com/vimeo/psalm/pull/8627) - Merge 4.x and documentation fixes by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8684](https://togithub.com/vimeo/psalm/pull/8684) - Fix PSL e2e tests by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8697](https://togithub.com/vimeo/psalm/pull/8697) - Cleanup documentation by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8702](https://togithub.com/vimeo/psalm/pull/8702) - safe delete cache directory files by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/8710](https://togithub.com/vimeo/psalm/pull/8710) - improve cache flush debug info and code if cache disabled by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/8707](https://togithub.com/vimeo/psalm/pull/8707) - Fix cache race condition due to missing repopulation of lock files cache by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/8714](https://togithub.com/vimeo/psalm/pull/8714) - include CLI args in PHP errors to more quickly identify run issues in CI by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/8724](https://togithub.com/vimeo/psalm/pull/8724) - Enforce arrow function formatting by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8737](https://togithub.com/vimeo/psalm/pull/8737) - Simplify issue sorting by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8736](https://togithub.com/vimeo/psalm/pull/8736) - Correct `Clause::$hash` type by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8742](https://togithub.com/vimeo/psalm/pull/8742) - Fix [#​8743](https://togithub.com/vimeo/psalm/issues/8743) by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/8751](https://togithub.com/vimeo/psalm/pull/8751) - Switch from `phpspec/prophecy` to `mockery/mockery` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8755](https://togithub.com/vimeo/psalm/pull/8755) - Test CI on 8.2 by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/8752](https://togithub.com/vimeo/psalm/pull/8752) - Move mockery plugin to require-dev by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8769](https://togithub.com/vimeo/psalm/pull/8769) - bump lower dependencies by [@​orklah](https://togithub.com/orklah) in [https://github.com/vimeo/psalm/pull/8768](https://togithub.com/vimeo/psalm/pull/8768) - Add diagnostic message when shape fields are missing by [@​muglug](https://togithub.com/muglug) in [https://github.com/vimeo/psalm/pull/8762](https://togithub.com/vimeo/psalm/pull/8762) - Move mockery to require-dev too by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8777](https://togithub.com/vimeo/psalm/pull/8777) - Bump `slevomat/coding-standard` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/8783](https://togithub.com/vimeo/psalm/pull/8783) ##### Typos - fix mapped property type for DOMNode childNodes by [@​cristianobaptista](https://togithub.com/cristianobaptista) in [https://github.com/vimeo/psalm/pull/8577](https://togithub.com/vimeo/psalm/pull/8577) - Fix typo by [@​zenahirsch](https://togithub.com/zenahirsch) in [https://github.com/vimeo/psalm/pull/8605](https://togithub.com/vimeo/psalm/pull/8605) - Cleanup outdated comment by [@​andrew-demb](https://togithub.com/andrew-demb) in [https://github.com/vimeo/psalm/pull/8699](https://togithub.com/vimeo/psalm/pull/8699) ##### Other changes - Address flaw in type reconciliation on array references by [@​ohader](https://togithub.com/ohader) in [https://github.com/vimeo/psalm/pull/8290](https://togithub.com/vimeo/psalm/pull/8290) - Fix if propagation by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8326](https://togithub.com/vimeo/psalm/pull/8326) - Begin immutable refactoring by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8143](https://togithub.com/vimeo/psalm/pull/8143) - Fix properties-of on generic objects\&intersections + immutable atomic refactoring by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8442](https://togithub.com/vimeo/psalm/pull/8442) - Immutable assertions by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/8443](https://togithub.com/vimeo/psalm/pull/8443) #### New Contributors - [@​petewalker](https://togithub.com/petewalker) made their first contribution in [https://github.com/vimeo/psalm/pull/7454](https://togithub.com/vimeo/psalm/pull/7454) - [@​mal-tee](https://togithub.com/mal-tee) made their first contribution in [https://github.com/vimeo/psalm/pull/7504](https://togithub.com/vimeo/psalm/pull/7504) - [@​Seldaek](https://togithub.com/Seldaek) made their first contribution in [https://github.com/vimeo/psalm/pull/7812](https://togithub.com/vimeo/psalm/pull/7812) - [@​dkemper](https://togithub.com/dkemper) made their first contribution in [https://github.com/vimeo/psalm/pull/7859](https://togithub.com/vimeo/psalm/pull/7859) - [@​discordier](https://togithub.com/discordier) made their first contribution in [https://github.com/vimeo/psalm/pull/8000](https://togithub.com/vimeo/psalm/pull/8000) - [@​pvandommelen](https://togithub.com/pvandommelen) made their first contribution in [https://github.com/vimeo/psalm/pull/8494](https://togithub.com/vimeo/psalm/pull/8494) - [@​cristianobaptista](https://togithub.com/cristianobaptista) made their first contribution in [https://github.com/vimeo/psalm/pull/8577](https://togithub.com/vimeo/psalm/pull/8577) - [@​pchapl](https://togithub.com/pchapl) made their first contribution in [https://github.com/vimeo/psalm/pull/8601](https://togithub.com/vimeo/psalm/pull/8601) - [@​zenahirsch](https://togithub.com/zenahirsch) made their first contribution in [https://github.com/vimeo/psalm/pull/8605](https://togithub.com/vimeo/psalm/pull/8605) - [@​mcaskill](https://togithub.com/mcaskill) made their first contribution in [https://github.com/vimeo/psalm/pull/8611](https://togithub.com/vimeo/psalm/pull/8611) - [@​webmaster777](https://togithub.com/webmaster777) made their first contribution in [https://github.com/vimeo/psalm/pull/8622](https://togithub.com/vimeo/psalm/pull/8622) - [@​come-nc](https://togithub.com/come-nc) made their first contribution in [https://github.com/vimeo/psalm/pull/8655](https://togithub.com/vimeo/psalm/pull/8655) - [@​bram123](https://togithub.com/bram123) made their first contribution in [https://github.com/vimeo/psalm/pull/8700](https://togithub.com/vimeo/psalm/pull/8700) - [@​annervisser](https://togithub.com/annervisser) made their first contribution in [https://github.com/vimeo/psalm/pull/8705](https://togithub.com/vimeo/psalm/pull/8705) - [@​Chi-teck](https://togithub.com/Chi-teck) made their first contribution in [https://github.com/vimeo/psalm/pull/8766](https://togithub.com/vimeo/psalm/pull/8766) **Full Changelog**: https://github.com/vimeo/psalm/compare/4.30.0...5.0.0

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 is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



Read more about the use of Renovate Bot within ocramius/* projects.