1.6.9rc1
diff --git a/doc/released/README-169.html b/doc/released/README-169.html
index f54743c..11663e7 100644
--- a/doc/released/README-169.html
+++ b/doc/released/README-169.html
@@ -20,10 +20,64 @@
<h1>AspectJ 1.6.9 Readme</h1>
-<h2>Features of 1.6.9 milestone 2</h2>
+<p>The full list of resolved issues in 1.6.9 is available <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;product=AspectJ;target_milestone=1.6.9;target_milestone=1.6.9M1;target_milestone=1.6.9M2;target_milestone=1.6.9RC1">here</a></h2>
-<p>Mostly bug fixes, some important fixes around the use of Method ITDs with private fields
- (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=307120">307120</a>)</p>
+<h2>Features</h2>
+
+<h3>declare annotation supports compound signature patterns: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=287613">287613</a></h3>
+<p>Until now it wasn't possible to express a compound pattern in any of the declare annotation constructs that
+take a member signature. For example, if you wanted to attach an annotation to all your getter like methods, you needed
+two constructs</p>
+<pre><code>
+declare @method: * is*(): @FooBar;
+declare @method: * get*(): @FooBar;
+</code></pre>
+<p>Now AspectJ allows compound patterns for declare @method/@constructor/@field.</p>
+<pre><code>
+declare @method: (* is*()) || (* get*()): @FooBar;
+</code></pre>
+
+<h3>Intertype declaration of member types</h3>
+
+<p>It is now possible to ITD member types. The syntax is as would be expected. This example introduces a new member type called
+Inner into type Foo:</p>
+<pre><code>public class Foo {
+ public static void main(String[] args) {
+ new Inner().run();
+ }
+}
+
+aspect Magic {
+ public static class Foo.Inner {
+ public void run() {
+ System.out.println("Inner.run() executing");
+ }
+ }
+}</code></pre>
+<p>Only static member types are supported.</p>
+
+<h3>'Optional' aspects: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=310506">310506</a></h3>
+
+<p>It is not uncommon to ship a library aspect separately to a jar upon which it depends. In the case of Spring there is
+an aspect library containing a multitude of aspects that attach different technologies (transactions/persistence/etc) to your
+application. Normally an aspect will fail with a "can't find type" style message if a weaver is told to use it and yet it
+references some missing dependency. This can be annoying and require you to include jars on your classpath (or in your maven
+configuration) that you don't actually use, they are *only* there to avoid problems with the aspect. In 1.6.9 you can add
+a setting to these aspects in the aop.xml that makes them optional. The setting mentions a type and if that type cannot be found
+the aspect immediately shuts itself down. This basically means that the aspect is only going to do its job if the type being
+mentioned in the setting is around. This enables the aspect library to be on the aspect path but any aspects within it to
+switch-off if there is nothing for them to do.
+</p>
+<p>Here is an example, 'AspectA' will switch itself off if the type 'a.b.c.Anno' cannot be found:</p>
+<code><pre>
+ <aspect name="AspectA" requires="a.b.c.Anno"/>
+</pre></code>
+
+<h3>Reduction in class file sizes: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=312839">312839</a></h3>
+
+<p>More details here: <a href="http://andrewclement.blogspot.com/2010/05/aspectj-size-is-important.html">http://andrewclement.blogspot.com/2010/05/aspectj-size-is-important.html</a>
+but basically some work has been done to improve the serialized form of aspects. As an example, a compiled Roo petclinic sample (which
+uses lots of aspects and ITDs) is down from 1Meg (AspectJ 1.6.9m2) to 630k (AspectJ 1.6.9rc1).</p>
<h3>Transparent weaving: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=309743">309743</a></h3>
<p>In a further step towards transparent weaving, support for the AjType reflection system is now being made optional.
@@ -43,7 +97,7 @@
into overweaving mode by the option -Xset:overWeaving=true - which can be specified on the command line or in the weaver
options section of aop.xml. There is still more work to be done on this feature - any feedback is welcome.</p>
-<h3>aop.xml scoping: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=124460">124460</a></h3>
+<h3>AOP Scoping: <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=124460">124460</a></h3>
<p>Another feature that had preliminary support a while ago is aspect scoping in aop.xml. This has also been improved in
AspectJ1.6.9m2. For those not aware of it, it is the ability to specify a scope against aspects defined in your loadtime
@@ -69,9 +123,6 @@
aspects to be used are X and Y. The new 'scope' setting on aspect Y's definition allows finer control, and specifies that
Y should in fact only be applied to com.foo..* types.</p>
-<hr>
-<h2>Features of 1.6.9 milestone 1</h2>
-
<h3>Message inserts for declare warning/error messages</h3>
<p>It is now possible to use joinpoint context in the messages attached to declare warning and declare error constructs. Some
@@ -191,4 +242,4 @@
<h4>
<!-- ============================== -->
</body>
-</html>
+</html>
\ No newline at end of file
diff --git a/downloads.php b/downloads.php
index a8c55f9..3eeea5c 100644
--- a/downloads.php
+++ b/downloads.php
@@ -177,25 +177,13 @@
<h3 id="milestones">AspectJ 6</h3>
<ul>
<li>
- <b>AspectJ 1.6.9.M2, Released 13th May, 2010</b>
+ <b>AspectJ 1.6.9.RC1, Released 23rd June, 2010</b>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><ul>AspectJ compiler, browser, documentation tool, Ant tasks, and documentation.</ul></td>
<td width="30%" align="right">
- <a href="http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.6.9.M2.jar">aspectj-1.6.9.M2.jar</a> (~12M)<br>
- <a href="http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.6.9.M2-src.jar">aspectj-1.6.9.M2-src.jar</a>
- </td>
- </tr>
- </table>
- </li>
- <li>
- <b>AspectJ 1.6.9M1, Released 16th April, 2010</b>
- <table border="0" cellspacing="0" cellpadding="0" width="100%">
- <tr>
- <td><ul>AspectJ compiler, browser, documentation tool, Ant tasks, and documentation.</ul></td>
- <td width="30%" align="right">
- <a href="http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.6.9M1.jar">aspectj-1.6.9M1.jar</a> (~12M)<br>
- <a href="http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.6.9M1-src.jar">aspectj-1.6.9M1-src.jar</a>
+ <a href="http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.6.9.RC1.jar">aspectj-1.6.9.RC1.jar</a> (~12M)<br>
+ <a href="http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.6.9.RC1-src.jar">aspectj-1.6.9.RC1-src.jar</a>
</td>
</tr>
</table>
diff --git a/index.php b/index.php
index 23826b0..d67900f 100644
--- a/index.php
+++ b/index.php
@@ -88,6 +88,12 @@
<h3>News and Events</h3>
<ul>
+ <li>AspectJ 1.6.9 release candidate 1 is now <a href="downloads.php">available for download</a>.
+ Please try it out! See the <a href="doc/released/README-169.html">readme</a>
+ for more information.
+ <br><div align="right"><span class="dates"><i>posted 23-Jun-10</i></span></div>
+ </li>
+
<li>AspectJ 1.6.9 milestone 2 is now <a href="downloads.php">available for download</a>.
Please try it out! See the <a href="doc/released/README-169.html">readme</a>
for more information. This release includes bug fixes, some 'overweaving' enhancements