From 7c4d697add8f8d82323bd89f1b091b9128e76000 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Wed, 16 Aug 2023 10:36:33 +0700 Subject: [PATCH] Add 1.9.20 release notes and update version compatibility matrix Signed-off-by: Alexander Kriegisch --- docs/dist/doc/JavaVersionCompatibility.md | 1 + docs/dist/doc/README-1920.html | 155 ++++++++++++++++++++++ docs/dist/doc/index.html | 1 + 3 files changed, 157 insertions(+) create mode 100644 docs/dist/doc/README-1920.html diff --git a/docs/dist/doc/JavaVersionCompatibility.md b/docs/dist/doc/JavaVersionCompatibility.md index 4d94a339d..ccec7742f 100644 --- a/docs/dist/doc/JavaVersionCompatibility.md +++ b/docs/dist/doc/JavaVersionCompatibility.md @@ -7,6 +7,7 @@ be easily concluded from the AspectJ version number anymore, and we are sorry fo AspectJ version | Java version | Comments ----------------|--------------|-------- +1.9.20 | 20 1.9.19 | 19 1.9.9 - 1.9.9.1 | 18 1.9.8 | 17 | AspectJ compiler requires JDK 11+ during build time. During runtime, AspectJ still only requires Java 8+ for both compile-time and load-time weaving. Pure Java code can be compiled down to as old as 1.3 byte code level. diff --git a/docs/dist/doc/README-1920.html b/docs/dist/doc/README-1920.html new file mode 100644 index 000000000..7fcc33269 --- /dev/null +++ b/docs/dist/doc/README-1920.html @@ -0,0 +1,155 @@ + + + + +AspectJ 1.9.20 Readme + + + + +
© Copyright 2023 Contributors. All rights reserved.
+ +

AspectJ 1.9.20

+ +

+ Please note that Bugzilla for issue management is deprecated and new issues should be filed as + GitHub issues. + The list of issues addressed for 1.9.20 can be found here: +

+

+ +

New features

+ +

+ AspectJ 1.9.20 supports Java 20 and its final, preview and + incubator features, such as: +

+ + +

+ Please note that the upstream Eclipse Java Compiler (ECJ) which the AspectJ Compiler (AJC) is a fork of still has some + open issues concerning Java 20 preview feature support, see the list in + this comment. AJC therefore + inherits the same problems for the specific cases described in the linked issues. +

+ +

Improvements

+ + + +

Code examples

+ +

+ You can find some sample code in the AspectJ test suite under the respective AspectJ version in which the features + were first supported (possibly as JVM preview features): +

+ + +

Other changes and bug fixes

+ + + +

AspectJ usage hints

+ +

AspectJ compiler build system requirements

+ +

+ Since 1.9.7, the AspectJ compiler ajc (contained in the aspectjtools library) no longer works on + JDKs 8 to 10. The minimum compile-time requirement is now JDK 11 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 11+. Just like in previous AspectJ versions, both the runtime + aspectjrt and the load-time weaver aspectjweaver still only require JRE 8+. +

+ +

Use LTW on Java 16+

+ +

+ Please note that if you want to use load-time weaving on Java 16+, the weaving agent collides with + JEP 396 (Strongly Encapsulate JDK Internals by Default) and related + subsequent JEPs. Therefore, you need to set the JVM parameter --add-opens java.base/java.lang=ALL-UNNAMED in + order to enable aspect weaving. This is due to the fact that the weaver uses internal APIs for which we have not found + an adequate replacement yet when defining classes in different classloaders. +

+ +

Compile with Java preview features

+ +

+ For features marked as preview on a given JDK, you need to compile with ajc --enable-preview and run with + java --enable-preview on that JDK. +

+

+ Please note that you cannot run code compiled with preview features on any other JDK than the one used for + compilation. For example, records compiled with preview on JDK 15 cannot be used on JDK 16 without recompilation. This + is a JVM limitation unrelated to AspectJ. Also, e.g. sealed classes are preview-1 on JDK 15 and preview-2 on JDK 16. + You still need to recompile, no matter what. +

+ +
+ +

+ Available: 1.9.20 on 27###-Mar-2023 +

+ + + + diff --git a/docs/dist/doc/index.html b/docs/dist/doc/index.html index 84d4f79ad..af2d945e0 100644 --- a/docs/dist/doc/index.html +++ b/docs/dist/doc/index.html @@ -136,6 +136,7 @@ README's Changes and porting guide for AspectJ + 1.9.20, 1.9.19, 1.9.9 and 1.9.9.1, 1.9.8, -- 2.39.5