Version 2.2.0
This version introduces latest minor release in 2.x branch. Only security fixes and bug patches will be applied to the 2.x since current release.
Fixes:
- AdviceMatcher should reject abstract method as fix for #335, #337
- Fix wrong checking of member modifiers for static members, resolves #293
- Feature/detecting inconsistent weaving #346
- Fix incorrect optimization logic for transformers, resolves #355
- Introduce an option to configure cached reader for annotations, resolves #136, #358 and #245
Improvements:
- Replace unsupported HHVM with supported PHP7.2 in Travis matrix
- Inline definition of advices into classes and beautify formatting
- Improve PhpUnit integration and prepare reusable constraints, resolves #340 #350
- Add support for class initializations asserts. #354
- Apply short array syntax for files in 2.x branch
- Performance tuning
Features:
- Implementation of AST+token modification instead of direct source transforming #362. Be aware, that this feature can reduce the speed of proxy generation because of switching to the AST analysis.
- Implement return-type pointcuts for the framework, #370 #371. Now you can match methods by return type.
- Interception of final methods, resolves #372 #373. Yes, now you can intercept final methods in your classes with Go! AOP.
BC breaks on code level:
- d0c11d0 Simplify interface of IntroductionAdvisor, also allow only one interface/trait per introduction.