diff --git a/src/index.jd b/src/index.jd
index 0aba7ef..20b7aea 100644
--- a/src/index.jd
+++ b/src/index.jd
@@ -6,7 +6,7 @@
 @jd:body
 
 <!--
-    Copyright 2013 The Android Open Source Project
+    Copyright 2014 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.
@@ -42,39 +42,47 @@
     <div class="col-8">
     <h3>What's New</h3>
 
-<a href="{@docRoot}devices/graphics.html">
-        <h4>Graphics introduction and implementation rewritten</h4></a>
+<a href="{@docRoot}devices/audio.html">
+        <h4>Audio gains attributes, USB, and headset documentation</h4></a>
         <p>The <strong><a
-        href="{@docRoot}devices/graphics.html">Graphics introduction</a></strong> and <strong><a
-	href="{@docRoot}devices/graphics/implement.html">implementation
-        instructions</a></strong> have been revised in entirety.</p>
+        href="{@docRoot}devices/audio.html">Audio section</a></strong> now describes <strong><a
+	href="{@docRoot}devices/audio_attributes.html">Attributes</a></strong> and <strong><a
+        href="{@docRoot}devices/audio_usb.html">USB digital audio</a></strong> support, while a <strong><a
+	href="{@docRoot}accessories/headset-spec.html">Wired audio headset
+        specification</a></strong> can now be found in the <strong><a
+        href="{@docRoot}accessories/index.html">Accessories section</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}devices/drm.html">
-        <h4>DRM page rewritten</h4></a>
-        <p>The description of the Android <strong><a
-        href="{@docRoot}devices/drm.html">DRM</a></strong> framework has been
-        completely rewritten and expanded.</p>
+<a href="{@docRoot}devices/tech/security/index.html">
+        <h4>Encryption and SELinux revised</h4></a>
+        <p><strong><a
+        href="{@docRoot}devices/tech/encryption/index.html">Encryption</a></strong> and <strong><a
+        href="{@docRoot}devices/tech/security/se-linux.html">Security-Enhanced Linux</a></strong> have been
+	updated to describe the latest features of Android 5.0, such as default
+        encryption and full enforcement of SELinux.</p>
 
-<a href="{@docRoot}devices/tuning.html">
-        <h4>Performance tuning property removed</h4></a>
-        <p>The <code>ro.hwui.fbo_cache_size</code> property has been removed
-        from Android and the corresponding <strong><a
-href="{@docRoot}devices/tuning.html">Performance tuning</a></strong> list.</p>
+<a href="{@docRoot}devices/sensors/index.html">
+        <h4>Sensors and Power rewritten</h4></a>
+        <p><strong><a
+        href="{@docRoot}devices/sensors/index.html">Sensors</a></strong> and <strong><a
+	href="{@docRoot}devices/tech/power.html">Power</a></strong> have been
+	completely rewritten to reflect the latest Android release and include
+        new gesture sensors and tools for measuring power consumption.</p>
 
-<a href="{@docRoot}compatibility/cts-intro.html">
-        <h4>Compatibility Test Suite manual revised</h4></a>
+<a href="{@docRoot}devices/tv/index.html">
+        <h4>TV Input Framework and more come to Android</h4></a>
         <p>The <strong><a
-        href="{@docRoot}compatibility/android-cts-manual.pdf">Compatibility Test Suite
-        (CTS) manual</a></strong> has been revised with additional details regarding location
-        settings and more.</p>
+        href="{@docRoot}devices/tv/index.html">TV Input Framework</a></strong> and <strong><a
+        href="{@docRoot}devices/tv/HDMI-CEC.html">HDMI-CEC</a></strong> enable TV development, while <strong><a
+	href="{@docRoot}devices/audio_tv.html">TV Audio</a></strong> describes audio routing through televisions.</p>
 
-<a href="{@docRoot}source/known-issues.html">
-        <h4>Known issues refined</h4></a>
-        <p>The list of <strong><a
-        href="{@docRoot}source/known-issues.html">Known Issues</a></strong>
-        has been updated and split into categories.</p>
+<a href="{@docRoot}devices/camera/versioning.html">
+        <h4>Camera versioning added, security enhancements updated</h4></a>
+        <p>The Camera team now describes its <strong><a
+        href="{@docRoot}devices/tv/index.html">Version support</a></strong>, while the Security team lists new <strong><a
+        href="{@docRoot}devices/tech/security/enhancements.html">Enhancements</a></strong> and <strong><a
+        href="{@docRoot}devices/tech/security/acknowledgements.html">Acknowledgements</a></strong>.</p>
     </div>
 
     <div class="col-8">
