✨ New Features
-
Compilation Check Mode
Introducing the--compilation
flag (mago lint -c
), allowing a quick check for compilation errors only without running the full linter. -
Expanded PHP Version Support
- Added support for PHP 7.3 and PHP 7.2.
- Updated the default PHP version to 8.4 when no explicit version is configured.
-
Experimental PHP Version Support
- New
allow_unsupported_php_version
configuration option enables running Mago with unsupported PHP versions (below 7.2 or above 8.4). - Functionality is not guaranteed for these versions—use at your own risk.
- New
🐛 Bug Fixes
- Parser Fix for Reserved Keywords
- Fixed an issue where the parser failed too early if a reserved keyword was used as a type name in a class or interface.
🔧 Internal Changes & Refactoring
-
Crate Merging & Cleanup
- Merged
reflector
andsemantics
into a singleproject
crate. - Removed
traverser
andsymbol-table
crates (mago_traverser
andmago_symbol_table
on crates.io).
- Merged
-
Walker Refactoring
- Simplified and improved walker implementations in the
project
crate.
- Simplified and improved walker implementations in the
-
Source Management Performance Fixes
- Addressed performance bottlenecks for smoother file handling.
🚀 Performance Improvements
-
Linter Performance
- 5% faster when running
mago lint
.
- 5% faster when running
-
Semantic Analysis Optimization
- 20-30% faster when running
mago lint -s
.
- 20-30% faster when running
Enjoy the updates! 🚀