Goaop Framework Versions Save

:gem: Go! AOP PHP - modern aspect-oriented framework for the new level of software development

3.0.0

3 years ago

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.

2.3.4

3 years ago

Small patch version to allow installation of Symfony5 components #447

3.0.0-RC1

4 years ago

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-code package to generate code for proxies
  • [Feature] Add private properties interception #412

2.3.3

4 years ago

This is a patch release with #425 bug fix.

2.3.2

4 years ago

Patch release that contains several small fixes

  • Fixed call to undefined method with new PhpParser for 2.x branch #419
  • Finder glob pattern #421
  • Fix memory leaks and late object disposal #423

2.3.0

5 years ago

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-reflection dependency 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.

2.2.0

6 years ago

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:

  • d0c11d06aba419a4ce2bbedd89c7e4957352ac46 Simplify interface of IntroductionAdvisor, also allow only one interface/trait per introduction.

2.1.2

6 years ago

This small patch introduces following fixes, thanks to @TheCelavi:

  • Implement workaround for Doctrine entities with metadata listener #327
  • CLI commands can be owerwritten for transparent integration with frameworks #330

2.1.1

7 years ago

Small patch version with fixes

  • Fix fnmatch issue on Windows machine #326
  • Fix incorrect usage of CachedAspectLoader when cache is not configured #319

2.1.0

7 years ago

Version 2.1.0 enables support for PHP7.1. As well it provides some useful features for you applications:

  • Add support for the nullable types in PHP7.1, see #309, #314
  • Add support for the void return types for PHP7.1, see #307
  • Update the requirement for the goaop/parser-reflection library to use the latest version with PHP7.1 support.
  • Add a fix for non-absolute paths returned from the composer since PHP5.6 #295
  • Add an ability to update invocation arguments via Invocation->setArguments() method #297
  • Enable wildcard paths for the Enumerator, e.g /*Bundle/*/Tests, see #300
  • Allow to pass an exception as a second argument to the invocation for the AfterThrowing type of adivce, see #302