Re: [aspectj-users] AspectJ 1.9.21.1 maintenance release

2024-02-14 Thread Matthew Adams via aspectj-users
Again, great work, folks!  šŸ˜Š

On Tue, Feb 13, 2024 at 9:18ā€ÆPM Alexander Kriegisch via aspectj-users <
aspectj-users@eclipse.org> wrote:

> Dear AspectJ users,
>
> we are pleased to announce the AspectJ bugfix release 1.9.21.1 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*.1 ā†’ Java *21*.
>
>- *For load-time weaving (LTW) on JDK 16+, using --add-opens is no
>longer necessary!* The additional JVM command-line option was
>necessary for LTW on JRE 16+ in all AspectJ versions up to 1.9.21. Since
>AspectJ 1.9.21.1, the LTW agent uses an alternative approach for defining
>new classes during weaving, which works without --add-opens - at least
>for now, i.e. JDKs 8 to 21. There still is no canonical (as in "not hacky")
>solution, because JDK-8200559
> is still unresolved
>since 2018.
>- The *AspectJ documentation* is now written in *asciidoc* format and
>processed by the Asciidoctor toolchain. Before, it was a mixture of DocBook
>XML and plain HTML files. While the content has not changed much, it now
>looks fresher, is easier to read (also online when browsing the GitHub
>repository), navigate and maintain and also easy to publish in different
>formats (multi-page HTML, single-page HTML, PDF). Those formats are also
>distributed on the website and with the AspectJ installer. A content
>overhaul is also overdue, but not part of this change. It is still
>basically the same: Everything up to AspectJ 1.5 is in the regular
>documentation. The changes since then can be extracted incrementally from
>various release notes.
>
> 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:
>
>- For more detailed release information, please read the release notes
>
> 
>.
>- The current artifacts (runtime, weaver, compiler, matcher) are
>available on Maven Central.
>- The AspectJ installer can be found on GitHub
>.
>- There is also an AJDT update site for Eclipse 4.30 (2023-12)
>.
>Unfortunately, updates sites for previous Eclipse versions , e.g. 4.26
>(2022-12) and 4.23 (2022-03) are no longer compatible with AspectJ 1.9.21,
>because the latter dependes on upstream Eclipse changes. So if you want to
>use ADJT builds with Eclipse IDE, you need to upgrade to 2023-12.
>Otherwise, you can only use AspectJ 1.9.21 via Maven build, not via direct
>IDE. On top of that, you also need an extra update site for Eclipse
>2023-12 itself
>
> .
>The IDE guide
>
> 
>explains, why this is necessary.
>- On GitHub, there also is a short guide describing options for setting
>up a development environment
>
>.
>- See here
>
> 
>for more information about how to upgrade to the latest AspectJ version
>when using dev.aspectj:aspectj-maven-plugin:1.14
>.
>
> Enjoy AspectJ!
>
> The AspectJ team
> ___
> aspectj-users mailing list
> aspectj-users@eclipse.org
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/aspectj-users
>
___
aspectj-users mailing list
aspectj-users@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/aspectj-users


[aspectj-users] AspectJ 1.9.21.1 maintenance release

2024-02-13 Thread Alexander Kriegisch via aspectj-users
Dear AspectJ users,
we are pleased to announce the AspectJ bugfix release 1.9.21.1 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.1Ā ā†’ Java 21.

For load-time weaving (LTW) on JDK 16+, using --add-opens is no longer necessary! The additional JVM command-line option was necessary for LTW on JRE 16+ in all AspectJ versions up to 1.9.21. Since AspectJ 1.9.21.1, the LTW agent uses an alternative approach for defining new classes during weaving, which works without --add-opens - at least for now, i.e. JDKs 8 to 21. There still is no canonical (as in "not hacky") solution, because JDK-8200559 is still unresolved since 2018.
The AspectJ documentation is now written in asciidocĀ format and processed by the Asciidoctor toolchain. Before, it was a mixture of DocBook XML and plain HTML files. While the content has not changed much, it now looks fresher, is easier to read (also online when browsing the GitHub repository), navigate and maintain and also easy to publish in different formats (multi-page HTML, single-page HTML, PDF). Those formats are also distributed on the website and with the AspectJ installer. A content overhaul is also overdue, but not part of this change. It is still basically the same: Everything up to AspectJ 1.5 is in the regular documentation. The changes since then can be extracted incrementally from various release notes.

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:

For more detailed release information, please read theĀ release notes.
The current artifacts (runtime, weaver, compiler, matcher) are available on Maven Central.
The AspectJ installer can be found onĀ GitHub.
There is also anĀ AJDT update site for Eclipse 4.30 (2023-12). Unfortunately, updates sites for previous Eclipse versions , e.g. 4.26 (2022-12) and 4.23 (2022-03) are no longer compatible with AspectJ 1.9.21, because the latter dependes on upstream Eclipse changes. So if you want to use ADJT builds with Eclipse IDE, you need to upgrade to 2023-12. Otherwise, you can only use AspectJ 1.9.21 via Maven build, not via direct IDE. On top of that, you also need an extra update site for Eclipse 2023-12 itself. The IDE guide explains, why this is necessary.
On GitHub, there also is a short guide describing options forĀ setting up a development environment.
SeeĀ here for more information about how to upgrade to the latest AspectJ version when using dev.aspectj:aspectj-maven-plugin:1.14.

Enjoy AspectJ!
The AspectJ team

___
aspectj-users mailing list
aspectj-users@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/aspectj-users