Skip to content

Mago 1.53.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Oct 02:19
· 17 commits to main since this release
1.53.0
c6ebcdb

Mago 1.53.0 improves analysis performance, file loading, name handling, and reporting, and fixes formatting of yield, direct new calls, and nested logical groups.

Note

Support Mago

Does your company use Mago? Please consider sponsoring its development so we can keep fixing bugs and shipping releases.

Sponsor Mago ❤️

🐛 Bug Fixes

Formatter

  • Yield precedence: keeps parentheses that preserve yield and yield from behavior in binary expressions. (#2432, d374fef)
  • Direct new calls: omits redundant parentheses on PHP 8.4+, while honoring formatter settings. (#2430, cb4356f)
  • Logical groups: keeps nested and negated groups stable across formatting passes. (#2422, 314b53f)

🏗️ Internal

Analyzer

  • Analysis work: cuts context copies and repeated method, visibility, and type checks. (2420161)

Codex

  • Metadata setup: fills class metadata in parallel and reduces lookup costs. (06b88f4)
  • Type expansion: reuses unions and reduces copying and repeated metadata lookups. (efac017)

Pipeline

  • File loading: batches reads and cuts repeated database lookups. (104ca16)

Syntax

  • Name handling: builds names in the arena and caches ASCII lowercase conversions per thread. (a07da1c, 073f748)

Fingerprints

  • Modifier hashing: avoids allocation and sorting when hashing class modifiers. (e2de0e7)

Reporting

  • Emacs output: caches file lookups and escaped names. (7454dd6)
  • Report output: cuts allocations and writer overhead across reporting formats. (4e8f36e)

🧩 Extension Protocol

No protocol changes in this release.

🙏 Thank You

Contributors

Thank you to everyone who contributed to this release:

Issue Reporters

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

Full Changelog: 1.52.0...1.53.0