diff --git a/docs/html/sdk/installing/installing-adt.jd b/docs/html/sdk/installing/installing-adt.jd
index dcb9c36..93d1db6 100644
--- a/docs/html/sdk/installing/installing-adt.jd
+++ b/docs/html/sdk/installing/installing-adt.jd
@@ -9,7 +9,7 @@
 
 
 <p>Android offers a custom plugin for the Eclipse IDE, called Android
-Development Tools (ADT). This plugin is designed to give you a powerful, integrated
+Development Tools (ADT). This plugin provides a powerful, integrated
 environment in which to develop Android apps. It extends the capabilities
 of Eclipse to let you quickly set up new Android projects, build an app
 UI, debug your app, and export signed (or unsigned) app packages (APKs) for distribution.
diff --git a/docs/html/tools/sdk/eclipse-adt.jd b/docs/html/tools/sdk/eclipse-adt.jd
index 10c622b..f2ff07c 100644
--- a/docs/html/tools/sdk/eclipse-adt.jd
+++ b/docs/html/tools/sdk/eclipse-adt.jd
@@ -53,52 +53,135 @@
 <p>For a summary of all known issues in ADT, see <a
 href="http://tools.android.com/knownissues">http://tools.android.com/knownissues</a>.</p>
 
-<script type="text/javascript">
-function toggleDiv(link) {
-  var toggleable = $(link).parent();
-  if (toggleable.hasClass("closed")) {
-    //$(".toggleme", toggleable).slideDown("fast");
-    toggleable.removeClass("closed");
-    toggleable.addClass("open");
-    $(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + "assets/images/triangle-opened.png"));
-  } else {
-    //$(".toggleme", toggleable).slideUp("fast");
-    toggleable.removeClass("open");
-    toggleable.addClass("closed");
-    $(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + "assets/images/triangle-closed.png"));
-  }
-  return false;
-}
-</script>
 
-<style>
-.toggleable {
-padding: 5px 0 0;
-}
-.toggleme {
-  padding: 10px 0 0 20px;
-}
-.toggleable a {
-  text-decoration:none;
-}
-.toggleme a {
-  text-decoration:underline;
-}
-.toggleable.closed .toggleme {
-  display:none;
-}
-#jd-content .toggle-img {
-  margin:0 5px 3px 0;
-}
-</style>
+<div class="toggle-content opened">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>ADT 21.0.0</a> <em>(November 2012)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
+<dl>
+  <dt>Dependencies:</dt>
 
-<div class="toggleable opened">
-  <a href="#" onclick="return toggleDiv(this)">
-  <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px"
-    width="9px"/>
-ADT 20.0.3</a> <em>(August 2012)</em>
-  <div class="toggleme">
+  <dd>
+    <ul>
+      <li>Java 1.6 or higher is required for ADT 20.0.3.</li>
+      <li>Eclipse Helios (Version 3.6.2) or higher is required for ADT 21.0.0.</li>
+      <li>ADT 21.0.0 is designed for use with <a href="{@docRoot}tools/sdk/tools-notes.html">SDK
+      Tools r21</a>. If you haven't already installed SDK Tools r21.0.0 into your SDK, use the
+      Android SDK Manager to do so.</li>
+    </ul>
+  </dd>
+
+  <dt>General improvements:</dt>
+  <dd>
+    <ul>
+      <li>Layout Editor
+        <ul>
+          <li>Added multi-configuration editing feature that was previewed at Google I/O
+            developer tools talk in June. For an overview, see the
+            <a href="https://www.youtube.com/watch?v=Erd2k6EKxCQ">session recording</a>
+            (starting at: 20:30).</li>
+          <li>Modified the layout logic so that setting a {@link android.app.Fragment} layout or
+            a {@link android.widget.ListView} preview layout is now applied not
+            only to the current layout but to all other configurations of the same layout.</li>
+          <li>Updated the editor to include resources from library projects in the resource chooser,
+            XML code completion, Go To Declaration and other editing contexts.</li>
+          <li>Updated the editor so that it  no longer forces all variations of a single
+            layout into a single editor. You can, for example, open both the landscape and portrait
+            versions of a layout as separate editors and quickly switch between them, or even
+            re-dock your editors to edit them simultaneously. If you prefer the previous behavior,
+            set the new option in <strong>Preferences &gt; Android &gt; Editors</strong> to use the
+            old behavior.</li>
+          <li>Improved the handling of {@link android.widget.RelativeLayout} in the layout editor,
+            so that dragging widgets around and deleting them should now result in the layout
+            working more intuitively. In particular, deleting a widget causes the constraints
+            flowing through the deleted widgets to be intelligently adjusted, and when moving
+            widgets the constraints are preserved whenever possible.</li>
+          <li>Added the ability to specify a default action in Layout Editor views, which you can
+            invoke with the <em>F2</em> key. For example, after dropping a button or text view,
+            you can press <em>F2</em> to edit its text.</li>
+          <li>Added renaming of an ID (changing the {@code android:id} attribute) by invoking the
+            <strong>Rename</strong> shortcut.</li>
+          <li>Adding a new locale is now easier with the new <strong>Add Locale...</strong> action
+            in the locale menu. In addition to creating the new values folder, it lets you edit an
+            initial set of translations for the new locale.</li>
+          <li>Updated the editor so that when a custom view (or incorrectly configured view)
+            throws an exception during initialization or painting, part of the relevant stack trace
+            is shown inline in the layout editor, and you can click on the stack frames to jump to
+            the relevant location</li>
+          <li>Improved the editor error display to show the relevant part of a stack trace
+            when a custom view throws exceptions during rendering or construction, and provides
+            hyperlinks to the stack frames.</li>
+          <li>Improved the stack trace display for exceptions for custom views that are generated
+            during rendering.</li>
+          <li>Updated the configuration chooser so that it shows full language and region names (not
+            just 2-letter codes) in menus, in the configuration dialog and other editing contexts.
+            </li>
+          <li>Improved the device menu in the configuration chooser.</li>
+        </ul>
+      </li>
+      <li>Lint
+        <ul>
+          <li>Added over 25 new lint rules for resources, locale settings, layout
+            files, incorrect use of {@link android.util.SparseArray} and
+            {@link android.os.PowerManager.WakeLock} and manifest issues.</li>
+          <li>Improved the XML export function to support the
+            <a href="https://wiki.jenkins-ci.org/display/JENKINS/Android+Lint+Plugin">Jenkins Lint
+            plugin</a>.
+          </li>
+        </ul>
+      </li>
+      <li>Editors
+        <ul>
+          <li>Modified the plugin to remember which editor mode (text or graphical) you were last
+            using for each type of editor (layout, manifest or values) and uses that mode for newly
+            opened files. This means that if you prefer to work with just XML, the editors start
+            showing you XML text editors after you have switched to them for each type of editor.</li>
+          <li>Updated XML code completion so that it completes (and shows documentation for) theme
+            references, such as {@code ?android:attr/dividerHeight}.</li>
+        </ul>
+      </li>
+      <li>Android Virtual Devices (AVD)
+        <ul>
+          <li>Added new <strong>Device Definitions</strong> tab in the AVD Manager for configuring
+            standard size and Nexus virtual devices.</li>
+          <li>Improved emulators so that they launch with a skin that is dynamically generated and
+            reflects the actual hardware configured in the AVD Manager.</li>
+        </ul>
+      </li>
+      <li>Improved the new template mechanism, cleaned up the existing templates and added
+        several new templates</li>
+      <li>Added ability to export images and frames in the Tracer for OpenGL ES tool.</li>
+      <li>Integrated the Systrace tool into the DDMS perspective.</li>
+      <li>Improved the JUnit test runner to allow a test to be run on all connected devices
+        simultaneously.</li>
+    </ul>
+  </dd>
+
+  <dt>Bug fixes:</dt>
+  <dd>
+    <ul>
+      <li>Fixed the editors so that attributes and resources specified by XML files in the
+        {@code /values} directory are validated when files are saved.</li>
+      <li>Added a workaround for a bug in Eclipse on Mac OS X 10.8 where the Property Sheet was not
+        working properly.</li>
+    </ul>
+  </dd>
+
+</dl>
+
+</div>
+</div>
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 20.0.3</a> <em>(August 2012)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -126,12 +209,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-  <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-    width="9px"/>
-ADT 20.0.2</a> <em>(July 2012)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 20.0.2</a> <em>(July 2012)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -149,7 +233,8 @@
   <dd>
     <ul>
       <li>Fixed keybindings in various XML editors for Eclipse 4.x.</li>
-      <li>Fixed bug when creating layout configurations that already exist.</li>
+      <li>Fixed a bug that occurs when you try to create layout configurations that already
+        exist.</li>
     </ul>
   </dd>
 
@@ -159,12 +244,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-  <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-    width="9px"/>
-ADT 20.0.1</a> <em>(July 2012)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 20.0.1</a> <em>(July 2012)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -199,12 +285,13 @@
 </div>
 </div>
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 20.0.0</a> <em>(June 2012)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 20.0.0</a> <em>(June 2012)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -321,12 +408,13 @@
 </div>
 </div>
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 18.0.0</a> <em>(April 2012)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 18.0.0</a> <em>(April 2012)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -355,12 +443,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 17.0.0</a> <em>(March 2012)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 17.0.0</a> <em>(March 2012)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -444,10 +533,10 @@
         (<a href="http://code.google.com/p/android/issues/detail?id=23940">Issue 23940</a>)</li>
       <li>Fixed a locale bug affecting Turkish locales in particular.
         (<a href="http://code.google.com/p/android/issues/detail?id=23747">Issue 23747</a>)</li>
-      <li>Fixed issue where dex complains about duplicate classes in cases where a Library
+      <li>Fixed an issue where dex complains about duplicate classes in cases where a Library
         Project depends on the same jar files or Java-only projects.</li>
-      <li>Fixed issue where test projects had to independently reference the library projects used
-        by an app project. Now referencing only the app project is enough.</li>
+      <li>Fixed an issue where test projects had to independently reference the library projects
+        used by an app project. Now referencing only the app project is enough.</li>
     </ul>
   </dd>
 
@@ -456,12 +545,13 @@
 </div>
 </div>
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 16.0.1</a> <em>(December 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 16.0.1</a> <em>(December 2011)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -489,12 +579,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 16.0.0</a> <em>(December 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 16.0.0</a> <em>(December 2011)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -521,12 +612,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 15.0.1</a> <em>(November 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 15.0.1</a> <em>(November 2011)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
   <dt>Dependencies:</dt>
 
@@ -554,12 +646,13 @@
 
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 15.0.0</a> <em>(October 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 15.0.0</a> <em>(October 2011)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -577,7 +670,7 @@
   <li>Fixed issues in the SDK Manager
     (<a href="http://code.google.com/p/android/issues/detail?id=20939">Issue 20939</a>,
     <a href="http://code.google.com/p/android/issues/detail?id=20607">Issue 20607</a>).</li>
-  <li>Fixed scrolling issue in the new Logcat panel of DDMS.</li>
+  <li>Fixed a scrolling issue in the new Logcat panel of DDMS.</li>
 </ul>
 </dd>
 </dl>
@@ -585,12 +678,13 @@
 </div>
 </div>
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 14.0.0</a> <em>(October 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 14.0.0</a> <em>(October 2011)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -703,12 +797,13 @@
 
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 12.0.0</a> <em>(July 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 12.0.0</a> <em>(July 2011)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -755,13 +850,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 11.0.0</a> <em>(June 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 11.0.0</a> <em>(June 2011)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -891,12 +986,13 @@
 
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 10.0.1</a> <em>(March 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 10.0.1</a> <em>(March 2011)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 
 <dl>
 
@@ -911,7 +1007,7 @@
   <ul>
     <li>Temporary work-around to resolve the rare cases in which the layout editor will
 not open.</li>
-    <li>Fix issue in which ADT 10.0.0 would install on Eclipse 3.4 and lower, even though ADT
+    <li>Fixed an issue in which ADT 10.0.0 would install on Eclipse 3.4 and lower, even though ADT
 requires Eclipse 3.5 or higher (as of 10.0.0).</li>
   </ul>
 </dd>
@@ -921,13 +1017,13 @@
 
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 10.0.0</a> <em>(February 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 10.0.0</a> <em>(February 2011)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -971,13 +1067,13 @@
 </div>
 </div>
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 9.0.0</a> <em>(January 2011)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 9.0.0</a> <em>(January 2011)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -1080,13 +1176,13 @@
 
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 8.0.1</a> <em>(December 2010)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 8.0.1</a> <em>(December 2010)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -1109,13 +1205,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px"
-width="9px" />
-ADT 8.0.0</a> <em>(December 2010)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 8.0.0</a> <em>(December 2010)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -1146,9 +1242,9 @@
       <li>Contextual menu with enum/flag type properties.</li>
       <li>New zoom controls.</li>
     </ul></li>
-  <li>New HierarchyViewer plug-in integrated in Eclipse.</li>
-  <li>Android launch configurations don't recompile the whole workspace on launch anymore.</li>
-  <li><code>android.jar</code> source and javadoc location can now be configured.</li>
+  <li>New HierarchyViewer plugin for Eclipse.</li>
+  <li>Android launch configurations no longer recompile the whole workspace on launch.</li>
+  <li>The location of <code>android.jar</code> source and javadoc can now be configured.</li>
 </ul>
 </dd>
 </dl>
@@ -1156,12 +1252,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
-ADT 0.9.9</a> <em>(September 2010)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 0.9.9</a> <em>(September 2010)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
 <dl>
 
 <dt>Dependencies:</dt>
@@ -1183,13 +1280,13 @@
  </div>
 </div>
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
-ADT 0.9.8</a> <em>(September 2010)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 0.9.8</a> <em>(September 2010)</em>
+  </p>
 
-
+  <div class="toggle-content-toggleme">
 </ul>
 </dd>
 
@@ -1223,7 +1320,7 @@
 Multiple Screens</a> are now available.</li>
 <li>Fixes problems with handling of library project names that
 contain characters that are incompatible with the Eclipse path variable.
-Now properly sets up the link between the main project and the library
+Now it properly sets up the link between the main project and the library
 project.</li>
 </ul>
 </dd>
@@ -1232,12 +1329,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
-ADT 0.9.7</a> <em>(May 2010)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 0.9.7</a> <em>(May 2010)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
 <dl>
 <dt>Library projects:</dt>
 <dd>
@@ -1257,12 +1355,13 @@
 </div>
 
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
-ADT 0.9.6</a> <em>(March 2010)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 0.9.6</a> <em>(March 2010)</em>
+  </p>
 
+  <div class="toggle-content-toggleme">
 <dl>
 <dt>Dependencies:</dt>
 
@@ -1316,20 +1415,22 @@
 <ul>
 <li>Applications launched from ADT now behave as if they were clicked from the
 Home screen.</li>
-<li>Fixes issue where add-on with no optional library would not show up as valid
+<li>Fixes an issue where add-ons without an optional library would not show up as valid
 targets for application launches.</li>
-<li>Resolves possible crash when launching applications.</li>
+<li>Resolves a possible crash when launching applications.</li>
 </ul>
 </dd>
 </dl>
  </div>
 </div>
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
-ADT 0.9.5</a> <em>(December 2009)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 0.9.5</a> <em>(December 2009)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
 <dt>Dependencies:</dt>
 
@@ -1342,9 +1443,10 @@
 <dt>General notes:</dt>
 <dd>
 <ul>
-<li>AVD Launch dialog now shows scale value.</li>
-<li>Fixes potential NPE in SDK Manager on AVD launch, for older AVD with no skin name specified.</li>
-<li>Fixes XML validation issue in on older Java versions.</li>
+<li>The AVD Launch dialog now allows you to set the scale value.</li>
+<li>Fixes a potential NullPointerException in the SDK Manager when you launch an AVD that does not
+  have a skin name specified.</li>
+<li>Fixes an XML validation issue in older Java versions.</li>
 <li>.apk packaging now properly ignores vi swap files as well as hidden files.</li>
 </ul>
 </dd>
@@ -1352,11 +1454,13 @@
  </div>
 </div>
 
-<div class="toggleable closed">
-  <a href="#" onclick="return toggleDiv(this)">
-        <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
-ADT 0.9.4</a> <em>(October 2009)</em>
-  <div class="toggleme">
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
+      alt=""/>ADT 0.9.4</a> <em>(October 2009)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
 <dl>
 <dt>Dependencies:</dt>
 
diff --git a/docs/html/tools/sdk/tools-notes.jd b/docs/html/tools/sdk/tools-notes.jd
index f8b5d25..c5388d0 100644
--- a/docs/html/tools/sdk/tools-notes.jd
+++ b/docs/html/tools/sdk/tools-notes.jd
@@ -28,6 +28,89 @@
 <div class="toggle-content opened">
   <p><a href="#" onclick="return toggleContent(this)">
     <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
+      alt=""/>SDK Tools, Revision 21</a> <em>(November 2012)</em>
+  </p>
+
+  <div class="toggle-content-toggleme">
+
+    <dl>
+    <dt>Dependencies:</dt>
+    <dd>
+      <ul>
+        <li>Android SDK Platform-tools revision 15 or later.</li>
+        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r21 is designed
+        for use with ADT 21.0.0 and later. If you haven't already, update your
+        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 21.0.0.</li>
+        <li>If you are developing outside Eclipse, you must have
+          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
+    </ul>
+    </dd>
+    <dt>General Notes:</dt>
+    <dd>
+      <ul>
+        <li>Build System
+          <ul>
+            <li>Added a flag that sets <em>jumbo mode</em> for DEX files, which allows a larger
+              number of strings in the DEX files. Enable this mode by adding the following line to
+              the {@code project.properties} file of your project:
+              <pre>set dex.force.jumbo=true</pre></li>
+            <li>Improved the build time by pre-dexing libraries (both JAR files and library
+              projects).</li>
+            <li>Updated the build to generate {@code R} resource classes for library projects
+              with only the IDs needed by the libraries, reducing the risk of hitting DEX file
+              limits for fields and methods.</li>
+            <li>Improved the build so that several editing features (code completion, resource
+              chooser, go to declaration) properly handle library project resources.</li>
+          </ul>
+        </li>
+        <li>Lint
+          <ul>
+            <li>Added over 25 new lint rules for resources, locale settings, layout
+              files, incorrect use of {@link android.util.SparseArray} and
+              {@link android.os.PowerManager.WakeLock} and manifest issues.</li>
+            <li>Updated reporting to include errors in library projects if the library project is
+              in the list of projects to be checked.</li>
+            <li>Added a new {@code lint} target to the Ant build system for easier
+              integration with continuous build systems.</li>
+            <li>Added new {@code --sources} and {@code --classpath} arguments to point to sources
+              with different directory structures.</li>
+            <li>Improved the XML export function to support the <a
+              href="https://wiki.jenkins-ci.org/display/JENKINS/Android+Lint+Plugin">Jenkins Lint
+              plugin</a>.
+            </li>
+            <li>Added support for class file flow analysis.</li>
+          </ul>
+        </li>
+        <li>Android Virtual Devices (AVD)
+          <ul>
+            <li>Added new <strong>Device Definitions</strong> tab in the AVD Manager for configuring
+              standard size and Nexus virtual devices.</li>
+            <li>Improved emulators so that they launch with a skin that is dynamically generated and
+              reflects the actual hardware configured in the AVD Manager.</li>
+          </ul>
+        </li>
+        <li>Added {@code jobb} tool for creating and encrypting
+          <a href="{@docRoot}guide/google/play/expansion-files.html">APK Expansion Files</a>.
+          (<a href="{@docRoot}tools/help/jobb.html">more info</a>)
+        <li>Improved the Android JUnit test runner to allow a test to be run on all connected
+          devices simultaneously.</li>
+      </ul>
+    </dd>
+
+    <dt>Bug fixes:</dt>
+    <dd>
+      <ul>
+        <li>Fixed manifest merger to properly adapt library classes in the merged manifest.</li>
+      </ul>
+    </dd>
+
+    </dl>
+  </div>
+</div>
+
+<div class="toggle-content closed">
+  <p><a href="#" onclick="return toggleContent(this)">
+    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
       alt=""/>SDK Tools, Revision 20.0.3</a> <em>(August 2012)</em>
   </p>
 
@@ -128,12 +211,12 @@
             <li>Added automatic merging of library project manifest files into the including
 project's manifest. Enable this feature with the {@code manifestmerger.enabled} property.</li>
             <li>Added automatic ProGuard support for the {@code aapt -G} flag. This change causes
-the build system to generate a temporary ProGuard keep-rules file containing classes that
-are referenced from XML files (such as custom views) and pass this to ProGuard at shrink-time. This
+the build system to generate a temporary ProGuard {@code keep-rules} file containing classes that
+are referenced from XML files (such as custom views) and pass this to ProGuard at shrink time. This
 can make the resulting APK much smaller when using just a small portion of a large library project
 (such as the Android Support library), since the catch-all rules to keep all custom views from the
 default ProGuard configuration file have also been removed.</li>
-            <li>Added two ProGuard configuration files for use in projects: {@code 
+            <li>Added two ProGuard configuration files for use in projects: {@code
 proguard-android-optimize.txt} which enables optimizations and {@code proguard-android.txt} which
 disables them.</li>
           </ul>
@@ -141,9 +224,8 @@
         <li>SDK Manager
           <ul>
             <li>Improved caching to reduce downloading of repository definitions.</li>
-            <li>Added <strong>Tools > Manage Add-on Sites</strong> option to allow deactivation of
-      third-party sites for improved performance (e.g., if one or more sites are temporarily slow to
-      load.)</li>
+            <li>Added <strong>Tools > Manage Add-on Sites</strong> option to improve performance by
+            allowing temporary deactivation of third-party sites if they are loading slowly.</li>
             <li>Added settings for the SDK Manager download cache (<strong>SDK Manager > Tools >
 Options</strong>).</li>
           </ul>
