aboutsummaryrefslogtreecommitdiffstats
path: root/docs/dist/doc/README-1919.html
diff options
context:
space:
mode:
authorAlexander Kriegisch <Alexander@Kriegisch.name>2024-01-02 10:48:51 +0700
committerAlexander Kriegisch <Alexander@Kriegisch.name>2024-01-06 10:09:11 +0100
commitce4fa2d3c52e77cd5d4cfa0e4c07e596e91e8ae7 (patch)
treeb44079c2805c483da482fa69e6bd7f41b6138808 /docs/dist/doc/README-1919.html
parent9c37014d62687a5083b1810185469ed8f0f94eda (diff)
downloadaspectj-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.html158
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>&copy; 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>