What's Changed
Features
- FFI stubs improvement by @UlrichEckhardt in #9368
- Support sizeof alias of count by @jsanahuja in #9375
- Iterated array in
foreach
body is never empty by @weirdan in #9380 - Process
@psalm-api
tags on methods by @weirdan in #9383 - Enforce literal string length limit by @weirdan in #9381
- [ibm_db2] Improve return type inference for
db2_autocommit()
by @phansys in #9310 - Only disable grpc extension if it is not properly configured by @gndk in #9398
- PHP 8.3 dictionary by @lptn in #9366
- concat should never remove non empty non falsy from string #9411 by @EgorBakulin in #9422
- Forbid private final methods by @weirdan in #9442
- Support for
readonly
classes by @weirdan in #9444 - Consider new HTML entity en/decode function defaults since PHP 8.1 by @pereorga in #9471
Fixes
- Instances of
object
returned bydb2_*()
functions are always instances ofstdClass
by @phansys in #9369 - Simplify and fix Shepherd to support custom endpoints for reporting by @lptn in #9296
- Fixes #9384 (Wrong type for variable checked with is_long) by @ygottschalk in #9385
- Update Phar callmaps by @othercorey in #9389
- Correctly process use aliases in
@psalm-scope-this
by @weirdan in #9390 - Allow
array
as magic method name by @weirdan in #9391 - Consistently report docblock issues on all classlikes by @weirdan in #9392
- [ibm_db2] Update some return types in callmaps by @phansys in #9387
- Preserve PossiblyUndefinedVariable when fixing UnusedVariable by @edsrzf in #9400
- [ibm_db2] Update callmaps by @phansys in #9404
- Fix #9401 by @ptomulik in #9418
- Fix remaining spl and iterator callmaps by @othercorey in #9420
- An attempt to fix #4460 by @ptomulik in #9415
array_pop
is impure by @weirdan in #9434- Revert "
array_pop
is impure" by @weirdan in #9435 - Update pack() stub by @othercorey in #9438
- Merge param descriptions when adding or updating types by @aboyton in #9441
- PHP 8.2 attributes moved to 8.2 stub by @weirdan in #9445
- Improce enum case reconciliation by @weirdan in #9457
- Do not strip the last
)
bracket when parsing phpdoc type aliases. by @pvandommelen in #9458 - Replace package-versions with Composer 2 APIs by @Jean85 in #9459
- Fix DOM callmaps by @othercorey in #9460
- Don't crash on unary minus overflow by @weirdan in #9466
- Fix remaining intl callmaps by @othercorey in #9473
Internal changes
- Convert callmap associative-array types into proper array types by @othercorey in #9362
- Callmap is always non-empty by @weirdan in #9405
- Reorganize pushes to
psalm/phar
by @weirdan in #9399 - Do not display ext deprecation note when
disableExtensions
used by @lptn in #9291 - Require
<?php
tag in tests by @weirdan in #9443
New Contributors
- @UlrichEckhardt made their first contribution in #9368
- @jsanahuja made their first contribution in #9375
- @EgorBakulin made their first contribution in #9422
- @pereorga made their first contribution in #9471
Full Changelog: 5.7.7...5.8.0