1.6.12.m2
diff --git a/doc/released/README-1612.html b/doc/released/README-1612.html
index fbe5a64..05a4bbc 100644
--- a/doc/released/README-1612.html
+++ b/doc/released/README-1612.html
@@ -23,10 +23,85 @@
 <p>The full list of resolved issues in 1.6.12 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.12;">here</a></h2>.</p>
 
+
+<h4>1.6.12.M2 available 18-Aug-2011</h4>
 <h4>1.6.12.M1 available 7-Jun-2011</h4>
 
 
 <h2>Notable Changes</h2>
+
+<hr>
+<h3>M2 - thisAspectInstance (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239649">bug239649</a>)</h3>
+<p>
+There is now a new well known name that you can use in the if clauses in your aspects.  <tt>thisAspectInstance</tt> provides access to the aspect instance.
+
+Here is an example:
+
+<code><pre>aspect X {
+  boolean doit() {
+    System.out.println("In instance check method doit()");
+    return true;
+  }
+
+  before():execution(* m(..)) && if(thisAspectInstance.doit()){
+    System.out.println(thisJoinPoint);
+  }
+}</pre></code>
+
+<p>Now why not just use <tt>X.aspectOf()</tt> instead of <tt>thisAspectInstance</tt>?  Well <tt>thisAspectInstance</tt> is quite useful 
+when working with abstract/concrete aspects:
+
+<code><pre>
+abstract aspect X {
+abstract pointcut p();
+
+boolean doit() {
+    return true;
+  }
+
+  before():p()  && if(thisAspectInstance.doit()){
+    System.out.println(thisJoinPoint);
+  }
+}
+
+aspect Y extends X {
+
+  pointcut p(): execution(* m(..));
+
+}</pre></code>
+
+<p>Now <tt>thisAspectInstance</tt> will be an instance of the Y, not X.
+
+It enables the aspect instance to be used in some kind of check/guard that will avoid the costly creation of a thisJoinPoint object if
+the advice isn't going to run.
+
+<b>Note:</b> right now this only works for singleton aspects.  If you have need of it with other instantiation models, please comment on
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=239649">https://bugs.eclipse.org/bugs/show_bug.cgi?id=239649</a>
+</p>
+<h3>M2 - weaving groovy</h3>
+<p>
+Although we have been successfully weaving groovy for a long time, it is becoming more popular and a few issues have been uncovered
+when using non-singleton aspects with groovy code.  These have been fixed.
+</p>
+
+<h3>M2 - AJDT memory</h3>
+<p>
+The release notes for the last few versions of AspectJ have mentioned two options (minimalModel and typeDemotion) which can be
+switched on to reduce memory consumption.  They have had enough field testing now and from 1.6.12.M2 onwards they are on by default.
+Users should see a reduction in memory consumed by AspectJ projects in AJDT.  It won't affect load time weaving.  It may also help
+command line (or Ant) compile time weaving.  If these options cause a problem then please raise a bugzilla but in the interim you could
+work around the problem by actively turning them off by 
+specifying <tt>-Xset:minimalModel=false,typeDemotion=false</tt> in the project properties for your AspectJ project.
+</p>
+
+<h3>M2 - Java7 weaving support</h3>
+<p>Some preliminary work has been done to support Java7.  Java7 class files must contain the necessary extra verifier support attributes 
+in order to load successfully on a Java7 VM - the attributes were only optional in Java6.  It is possible to force loading of classes missing 
+the attributes but that requires use of a -XX option.  AspectJ 1.6.12.M2 should create these for you if you weave Java7 level class
+files.  Nothing has been done yet to rebase AspectJ on a version of the Eclipse compiler that supports Java7 language constructs - 
+that will happen after Eclipse 3.7.1 is out.
+</p>
+
 <hr>
 <h3>M1 - synthetic is supported in pointcut modifiers <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=327867">327867</a></h3>
 <p>It is now possible to specify synthetic in pointcuts:
diff --git a/downloads.php b/downloads.php
index a5a485b..ae013be 100644
--- a/downloads.php
+++ b/downloads.php
@@ -176,6 +176,19 @@
   <div class="homeitem3col">
   <h3 id="milestones">AspectJ 6</h3>
   <ul>
+  <li>
+    <b>AspectJ 1.6.12.M2, Released 18-Aug-2011</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.12.M2.jar">aspectj-1.6.12.M2.jar</a> (~12M)<br>
+          <a href="http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.6.12.M2-src.jar">aspectj-1.6.12.M2-src.jar</a>
+      </td>
+    </tr>
+    </table>
+    </li>
+    
     <li>
     <b>AspectJ 1.6.12.M1, Released 7-Jun-2011</b>
     <table border="0" cellspacing="0" cellpadding="0" width="100%">
diff --git a/index.php b/index.php
index ed17fcc..6a36a22 100644
--- a/index.php
+++ b/index.php
@@ -87,7 +87,13 @@
 		<div class="homeitem">
 			<h3>News and Events</h3>
 			
-    <li>AspectJ 1.6.12.M1 is now <a href="downloads.php">available for download</a>.
+   <li>AspectJ 1.6.12.M2 is now <a href="downloads.php">available for download</a>.
+   See the <a href="doc/released/README-1612.html">readme</a>
+   for more information.
+   <br><div align="right"><span class="dates"><i>posted 18-Aug-11</i></span></div>
+   </li>
+   
+   <li>AspectJ 1.6.12.M1 is now <a href="downloads.php">available for download</a>.
    See the <a href="doc/released/README-1612.html">readme</a>
    for more information.
    <br><div align="right"><span class="dates"><i>posted 7-Jun-11</i></span></div>