What's Changed
Features
- Forbid properties on enums by @weirdan in #6836
- better understands value and name properties for enum by @orklah in #6838
- Added option to forbid
eval()
in codebase by @thomasbley in #6856 - Use positive integers for various time functions by @danog in #6861
- Flag duplicate constants by @weirdan in #6884
- Add ImagickPixel::getColor return type provider by @danog in #6890
- Fix promoted readonly properties by @trowski in #6909
- ConsoleReport: Add hyperlinks to open file in editor by @gharlan in #6850
- Multiple variables in @psalm-trace by @rarila in #6920
- Reconcile
class-constant
by @boesing in #6529
Fixes
- don't consider calls to methods with assertions as Unused by @orklah in #6834
- Forbid enum instantiation by @weirdan in #6840
- Taint comments by @orklah in #6848
- add stub for taint detection on vprintf by @orklah in #6847
- Forbid declaring enums as attributes by @weirdan in #6843
- DOMParentNode and DOMChildNode stubs (php 8) by @jirkace in #6851
- Fixed signature for newInstanceArgs for PHP 8.0 by @jirkace in #6852
- Fixed RedisCluster::setOption() argument types by @jirkace in #6853
- Fixed callmap for function openssl_sign, it changed in PHP 8.0 (modif… by @jirkace in #6846
- allow signature type for promoted property as well as property docblock by @orklah in #6872
- load the ReturnTypeWillChange stubs for all versions to allow using it on every PHP version by @orklah in #6873
- fix never combination by @orklah in #6874
- do not treat __halt_compiler() as an expression being executed by @pilif in #6876
- detect unevaluated inline-html code after an rearly return by @pilif in #6878
- Fix --enable-autocomplete=false by @Nadyita in #6880
- don't stop processing for class usage after raising an issue by @pilif in #6899
- SimpleXMLIterator is not always truthy by @jnvsor in #6903
- make ignore falsable/nullable dependent on the config by @orklah in #6895
- Fix invalid SoapClient::__doRequest() signature by @veewee in #6905
- Fix mb_convert_encoding to accept any array. by @rarila in #6910
- Report deprecated config elements by @weirdan in #6913
- Infer mb_strtolower() result as string when encoding is specified by @weirdan in #6912
- Allow references to enum cases in class constants by @weirdan in #6922
- session_set_cookie_params signature changed in 8.0 by @kamil-tekiela in #6932
- expand type aliases when comparing unions by @sebkehr in #6946
Docs
Internal changes
- Added test for NoEnumProperties by @weirdan in #6839
- Added phpcs SelfMemberReference rule, and applied by @sasezaki in #6845
Typos
- Fix typos in message about Attribute usage by @ricardoboss in #6904
New Contributors
- @jirkace made their first contribution in #6851
- @Nadyita made their first contribution in #6880
- @jnvsor made their first contribution in #6903
- @ricardoboss made their first contribution in #6904
- @veewee made their first contribution in #6905
- @rarila made their first contribution in #6910
- @kamil-tekiela made their first contribution in #6932
- @sebkehr made their first contribution in #6946
Full Changelog: 4.12.0...4.13.0