Features
Type System
- Added support for
int-mask<1, 2, 3>andint-mask-of<Foo::*>types - Added support for
literal-floattype
Analyzer
- Added support for exception filtering
Playground
- Added online playground for trying Mago in the browser ( mago.carthage.software/playground )
Bug Fixes
Formatter
- Fixed indentation for flattened binary chains with trailing comments
- Fixed idempotence issue with elvis operator in arrow function bodies
Analyzer
- Fixed template constraint resolution to use inferred types instead of declared constraints (#676)
- Fixed type assertions for mixed variables in if statements
- Fixed yoda style handling in assertion scrapper
Codex
- Fixed expansion state not being reset after expanding
Linter
- Fixed
literal-named-argumentrule to ignore variadic functions
Prelude
- Fixed multiple PHP stub docblocks
- Added return type to
ReflectionNamedType::getNamemethod (#673)
CLI
- Updated
initcommand to match the latest configuration schema
WASM
- Fixed duplicate issues reported by both linter and analyzer
- Fixed timing being enabled in wasm builds
Improvements
Performance
- Improved type expander and comparator performance
- Improved metadata populator performance
- Refactored codex to use bitflags for TUnion properties
CLI
- Standardized exit codes
Full Changelog: 1.0.0-rc.6...1.0.0-rc.7