github carthage-software/mago 1.0.0-rc.6
Mago 1.0.0-rc.6

8 hours ago

Bug Fixes

Analyzer

  • Use constant REQUEST_TIME for $_SERVER to ensure deterministic error messages for baseline matching (#669)
  • Consider template constraints when checking int/float disjointness (#659)
  • Mark $_SESSION superglobal as possibly undefined (#670)
  • Allow array destructuring on ArrayAccess implementations (#671)
  • Consider possibly_undefined when checking redundant nullsafe operator (#672)
  • Resolve array access type using only matching keys from union index type (#666)
  • Check parent classes for pseudo methods to prevent false positive missing-magic-method (#667)

Codex

  • Sort docblock inheritance by hierarchy depth to ensure parents are processed first (#663)
  • Resolve templates when inheriting assertions from parent methods (#660)
  • Infer arithmetic operations as int|float instead of mixed (#664)
  • Treat arrays with required keys as non-empty in containment check (#665)

Semantics & Formatter

  • Require arrow functions on RHS of |> to be parenthesized (#662)

Improvements

Baseline

  • Introduced a new loose baseline variant as the default format, which is more resilient to code changes. The loose format matches issues by (file, code, message) tuple with occurrence counts, making baselines stable even when line numbers shift. The previous strict format (exact line matching) remains available via configuration. (#492)

Full Changelog: 1.0.0-rc.5...1.0.0-rc.6

Don't miss a new mago release

NewReleases is sending notifications on new releases.