From: Alexander Kriegisch Date: Wed, 21 Dec 2022 12:00:37 +0000 (+0100) Subject: Add release notes for 1.9.19 (Java 19) X-Git-Tag: V1_9_19~5^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b781362e746e41fbdcce442410fa66adb32ba05b;p=aspectj.git Add release notes for 1.9.19 (Java 19) Signed-off-by: Alexander Kriegisch --- diff --git a/docs/dist/doc/README-1919.html b/docs/dist/doc/README-1919.html new file mode 100644 index 000000000..a146c53a7 --- /dev/null +++ b/docs/dist/doc/README-1919.html @@ -0,0 +1,163 @@ + + + + +AspectJ 1.9.19 Readme + + + + +
© Copyright 2022 Contributors. All rights reserved.
+ +

AspectJ 1.9.19

+ +

+ 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.19 can be found here: +

+

+ +

New features

+ +

+ AspectJ 1.9.19 supports Java 19 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 19 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

+ +

+ In annotation style aspects, asynchronous proceed() calls in @Around advice now works in threads + created from within the advice. Previously, this was only working in native syntax aspects. There is still a + limitation with regard to asynchronous proceed, if you do not create the thread in the advice but want to use e.g. + an ExecutorService with its own thread pool. This still is not working in annotation style aspects, only in + native syntax ones. +

+

+ See issue #128 and + pull request #132 for more details. +

+

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.19 on DD-MMM-2022 +

+ + + + diff --git a/docs/dist/doc/index.html b/docs/dist/doc/index.html index 371961da2..84d4f79ad 100644 --- a/docs/dist/doc/index.html +++ b/docs/dist/doc/index.html @@ -136,6 +136,8 @@ README's Changes and porting guide for AspectJ + 1.9.19, + 1.9.9 and 1.9.9.1, 1.9.8, 1.9.7, 1.9.6,