packagist vimeo/psalm 4.16.0

latest releases: 5.x-dev, dev-master, dev-isTypeContainedByType_flags...
2 years ago

What's Changed

Removed

  • Codebase::$use_referencing_files, Context::$possible_param_types and FunctionLikeStorage::$template_covariants were removed. We do not believe they were used by anyone, thus we don't consider it to be a BC break

Features

Fixes

  • Fix non-empty-literal-string to behave as subtype of non-empty-string (fixes #7095). by @AndrolGenhald in #7105
  • fix reconciliation between positive-int and inferior/superior assertions by @orklah in #7106
  • don't stop analyzing array, even if we already have a type and we can't create an object like by @orklah in #7093
  • fix missing case for displaying varId by @orklah in #7054
  • array_count_values return type for uncertain arrays by @weirdan in #7115
  • Class property issue suppression fixes. by @AndrolGenhald in #7130
  • Fix type inference of closure params by @klimick in #7135
  • Fix closure param type inference with named params by @klimick in #7139
  • Post-assertions in loops by @klimick in #7143
  • fix CI by @orklah in #7153
  • Fix optional arguments in number_format (fixes #7158). by @AndrolGenhald in #7159
  • Fix ldap_set_rebind_proc signature by @villfa in #7145
  • Fixed compatibility with SoapClient by @yethee in #7140
  • display class-strings in keyed arrays syntax and allow using them for assertions by @orklah in #7152
  • ISSUE-5962 Fixed wrong line number for @method annotations by @nowaja in #7157
  • Fix conflicting array_map return provider fake variables. by @AndrolGenhald in #7167
  • Fix faulty comparison with typed closure by @muglug in #7175
  • doesn't infer empty for ReflectionClass::getAttributes without params by @orklah in #7180
  • Fixed ignoreTypeStats & useStrictTypes flag value detection for directories in config by @SMAtaurRahman in #7182
  • fix #7178 again by @orklah in #7189
  • fix other occurences of getAttributes by @orklah in #7190
  • MySqli: some parameters are nullable by @igitur in #7186
  • allow destructuring on a possible null variable as long as there is an array alongside by @orklah in #7193
  • Added pure annotations to enum functions by @ricardoboss in #7194
  • fix(stubs): UnitEnum::cases() can return an empty list by @azjezz in #7197
  • Add early file filtering to FileProvider::getFilesInDir() by @dvz in #7201
  • flag the context as "inside_conditional" when analyzing leftover cases to prevent emitting unused error by @orklah in #7203
  • Restore attributes in ClassConstantStorage by @weirdan in #7217

Docs

Internal changes

  • Remove useless chunk of code in ScopeAnalyzer by @muglug in #7097
  • Use getSingleAtomic() instead of array_values(getAtomicTypes())[0]. by @AndrolGenhald in #7134
  • fix some more expressions that can be replaced by getSingleAtomic by @orklah in #7137
  • Fix parser cache files maintenance by @dvz in #7082
  • Convertion of partials to full imports by @rarila in #7155
  • Set allow-plugins for Composer 2.2 by @villfa in #7149
  • Codingstyle: declare construct & namespace declaration by @rarila in #7165
  • Remove superflous exclude pattern in phpcs.xml by @rarila in #7168
  • Removed misleading parentheses after language construct by @kamil-tekiela in #7183
  • fix wrong handling of flags in context by @orklah in #7195
  • allow phpcodesniffer-composer-installer plugin by @orklah in #7205
  • Workaround for PHPUnit process isolation issue with composer 2.2 by @weirdan in #7208
  • Remove unused in-array assertions by @muglug in #7202

New Contributors

Full Changelog: v4.15.0...4.16.0

Don't miss a new psalm release

NewReleases is sending notifications on new releases.