diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2021-10-08 10:55:37 +0200 |
---|---|---|
committer | Alexander Kriegisch <Alexander@Kriegisch.name> | 2021-10-08 11:07:16 +0200 |
commit | e16efa31d44591dd2a14e552a1fd71cd809d42a0 (patch) | |
tree | 03306db574e001cb71c1c997d7fd7d94deeeb27b /docs | |
parent | 25d4a1a3d730828a4b5f98e7af89e04488882f01 (diff) | |
download | aspectj-e16efa31d44591dd2a14e552a1fd71cd809d42a0.tar.gz aspectj-e16efa31d44591dd2a14e552a1fd71cd809d42a0.zip |
Add AspectJ 1.9.8 release notes
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dist/doc/README-197.html | 4 | ||||
-rw-r--r-- | docs/dist/doc/README-198.html | 105 | ||||
-rw-r--r-- | docs/dist/doc/index.html | 107 |
3 files changed, 161 insertions, 55 deletions
diff --git a/docs/dist/doc/README-197.html b/docs/dist/doc/README-197.html index 734882597..0b39b40cb 100644 --- a/docs/dist/doc/README-197.html +++ b/docs/dist/doc/README-197.html @@ -26,7 +26,7 @@ <p> Please note that going forward 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.7 can be found + The list of issues addressed for 1.9.7 can be found <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.7">here for Bugzilla</a> and <a href="https://github.com/eclipse/org.aspectj/issues?q=is%3Aissue+is%3Aclosed++milestone%3A1.9.7">here for GitHub issues</a>. </p> @@ -35,7 +35,7 @@ <p> AspectJ 1.9.7 supports <a href="https://openjdk.java.net/projects/jdk/15/">Java 15</a> & - <a href="https://openjdk.java.net/projects/jdk/16/">Java 16</a> and their respective final and review features: + <a href="https://openjdk.java.net/projects/jdk/16/">Java 16</a> and their respective final and preview features: </p> <ul> <li>text blocks (final 15)</li> diff --git a/docs/dist/doc/README-198.html b/docs/dist/doc/README-198.html new file mode 100644 index 000000000..825d872ef --- /dev/null +++ b/docs/dist/doc/README-198.html @@ -0,0 +1,105 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<html> + +<head> +<title>AspectJ 1.9.8 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 2021 Contributors. All rights reserved.</small></div> + +<h1>AspectJ 1.9.8</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.8 can be found + <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.8">here for Bugzilla</a> + and <a href="https://github.com/eclipse/org.aspectj/issues?q=is%3Aissue+is%3Aclosed++milestone%3A1.9.8">here for GitHub issues</a>. +</p> + +<h2>New features</h2> + +<p> + AspectJ 1.9.8 supports <a href="https://openjdk.java.net/projects/jdk/17/">Java 17</a> and its final and preview + features, such as: +</p> +<ul> + <li>sealed classes (final in Java 17, previews in Java 15, 16 and AspectJ 1.9.7)</li> + <li>pattern matching for switch</li> +</ul> +<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> +<p> + Furthermore, the <tt>--release N</tt> compiler option for correct cross-compilation to previous JDK bytecode + API + versions is now supported by AJC. Previously, the option existed (inherited by ECJ) but did not work correctly. +</p> + +<h3>Code examples</h3> + +<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/compiler_release"> + Cross-compilation to legacy JDK + </a>: + An example class which only works correctly on JDK 8 when compiled with <tt>--release 8</tt> due to API changes in + the JDK. Simply <tt>-source 8 -target 8</tt> would not be enough in this case.</li> + <li> + <a href="https://github.com/eclipse/org.aspectj/tree/master/tests/features198/java17"> + Pattern matching for switch + </a> + </li> +</ul> + +<h2>Using LTW on Java 16+</h2> + +<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>. 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> + +<h2>Other changes and bug fixes</h2> + +<ul> + <li> + The AspectJ compiler no longer works on JDK 8-10. The minimum compile-time requirement for AspectJ is 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, but the compiler itself (and probably also the load-time + weaver) needs JDK 11. + </li> + <li>Document build profiles and properties in <i>docs/developer/BUILD.md</i></li> + <li>Add a guide for setting up an AspectJ development environment in <i>docs/developer/IDE.md</i></li> + <li>Allowed JAR saving if <tt>-proceedOnError</tt> is specified</li> +</ul> + +<p> + Available: 1.9.8 available DD-MMM-2021 +</p> + +</body> + +</html> diff --git a/docs/dist/doc/index.html b/docs/dist/doc/index.html index 94e13fe96..36bba4821 100644 --- a/docs/dist/doc/index.html +++ b/docs/dist/doc/index.html @@ -1,18 +1,18 @@ -<html> +<html> <head> <title>AspectJ Documentation and Resources</title> </head> -<body> +<body> <a name="top"></a> <h1>AspectJ Documentation and Resources</h1> -<p/> +<p/> AspectJ <sup><small>tm</small></sup> - is a seamless aspect-oriented extension to + is a seamless aspect-oriented extension to Java<sup><small>tm</small></sup>. - The compiler and development tools are available under + The compiler and development tools are available under an open-source license, require Java 1.3 to run, and produce - code that runs in JDK 1.1 and later VM's. + code that runs in JDK 1.1 and later VM's. For the latest materials, see <a href="http://eclipse.org/aspectj">http://eclipse.org/aspectj</a>. Not all of these materials have been updated for AspectJ 5. @@ -21,28 +21,28 @@ <table> <tr><td><u>Section</u></td><td><u>Contents</u></td></tr> <tr><td><a href="#documentation">docs</a></td><td> - <a href="faq.html">FAQ</a>, + <a href="faq.html">FAQ</a>, <a href="quick5.pdf">Quick Reference (AspectJ 5)</a>, - <a href="quick.pdf">Quick Reference (1.2.1)</a>, + <a href="quick.pdf">Quick Reference (1.2.1)</a>, <a href="adk15notebook/index.html">AspectJ 5 Developer's Notebook</a>, - <a href="progguide/index.html">programming</a>, - <a href="devguide/index.html">development</a> and - <a href="pdguide/index.html">problem diagnosis</a> guides, + <a href="progguide/index.html">programming</a>, + <a href="devguide/index.html">development</a> and + <a href="pdguide/index.html">problem diagnosis</a> guides, <a href="runtime-api/index.html">API</a> and <a href="examples/">example code</a>. </td></tr> - <tr><td><a href="#distributions">distributions</a></td><td> + <tr><td><a href="#distributions">distributions</a></td><td> <a href="http://eclipse.org/aspectj">AspectJ</a>; - development environment support for - <a href="http://eclipse.org/ajdt">Eclipse</a> + development environment support for + <a href="http://eclipse.org/ajdt">Eclipse</a> and - <a href="https://jdeveloperaop.dev.java.net/">JDeveloper</a>. + <a href="https://jdeveloperaop.dev.java.net/">JDeveloper</a>. </td></tr> <tr><td><a href="#resources">resources</a></td><td> <a href="http://aosd.net">aosd.net</a>; <a href="http://eclipse.org/aspectj">AspectJ project</a> the bug <a href="http://bugs.eclipse.org/bugs">db</a>, - and mailing lists for + and mailing lists for <a href="mailto:aspectj-users@eclipse.org">users</a> and <a href="mailto:aspectj-dev@eclipse.org">developers</a>. </td></tr> @@ -54,37 +54,37 @@ <a name="documentation"></a> <h3>AspectJ documentation</h3> <table border="1"> -<tr> <th>Documentation</th><th>Description</th> +<tr> <th>Documentation</th><th>Description</th> </tr> <tr> <td><a href="quick5.pdf"> AspectJ 5 Quick Reference</a> </td> - <td>This is a four-page quick reference for the AspectJ 5 language. + <td>This is a four-page quick reference for the AspectJ 5 language. </td> </tr> <tr> <td><a href="quick.pdf"> AspectJ Quick Reference</a> </td> - <td>This is a two-page quick reference for the AspectJ language. + <td>This is a two-page quick reference for the AspectJ language. </td> </tr> <tr> <td><a href="adk15notebook/index.html">AspectJ 5 Developer's Notebook</a> (printable <a href="adk15notebook/printable.html">html</a>) </td> <td>This describes the changes to the AspectJ language and tools introduced - in the AspectJ 5 Development Kit. These changes are additive, and are not yet + in the AspectJ 5 Development Kit. These changes are additive, and are not yet reflected in the programming guide or quick reference.</td> </tr> <tr> <td><a href="progguide/index.html">Programming Guide</a> (printable <a href="progguide/printable.html">html</a>) </td> - <td>This introduces AOP and the AspectJ language. + <td>This introduces AOP and the AspectJ language. <a href="progguide/starting.html">Getting Started</a> describes basic semantics, and shows development- and production-time applications. <a href="progguide/language.html">The AspectJ Language</a> - describes join points, pointcuts, advice, and introduction, all features new to AOP. - <a href="progguide/examples.html">Examples</a> walks you through the + describes join points, pointcuts, advice, and introduction, all features new to AOP. + <a href="progguide/examples.html">Examples</a> walks you through the examples included with the documentation, and there are two short chapters on useful <a href="progguide/idioms.html">Idioms</a> and a few <a href="progguide/pitfalls.html">Pitfalls</a> @@ -92,7 +92,7 @@ the <a href="progguide/quick.html">Quick Reference</a> summarizes AspectJ syntax, the <a href="progguide/semantics.html">Language Semantics</a> - best describes AspectJ usage, and + best describes AspectJ usage, and <a href="progguide/implementation.html">Implementation Notes</a> describes how the current version is limited to code the compiler controls.</td> @@ -100,13 +100,13 @@ <tr> <td><a href="devguide/index.html">Development Environment Guide</a> <br/> - + (printable <a href="devguide/printable.html">html</a>) </td> - <td>This is a guide to + <td>This is a guide to <a href="devguide/ajc-ref.html">ajc</a>, the command-line compiler; <a href="devguide/ajbrowser.html">ajbrowser</a>, the stand-alone - GUI for compiling and viewing crosscutting structure; + GUI for compiling and viewing crosscutting structure; and the <a href="devguide/antTasks.html">Ant tasks</a> for building AspectJ programs. </td> @@ -114,10 +114,10 @@ <tr> <td><a href="pdguide/index.html">Problem Diagnosis Guide</a> <br/> - + (printable <a href="pdguide/printable.html">html</a>) </td> - <td>This has a guide to + <td>This has a guide to the various features available such as messages and trace to help you both solve problems with you own programs and report bugs to the AspectJ team. </td> @@ -137,7 +137,8 @@ <tr> <td>README's </td> - <td>Changes and porting guide for AspectJ + <td>Changes and porting guide for AspectJ + <a href="README-198.html">1.9.8</a>, <a href="README-197.html">1.9.7</a>, <a href="README-196.html">1.9.6</a>, <a href="README-195.html">1.9.5</a>, @@ -196,7 +197,7 @@ <tr> <td><a href="examples/">Examples</a> </td> <td>AspectJ code to demonstrate some language features and implement - JavaBean properties, the Observer pattern, a tracing library, + JavaBean properties, the Observer pattern, a tracing library, and a game application where aspects handle display updating. </td> </tr> @@ -215,8 +216,8 @@ </tr> <tr> <td><a href="http://eclipse.org/aspectj">AspectJ</a> source code </td> - <td>Source code for AspectJ is available - under the open-source + <td>Source code for AspectJ is available + under the open-source <a href="https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt">Eclipse Public License v 2.0</a> license from the Git repositories for the AspectJ project. See the @@ -250,9 +251,9 @@ <a name="resources"></a> <h3>Other AspectJ resources</h3> <table border="1"> -<tr> <th>Resources</th><th>Description</th> +<tr> <th>Resources</th><th>Description</th> </tr> -<tr> <td>Mail lists +<tr> <td>Mail lists </td> <td> AspectJ users discuss tips and @@ -262,14 +263,14 @@ AspectJ developers discuss issues with developing the AspectJ tools on <a href="mailto:aspectj-dev@eclipse.org"> - aspectj-dev@eclipse.org</a>. + aspectj-dev@eclipse.org</a>. To get occasional emails about AspectJ releases - and relevant events, subscribe to + and relevant events, subscribe to <tt>aspectj-announce@eclipse.org</tt>. - To view list archives or subscribe to the list, go to + To view list archives or subscribe to the list, go to <a href="http://eclipse.org/aspectj"> the AspectJ home page</a>. - To find archived emails, use the Eclipse site + To find archived emails, use the Eclipse site <a href="http://www.eclipse.org/search/search.cgi">search page</a>. </td></tr> <tr> <td><a href="http://bugs.eclipse.org/bugs">Bug database</a> @@ -288,15 +289,15 @@ Bugs all users should know about are <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info"> flagged with the "info" keyword</a>. - See the + See the <a href="faq.html#q:ajcbugs"> - FAQ entry</a> for instructions on submitting compiler bugs. + FAQ entry</a> for instructions on submitting compiler bugs. </td> </tr> <tr> <td> <a href="http://aosd.net">http://aosd.net</a> - the AOSD web site </td> <td>This site has discussion and announcements related to - aspect-oriented software development (AOSD) in general. + aspect-oriented software development (AOSD) in general. Use <a href="mailto:announce@aosd.net">announce@aosd.net</a> to get and publish notices about AOSD workshops, conferences, and technology releases. @@ -309,39 +310,39 @@ <a name="paths"></a> <h3>Suggested paths for those new to AspectJ</h3> <p/> - To learn the AspectJ language, read the + To learn the AspectJ language, read the <a href="progguide/index.html">Programming Guide</a>, keeping the <a href="progguide/semantics.html">Semantics appendix</a> nearby as the best reference for AspectJ usage. Focus initially on the join point model and pointcuts, concepts AOP adds to OOP. - To read about how the <a href="examples/">examples</a> work, + To read about how the <a href="examples/">examples</a> work, see the <a href="progguide/examples.html">Examples </a> section in the <a href="progguide/index.html">Programming Guide</a>. - View and navigate the crosscutting structure using + View and navigate the crosscutting structure using <a href="http://eclipse.org/ajdt">AJDT</a>; if you can't use Eclipse, try the <code>ajbrowser</code> structure viewer, as described in the <a href="devguide/ajbrowser.html">AspectJ Browser</a> section of the <a href="devguide/index.html">Development Environment Guide</a>. <p/> - To start using AspectJ with your own code, + To start using AspectJ with your own code, modify the example aspects to apply to your classes. As you learn, - use the compiler's <code>-Xlint</code> flags to catch some common - mistakes. (Understand that the + use the compiler's <code>-Xlint</code> flags to catch some common + mistakes. (Understand that the <a href="progguide/implementation.html">current implementation</a> is limited to code the compiler controls.) <p> - To plan how to adopt AspectJ into a project, read the + To plan how to adopt AspectJ into a project, read the <a href="progguide/index.html">Programming Guide</a> - on development- and production-time aspects - and the <a href="faq.html">FAQ</a> entries for + on development- and production-time aspects + and the <a href="faq.html">FAQ</a> entries for <a href="faq.html#q:startUsingAJ">How should I start using AspectJ?</a>, <a href="faq.html#adoption">Deciding to adopt AspectJ</a>, the Development tools sections (<a href="faq.html#q:integrateWithDevTools">one</a>, - <a href="faq.html#devtools">two</a>, - <a href="faq.html#ltw">Load-time weaving</a> + <a href="faq.html#devtools">two</a>, + <a href="faq.html#ltw">Load-time weaving</a> ), and <a href="faq.html#q:opensource">AspectJ as open-source</a>. </p> |