Better late than never! This is next major release of Go! AOP that contains some improvements and uses new code features for better performance and stability.
Notable changes are:
- [BC BREAK] Switched to the PHP7.4 and upper, strict types, property and return type hints and new syntax
- [BC BREAK] Removed the Joinpoint->getThis() method, as not all joinpoints belongs to classes (eg. FunctionInvocation)
- [BC BREAK] Removed the Joinpoint->getStaticPart() method as it can return anything, better to use explicit methods
- [Feature] Introduced the new ClassJoinpoint interface with getScope(), getThis() and isDynamic() methods
- [Feature] Implemented parameter widening feature for generated code #380
- [Feature] AnnotatedReflectionProperty provides simple access to property annotations #388 by @TheCelavi
- [Feature] Switched to the
laminas/laminas-code
package to generate code for proxies - [Feature] Add private properties interception #412
- [Feature] Static code analysis with PhpStan was enabled
- [Feature] Migration from TravisCI to GitHub Actions
Notice: This version still doesn't support PHP8, see #466, mostly because of absence of PHP8-compatible parser reflection libraries. If you want to contribute this to one of existing projects, this will be very helpful.