diff --git a/src/compatibility/downloads.jd b/src/compatibility/downloads.jd
index b19f42c..a5f353c 100644
--- a/src/compatibility/downloads.jd
+++ b/src/compatibility/downloads.jd
@@ -2,19 +2,19 @@
 @jd:body
 
 <!--
-    Copyright 2013 The Android Open Source Project     
+    Copyright 2013 The Android Open Source Project
 
-    Licensed under the Apache License, Version 2.0 (the "License");    
-    you may not use this file except in compliance with the License.   
-    You may obtain a copy of the License at    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
 
         http://www.apache.org/licenses/LICENSE-2.0
 
-    Unless required by applicable law or agreed to in writing, software    
-    distributed under the License is distributed on an "AS IS" BASIS,    
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   
-    See the License for the specific language governing permissions and    
-    limitations under the License.   
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
 -->
 
 <p>Thank you for your interest in Android Compatibility! The links below give
@@ -23,16 +23,22 @@
 <h2 id="android-44">Android 4.4</h2>
 <p>Android 4.4 is the release of the development milestone code-named
 KitKat. Source code for Android 4.4 is found in the
-'android-cts-4.4_r1' branch in the open-source tree.</p>
+'android-4.4.4_r1' branch in the open-source tree.</p>
 <ul>
 <li><a href="4.4/android-4.4-cdd.pdf">Android 4.4 Compatibility Definition
 Document (CDD)</a></li>
 <li><a
-href="https://dl.google.com/dl/android/cts/android-cts-4.4_r1-linux_x86-arm.zip">Android
-4.4 R1 Compatibility Test Suite (CTS)</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-4.4_r3-linux_x86-arm.zip">Android
+4.4 R3 Compatibility Test Suite (CTS) - ARM</a></li>
 <li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-4.4_r1-linux_x86-arm.zip">Android
-4.4 R1 CTS Verifier</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-4.4_r3-linux_x86-x86.zip">Android
+4.4 R3 Compatibility Test Suite (CTS) - x86</a></li>
+<li><a
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-4.4_r3-linux_x86-arm.zip">Android
+4.4 R3 CTS Verifier - ARM</a></li>
+<li><a
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-4.4_r3-linux_x86-x86.zip">Android
+4.4 R3 CTS Verifier - x86</a></li>
 </ul>
 
 <h2 id="android-43">Android 4.3</h2>
diff --git a/src/index.jd b/src/index.jd
index e788c85..f96e721 100644
--- a/src/index.jd
+++ b/src/index.jd
@@ -42,6 +42,23 @@
     <div class="col-8">
     <h3>What's New</h3>
 
+<a href="{@docRoot}source/build-numbers.html">
+        <h4>Android 4.4.4 released</h4></a>
+        <p>Builds for Android 4.4.4 have been released. See the <strong><a
+href="{@docRoot}source/build-numbers.html#source-code-tags-and-builds">Source
+Code Tags and Builds</a></strong> table on <strong>Codenames, Tags, and Build
+Numbers</strong> for the new builds, tags, and devices supported.</p>
+
+<a href="{@docRoot}compatibility/downloads.html">
+        <h4>Android 4.4 CTS packages updated</h4></a>
+        <p>Revision 3 of the Android 4.4 Compatibility Test Suite (CTS) and
+Android 4.4 CTS Verifier have been added to Compatibility
+<strong><a
+href="{@docRoot}compatibility/downloads.html">Downloads</a></strong>. Packages
+for x86 architectures are included for the first time.</p>
+
+<img border="0" src="images/Android_Robot_100.png" alt="Android Partner icon" style="display:inline;float:right;margin:5px 10px">
+
 <a href="{@docRoot}devices/tech/dalvik/art.html">
         <h4>ART introduction completely revised</h4></a>
         <p><strong><a
@@ -54,22 +71,6 @@
         <p>Manufacturers have their own set of <strong><a
 href="{@docRoot}source/brands.html">guidelines for Android brand use</a></strong>.</p>
 
-<img border="0" src="images/Android_Robot_100.png" alt="Android Partner icon" style="display:inline;float:right;margin:5px 10px">
-
-<a href="{@docRoot}compatibility/downloads.html">
-        <h4>Android 4.1 CTS packages updated</h4></a>
-        <p>Release 4 of the Android 4.1 Compatibility Test Suite (CTS) and
-release 7 of Android 4.1 CTS Verifier have been added to Compatibility
-<strong><a
-href="{@docRoot}compatibility/downloads.html">Downloads</a></strong>.</p>
-
-<a href="{@docRoot}source/build-numbers.html">
-        <h4>Android 4.4.3 released</h4></a>
-        <p>Builds for Android 4.4.3 have been released. See the <strong><a
-href="{@docRoot}source/build-numbers.html#source-code-tags-and-builds">Source
-Code Tags and Builds</a></strong> table on <strong>Codenames, Tags, and Build
-Numbers</strong> for the new builds, tags, and devices supported.</p>
-
 <a href="{@docRoot}devices/graphics/architecture.html">
  <h4>Graphics architecture document published</h4></a>
         <p>Android engineering describes the system-level <strong><a
