- Fix wrong classname in InstanceAssertion error message
- None
- Fixed a bug with the parsing of parameter default values
- Fixed a bug with shallow cloning resulting in permanently straightened child pointcut expressions
- None
- Fixed file system related warning by sanitizing file pathes for OS specific use
- None
- Fixed #855 - Call to a protected method errors due to context mismatch
- None
- Fixed a bug related to the generation of abstract function
- None
- Fixed a bug with complex type hints which are imported by a
use
statement - Fixed inverted assetion string in log message of failed raw assertions
- None
- Fixed #842 - Cannot use Traits
- None
- Fixed #824 - Several comment blocks break docBlock assignment
- None
- Fixed #815 - Local processing does not support "none" value
- Usage in multithreading context did require bootstrapping of additional classes
- The debug ability of the code has been extended
- Fixed #811 - Endless recursion on parent:: call
- None
- Fixed #805 - Constructs like ::class break parsing
- None
- Fixed #719 - Around advice chain does break at certain size
- Fixed #721 - Different order of Advices in pointcut.xml depending on type
- None
- Multiple before advices have not been stacked correctly
- Advices can reference several pointcuts now using pointcut(, ) annotation now
- Fixed typo within class name "TraitDefinition"
- Introduced assertions which allow for unwrapped error messages to not expose system internals
- Added structure and method based override for enforcement processing configuration based on annotations
- None
- Allows for the usage of custom assertions by specifying a type property within the annotation (see class \AppserverIo\Doppelgaenger\Tests\Data\AssertionTest\RespectValidationTestClass for example)
- Added a semantic versioning declaration of the public API
- None
- Switched to stable dependencies due to version 1.0.0 release
- Bugfix with resolving signature pointcuts using bash wildcard expressions
- Integrated usage of new appserver-io-psr/mop PSR repository
- Changed Design by Contract annotation syntax to fit basic doctrine syntax
- Pointcuts mentioning advice keywords in their doc block did get treated as advices themselves
- Bash wildcard using pointcuts only matched the first of several possible matches
- AfterReturning and AfterThrowing advices referencing pointcuts will now be woven into the right places
- Around advice callback chains will now take the current context into account
- Closed #455 - Pointcut based weaving mismatch for After/AfterThrowing
- Closed #456 - Problems with Around-Advice callback chain buildup
- Cache will get cleaned for every run of the PHPUnit tests
- Always assumed complex type elements in typed array collections
- Introduced [] syntax for typed array collection
- Some minor bugfixes
- Fixed a bug with Before advice's parameter altering
- Introduced MethodInvocationInterface
- Extended the functionality of AfterThrowing and AfterReturning advice by enhancing the MethodInvocation object
- New coding conventions
- Extended testing
- Structures with a namespace right after the PHP tag did not get picked up by the structure map
- None
- Incompatible implementation of overridden method has been fixed
- Minor cleanups
- Magic methods resulted in problems within multithreaded environments, therefore all entities were ported to explicit getters/setters
- None
- Pointcut expressions using shell regex in the class name did result in errors
- Problem with around advice chaining
- Improved performance of AppserverIo\Doppelgaenger\AutoLoader::loadClass() method
- Improved parser type safety
- Wrong test for configuration values within EnforcementFilter class
- None
- Shell regex pattern not working in pointcut expressions
- StructureMap->map did get cast wrong
- None
- None
- Pthreads compatibility
- None
- Aspect collection and lookup
- Improved advice weaving
- Advice chaining for around advices
- None
- Initial commit