Releases: goaop/framework
Release 3.1.1
Patch release, which includes d268f6f to allow backward-compatibility with 3.x branch
3.1.0
What's Changed
- Upgrade to GitHub-native Dependabot by @dependabot-preview[bot] in #474
- old bug sync by @137-rick in #473
- [FIX] Library generates non-nullable return type for nullable return … by @jakublabno in #484
- Migrate to doctrine/annotations 2.x by @mdoelker in #489
- fix: prevent generating "namespace ;" for classes without declared namespace by @daniel-sc in #490
- [Step 1] Bump requirement to PHP 8.2 and parser-reflection 4.0.0-RC1 by @samsonasik in #492
- Feature - refactor framework core to php82 by @lisachenko in #493
- [Feature] Pointcut namespace refactoring by @lisachenko in #500
- Update symfony/finder requirement from ^5.1 to ^5.1 || ^7.0 by @dependabot[bot] in #495
- [BC Break] Internal container refactoring. by @lisachenko in #501
- Add PHP 8.0+ Union and Intersection type support on SelfValueVisitor by @samsonasik in #504
- [PHP8] Add broken tests with complex types by @lisachenko in #503
- Fix deprecated GitHub Actions versions in CI workflows by @Copilot in #509
- Update doctrine/orm requirement from ^2.5 to ^2.5 || ^3.0 by @dependabot[bot] in #494
- Fix deprecated nullable parameter declarations in PHP 8.2+ by @Copilot in #511
New Contributors
- @dependabot-preview[bot] made their first contribution in #474
- @137-rick made their first contribution in #473
- @jakublabno made their first contribution in #484
- @mdoelker made their first contribution in #489
- @samsonasik made their first contribution in #492
- @dependabot[bot] made their first contribution in #495
Full Changelog: 3.0.0...3.1.0
Version 3.0.0
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-codepackage 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.
Version 2.3.4
Small patch version to allow installation of Symfony5 components #447
Version 3.0.0
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.2 and upper, strict types, 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
zendframework/zend-codepackage to generate code for proxies - [Feature] Add private properties interception #412
Version 2.3.3
This is a patch release with #425 bug fix.
Release 2.3.2
Release 2.3.0
This minor release introduces some fixes:
- Fix error with "self" references in top level namespace #397
- Use Symfony Finder component for faster enumeration #402
- [BC Break] Update
goaop/parser-reflectiondependency to 2.0+ #403
Please, be aware that #403 bumps the PHP minimum version for 2.x branch to be >=7.0.0. As minimum supported PHP version now is 7.2, I decided to drop 5.6 for 2.x branch too.
In emergency cases 2.3.1 patch can be released.
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.
Version 2.1.2 of Go! AOP Framework
This small patch introduces following fixes, thanks to @TheCelavi: