Aspect

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for Perl extension Aspect

1.04 Mon 8 Apr 2013
	- fix failures on 5.17.6 (RT#81400)

1.03 Fri 19 Oct 2012
	- Updating to Module::Install 1.06
	- Removed warnings except in the test suite to prevent log spamming

1.02 Wed 1 Feb 2012
	- Updating to Module::Install 1.04
	- Adding B:: to the recursively excluded classes to avoid hooking

1.01 Thu 9 Jun 2011
	- Added experimental function interface for the join point context.
	- Move the library tests into the numeric order

1.00 Thu 26 May 2011
	- First production release of the second-generation Aspect.pm!
	- Support passing an explicit function list to import as per Exporter
	- Final POD spelling tweaks

0.983 Thu 26 May 2011
	- Added a convenience wrapper over Sub::Install
	- Rewrote the initial introduction by drawing language from Wikipedia.
	- Moved all legacy code into a dedicated legacy module
	- Split out tests for deprecated features into their own test scripts

0.982 Wed 25 May 2011
	- Refactored away the ->{proceed} flag on before join point objects.
	- Unified return_value across all advice types, and optimised further.
	- Completing the POD documentation for the Aspect::Point:: modules
	- Folded down Aspect::Point::Before/After/Around into a single class

0.981 Wed 25 May 2011
	- Removed the proceed method from the begin advice, you now only signal
	  to not continue with either exception or return_value.
	- Remove some leftover references to after_throwing and after_returning
	- Moved all advice code method documentation into Aspect::Point
	- Added a reduced volume copy of the Aspect::Point method documentation
	  to the main Aspect documentation.
	- Ensure $_ is passed through intact during around advice using proceed
	- Aspect::Library::Single no longer incorrectly checks for exceptions,
	  as the around advice doesn't catch them during proceed (that will be
	  fixed some time after 1.00)
	- Expanded the testing of various edge cases
	- Localise $_ in a more contained manner so that don't copy/backup $_
	  for hooked around pointcuts that don't match the runtime part of the
	  join point. Using a global for this instead of overloading $_ also
	  makes pointcut marginally slightly faster.

0.98 Tue 24 May 2011
	- Production release, no change from 0.97_06
	- Major refactoring, documentation and and 1.00 preparation release
	- The API has now moved closed to the AspectJ API where sensible

0.97_06 Tue 24 May 2011
	- Generalised and moved Aspec::Pointcut::Highest::Clean to Aspect::Guard
	- Removed dedicated Aspect::Advice::AfterReturning advice type
	- Removed dedicated Aspect::Advice::AfterThrowing advice type
	- Collapsing of nested and/or pointcuts is now done at constructor time
	- Expanded testing for corner case pointcut currying scenarios
	- Deprecated after_returning and after_throwing

0.97_05 Mon 23 May 2011
	- Advice code is now always run consistently in void context, the
	  ->wantarray method is now the only way to check the calling context
	  of the active joint point. This is not only more consistent in having
	  all context come from methods, is also prevents inconsistent
	  behaviour when calling methods directly with $_->self->method and it
	  allows context-senstive behaviour to be added to the advice methods.
	- Replaced params and params_ref with args, with a different behaviour
	  based on the wantarray context it is called in. This is semantically
	  much closer to the AspectJ version, and more importantly it has no
	  "convenience" features which will prevent weird complexity later on.
	- Rewrote return_value to act on context in the same manner as args.
	  This is theoretically not backwards compatible, but the entire test
	  suite continued to pass after change, which shows that the only things
	  backcompatible would be things using methods in a strange manner.
	- Added POD documentation for most of the methods in Aspect::Point.
	- Added basic POD skeletons for the different Aspect::Advice:: classes.
	- Minor optimisation in generated code to check for exceptions
	  directly, rather than via the slower accessor method.
	- Clarified that only after and after_throwing support exception
	  handling and throwing.
	- Aspect::Advice::AfterReturning now inherits from ::After
	- Aspect::Advice::AfterThrowing  now inherits from ::After
	- Added the returning pointcut for use with after advice
	- Added a second curry method for use prior to weave-time compilation
	- Added support for naked throwing() without a specific exception value

0.97_04 Sat 21 May 2011
	- Added more POD to the main page, this is closer to the final form

0.97_03 Fri 20 May 2011
	- Simplified if_true to true and ::If to ::True
	- Expanded XS acceleration to more classes and methods
	- Completed reasonable thorough main documentation for Aspect.pm
	- Prohibit usage of the highest pointcut to one per advice declaration
	  due to implementation complexity and unclear semantics.
	- Added Advice::Point::Static for the cflow point details in line with
	  AspectJ's idea of "static parts" of join points.
	- Removed deprecated Aspect::AdviceContext now it is no longer needed
	  by the cflow pointcut.
	- Pointcut logic operations & | ! now validate their children
	- The cflow declarator is now documented everywhere as single param,
	  defaulting to an "enclosing" accessor, which is accelerated.



( run in 2.281 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )