Skip to content

v2026.1.23

Choose a tag to compare

@lumielis lumielis released this 24 Sep 23:45
· 1 commit to main since this release

Marketplace version: 2026.1.92300

Features and Improvements

  • Added the ConstExprInvalid diagnostic for expressions PHP cannot compile in a constant-expression context.
  • Added the UnhandledMatch diagnostic for a match expression that omits a default arm and cannot cover its subject.

Bug Fixes

  • Fixed false PHPDocParamTypeMismatch and UndefinedClass diagnostics for callable signatures written without a parameter list or with a leading backslash.
  • Fixed false UndefinedMethod on a chained call after a method whose return type is a PHPStan/Psalm conditional type.
  • Fixed a @template bound containing a space being truncated at that space, losing the class named in the bound.
  • Fixed no diagnostic for an undefined static property or class constant accessed through self::, static:: or parent::, and a false Undefined static property for a property name computed at runtime.
  • Fixed hover and go-to-definition returning nothing for a static property, constant or method accessed through an absolute class name.
  • Fixed hover on an unresolved member access returning nothing when a diagnostic covers the cursor.
  • Fixed false PropertyTypeMismatch diagnostics for a conditional return type over an array subject.
  • Fixed false TypeMismatch diagnostics for a return value whose conditional return type tests a union subject, and for any conditional type whose subject is a union whose members disagree.
  • Fixed variadic parameters inferring the element type instead of the array PHP binds inside the body.
  • Fixed the usage counter reporting zero usages for calls through use function … as imports.
  • Fixed the formatter wrapping a < comparison inside a template directive onto its own line, and corrupting HTML numeric character references.