laminas-diagnostics
laminas-diagnostics copied to clipboard
Update dependency vimeo/psalm to v5 - abandoned
This PR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
vimeo/psalm | require-dev | major | ^4.29.0 -> ^5.0.0 |
Release Notes
vimeo/psalm
v5.2.0
What's Changed
Features
- Add missing ZipArchive methods to CallMap (PHP 8.2) by @lptn in https://github.com/vimeo/psalm/pull/8869
- Add libxml_get_external_entity_loader to CallMap (PHP 8.2) by @lptn in https://github.com/vimeo/psalm/pull/8871
- Allow
true
in native types by @weirdan in https://github.com/vimeo/psalm/pull/8875 - Add some missing sodium functions to CallMap by @lptn in https://github.com/vimeo/psalm/pull/8870
- Forbid most magic methods on enums by @weirdan in https://github.com/vimeo/psalm/pull/8890
Fixes
- Fix crash when using phantom methods as first-class callable by @weirdan in https://github.com/vimeo/psalm/pull/8814
- Don't crash when accessing immutable static property by @weirdan in https://github.com/vimeo/psalm/pull/8816
- Prevent crashes on conditional traits by @weirdan in https://github.com/vimeo/psalm/pull/8817
- Update dictionaries: use more specific boolean types by @lptn in https://github.com/vimeo/psalm/pull/8823
- Fix return types for date functions in callmap by @othercorey in https://github.com/vimeo/psalm/pull/8825
- Improve source autodiscovery failure message by @weirdan in https://github.com/vimeo/psalm/pull/8827
- fix missing break handling in loop by @orklah in https://github.com/vimeo/psalm/pull/8828
- capitalize properties by @orklah in https://github.com/vimeo/psalm/pull/8831
- mysqli_execute_query accepts any type of param by @kamil-tekiela in https://github.com/vimeo/psalm/pull/8832
- Fix parsing of class string of unions by @danog in https://github.com/vimeo/psalm/pull/8834
- Extend impure_functions list by socket functions by @lptn in https://github.com/vimeo/psalm/pull/8835
- Allowed taints to pass through urlencode() by @mmcev106 in https://github.com/vimeo/psalm/pull/8848
- Precise count range by @VincentLanglet in https://github.com/vimeo/psalm/pull/8861
- Fixed dynamic property on LanguageServer by @weirdan in https://github.com/vimeo/psalm/pull/8876
- remove file_get_contents that was incorrectly put in v5 by @kkmuffme in https://github.com/vimeo/psalm/pull/8854
- Prevent duplicate (Possibly)UnusedMethod/(Possibly)UnusedProperty by @weirdan in https://github.com/vimeo/psalm/pull/8883
Internal changes
- Bump fkirc/skip-duplicate-actions from 4.0.0 to 5.3.0 by @dependabot in https://github.com/vimeo/psalm/pull/8837
- Integrate FidryCpuCoreCounter by @theofidry in https://github.com/vimeo/psalm/pull/8833
- Upgrade CpuCoreCounter by @theofidry in https://github.com/vimeo/psalm/pull/8882
Typos
- Fixed typo by @jrcii in https://github.com/vimeo/psalm/pull/8864
New Contributors
- @jrcii made their first contribution in https://github.com/vimeo/psalm/pull/8864
Full Changelog: https://github.com/vimeo/psalm/compare/5.1.0...5.2.0
v5.1.0
What's Changed
Deprecations
- Defer cache directory creation until it's needed by @weirdan in https://github.com/vimeo/psalm/pull/8789
Features
- check "never" return type more strictly by @kkmuffme in https://github.com/vimeo/psalm/pull/8624
- Report by issues grouped by level and type by @bdsl in https://github.com/vimeo/psalm/pull/8774
Fixes
- Ignore non-existing classes during initial scan of intersection types by @danog in https://github.com/vimeo/psalm/pull/8794
- handle true/false reconciliation consistently, fix #8795 by @orklah in https://github.com/vimeo/psalm/pull/8796
- fix sealed combination by @orklah in https://github.com/vimeo/psalm/pull/8798
- Fix #8806 by @danog in https://github.com/vimeo/psalm/pull/8809
Docs
- Update installation.md -
5
requires PHP >= 7.4 by @sasezaki in https://github.com/vimeo/psalm/pull/8805 - Adds documentation for the
forbiddenFunctions
config option by @p810 in https://github.com/vimeo/psalm/pull/8808
New Contributors
- @p810 made their first contribution in https://github.com/vimeo/psalm/pull/8808
Full Changelog: https://github.com/vimeo/psalm/compare/5.0.0...5.1.0
v5.0.0
: Psalm 5
Welcome to Psalm 5!
There's an accompanying post on psalm.dev, written by @muglug & the current maintainers of Psalm.
- read in English
- read in Ukrainian (translated by @weirdan)
- read in French (translated by @orklah)
- read in Italian (translated by @danog)
What's Changed
Removed
- Php version consistency by @orklah in https://github.com/vimeo/psalm/pull/6898
- Removed TEmpty by @orklah in https://github.com/vimeo/psalm/pull/6662
- remove support for allowPhpstormGenerics by @orklah in https://github.com/vimeo/psalm/pull/6705
- remove exitFunctions for Psalm5 by @orklah in https://github.com/vimeo/psalm/pull/6808
- Drop legacy procedural files by @weirdan in https://github.com/vimeo/psalm/pull/7270
- Dropped removed config entries by @weirdan in https://github.com/vimeo/psalm/pull/7272
- Dropped legacy plugin API by @weirdan in https://github.com/vimeo/psalm/pull/7275
- Dropped deprecated
CodeIssue
methods by @weirdan in https://github.com/vimeo/psalm/pull/7276 - Dropped deprecated
DocComment
methods by @weirdan in https://github.com/vimeo/psalm/pull/7278 - Dropped
THtmlEscapedString
by @weirdan in https://github.com/vimeo/psalm/pull/7285 - Drop orphaned token by @weirdan in https://github.com/vimeo/psalm/pull/7290
- Bump PHP version to 7.4 by @weirdan in https://github.com/vimeo/psalm/pull/7291
- Remove forbidEcho by @orklah in https://github.com/vimeo/psalm/pull/7420
- remove TPositiveInt by @orklah in https://github.com/vimeo/psalm/pull/7473
- Lock event classes by @weirdan in https://github.com/vimeo/psalm/pull/7491
- [TASK] Add AfterFunctionLikeAnalysisEvent::getFunctionlikeStorage by @ohader in https://github.com/vimeo/psalm/pull/7526
- Finalize (and internalize) more classes by @weirdan in https://github.com/vimeo/psalm/pull/7578
- Finalize issues by @weirdan in https://github.com/vimeo/psalm/pull/7595
- Finalize storages by @weirdan in https://github.com/vimeo/psalm/pull/7597
- Finalize virtual nodes by @weirdan in https://github.com/vimeo/psalm/pull/7598
- Finalize types nodes by @weirdan in https://github.com/vimeo/psalm/pull/7623
- remove totallyTyped by @orklah in https://github.com/vimeo/psalm/pull/7651
Features
- Support PHPStan notation for empty-arrays by @orklah in https://github.com/vimeo/psalm/pull/7312
- Try to provide literal int types when possible (fixes #6966) by @ricardoboss in https://github.com/vimeo/psalm/pull/7071
- Allow config to define thread count by @M1ke in https://github.com/vimeo/psalm/pull/7442
- Contextual type inference for high order function arg by @klimick in https://github.com/vimeo/psalm/pull/7417
- feat: Handle native intersection types by @petewalker in https://github.com/vimeo/psalm/pull/7454
- improve support for enum_exists by @orklah in https://github.com/vimeo/psalm/pull/7404
- Support type annotations for class consts (fixes #942). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7123
- Improve class constant static analysis by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7154
- Add support for references and improve UnusedVariable checks (fixes #7254). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7339
- InternalTaintSinkMap: Add
getimagesize
as SSRF sink by @mal-tee in https://github.com/vimeo/psalm/pull/7504 - Enable extensions based on composer.json instead of those loaded at runtime (fixes #5482). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7107
- Dynamic function storage provider by @klimick in https://github.com/vimeo/psalm/pull/7471
- ❗Allow plugins to modify Config::$fileExtensions early by @ohader in https://github.com/vimeo/psalm/pull/6789
- [FEATURE] Introduce BeforeStatementAnalysisEvent by @ohader in https://github.com/vimeo/psalm/pull/7535
- [FEATURE] Allow to intercept adding issue in IssueBuffer by @ohader in https://github.com/vimeo/psalm/pull/7530
- Ensure all template parameters are specified in all extended|used classlikes by @danog in https://github.com/vimeo/psalm/pull/7492
- feat: make key-of/value-of usable with non-const arrays by @Patrick-Remy in https://github.com/vimeo/psalm/pull/7396
- More class const improvements. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7666
- Add
@psalm-check-type
and@psalm-check-type-exact
. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7686 - feat(types): add properties-of<T> type by @Patrick-Remy in https://github.com/vimeo/psalm/pull/7359
- Invert meaning of dupe_key by @danog in https://github.com/vimeo/psalm/pull/7475
- Feature: allow non-union assertion types by @boesing in https://github.com/vimeo/psalm/pull/8077
- Allow
value-of
to work with backed enums (fixes #7874). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/8283 - Add capability to use inclusion files in a different directory (fix) by @gmessier in https://github.com/vimeo/psalm/pull/8402
- Add dirname return type provider by @mcaskill in https://github.com/vimeo/psalm/pull/8611
- Add stubs for ext-ffi by @LeSuisse in https://github.com/vimeo/psalm/pull/8614
- add basename return type provider by @kkmuffme in https://github.com/vimeo/psalm/pull/8620
- Add stubs for ext-random (PHP 8.2) by @lptn in https://github.com/vimeo/psalm/pull/8649
- Add support for strict arrays, fix type alias intersection, fix array_is_list assertion on non-lists by @danog in https://github.com/vimeo/psalm/pull/8395
- Add support for phpstan-param-out by @VincentLanglet in https://github.com/vimeo/psalm/pull/8678
- add --no-progress to psalter by @kkmuffme in https://github.com/vimeo/psalm/pull/8709
- Allow
new
on objects by @weirdan in https://github.com/vimeo/psalm/pull/8723
Fixes
- Use InvalidScalarArgument only when we can be sure PHP attempts coercion by @muglug in https://github.com/vimeo/psalm/pull/7188
- Trim baseline selection by @weirdan in https://github.com/vimeo/psalm/pull/7279
- Prevent NoValue when there is no phpdoc by @orklah in https://github.com/vimeo/psalm/pull/7399
- create a return type provider for mb_internal_encoding by @orklah in https://github.com/vimeo/psalm/pull/7437
- Array key exists assert both ways by @orklah in https://github.com/vimeo/psalm/pull/7449
- [TypeProvider] Provide argument types during FunctionParamsProviderEvent by @veewee in https://github.com/vimeo/psalm/pull/7394
- Fix stub parent class not loaded. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7110
- fix code where the offset was wrong by @orklah in https://github.com/vimeo/psalm/pull/7463
- reconcile two arrays by intersecting them by @orklah in https://github.com/vimeo/psalm/pull/7470
- fix error with 0 being considered positive by @orklah in https://github.com/vimeo/psalm/pull/7487
- Fix crash due to unresolvable constant. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7490
- Fix failing case for const analyzer. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7503
- Fix side effect when loading config by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7506
- improve literal inequality with ranges and rework GreaterThan/LessThan assertions by @orklah in https://github.com/vimeo/psalm/pull/7511
- Remove mic-drop hack from if analysis by @muglug in https://github.com/vimeo/psalm/pull/7484
- fix some iterator stubs by @orklah in https://github.com/vimeo/psalm/pull/6970
- Fix empty array by @orklah in https://github.com/vimeo/psalm/pull/7517
- add back empty keyword by @orklah in https://github.com/vimeo/psalm/pull/7533
- Fix crash when assigning reference to unknown array offset by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7583
- Fix #6683 by improving simplification of CNF by @muglug in https://github.com/vimeo/psalm/pull/7631
- Enum collapsing by @orklah in https://github.com/vimeo/psalm/pull/7655
- Enum assertions by @orklah in https://github.com/vimeo/psalm/pull/7662
- Consistency for empty reconciliations by @orklah in https://github.com/vimeo/psalm/pull/7663
- fix count with match on arrays by @orklah in https://github.com/vimeo/psalm/pull/7665
- Prevent unnecessary filter_var() warnings on primitive types by @mmcev106 in https://github.com/vimeo/psalm/pull/7677
- Improve bool to int casting. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7696
- Fix issues with int range unpacking and with min/max by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7699
- Fix some minor issues with references. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7684
- restore callable-string Id by @orklah in https://github.com/vimeo/psalm/pull/7787
- fix refining lowercase string and non-empty-string together by @orklah in https://github.com/vimeo/psalm/pull/7844
- Remove
@psalm-generator-return
annotation by @jrmajor in https://github.com/vimeo/psalm/pull/7853 - Resolve #7855 remove false from return type, in php8.0 and further ve… by @dkemper in https://github.com/vimeo/psalm/pull/7859
- Fix class const issue when using floats declared in future consts (fixes #7973). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7992
- Improve handling of unsupported references (fixes #8018). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/8022
- Bring back disableVarParsing option by @danog in https://github.com/vimeo/psalm/pull/8058
- Skip native classlike aliases by @danog in https://github.com/vimeo/psalm/pull/8080
- Fix nasty parameter storage corruption bug by @danog in https://github.com/vimeo/psalm/pull/8098
- Change return type of createFromInterface() on DateTime and DateTimeImmutable to static by @bitwise-operators in https://github.com/vimeo/psalm/pull/8102
- Update DOM stub and add separate SimpleXML stub by @AndrolGenhald in https://github.com/vimeo/psalm/pull/8140
- Track taints in static properties by @muglug in https://github.com/vimeo/psalm/pull/8150
- Fix type reconciliation breaking Context::$references_in_scope (fixes #8289). by @AndrolGenhald in https://github.com/vimeo/psalm/pull/8306
- Update
CachingIterator::getCache
stub. by @drupol in https://github.com/vimeo/psalm/pull/8282 - Fix various array spread issues. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/8044
- Fix union assertions by @danog in https://github.com/vimeo/psalm/pull/8324
- Add BitwiseNot and BooleanNot operators to SimpleTypeInferer by @bitwise-operators in https://github.com/vimeo/psalm/pull/8360
- fix: Fix template resolution of complex extended types by @danog in https://github.com/vimeo/psalm/pull/8418
- Fix mixed type hole when sending Foo
to Foo by @muglug in https://github.com/vimeo/psalm/pull/8481 - Fix type widening when
Any
assertion is used by @pvandommelen in https://github.com/vimeo/psalm/pull/8494 - Fix callmap for DOMNode methods by @tvdijen in https://github.com/vimeo/psalm/pull/8566
- Fix #8562 by @danog in https://github.com/vimeo/psalm/pull/8571
- Fix #8569 by @danog in https://github.com/vimeo/psalm/pull/8570
- Fix #6983 #8564 by @danog in https://github.com/vimeo/psalm/pull/8578
- Fix template param for SplDoublyLinkedList by @ADmad in https://github.com/vimeo/psalm/pull/8579
- Fix #8560 by @danog in https://github.com/vimeo/psalm/pull/8586
- keep literal string for simple str_replace by @kkmuffme in https://github.com/vimeo/psalm/pull/8619
- Mark hash_update functions as impure by @aboks in https://github.com/vimeo/psalm/pull/8658
- Fix #8664 by @danog in https://github.com/vimeo/psalm/pull/8665
- Fix #8669 by @danog in https://github.com/vimeo/psalm/pull/8670
- Fix return type of ReflectionExtension::getVersion by @come-nc in https://github.com/vimeo/psalm/pull/8655
- Making
json_encode()
always produce anon-empty-string
, when successful by @Ocramius in https://github.com/vimeo/psalm/pull/8681 - Emit
DeprecatedInterface
when interface is referenced in a generic by @weirdan in https://github.com/vimeo/psalm/pull/8687 - Prevent array{a: Foo} going cleanly into array<Foo> by @muglug in https://github.com/vimeo/psalm/pull/8691
- Allow enum cases to reference constants by @weirdan in https://github.com/vimeo/psalm/pull/8694
- Mark inferred mutation-free constructor as such by @weirdan in https://github.com/vimeo/psalm/pull/8692
- Make
stringable-object
equivalent toStringable
by @weirdan in https://github.com/vimeo/psalm/pull/8688 - Flag invalid enum case value types by @weirdan in https://github.com/vimeo/psalm/pull/8693
- Add extra types to Memcache::getExtendedStats and Memcached::getStats by @bram123 in https://github.com/vimeo/psalm/pull/8700
- Make array shapes strict by default by @muglug in https://github.com/vimeo/psalm/pull/8701
- Add support for type aliases in @psalm-assert(-*) annotations by @annervisser in https://github.com/vimeo/psalm/pull/8705
- Fix DateTimeZone::listAbbreviations return type by @franmomu in https://github.com/vimeo/psalm/pull/8717
- Reject
@psalm-consistent-constructor
in function docblocks by @weirdan in https://github.com/vimeo/psalm/pull/8713 - Allow using imported types in other types within the same file by @annervisser in https://github.com/vimeo/psalm/pull/8708
- Argument 1 of curl_unescape by @kamil-tekiela in https://github.com/vimeo/psalm/pull/8730
- Allow parameter types to be contained by a class template type by @danog in https://github.com/vimeo/psalm/pull/8731
- Fix dictionary for strip_tags by @lptn in https://github.com/vimeo/psalm/pull/8729
- Fix #8735: IntlDateFormatter CallMaps. by @niconoe- in https://github.com/vimeo/psalm/pull/8739
- Fix #8748 by @danog in https://github.com/vimeo/psalm/pull/8749
- Fix #8745 by @orklah in https://github.com/vimeo/psalm/pull/8753
- Simplify assertions generated by an array_key_exists check by @muglug in https://github.com/vimeo/psalm/pull/8763
- Suppress errors when validation regexps by @Chi-teck in https://github.com/vimeo/psalm/pull/8766
- Upgrade
humbug/box
by @weirdan in https://github.com/vimeo/psalm/pull/8770 - Replace all references to static variables when moving class by @weirdan in https://github.com/vimeo/psalm/pull/8780
- Variables should outlive namespaces by @weirdan in https://github.com/vimeo/psalm/pull/8779
- Check runtime requirements by @weirdan in https://github.com/vimeo/psalm/pull/8782
- Fix crashes when XML report is used on PHP 8.1 by @weirdan in https://github.com/vimeo/psalm/pull/8788
Docs
- Dropped
html-escaped-string
docs by @weirdan in https://github.com/vimeo/psalm/pull/7281 - Document BC breaks in #7358 by @weirdan in https://github.com/vimeo/psalm/pull/7360
- Added documentation for baseline files by @ricardoboss in https://github.com/vimeo/psalm/pull/7429
- Fix documentation for
config. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7564 - Fix bullet indentation in documentation by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7565
- doc about property initialization by @orklah in https://github.com/vimeo/psalm/pull/7593
- Fix issue documentation links. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7687
- Improve documentation for InvalidGlobal to explain that it's sometimes valid by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7693
- Fix int-mask-of doc example by @Seldaek in https://github.com/vimeo/psalm/pull/7812
- Documented the allowMissingFiles attribute for ignoreFiles by @mmcev106 in https://github.com/vimeo/psalm/pull/7867
- Fix a typo in MissingConstructor.md by @MidnightDesign in https://github.com/vimeo/psalm/pull/8023
- PossiblyNullArgument: Adding common problem cases and possible solutions by @ThomasLandauer in https://github.com/vimeo/psalm/pull/8135
- Adding note about referencedMethod by @ThomasLandauer in https://github.com/vimeo/psalm/pull/8408
- Docs: Fix minor php syntax issues in code examples by @pchapl in https://github.com/vimeo/psalm/pull/8601
- Update PossiblyFalseReference.md by @webmaster777 in https://github.com/vimeo/psalm/pull/8622
- Last-minute docufix by @danog in https://github.com/vimeo/psalm/pull/8685
- Fixing code formatting by @ThomasLandauer in https://github.com/vimeo/psalm/pull/8696
- Fix formatting by @danog in https://github.com/vimeo/psalm/pull/8689
- Removing list by @ThomasLandauer in https://github.com/vimeo/psalm/pull/8698
- improve docs and phrasing about NoValue by @orklah in https://github.com/vimeo/psalm/pull/8754
Internal changes
- Disable PSL (not yet compatible with Psalm 5) by @weirdan in https://github.com/vimeo/psalm/pull/7269
- Require
@internal
annotation onPsalm\Internal
symbols by @weirdan in https://github.com/vimeo/psalm/pull/7268 - Dropped deprecated
TypeAnalyzer
methods by @weirdan in https://github.com/vimeo/psalm/pull/7277 - Moved
getPsalmHelpText()
toCli\Psalm
by @weirdan in https://github.com/vimeo/psalm/pull/7280 - Replaced deprecated
webmozart/path-util
by @weirdan in https://github.com/vimeo/psalm/pull/7292 - Indent heredoc by @weirdan in https://github.com/vimeo/psalm/pull/7294
- Dropped dead code based on PHP_VERSION_ID by @weirdan in https://github.com/vimeo/psalm/pull/7300
- Apply literal number separator rector by @weirdan in https://github.com/vimeo/psalm/pull/7299
- Applied NullCoalescingOperatorRector by @weirdan in https://github.com/vimeo/psalm/pull/7302
- Applied JsonThrowOnErrorRector by @weirdan in https://github.com/vimeo/psalm/pull/7303
- Applied ListToArrayDestructRector by @weirdan in https://github.com/vimeo/psalm/pull/7310
- replace
array<never, never>
as a way to detect empty arrays by a dedicated method by @orklah in https://github.com/vimeo/psalm/pull/7313 - Applied ClosureToArrowFunctionRector by @weirdan in https://github.com/vimeo/psalm/pull/7315
- Simplify object comparison by @muglug in https://github.com/vimeo/psalm/pull/7340
- Rename was_static property to is_static to be more accurate by @muglug in https://github.com/vimeo/psalm/pull/7358
- Add explicit
resolveSymlinks
option for project directories by @dvz in https://github.com/vimeo/psalm/pull/7163 - Ensure that all entries in test arrays have explicit keys by @muglug in https://github.com/vimeo/psalm/pull/7386
- TCallableString is non-falsy (0 can't be a functionlike name) by @orklah in https://github.com/vimeo/psalm/pull/6521
- fix tests by @orklah in https://github.com/vimeo/psalm/pull/7446
- Use objects, not strings, for assertions by @muglug in https://github.com/vimeo/psalm/pull/7410
- Nitpicks by @orklah in https://github.com/vimeo/psalm/pull/7448
- refactor description of types in Atomic by @orklah in https://github.com/vimeo/psalm/pull/7409
- remove TPositiveInt usage for TIntRange by @orklah in https://github.com/vimeo/psalm/pull/7472
- Fix ExceptionCodeTest provider shape by @weirdan in https://github.com/vimeo/psalm/pull/7538
- Fix extension capitalization issue, add extensions to version message. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/7574
- Added backward compatibility check by @weirdan in https://github.com/vimeo/psalm/pull/7576
- Allow mocking final classes by @weirdan in https://github.com/vimeo/psalm/pull/7591
- Fixed composer branch-alias by @sasezaki in https://github.com/vimeo/psalm/pull/7594
- No longer require declare reflection-docblock:^5 as dependency by @sasezaki in https://github.com/vimeo/psalm/pull/7612
- Bump up phpunit,prophecy, and introduced phpspec/prophecy-phpunit by @sasezaki in https://github.com/vimeo/psalm/pull/7617
- consistency in AssertionFinder by @orklah in https://github.com/vimeo/psalm/pull/7622
- skip a test because we removed the feature for now by @orklah in https://github.com/vimeo/psalm/pull/7642
- Adjust for composer-require-checker check. by @sasezaki in https://github.com/vimeo/psalm/pull/7632
- Removed .scrutinizer.yml by @sasezaki in https://github.com/vimeo/psalm/pull/7652
- Use
array_fill_keys()
by @weirdan in https://github.com/vimeo/psalm/pull/7661 - Fixed PSR-4 warnings by @weirdan in https://github.com/vimeo/psalm/pull/7683
- chore: enable psl tests again by @azjezz in https://github.com/vimeo/psalm/pull/7596
- Make callbacks marked as static by @SCIF in https://github.com/vimeo/psalm/pull/6695
- Update master by @weirdan in https://github.com/vimeo/psalm/pull/8024
- Run method call prohibition analyzer when cloning by @danog in https://github.com/vimeo/psalm/pull/8155
- Avoid re-parsing template types by @danog in https://github.com/vimeo/psalm/pull/8181
- Fix namespace of test by @danog in https://github.com/vimeo/psalm/pull/8191
- update property map by @discordier in https://github.com/vimeo/psalm/pull/8000
- Merge 4.x to master. by @AndrolGenhald in https://github.com/vimeo/psalm/pull/8222
- Remove special handling for elseifs that breaks for else if by @muglug in https://github.com/vimeo/psalm/pull/8273
- Applied ArraySpreadInsteadOfArrayMergeRector (take 2) by @weirdan in https://github.com/vimeo/psalm/pull/8345
- Merge 4.x by @danog in https://github.com/vimeo/psalm/pull/8591
- Immutable readonly atomics by @danog in https://github.com/vimeo/psalm/pull/8525
- Immutable unions by @danog in https://github.com/vimeo/psalm/pull/8627
- Merge 4.x and documentation fixes by @danog in https://github.com/vimeo/psalm/pull/8684
- Fix PSL e2e tests by @danog in https://github.com/vimeo/psalm/pull/8697
- Cleanup documentation by @danog in https://github.com/vimeo/psalm/pull/8702
- safe delete cache directory files by @kkmuffme in https://github.com/vimeo/psalm/pull/8710
- improve cache flush debug info and code if cache disabled by @kkmuffme in https://github.com/vimeo/psalm/pull/8707
- Fix cache race condition due to missing repopulation of lock files cache by @kkmuffme in https://github.com/vimeo/psalm/pull/8714
- include CLI args in PHP errors to more quickly identify run issues in CI by @kkmuffme in https://github.com/vimeo/psalm/pull/8724
- Enforce arrow function formatting by @weirdan in https://github.com/vimeo/psalm/pull/8737
- Simplify issue sorting by @weirdan in https://github.com/vimeo/psalm/pull/8736
- Correct
Clause::$hash
type by @weirdan in https://github.com/vimeo/psalm/pull/8742 - Fix #8743 by @orklah in https://github.com/vimeo/psalm/pull/8751
- Switch from
phpspec/prophecy
tomockery/mockery
by @weirdan in https://github.com/vimeo/psalm/pull/8755 - Test CI on 8.2 by @orklah in https://github.com/vimeo/psalm/pull/8752
- Move mockery plugin to require-dev by @weirdan in https://github.com/vimeo/psalm/pull/8769
- bump lower dependencies by @orklah in https://github.com/vimeo/psalm/pull/8768
- Add diagnostic message when shape fields are missing by @muglug in https://github.com/vimeo/psalm/pull/8762
- Move mockery to require-dev too by @weirdan in https://github.com/vimeo/psalm/pull/8777
- Bump
slevomat/coding-standard
by @weirdan in https://github.com/vimeo/psalm/pull/8783
Typos
- fix mapped property type for DOMNode childNodes by @cristianobaptista in https://github.com/vimeo/psalm/pull/8577
- Fix typo by @zenahirsch in https://github.com/vimeo/psalm/pull/8605
- Cleanup outdated comment by @andrew-demb in https://github.com/vimeo/psalm/pull/8699
Other changes
- Address flaw in type reconciliation on array references by @ohader in https://github.com/vimeo/psalm/pull/8290
- Fix if propagation by @danog in https://github.com/vimeo/psalm/pull/8326
- Begin immutable refactoring by @danog in https://github.com/vimeo/psalm/pull/8143
- Fix properties-of on generic objects&intersections + immutable atomic refactoring by @danog in https://github.com/vimeo/psalm/pull/8442
- Immutable assertions by @danog in https://github.com/vimeo/psalm/pull/8443
New Contributors
- @petewalker made their first contribution in https://github.com/vimeo/psalm/pull/7454
- @mal-tee made their first contribution in https://github.com/vimeo/psalm/pull/7504
- @Seldaek made their first contribution in https://github.com/vimeo/psalm/pull/7812
- @dkemper made their first contribution in https://github.com/vimeo/psalm/pull/7859
- @discordier made their first contribution in https://github.com/vimeo/psalm/pull/8000
- @pvandommelen made their first contribution in https://github.com/vimeo/psalm/pull/8494
- @cristianobaptista made their first contribution in https://github.com/vimeo/psalm/pull/8577
- @pchapl made their first contribution in https://github.com/vimeo/psalm/pull/8601
- @zenahirsch made their first contribution in https://github.com/vimeo/psalm/pull/8605
- @mcaskill made their first contribution in https://github.com/vimeo/psalm/pull/8611
- @webmaster777 made their first contribution in https://github.com/vimeo/psalm/pull/8622
- @come-nc made their first contribution in https://github.com/vimeo/psalm/pull/8655
- @bram123 made their first contribution in https://github.com/vimeo/psalm/pull/8700
- @annervisser made their first contribution in https://github.com/vimeo/psalm/pull/8705
- @Chi-teck made their first contribution in https://github.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.
- [ ] If you want to rebase/retry this PR, check this box
Read more information about the use of Renovate Bot within Laminas.
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.
If existing subclasses extend the ctor, won't they also need to make this change?
__construct
is special: it's not considered by LSP rules :)
https://3v4l.org/hGPu0
<?php
interface A {}
interface B {}
class NeedsA {
function __construct(A $a) {}
}
class NeedsB extends NeedsA {
function __construct(B $b) {}
}
var_dump(new NeedsB(new class implements B {}));
__construct is special: it's not considered by LSP rules :)
🤯
PHP 8.2 failing puzzles me :thinking:
Seems like PHP 8.2 considers a chmod($dir, 0)
to still be an is_readable($dir)
and is_writable($dir)
:thinking:
Thought some more about this: needs to revert the Traversable
support removal.
That's because ArrayObject
is in use most of the time, so the use-case is probably array|(Traversable&Countable)
, which I hadn't thought about before.
Don't have the energy for it though :D
How about skipping that Countable
part completely and simply using [...$path]
to cast whatever iterable
is inside into an array so we can count it? Anyway we are going to exhaust the iterator at some point:
public function __construct(string|iterable $path)
{
$this->path = is_string($path) ? [$path] : [...$path];
}
If [...$path]
is considered too heavy to be in constructor, you can do that in check()
instead.
I don't think it's a heavy cast: we expect this to be configuration, not large data.
If that works for iterable types, I'll just have to add tests for it.
Autoclosing Skipped
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.
Is anybody still working on this?