github carthage-software/mago 1.47.6
Mago 1.47.6

2 hours ago

Mago 1.47.6

Mago 1.47.6 strengthens property and control-flow narrowing, preserves collection precision, and fixes formatter comment and string handling.

🐛 Bug Fixes

Analyzer

  • Nested isset: marks roots defined after guarded nested offset checks. (#2303, 1da40ab)
  • Nullsafe booleans: narrows nullable receivers after boolean property comparisons. (#2315, e3aefe1)
  • Nullsafe instanceof: narrows receivers and properties after nullsafe type checks. (#2308, ea927d0)
  • String-length guards: narrows strings from strlen() comparisons. (#2307, fff0817)
  • Integer reconciliation: preserves literal unions through bitwise guards. (#2309, 801fc7f)
  • Keyed writes: retains non-empty arrays after writes from non-empty loops. (#2305, ed44977)
  • Boolean aliases: preserves guard narrowing across elseif and match. (#2312, 2a248f1)
  • Compound assignments: retains right-operand types in the expression index. (#2311, ce98d0d)
  • Immutable chains: keeps deep property narrowing across unrelated calls. (#2304, 414c4e0)
  • Trait requirements: excludes requirement-only generics from inheritance paths. (#2317, 007de69)
  • Property assertions: maps parameter-property assertions onto call arguments. (#2318, 696def4)

Prelude

  • Reflection names: types ReflectionClass<T>::getName() as class-string<T>. (#2314, f38df5b)

Formatter

  • Parenthesized comments: keeps comments attached inside grouping parentheses. (#2300, 88d062f)
  • Dollar strings: preserves single quotes around strings containing dollar signs. (#2316, 6aa441c)

🏗️ Internal

Performance

  • Analyzer allocations: removes redundant clones from hot analysis paths. (16335f4)

Maintenance

  • Version updater: reduces release versioning complexity. (5113670)
  • Nightly Clippy: removes a redundant watcher path clone. (64f3e9f)

🙏 Thank You

Contributors

A huge thank you to everyone who contributed code to this release:

Issue Reporters

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

Full Changelog: 1.47.5...1.47.6

Don't miss a new mago release

NewReleases is sending notifications on new releases.