github carthage-software/mago 1.47.3
Mago 1.47.3

49 minutes ago

Mago 1.47.3

Mago 1.47.3 improves pipe expressions, numeric inference, match narrowing, readonly offsets, nullsafe chains, and loop control.

✨ Features

Analyzer

  • Integer ranges: infers ranges when bounded float arithmetic is cast to int. (#2232, 506066a)

Formatter

  • Pipe formatting: adds preserve-breaking-pipe-expression to retain existing line breaks. (#2141, 0cfc8ec)

🐛 Bug Fixes

Analyzer

  • Nullsafe chains: narrows receivers after a nullsafe chain is proven non-null. (#2226, 4e678b8)
  • Readonly offsets: allows offset writes through readonly properties holding ArrayAccess objects. (#2227, af3c576)
  • Pipe expressions: preserves generic return types through pipe partial applications. (#2141, 0cfc8ec)
  • Numeric-string unary ops: models signs, increments, and decrements as PHP does. (#2229, 9316487)
  • Boolean match arms: narrows the original subject for instanceof conditions. (#2231, d6cdf19)
  • Switch loop levels: resolves numeric break and continue levels across switch. (#2233, c5eff01)

🏗️ Internal

Performance

  • Match allocations: avoids allocating synthetic variable names during match analysis. (4c2581f)

🙏 Thank You

Contributors

No external pull requests were merged for this release.

Issue Reporters

Thank you to everyone who reported issues that shaped this release:

Full Changelog: 1.47.2...1.47.3

Don't miss a new mago release

NewReleases is sending notifications on new releases.