Skip to content

Releases: goaop/framework

Release 3.1.1

Choose a tag to compare

@lisachenko lisachenko released this 14 May 00:16

Patch release, which includes d268f6f to allow backward-compatibility with 3.x branch

3.1.0

Choose a tag to compare

@lisachenko lisachenko released this 14 May 00:17

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

Full Changelog: 3.0.0...3.1.0

Version 3.0.0

Choose a tag to compare

@lisachenko lisachenko released this 05 Apr 21:53
596fcae

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.

Version 2.3.4

Choose a tag to compare

@lisachenko lisachenko released this 12 Aug 19:40
f980f24

Small patch version to allow installation of Symfony5 components #447

Version 3.0.0

Version 3.0.0 Pre-release
Pre-release

Choose a tag to compare

@lisachenko lisachenko released this 04 Dec 14:41

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

Version 2.3.3

Choose a tag to compare

@lisachenko lisachenko released this 04 Dec 13:30
f7fa0b3

This is a patch release with #425 bug fix.

Release 2.3.2

Choose a tag to compare

@lisachenko lisachenko released this 01 Aug 07:18
233f71c

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

Release 2.3.0

Choose a tag to compare

@lisachenko lisachenko released this 13 Jan 12:00

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.

Version 2.2.0

Choose a tag to compare

@lisachenko lisachenko released this 09 Feb 12:20
152abbf

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

Choose a tag to compare

@lisachenko lisachenko released this 18 Jul 11:49
2.1.2

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