Project Plan For AspectJ, version 1.0
Introduction
AspectJ major versions match up with Java versions. Currently Java is at 9 (1.9) and AspectJ is
about to release the 1.9 version. The AspectJ project then releases
service refreshes to that major version every
few months. The current release model is at least something every 3 months - sometimes a milestone,
sometimes a full release.
AspectJ always maintains that HEAD will build clean and pass all the tests we have (currently
around 4700). This means the development builds created from HEAD after every commit are always at least
as good as the previous build.
Release Deliverables
AspectJ releases are delivered as a single .jar download that installs a compiler and the related
tools and documentation when executed. The packaging of an AspectJ release into plugins consumable in
an Eclipse environment is done by the AJDT project.
Release Milestones
1.9.0.RC3 | 11/15/2017 | AspectJ 1.9.0 release candidate 1 |
1.8.13 | 11/15/2017 | AspectJ 1.8.13 release |
1.9.0.RC2 | 11/09/2017 | AspectJ 1.9.0 release candidate 1 |
1.9.0.RC1 | 10/21/2017 | AspectJ 1.9.0 release candidate 1 |
1.8.12 | 10/20/2017 | AspectJ 1.8.12 release |
Target Environments
During AspectJ 1.8 we moved to a baseline requirement of Java8. AspectJ 1.9 will run on Java8 or Java9.
If using purely the pointcut matching parts of AspectJ (like Spring AOP does) it is possible to use that
part of AspectJ 1.8 running on Java 9, but for proper operation of all AspectJ features, if using Java 9
then users should be using AspectJ 1.9.
Internationalization
We have bundles for many of the messages in the project but they are not translated.
Compatibility with Previous Releases
AspectJ is strong on compatibility and any level of AspectJ is always intended to parse code/aspects
built with any earlier version of AspectJ without requiring recompilation.
Themes and Priorities
These are the larger themes and priorities right now:
Maintenance and JDK chasing
AspectJ is effectly in a maintenance mode right node, this means periodic
bug fix releases and updates to consume the latest fixes from JDT. With the increase in
velocity of JDK releases, we need to think about the best way to handle that in AspectJ.