Official Builds


The latest official release is 2.0


Release notes

Changes in 2.0 final

AspectWerkz 2.0 final comes with bug fixes.

  • option -keepjp renamed in -genjp (generate jit join points) (affects offline mode)
  • perJVM mixin deployment-model restablished
  • after returning advice was not handled properly in some cases
  • issue with around advice and set() pointcut could happen with long/double fields
  • issue with serialization and advised classes not implementing directly
  • issue could happen when using hot re-deployment of advised J2EE applications

New features and changes in release 2.0.RC3

AspectWerkz 2.0.RC3 comes with small features completions and several bug fixes.

  • cflowbelow() is supported
  • staticinitialization() pointcut (contributed by Alexandru Popescu / Mindstorm)
  • patterns can be only annotation defined like within(@Foo), execution(@Tx) etc (contributed by Alexandru Popescu / Mindstorm)
  • new -keepjp option in offline mode to keep internal statically compiled structure and speed up deployment time
  • Aspects.aspectOf() fixed to support aspect reuse
  • Advisable API fixed for call side pointcut

New features and changes in release 2.0.RC2

AspectWerkz 2.0.RC2 comes with several major bug fixes, but comes with feature completion as compared to 1.0 final (cflow and handler support), as well as with new features :AWProxy, per object instance programmatic interception mechanism, and strongly typed proceed(args..).

Features completion from 1.0 final:

  • cflow() is supported
  • handler() pointcut is supported

New features:
  • strongly typed proceed to change invocation arguments from within an around advice - read more
  • per object instance programmatic interception - read more
  • AWProxy, applying aspects transparently to CGLIB or AspectWerkz proxies - read more

Bug fix:
  • Class not found raised for the aspect classes in application servers
  • Mixin throwing NPE when using Mixins.mixinOf
  • issue to match on array types like String[]
  • some bugs with joinpoints occuring within a constructor
  • line number debug information lost after weaving
  • !withincode() was filtering too much
  • compiling on Java 1.3

New distribution:
  • To provide better support for Java 5, you now have to use aspectwerkz-jdk5-*.jar when running Java 5. When running Java 1.3/1.4, you must use aspectwerkz-jdk14-*.jar. In the previous release, this jar was not required for Java 1.3/1.4 but this leaded to some issues when running with Java 5, so we made it explicit.

New features and changes in release 2.0.RC1

AspectWerkz 2.0.RC1 is the first release candidate of the 2.x serie. A lot of improvement have been added (API, semantics, performance) and some 1.x features are not compatible with 2.x.

Read more about the 2.x specific changes in this section.

Notes on AspectWerkz 1.x

AspectWerkz 1.x documentation and release notes has been moved here. AspectWerkz 1.0 is still actively supported but you are strongly encouraged to migrate to AspectWerkz 2.x.