laminas / laminas-modulemanager

Modular application system for laminas-mvc applications
https://docs.laminas.dev/laminas-modulemanager/
BSD 3-Clause "New" or "Revised" License
30 stars 18 forks source link

Update dependency vimeo/psalm to v5 - autoclosed #40

Closed renovate[bot] closed 10 months 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.29 -> ^5.0

Release Notes

vimeo/psalm (vimeo/psalm) ### [`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) #### What's Changed ##### Fixes - Fix glob CallMap and stub to prevent crash on alpine by [@​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 [@​stof](https://togithub.com/stof) in [https://github.com/vimeo/psalm/pull/9967](https://togithub.com/vimeo/psalm/pull/9967) **Full Changelog**: https://github.com/vimeo/psalm/compare/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) #### What's Changed ##### Features - Add a support for multilevel glob wildcards by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/9877](https://togithub.com/vimeo/psalm/pull/9877) - feat: cache.gz by [@​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 [@​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 [@​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 [@​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 [@​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 [@​jack-worman](https://togithub.com/jack-worman) in [https://github.com/vimeo/psalm/pull/9828](https://togithub.com/vimeo/psalm/pull/9828) - Fix [#​9824](https://togithub.com/vimeo/psalm/issues/9824) const enum self reference by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/9904](https://togithub.com/vimeo/psalm/pull/9904) - Fixes [#​9827](https://togithub.com/vimeo/psalm/issues/9827) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​staabm](https://togithub.com/staabm) in [https://github.com/vimeo/psalm/pull/9835](https://togithub.com/vimeo/psalm/pull/9835) #### New Contributors - [@​Hanmac](https://togithub.com/Hanmac) made their first contribution in [https://github.com/vimeo/psalm/pull/9814](https://togithub.com/vimeo/psalm/pull/9814) - [@​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**: https://github.com/vimeo/psalm/compare/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) #### What's Changed ##### Features - WIP - Limit inheritance to a subset of classes [#​1450](https://togithub.com/vimeo/psalm/issues/1450) by [@​robchett](https://togithub.com/robchett) in [https://github.com/vimeo/psalm/pull/9687](https://togithub.com/vimeo/psalm/pull/9687) - UnsupportedPropertyReferenceUsage by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​fluffycondor](https://togithub.com/fluffycondor) in [https://github.com/vimeo/psalm/pull/9742](https://togithub.com/vimeo/psalm/pull/9742) - improve glob stubs by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/9779](https://togithub.com/vimeo/psalm/pull/9779) #### New Contributors - [@​tscni](https://togithub.com/tscni) made their first contribution in [https://github.com/vimeo/psalm/pull/9735](https://togithub.com/vimeo/psalm/pull/9735) - [@​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**: https://github.com/vimeo/psalm/compare/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) #### What's Changed ##### Fixes - SplDoublyLinkedList's index is always int by [@​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 [@​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 [@​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 [@​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 [@​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 [@​greg0ire](https://togithub.com/greg0ire) in [https://github.com/vimeo/psalm/pull/9745](https://togithub.com/vimeo/psalm/pull/9745) **Full Changelog**: https://github.com/vimeo/psalm/compare/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) #### What's Changed ##### Features - Introduce `value-of` with backed enum cases in assertions by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/9694](https://togithub.com/vimeo/psalm/pull/9694) - Introduce BeforeExpressionAnalysisEvent by [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/9725](https://togithub.com/vimeo/psalm/pull/9725) - Add support for [@​psalm-no-seal-properties](https://togithub.com/psalm-no-seal-properties) and [@​psalm-no-seal-methods](https://togithub.com/psalm-no-seal-methods) by [@​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 [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9595](https://togithub.com/vimeo/psalm/pull/9595) - fix [#​9049](https://togithub.com/vimeo/psalm/issues/9049) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​tuqqu](https://togithub.com/tuqqu) in [https://github.com/vimeo/psalm/pull/9651](https://togithub.com/vimeo/psalm/pull/9651) - Fix list template replacement by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​klimick](https://togithub.com/klimick) in [https://github.com/vimeo/psalm/pull/9700](https://togithub.com/vimeo/psalm/pull/9700) - Fix [#​9692](https://togithub.com/vimeo/psalm/issues/9692) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​greg0ire](https://togithub.com/greg0ire) in [https://github.com/vimeo/psalm/pull/9717](https://togithub.com/vimeo/psalm/pull/9717) - Document [@​mixin](https://togithub.com/mixin) by [@​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 [@​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 [@​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 [@​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 [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/9709](https://togithub.com/vimeo/psalm/pull/9709) #### New Contributors - [@​dantleech](https://togithub.com/dantleech) made their first contribution in [https://github.com/vimeo/psalm/pull/9590](https://togithub.com/vimeo/psalm/pull/9590) - [@​jjjb03](https://togithub.com/jjjb03) made their first contribution in [https://github.com/vimeo/psalm/pull/9608](https://togithub.com/vimeo/psalm/pull/9608) - [@​SenseException](https://togithub.com/SenseException) made their first contribution in [https://github.com/vimeo/psalm/pull/9646](https://togithub.com/vimeo/psalm/pull/9646) - [@​tuqqu](https://togithub.com/tuqqu) made their first contribution in [https://github.com/vimeo/psalm/pull/9647](https://togithub.com/vimeo/psalm/pull/9647) - [@​whizsid](https://togithub.com/whizsid) made their first contribution in [https://github.com/vimeo/psalm/pull/9643](https://togithub.com/vimeo/psalm/pull/9643) - [@​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**: https://github.com/vimeo/psalm/compare/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) #### What's Changed ##### Features - `json_encode()` returns a non-empty-string with `JSON_THROW_ON_ERROR | JSON_UNESCAPED_UNICODE` by [@​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 [@​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 [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9491](https://togithub.com/vimeo/psalm/pull/9491) - [@​property](https://togithub.com/property) annotations: allow *not* implying [@​psalm-seal-properties](https://togithub.com/psalm-seal-properties) by [@​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 [@​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 [@​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 [@​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 [@​ZebulanStanphill](https://togithub.com/ZebulanStanphill) in [https://github.com/vimeo/psalm/pull/9486](https://togithub.com/vimeo/psalm/pull/9486) - Fix [#​9433](https://togithub.com/vimeo/psalm/issues/9433) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​paoloconi96](https://togithub.com/paoloconi96) in [https://github.com/vimeo/psalm/pull/9528](https://togithub.com/vimeo/psalm/pull/9528) - Fixed [#​9496](https://togithub.com/vimeo/psalm/issues/9496) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​kamil-tekiela](https://togithub.com/kamil-tekiela) in [https://github.com/vimeo/psalm/pull/9577](https://togithub.com/vimeo/psalm/pull/9577) - Fixed [#​9506](https://togithub.com/vimeo/psalm/issues/9506) by [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​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 [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9576](https://togithub.com/vimeo/psalm/pull/9576) #### New Contributors - [@​ZebulanStanphill](https://togithub.com/ZebulanStanphill) made their first contribution in [https://github.com/vimeo/psalm/pull/9486](https://togithub.com/vimeo/psalm/pull/9486) - [@​paoloconi96](https://togithub.com/paoloconi96) made their first contribution in [https://github.com/vimeo/psalm/pull/9528](https://togithub.com/vimeo/psalm/pull/9528) - [@​MoonE](https://togithub.com/MoonE) made their first contribution in [https://github.com/vimeo/psalm/pull/9555](https://togithub.com/vimeo/psalm/pull/9555) - [@​danielbeardsley](https://togithub.com/danielbeardsley) made their first contribution in [https://github.com/vimeo/psalm/pull/9568](https://togithub.com/vimeo/psalm/pull/9568) - [@​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**: https://github.com/vimeo/psalm/compare/5.8.0...5.9.0 ### [`v5.8.0`](https://togithub.com/vimeo/psalm/releases/tag/5.8.0) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.7...5.8.0) #### What's Changed ##### Features - FFI stubs improvement by [@​UlrichEckhardt](https://togithub.com/UlrichEckhardt) in [https://github.com/vimeo/psalm/pull/9368](https://togithub.com/vimeo/psalm/pull/9368) - Support sizeof alias of count by [@​jsanahuja](https://togithub.com/jsanahuja) in [https://github.com/vimeo/psalm/pull/9375](https://togithub.com/vimeo/psalm/pull/9375) - Iterated array in `foreach` body is never empty by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9380](https://togithub.com/vimeo/psalm/pull/9380) - Process `@psalm-api` tags on methods by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9383](https://togithub.com/vimeo/psalm/pull/9383) - Enforce literal string length limit by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9381](https://togithub.com/vimeo/psalm/pull/9381) - \[ibm_db2] Improve return type inference for `db2_autocommit()` by [@​phansys](https://togithub.com/phansys) in [https://github.com/vimeo/psalm/pull/9310](https://togithub.com/vimeo/psalm/pull/9310) - Only disable grpc extension if it is not properly configured by [@​gndk](https://togithub.com/gndk) in [https://github.com/vimeo/psalm/pull/9398](https://togithub.com/vimeo/psalm/pull/9398) - PHP 8.3 dictionary by [@​lptn](https://togithub.com/lptn) in [https://github.com/vimeo/psalm/pull/9366](https://togithub.com/vimeo/psalm/pull/9366) - concat should never remove non empty non falsy from string [#​9411](https://togithub.com/vimeo/psalm/issues/9411) by [@​EgorBakulin](https://togithub.com/EgorBakulin) in [https://github.com/vimeo/psalm/pull/9422](https://togithub.com/vimeo/psalm/pull/9422) - Forbid private final methods by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9442](https://togithub.com/vimeo/psalm/pull/9442) - Support for `readonly` classes by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9444](https://togithub.com/vimeo/psalm/pull/9444) - Consider new HTML entity en/decode function defaults since PHP 8.1 by [@​pereorga](https://togithub.com/pereorga) in [https://github.com/vimeo/psalm/pull/9471](https://togithub.com/vimeo/psalm/pull/9471) ##### Fixes - Instances of `object` returned by `db2_*()` functions are always instances of `stdClass` by [@​phansys](https://togithub.com/phansys) in [https://github.com/vimeo/psalm/pull/9369](https://togithub.com/vimeo/psalm/pull/9369) - Simplify and fix Shepherd to support custom endpoints for reporting by [@​lptn](https://togithub.com/lptn) in [https://github.com/vimeo/psalm/pull/9296](https://togithub.com/vimeo/psalm/pull/9296) - Fixes [#​9384](https://togithub.com/vimeo/psalm/issues/9384) (Wrong type for variable checked with is_long) by [@​ygottschalk](https://togithub.com/ygottschalk) in [https://github.com/vimeo/psalm/pull/9385](https://togithub.com/vimeo/psalm/pull/9385) - Update Phar callmaps by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9389](https://togithub.com/vimeo/psalm/pull/9389) - Correctly process use aliases in `@psalm-scope-this` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9390](https://togithub.com/vimeo/psalm/pull/9390) - Allow `array` as magic method name by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9391](https://togithub.com/vimeo/psalm/pull/9391) - Consistently report docblock issues on all classlikes by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9392](https://togithub.com/vimeo/psalm/pull/9392) - \[ibm_db2] Update some return types in callmaps by [@​phansys](https://togithub.com/phansys) in [https://github.com/vimeo/psalm/pull/9387](https://togithub.com/vimeo/psalm/pull/9387) - Preserve PossiblyUndefinedVariable when fixing UnusedVariable by [@​edsrzf](https://togithub.com/edsrzf) in [https://github.com/vimeo/psalm/pull/9400](https://togithub.com/vimeo/psalm/pull/9400) - \[ibm_db2] Update callmaps by [@​phansys](https://togithub.com/phansys) in [https://github.com/vimeo/psalm/pull/9404](https://togithub.com/vimeo/psalm/pull/9404) - Fix [#​9401](https://togithub.com/vimeo/psalm/issues/9401) by [@​ptomulik](https://togithub.com/ptomulik) in [https://github.com/vimeo/psalm/pull/9418](https://togithub.com/vimeo/psalm/pull/9418) - Fix remaining spl and iterator callmaps by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9420](https://togithub.com/vimeo/psalm/pull/9420) - An attempt to fix [#​4460](https://togithub.com/vimeo/psalm/issues/4460) by [@​ptomulik](https://togithub.com/ptomulik) in [https://github.com/vimeo/psalm/pull/9415](https://togithub.com/vimeo/psalm/pull/9415) - `array_pop` is impure by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9434](https://togithub.com/vimeo/psalm/pull/9434) - Revert "`array_pop` is impure" by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9435](https://togithub.com/vimeo/psalm/pull/9435) - Update pack() stub by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9438](https://togithub.com/vimeo/psalm/pull/9438) - Merge param descriptions when adding or updating types by [@​aboyton](https://togithub.com/aboyton) in [https://github.com/vimeo/psalm/pull/9441](https://togithub.com/vimeo/psalm/pull/9441) - PHP 8.2 attributes moved to 8.2 stub by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9445](https://togithub.com/vimeo/psalm/pull/9445) - Improce enum case reconciliation by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9457](https://togithub.com/vimeo/psalm/pull/9457) - Do not strip the last `)` bracket when parsing phpdoc type aliases. by [@​pvandommelen](https://togithub.com/pvandommelen) in [https://github.com/vimeo/psalm/pull/9458](https://togithub.com/vimeo/psalm/pull/9458) - Replace package-versions with Composer 2 APIs by [@​Jean85](https://togithub.com/Jean85) in [https://github.com/vimeo/psalm/pull/9459](https://togithub.com/vimeo/psalm/pull/9459) - Fix DOM callmaps by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9460](https://togithub.com/vimeo/psalm/pull/9460) - Don't crash on unary minus overflow by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9466](https://togithub.com/vimeo/psalm/pull/9466) - Fix remaining intl callmaps by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9473](https://togithub.com/vimeo/psalm/pull/9473) ##### Internal changes - Convert callmap associative-array types into proper array types by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9362](https://togithub.com/vimeo/psalm/pull/9362) - Callmap is always non-empty by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9405](https://togithub.com/vimeo/psalm/pull/9405) - Reorganize pushes to `psalm/phar` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9399](https://togithub.com/vimeo/psalm/pull/9399) - Do not display ext deprecation note when `disableExtensions` used by [@​lptn](https://togithub.com/lptn) in [https://github.com/vimeo/psalm/pull/9291](https://togithub.com/vimeo/psalm/pull/9291) - Require ` #### What's Changed ##### Fixes - Don't crash on empty `jit_buffer_size` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9397](https://togithub.com/vimeo/psalm/pull/9397) **Full Changelog**: https://github.com/vimeo/psalm/compare/5.7.6...5.7.7 ### [`v5.7.6`](https://togithub.com/vimeo/psalm/releases/tag/5.7.6) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.5...5.7.6) #### What's Changed ##### Fixes - Disable `opcache.preload` if it's enabled by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9388](https://togithub.com/vimeo/psalm/pull/9388) **Full Changelog**: https://github.com/vimeo/psalm/compare/5.7.5...5.7.6 ### [`v5.7.5`](https://togithub.com/vimeo/psalm/releases/tag/5.7.5) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.4...5.7.5) #### What's Changed ##### Fixes - Workaround opcache issue (fixes [#​9363](https://togithub.com/vimeo/psalm/issues/9363)) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/9364](https://togithub.com/vimeo/psalm/pull/9364) **Full Changelog**: https://github.com/vimeo/psalm/compare/5.7.4...5.7.5 ### [`v5.7.4`](https://togithub.com/vimeo/psalm/releases/tag/5.7.4) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.3...5.7.4) #### What's Changed ##### Fixes - Include setrawcookie as an impure function by [@​edsrzf](https://togithub.com/edsrzf) in [https://github.com/vimeo/psalm/pull/9356](https://togithub.com/vimeo/psalm/pull/9356) - Fix several spl callmap methods by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9360](https://togithub.com/vimeo/psalm/pull/9360) - Revert "[#​7387](https://togithub.com/vimeo/psalm/issues/7387) Add asserting non-empty-string by strlen" by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9358](https://togithub.com/vimeo/psalm/pull/9358) **Full Changelog**: https://github.com/vimeo/psalm/compare/5.7.3...5.7.4 ### [`v5.7.3`](https://togithub.com/vimeo/psalm/releases/tag/5.7.3) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.2...5.7.3) #### What's Changed ##### Fixes - Replace use of DOMParentNode::append() with appendChild() by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9354](https://togithub.com/vimeo/psalm/pull/9354) **Full Changelog**: https://github.com/vimeo/psalm/compare/5.7.2...5.7.3 ### [`v5.7.2`](https://togithub.com/vimeo/psalm/releases/tag/5.7.2) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.1...5.7.2) #### What's Changed ##### Fixes - fix (DateTime|DateTimeImmutable)::modify() return types by [@​DaDeather](https://togithub.com/DaDeather) in [https://github.com/vimeo/psalm/pull/9172](https://togithub.com/vimeo/psalm/pull/9172) - Workaround arm64 opcache bug (fixes [#​9350](https://togithub.com/vimeo/psalm/issues/9350)) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/9351](https://togithub.com/vimeo/psalm/pull/9351) #### New Contributors - [@​DaDeather](https://togithub.com/DaDeather) made their first contribution in [https://github.com/vimeo/psalm/pull/9172](https://togithub.com/vimeo/psalm/pull/9172) **Full Changelog**: https://github.com/vimeo/psalm/compare/5.7.1...5.7.2 ### [`v5.7.1`](https://togithub.com/vimeo/psalm/releases/tag/5.7.1) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.7.0...5.7.1) #### What's Changed ##### Fixes - Always use 0x7FFEBFFF opcache optimization level (fixes [#​9340](https://togithub.com/vimeo/psalm/issues/9340)) by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/9342](https://togithub.com/vimeo/psalm/pull/9342) - Fix `PsalmRestarter::restart()` signature by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9347](https://togithub.com/vimeo/psalm/pull/9347) **Full Changelog**: https://github.com/vimeo/psalm/compare/5.7.0...5.7.1 ### [`v5.7.0`](https://togithub.com/vimeo/psalm/releases/tag/5.7.0) [Compare Source](https://togithub.com/vimeo/psalm/compare/5.6.0...5.7.0) #### What's Changed ##### Deprecations - Deprecate `FunctionLikeStorage::$unused_docblock_params` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9312](https://togithub.com/vimeo/psalm/pull/9312) ##### Features - [#​7387](https://togithub.com/vimeo/psalm/issues/7387) Add asserting non-empty-string by strlen by [@​LeoVie](https://togithub.com/LeoVie) in [https://github.com/vimeo/psalm/pull/8761](https://togithub.com/vimeo/psalm/pull/8761) - Forbid implementing some interfaces by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9272](https://togithub.com/vimeo/psalm/pull/9272) - Added issue type and psalm.dev link to Emacs report by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9299](https://togithub.com/vimeo/psalm/pull/9299) - Allow `@var` annotations on global vars by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9301](https://togithub.com/vimeo/psalm/pull/9301) - Allow suppressing `MissingThrowsDocblock` for individual exceptions by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9303](https://togithub.com/vimeo/psalm/pull/9303) - Flag direct constructor calls by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9311](https://togithub.com/vimeo/psalm/pull/9311) - Flag docblock parameters that have no counterparts in function signature by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9314](https://togithub.com/vimeo/psalm/pull/9314) - Forbid non-null defaults for callable parameters by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9316](https://togithub.com/vimeo/psalm/pull/9316) ##### Fixes - cdata in baseline by [@​jack-worman](https://togithub.com/jack-worman) in [https://github.com/vimeo/psalm/pull/9184](https://togithub.com/vimeo/psalm/pull/9184) - Resolve class constants within PhpStorm metadata by [@​shvlv](https://togithub.com/shvlv) in [https://github.com/vimeo/psalm/pull/9173](https://togithub.com/vimeo/psalm/pull/9173) - Detect duplicate keys in array shapes by [@​danog](https://togithub.com/danog) in [https://github.com/vimeo/psalm/pull/9177](https://togithub.com/vimeo/psalm/pull/9177) - Fix xmlrpc callmap functions that were dropped in PHP 8.0 by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9212](https://togithub.com/vimeo/psalm/pull/9212) - fix `didChange` event in LSP by [@​ging-dev](https://togithub.com/ging-dev) in [https://github.com/vimeo/psalm/pull/9207](https://togithub.com/vimeo/psalm/pull/9207) - Added [@​psalm-pure](https://togithub.com/psalm-pure) to filter_var() by [@​mmcev106](https://togithub.com/mmcev106) in [https://github.com/vimeo/psalm/pull/9170](https://togithub.com/vimeo/psalm/pull/9170) - Add DatePeriod::INCLUDE_END_DATE option by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9220](https://togithub.com/vimeo/psalm/pull/9220) - Add more specific return for class-implements by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9228](https://togithub.com/vimeo/psalm/pull/9228) - Convert callmaps resource types by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9227](https://togithub.com/vimeo/psalm/pull/9227) - Use "numeric-string" type for some MySQLi properties by [@​phansys](https://togithub.com/phansys) in [https://github.com/vimeo/psalm/pull/9226](https://togithub.com/vimeo/psalm/pull/9226) - find_unused_code CLI arg should not be overwritten by config file by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/9235](https://togithub.com/vimeo/psalm/pull/9235) - Fix divide by a floating point zero by [@​aboyton](https://togithub.com/aboyton) in [https://github.com/vimeo/psalm/pull/9247](https://togithub.com/vimeo/psalm/pull/9247) - Don't crash on unknown exceptions in `@throws` docblock by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9250](https://togithub.com/vimeo/psalm/pull/9250) - Fix Spoofchecker callmaps by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9256](https://togithub.com/vimeo/psalm/pull/9256) - Fix crashes with invalid `@psalm-check-type` syntax by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9257](https://togithub.com/vimeo/psalm/pull/9257) - Fix crash when int range boundary is overflown by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9260](https://togithub.com/vimeo/psalm/pull/9260) - Drop abandoned mcve m\_ functions by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9266](https://togithub.com/vimeo/psalm/pull/9266) - Fix several callmap fuction signatures by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9264](https://togithub.com/vimeo/psalm/pull/9264) - fix lstat bug cache directory race condition by [@​kkmuffme](https://togithub.com/kkmuffme) in [https://github.com/vimeo/psalm/pull/9253](https://togithub.com/vimeo/psalm/pull/9253) - Drop removed xsl callmap functions by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9269](https://togithub.com/vimeo/psalm/pull/9269) - Drop abandoned maxdb callmap functions by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9270](https://togithub.com/vimeo/psalm/pull/9270) - Drop abandoned newt callmap functions by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9271](https://togithub.com/vimeo/psalm/pull/9271) - Update callmap types for php 8.2 by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9273](https://togithub.com/vimeo/psalm/pull/9273) - Fix opcache being loaded twice by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9265](https://togithub.com/vimeo/psalm/pull/9265) - Forbid overriding built-in enum methods by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9280](https://togithub.com/vimeo/psalm/pull/9280) - Fix remaining callmap functions by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9278](https://togithub.com/vimeo/psalm/pull/9278) - Add curl stubs to prevent crashes by [@​kamil-tekiela](https://togithub.com/kamil-tekiela) in [https://github.com/vimeo/psalm/pull/9283](https://togithub.com/vimeo/psalm/pull/9283) - Compare enum cases thoroughly by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9286](https://togithub.com/vimeo/psalm/pull/9286) - Drop abandoned ncurses extension by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9293](https://togithub.com/vimeo/psalm/pull/9293) - Drop abandoned cairo extension by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9292](https://togithub.com/vimeo/psalm/pull/9292) - Emit issues for calls to `is_a(string, class-string, false)` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9287](https://togithub.com/vimeo/psalm/pull/9287) - Made `WeakReference` mutable by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9297](https://togithub.com/vimeo/psalm/pull/9297) - Flag class constant references where LHS is ordinary string by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9302](https://togithub.com/vimeo/psalm/pull/9302) - Fixed issue message for missing `@psalm-external-mutation-free` by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9304](https://togithub.com/vimeo/psalm/pull/9304) - Fix memcached extension callmap by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9309](https://togithub.com/vimeo/psalm/pull/9309) - Fix strpos stub return type by [@​othercorey](https://togithub.com/othercorey) in [https://github.com/vimeo/psalm/pull/9322](https://togithub.com/vimeo/psalm/pull/9322) - Propagate phantom classes to closure context by [@​weirdan](https://togithub.com/weirdan) in [https://github.com/vimeo/psalm/pull/9329](https://togithub.com/vimeo/psalm/pull/9329) - Fix language server first-class callable crashes by [@​edsrzf](https://togithub.com/edsrzf) in [https://github.com/vimeo/psalm/pull/9336](https://togithub.com/vimeo/psalm/pull/9336) - Forbid first-class callables in `new` by [@​weirdan](https:/

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 information about the use of Renovate Bot within Laminas.