Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-announce] AspectJ 1.9.21 with Java 21 support

Dear AspectJ users,

we are pleased to announce the AspectJ bugfix release 1.9.21 supporting Java 21. Please note that since 1.9.19, the minor-minor version indicates the corresponding latest Java release (byte code version) supported by the AspectJ compiler and weaver. I.e., 1.9.21 → Java 21.

Sorry for the delay. Actually, there was a Java 21 snapshot version early after the Java release. But unfortunately, even after holding back the AspectJ release for 3 months after JDK 21 general availability, waiting for Eclipse JDT Core and the Eclipse Java Compiler (ECJ) to catch up with Java 21 language features, even with Java 21 officially supported in Eclipse 2023-12, some preview features are still unimplemented in ECJ. Today, I decided to release anyway, because users have been asking for it. See release notes link below.

Please note:

  • Since 1.9.21, the AspectJ compiler AJC (contained in the aspectjtools library) no longer works on JDKs 11 to 16. The minimum compile-time requirement is now JDK 17 due to upstream changes in the Eclipse Java Compiler (subset of JDT Core), which AspectJ is a fork of. You can still compile to legacy target versions as low as Java 1.3 when compiling plain Java code or using plain Java ITD constructs which do not require the AspectJ runtime aspectjrt, but the compiler itself needs JDK 17+. Just like in previous AspectJ versions, both the runtime aspectjrt and the load-time weaver aspectjweaver still only require JRE 8+.
  • History: Since 1.9.7, the AspectJ compiler AJC needed JDK 11+, before then JDK 8+.

Other resources:

Enjoy AspectJ!

The AspectJ team


Back to the top