4.12.0
What's Changed
Deprecations
Features
- allow documenting promoted properties with @var by @orklah in #6764
- Support PHP_VERSION_ID in conditional types by @sad-spirit in #6783
- Ability to forbid
exit()
anddie()
by @weirdan in #6784 - emit UnevaluatedCode after exit or never returning functionlike by @orklah in #6793
- Template support for @psalm-self-out by @danog in #6768
Fixes
- throwable Instanceof throwable negated by @orklah in #6746
- Updated openssl_pkey_get_private function signature by @pls78 in #6758
- Fix template parameter collection for child classes with fewer parameters (fixes #6734) by @danog in #6742
- fix local variable defined too early by @orklah in #6774
- fix is_a when used with Stringable classes by @orklah in #6775
- remove second autoloader call by @orklah in #6776
- Correct pgsql stubs by @sad-spirit in #6777
- detect Yield in new by @orklah in #6790
- accept ::class constant strings for literal argument by @sasezaki in #6801
- Add pcntl_alarm to the list of impure functions by @l-x in #6802
- added mysqli::connect() to callmap by @SMAtaurRahman in #6805
- add "error" from php-parser to baseline by @orklah in #6815
- Improved Github Actions output by @weirdan in #6818
- backticks shell_exec taint by @orklah in #6812
- Array cast pass taints by @orklah in #6810
- don't taint the result of most binary operations by @orklah in #6809
- don't register taints for numeric variables by @orklah in #6813
- allow assertion to work on $var::class by @orklah in #6823
- Fix parameter names in CoreGenericFunctions.phpstub for PHP 8 named p… by @tminich in #6820
- Allow Symfony 6 by @loic425 in #6663
- allow declaring functions and classLikes after a never-returning call by @orklah in #6828
- Makes $_SESSION possibly undefined at the source by @orklah in #6824
- create a tmp fake var for ternaries inside coalesce by @orklah in #6825
- only return true in Union::isType if there is a single type by @orklah in #6829
- Mixed contain every types and Never is contained in every type by @orklah in #6830
Docs
Internal changes
- Require one of
release:*
labels on PRs by @weirdan in #6785 - Added 'Removed' section to release notes by @weirdan in #6811
- chore(ci): update psl version used in e2e tests by @azjezz in #6766
- add PSL back to CI by @orklah in #6833
New Contributors
- @pls78 made their first contribution in #6758
- @sad-spirit made their first contribution in #6777
- @tminich made their first contribution in #6820
- @loic425 made their first contribution in #6663
Full Changelog: 4.11.2...4.12.0