diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2024-01-02 10:48:51 +0700 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2024-01-06 10:09:11 +0100 |
commit | ce4fa2d3c52e77cd5d4cfa0e4c07e596e91e8ae7 (patch) | |
tree | b44079c2805c483da482fa69e6bd7f41b6138808 /docs/dist/doc/README-1919.html | |
parent | 9c37014d62687a5083b1810185469ed8f0f94eda (diff) | |
download | aspectj-ce4fa2d3c52e77cd5d4cfa0e4c07e596e91e8ae7.tar.gz aspectj-ce4fa2d3c52e77cd5d4cfa0e4c07e596e91e8ae7.zip |
Add asciidoc release notes up to 1.9.21
and fix some minor punctuation issues in older release notes.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'docs/dist/doc/README-1919.html')
-rw-r--r-- | docs/dist/doc/README-1919.html | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/docs/dist/doc/README-1919.html b/docs/dist/doc/README-1919.html deleted file mode 100644 index 9861baf97..000000000 --- a/docs/dist/doc/README-1919.html +++ /dev/null @@ -1,158 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<html> - -<head> -<title>AspectJ 1.9.19 Readme</title> -<style type="text/css"> - <!-- - P { margin-left: 20px; } - PRE { margin-left: 20px; } - LI { margin-left: 20px; } - H4 { margin-left: 20px; } - H3 { margin-left: 10px; } - --> -</style> -</head> - -<body> -<div align="right"><small>© Copyright 2022 Contributors. All rights reserved.</small></div> - -<h1>AspectJ 1.9.19</h1> - -<p> - Please note that Bugzilla for issue management is deprecated and new issues should be filed as - <a href="https://github.com/eclipse/org.aspectj/issues/new">GitHub issues</a>. - The list of issues addressed for 1.9.19 can be found here: - <ul> - <li><a href="https://github.com/eclipse/org.aspectj/issues?q=is%3Aissue+is%3Aclosed++milestone%3A1.9.19">GitHub 1.9.19</a></li> - <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&f0=OP&f1=OP&f3=CP&f4=CP&j1=OR&list_id=16866879&product=AspectJ&query_format=advanced&target_milestone=1.9.19">Bugzilla 1.9.19</a></li> - </ul> -</p> - -<h2>New features</h2> - -<p> - AspectJ 1.9.19 supports <a href="https://openjdk.java.net/projects/jdk/19/">Java 19</a> and its final, preview and - incubator features, such as: -</p> -<ul> - <li>Record patterns (preview)</li> - <li>Virtual threads (preview)</li> - <li>Pattern matching for <tt>switch</tt> (preview 3)</li> - <li>Structured concurrency (incubator)</li> -</ul> - -<p> - 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 - <a href="https://github.com/eclipse/org.aspectj/issues/184#issuecomment-1272254940">this comment</a>. AJC therefore - inherits the same problems for the specific cases described in the linked issues. -</p> - -<h2>Improvements</h2> - -<ul> - <li> - Improve condy (constant dynamic) support. Together with some custom compilation or weaving options, this helps to - avoid a problem when using JaCoCo together with AspectJ, see - <a href="https://github.com/eclipse/org.aspectj/issues/170#issuecomment-1214163297">this comment in #170</a> for - more details. - </li> -</ul> - -<h2>Code examples</h2> - -<p> - 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): -</p> -<ul> - <li> - <a href="https://github.com/eclipse/org.aspectj/tree/master/tests/features198/java17"> - Pattern matching for switch (preview 1) - </a> - </li> - <li> - <a href="https://github.com/eclipse/org.aspectj/tree/master/tests/features199/java18"> - Pattern matching for switch (preview 2) - </a> - </li> - <li> - <a href="https://github.com/eclipse/org.aspectj/tree/master/tests/features1919/java19"> - Pattern matching for switch (preview 3), record patterns (preview 1) - </a> - </li> - <li> - Please note that presently there is no specific sample code for virtual threads and structured concurrency in the - AspectJ code base, because these are just new APIs, no Java language features. You can find sample code for these - concurrency features elsewhere, e.g. in the corresponding JEPs. In AspectJ, they should just work transparently - like any other Java API. - </li> -</ul> - -<h2>Other changes and bug fixes</h2> - -<ul> - <li> - Fix (or rather work around) an old bug occurring when compiling or weaving code using ITD to declare annotations - with <tt>SOURCE</tt> retention on types, methods, constructors or fields. While declaring such annotations does not - make sense to begin with, at least the AspectJ weaver or compiler should handle the situation gracefully, which now - it does by simply ignoring errors caused by it. See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=366085"> - Bugzilla #366085</a> and <a href="https://github.com/eclipse/org.aspectj/pull/196">pull request #196</a>. Better - than this workaround would be for the compiler or weaver to actually print a warning when meeting source level - annotations in declare statements. Hence, follow-up issue - <a href="https://github.com/eclipse/org.aspectj/issues/201">#201</a> was created. - </li> - <li> - Remove legacy AspectJ Browser code and documentation. - </li> - <li> - Thanks to Andrey Turbanov for several clean code contributions. - </li> -</ul> - -<h2>AspectJ usage hints</h2> - -<h3>AspectJ compiler build system requirements</h3> - -<p> - Since 1.9.7, the AspectJ compiler <tt>ajc</tt> (contained in the <tt>aspectjtools</tt> 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 - <tt>aspectjrt</tt>, but the compiler itself needs JDK 11+. Just like in previous AspectJ versions, both the runtime - <tt>aspectjrt</tt> and the load-time weaver <tt>aspectjweaver</tt> still only require JRE 8+. -</p> - -<h3>Use LTW on Java 16+</h3> - -<p> - Please note that if you want to use load-time weaving on Java 16+, the weaving agent collides with - <a href="https://openjdk.java.net/jeps/396">JEP 396 (Strongly Encapsulate JDK Internals by Default)</a> and related - subsequent JEPs. Therefore, you need to set the JVM parameter <tt>--add-opens java.base/java.lang=ALL-UNNAMED</tt> 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. -</p> - -<h3>Compile with Java preview features</h3> - -<p> - For features marked as preview on a given JDK, you need to compile with <tt>ajc --enable-preview</tt> and run with - <tt>java --enable-preview</tt> on that JDK. -</p> -<p> - 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. -</p> - -<hr> - -<p> - <b>Available:</b> 1.9.19 on 21-Dec-2022 -</p> - -</body> - -</html> |