Official Builds
Releases
The latest official release is 0.9
Download:
Release notes
New features and changes in release 0.9.x
-
Online architecture for class load time weaving supports IBM JRE and BEA JRockit
-
DTD has been refactored to support
system
element and deprecated syntax from 0.8.x has been removed
-
New self-defined / self-contained Aspect model based on metadata / JSR-175 concepts.
The new Aspect model coexists with the 0.former model and both will be maintained since they
target different needs
-
New pointcut algebra implementation
-
Released under LGPL-style license
-
Documentation reorganized for new Aspect model coverage
-
Bug fix (refer to Jira)
New features and changes in release 0.8.x
-
JDK 1.3 compatible.
-
New online architecture, with several options and java 1.3 support
(not dependent on JMangler anymore).
-
New attributes -> XML compiler (no more metaData dir and meta-data
compilers)
-
Offline compiler refactored. Now support rollback on error facility.
(Note that the
bin/aspectwerkz -offline
must now
be invocated with the definition file as first argument.)
-
Documentation updated and reorganized.
-
Released under a BSD-style license.
-
Tested and verified to work for EJBs under WLS using both online
and offline mode.
-
Non-reentrancy configuration for join points.
-
Definition validator.
New features and changes in release 0.7.x
-
Pluggable custom defined join point controller. The
join point controller gives you complete control
over your advices at runtime (at certain join
points).
-
Package namespaces and scopes in the XML definition.
-
cflow (control flow) pointcuts.
-
Performance improvement for advices by a factor of 2.
-
Many, many bugfixes (introduced by the new pointcut model
implementation in 0.6.x).
-
The runtime attributes tags have changed. (They now have
an aspectwerkz namespace and are using the same syntax as XDoclet.)
-
The prefix
___AW_
is now used at all introduced methods and fields.
Including the Identifiable.getUuid
method which is renamed to
___AW_getUuid
-
Documentation and examples have been updated.
-
Uses new version of JMangler (3.0.2) which is released under LGPL.
New features and changes in release 0.6.x
-
Completely new definition model. Aspects, advices,
introductions and pointcuts are now completely orthogonal
and the model now has the essence of the AspectJ model.
See the documentation for details.
-
Abstract aspects definitions as well as pointcut expressions
(e.g.
((pc1 OR pc2) AND !pc3)
and similar).
-
Multiple weave models.
-
Multiple AspectWerkz system can run in the same JVM concurrently.
-
setField and getField now works for get and set java.util.*
collection fields (e.g. add/get/remove/size and so on).
-
Advice and introduction container is now pluggable. I.e. the
user can provide its own custom implementation (f.e. to enable
persistence).
-
The transparent persistence of advices and introductions have
been moved to the sandbox.
-
Many bug fixes.
New features and changes in release 0.5.x
-
Caller side pointcuts. I.e. the possibility to advise a
method invocation (caller side) apart from method
execution (callee side).
-
Fine-grained pattern language for picking out pointcuts.
It is now possible to pick out method pointcuts by method name,
parameter types and return type as well as field pointcuts
by field name and field type. All these support regular
expressions.
-
Runtime attributes for advices (method/field/throws).
I.e. add meta-data to your methods/field/classes as
JavaDoc tags which are picked up by the weaver and
used as rule set when doing the transformations.
-
Class selectors for aspects. I.e. pick out classes using
regular expressions.
-
Advising of static fields.
-
Parameters to advices. The possibility to pass
parameters to advices through the XML definition.
-
Advice stacks. The possibility to define stacks/chains
of advices that can be reused throughout the XML definition.
-
MethodAdvice has been renamed to AroundAdvice and the
FieldAdvices has been renamed to PreAdvice and PostAdvice.
-
Creation and registration of new advices at runtime
(in previous releases you could only add/remove/reorder
existing advices).
-
Ant task for offline post-processing.
-
More flexible startup and definition handling process.
-
Multiple pattern declarations for pointcuts.
-
More documentation and examples.
-
Many many bugfixes.