diff --git a/all/fidl/README.md b/all/fidl/README.md
index 1f3c954..b7eaa56 100644
--- a/all/fidl/README.md
+++ b/all/fidl/README.md
@@ -16,6 +16,10 @@
     <td></td>
 </tr>
 <tr>
+    <td><a href="fidl.developer.bridge/index">fidl.developer.bridge</a></td>
+    <td></td>
+</tr>
+<tr>
     <td><a href="fidl.examples.alignment/index">fidl.examples.alignment</a></td>
     <td></td>
 </tr>
@@ -552,6 +556,10 @@
     <td></td>
 </tr>
 <tr>
+    <td><a href="fuchsia.hardware.block.volume/index">fuchsia.hardware.block.volume</a></td>
+    <td></td>
+</tr>
+<tr>
     <td><a href="fuchsia.hardware.bluetooth/index">fuchsia.hardware.bluetooth</a></td>
     <td></td>
 </tr>
diff --git a/all/fidl/_toc.yaml b/all/fidl/_toc.yaml
index a2f7ca5..68968e8 100644
--- a/all/fidl/_toc.yaml
+++ b/all/fidl/_toc.yaml
@@ -5,6 +5,8 @@
   path: /reference/fidl/conformance
 - title: example
   path: /reference/fidl/example
+- title: fidl.developer.bridge
+  path: /reference/fidl/fidl.developer.bridge
 - title: fidl.examples.alignment
   path: /reference/fidl/fidl.examples.alignment
 - title: fidl.examples.bindingstest
@@ -273,6 +275,8 @@
   path: /reference/fidl/fuchsia.hardware.block
 - title: fuchsia.hardware.block.partition
   path: /reference/fidl/fuchsia.hardware.block.partition
+- title: fuchsia.hardware.block.volume
+  path: /reference/fidl/fuchsia.hardware.block.volume
 - title: fuchsia.hardware.bluetooth
   path: /reference/fidl/fuchsia.hardware.bluetooth
 - title: fuchsia.hardware.camera
diff --git a/all/fidl/fidl.developer.bridge/README.md b/all/fidl/fidl.developer.bridge/README.md
new file mode 100644
index 0000000..df35679
--- /dev/null
+++ b/all/fidl/fidl.developer.bridge/README.md
@@ -0,0 +1,52 @@
+[TOC]
+
+# fidl.developer.bridge
+
+
+## **PROTOCOLS**
+
+## Daemon {#Daemon}
+*Defined in [fidl.developer.bridge/daemon.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/developer/development-bridge/fidl/daemon.fidl#8)*
+
+
+### EchoString {#EchoString}
+
+<p>Returns the input.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>value</code></td>
+            <td>
+                <code>string[256]</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>response</code></td>
+            <td>
+                <code>string[256]</code>
+            </td>
+        </tr></table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/all/fidl/fuchsia.hardware.block.volume/README.md b/all/fidl/fuchsia.hardware.block.volume/README.md
new file mode 100644
index 0000000..a8d1ead
--- /dev/null
+++ b/all/fidl/fuchsia.hardware.block.volume/README.md
@@ -0,0 +1,623 @@
+[TOC]
+
+# fuchsia.hardware.block.volume
+
+
+## **PROTOCOLS**
+
+## VolumeManager {#VolumeManager}
+*Defined in [fuchsia.hardware.block.volume/volume.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-block-volume/volume.fidl#50)*
+
+
+### AllocatePartition {#AllocatePartition}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>slice_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+        </tr><tr>
+            <td><code>type</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block.partition/'>fuchsia.hardware.block.partition</a>/<a class='link' href='../fuchsia.hardware.block.partition/#GUID'>GUID</a></code>
+            </td>
+        </tr><tr>
+            <td><code>instance</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block.partition/'>fuchsia.hardware.block.partition</a>/<a class='link' href='../fuchsia.hardware.block.partition/#GUID'>GUID</a></code>
+            </td>
+        </tr><tr>
+            <td><code>name</code></td>
+            <td>
+                <code>string[128]</code>
+            </td>
+        </tr><tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Query {#Query}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='#VolumeInfo'>VolumeInfo</a>?</code>
+            </td>
+        </tr></table>
+
+### GetInfo {#GetInfo}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='#VolumeManagerInfo'>VolumeManagerInfo</a>?</code>
+            </td>
+        </tr></table>
+
+### Activate {#Activate}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>old_guid</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block.partition/'>fuchsia.hardware.block.partition</a>/<a class='link' href='../fuchsia.hardware.block.partition/#GUID'>GUID</a></code>
+            </td>
+        </tr><tr>
+            <td><code>new_guid</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block.partition/'>fuchsia.hardware.block.partition</a>/<a class='link' href='../fuchsia.hardware.block.partition/#GUID'>GUID</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+## Volume {#Volume}
+*Defined in [fuchsia.hardware.block.volume/volume.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-block-volume/volume.fidl#103)*
+
+
+### GetInfo {#GetInfo}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block/'>fuchsia.hardware.block</a>/<a class='link' href='../fuchsia.hardware.block/#BlockInfo'>BlockInfo</a>?</code>
+            </td>
+        </tr></table>
+
+### GetStats {#GetStats}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>clear</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>stats</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block/'>fuchsia.hardware.block</a>/<a class='link' href='../fuchsia.hardware.block/#BlockStats'>BlockStats</a>?</code>
+            </td>
+        </tr></table>
+
+### GetFifo {#GetFifo}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>fifo</code></td>
+            <td>
+                <code>handle&lt;fifo&gt;?</code>
+            </td>
+        </tr></table>
+
+### AttachVmo {#AttachVmo}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>vmo</code></td>
+            <td>
+                <code>handle&lt;vmo&gt;</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>vmoid</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block/'>fuchsia.hardware.block</a>/<a class='link' href='../fuchsia.hardware.block/#VmoID'>VmoID</a>?</code>
+            </td>
+        </tr></table>
+
+### CloseFifo {#CloseFifo}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### RebindDevice {#RebindDevice}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### GetTypeGuid {#GetTypeGuid}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>guid</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block.partition/'>fuchsia.hardware.block.partition</a>/<a class='link' href='../fuchsia.hardware.block.partition/#GUID'>GUID</a>?</code>
+            </td>
+        </tr></table>
+
+### GetInstanceGuid {#GetInstanceGuid}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>guid</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.hardware.block.partition/'>fuchsia.hardware.block.partition</a>/<a class='link' href='../fuchsia.hardware.block.partition/#GUID'>GUID</a>?</code>
+            </td>
+        </tr></table>
+
+### GetName {#GetName}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>name</code></td>
+            <td>
+                <code>string[128]?</code>
+            </td>
+        </tr></table>
+
+### Query {#Query}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='#VolumeInfo'>VolumeInfo</a>?</code>
+            </td>
+        </tr></table>
+
+### QuerySlices {#QuerySlices}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>start_slices</code></td>
+            <td>
+                <code>vector&lt;uint64&gt;[16]</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code>[16]</code>
+            </td>
+        </tr><tr>
+            <td><code>response_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+        </tr></table>
+
+### Extend {#Extend}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>start_slice</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+        </tr><tr>
+            <td><code>slice_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Shrink {#Shrink}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>start_slice</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+        </tr><tr>
+            <td><code>slice_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Destroy {#Destroy}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+
+
+## **STRUCTS**
+
+### VolumeInfo {#VolumeInfo}
+*Defined in [fuchsia.hardware.block.volume/volume.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-block-volume/volume.fidl#11)*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>slice_size</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>vslice_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>pslice_total_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>pslice_allocated_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### VolumeManagerInfo {#VolumeManagerInfo}
+*Defined in [fuchsia.hardware.block.volume/volume.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-block-volume/volume.fidl#28)*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>slice_size</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>current_slice_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>maximum_slice_count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### VsliceRange {#VsliceRange}
+*Defined in [fuchsia.hardware.block.volume/volume.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-block-volume/volume.fidl#93)*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>allocated</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>count</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+## **CONSTANTS**
+
+<table>
+    <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr><tr id="AllocatePartitionFlagInactive">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-block-volume/volume.fidl#46">AllocatePartitionFlagInactive</a></td>
+            <td>
+                    <code>1</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_SLICE_REQUESTS">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-block-volume/volume.fidl#87">MAX_SLICE_REQUESTS</a></td>
+            <td>
+                    <code>16</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    
+</table>
+
+
+
diff --git a/all/fidl/fuchsia.media.playback/README.md b/all/fidl/fuchsia.media.playback/README.md
index 25087ca..9f8c318 100644
--- a/all/fidl/fuchsia.media.playback/README.md
+++ b/all/fidl/fuchsia.media.playback/README.md
@@ -6,36 +6,10 @@
 ## **PROTOCOLS**
 
 ## Player {#Player}
-*Defined in [fuchsia.media.playback/player.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/player.fidl#16)*
+*Defined in [fuchsia.media.playback/player.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/player.fidl#15)*
 
 <p>Plays media.</p>
 
-### CreateHttpSource {#CreateHttpSource}
-
-<p>Creates a source that reads from a URL.</p>
-
-#### Request
-<table>
-    <tr><th>Name</th><th>Type</th></tr>
-    <tr>
-            <td><code>http_url</code></td>
-            <td>
-                <code>string</code>
-            </td>
-        </tr><tr>
-            <td><code>headers</code></td>
-            <td>
-                <code>vector&lt;<a class='link' href='../fuchsia.net.oldhttp/'>fuchsia.net.oldhttp</a>/<a class='link' href='../fuchsia.net.oldhttp/#HttpHeader'>HttpHeader</a>&gt;?</code>
-            </td>
-        </tr><tr>
-            <td><code>source_request</code></td>
-            <td>
-                <code>request&lt;<a class='link' href='#Source'>Source</a>&gt;</code>
-            </td>
-        </tr></table>
-
-
-
 ### CreateFileSource {#CreateFileSource}
 
 <p>Creates a source that reads from a file.</p>
@@ -181,28 +155,6 @@
 
 
 
-### SetHttpSource {#SetHttpSource}
-
-<p>Sets an HTTP URL to read from. The provided headers are added to each
-HTTP request issued to the URL.</p>
-
-#### Request
-<table>
-    <tr><th>Name</th><th>Type</th></tr>
-    <tr>
-            <td><code>http_url</code></td>
-            <td>
-                <code>string</code>
-            </td>
-        </tr><tr>
-            <td><code>headers</code></td>
-            <td>
-                <code>vector&lt;<a class='link' href='../fuchsia.net.oldhttp/'>fuchsia.net.oldhttp</a>/<a class='link' href='../fuchsia.net.oldhttp/#HttpHeader'>HttpHeader</a>&gt;?</code>
-            </td>
-        </tr></table>
-
-
-
 ### SetFileSource {#SetFileSource}
 
 <p>Sets a file channel to read from.</p>
@@ -385,36 +337,10 @@
         </tr></table>
 
 ## SourceManager {#SourceManager}
-*Defined in [fuchsia.media.playback/source_manager.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/source_manager.fidl#13)*
+*Defined in [fuchsia.media.playback/source_manager.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/source_manager.fidl#12)*
 
 <p>Manages sources on behalf of a Player.</p>
 
-### CreateHttpSource {#CreateHttpSource}
-
-<p>Creates a source that reads from a URL.</p>
-
-#### Request
-<table>
-    <tr><th>Name</th><th>Type</th></tr>
-    <tr>
-            <td><code>http_url</code></td>
-            <td>
-                <code>string</code>
-            </td>
-        </tr><tr>
-            <td><code>headers</code></td>
-            <td>
-                <code>vector&lt;<a class='link' href='../fuchsia.net.oldhttp/'>fuchsia.net.oldhttp</a>/<a class='link' href='../fuchsia.net.oldhttp/#HttpHeader'>HttpHeader</a>&gt;?</code>
-            </td>
-        </tr><tr>
-            <td><code>source_request</code></td>
-            <td>
-                <code>request&lt;<a class='link' href='#Source'>Source</a>&gt;</code>
-            </td>
-        </tr></table>
-
-
-
 ### CreateFileSource {#CreateFileSource}
 
 <p>Creates a source that reads from a file.</p>
@@ -561,7 +487,7 @@
 
 
 ## Source {#Source}
-*Defined in [fuchsia.media.playback/source_manager.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/source_manager.fidl#54)*
+*Defined in [fuchsia.media.playback/source_manager.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/source_manager.fidl#48)*
 
 <p>A source of content that may be used by a player.</p>
 
@@ -581,7 +507,7 @@
         </tr></table>
 
 ## ElementarySource {#ElementarySource}
-*Defined in [fuchsia.media.playback/source_manager.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/source_manager.fidl#61)*
+*Defined in [fuchsia.media.playback/source_manager.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/source_manager.fidl#55)*
 
 <p><code>Source</code> variant for providing elementary streams directly to the player.</p>
 
@@ -662,7 +588,7 @@
 ## **STRUCTS**
 
 ### PlayerStatus {#PlayerStatus}
-*Defined in [fuchsia.media.playback/player.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/player.fidl#52)*
+*Defined in [fuchsia.media.playback/player.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/player.fidl#46)*
 
 
 
@@ -715,7 +641,7 @@
             <td>
                 <code>bool</code>
             </td>
-            <td><p>Indicates whether the player is ready to play. After <code>SetHttpSource</code>,
+            <td><p>Indicates whether the player is ready to play. After
 <code>SetFileSource</code> or <code>SourceManager.SetSource</code> is called, this value is
 false until the player is fully prepared to play the content from the
 source.</p>
@@ -831,7 +757,7 @@
 </table>
 
 ### SourceStatus {#SourceStatus}
-*Defined in [fuchsia.media.playback/source_manager.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/source_manager.fidl#97)*
+*Defined in [fuchsia.media.playback/source_manager.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.media.playback/source_manager.fidl#91)*
 
 
 
diff --git a/all/fidl/fuchsia.paver/README.md b/all/fidl/fuchsia.paver/README.md
index b7c4068..ebe1d10 100644
--- a/all/fidl/fuchsia.paver/README.md
+++ b/all/fidl/fuchsia.paver/README.md
@@ -6,7 +6,7 @@
 ## **PROTOCOLS**
 
 ## PayloadStream {#PayloadStream}
-*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#55)*
+*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#56)*
 
 <p>Protocol for streaming the FVM payload.</p>
 
@@ -56,7 +56,7 @@
         </tr></table>
 
 ## Paver {#Paver}
-*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#71)*
+*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#72)*
 
 <p>Protocol for managing boot partitions.</p>
 <p>Most of the protocol methods rely on auto-discovery of the storage device
@@ -384,7 +384,7 @@
 ### WipeVolume {#WipeVolume}
 
 <p>Wipes the FVM partition from the device. Should not be confused with factory reset, which
-is less intrusive.</p>
+is less intrusive. The result is that the default FVM volumes are re-created, but empty.</p>
 <p>Notable use cases include recovering from corrupted FVM as well as setting device to a
 &quot;clean&quot; state for automation.</p>
 <p>If |block_device| is not provided, the paver will perform a search for the the FVM.
@@ -542,7 +542,7 @@
     <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
             <td><code>volume</code></td>
             <td>
-                <code>request&lt;<a class='link' href='../fuchsia.hardware.block/'>fuchsia.hardware.block</a>/<a class='link' href='../fuchsia.hardware.block/#Block'>Block</a>&gt;</code>
+                <code>request&lt;<a class='link' href='../fuchsia.hardware.block.volume/'>fuchsia.hardware.block.volume</a>/<a class='link' href='../fuchsia.hardware.block.volume/#VolumeManager'>VolumeManager</a>&gt;</code>
             </td>
             <td></td>
             <td>No default</td>
@@ -550,7 +550,7 @@
 </table>
 
 ### ReadInfo {#ReadInfo}
-*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#38)*
+*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#39)*
 
 
 
@@ -583,7 +583,7 @@
 ### Configuration {#Configuration}
 Type: <code>uint32</code>
 
-*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#13)*
+*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#14)*
 
 <p>Describes the version of an asset.</p>
 
@@ -606,7 +606,7 @@
 ### Asset {#Asset}
 Type: <code>uint32</code>
 
-*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#21)*
+*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#22)*
 
 <p>Describes assets which may be updated. Each asset has 3 versions, each tied to a particular
 configuration.</p>
@@ -628,7 +628,7 @@
 ### ConfigurationStatus {#ConfigurationStatus}
 Type: <code>uint32</code>
 
-*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#29)*
+*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#30)*
 
 <p>Set of states configuration may be in.</p>
 
@@ -734,7 +734,7 @@
         </tr></table>
 
 ### ReadResult {#ReadResult}
-*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#45)*
+*Defined in [fuchsia.paver/paver.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-paver/paver.fidl#46)*
 
 
 <table>
diff --git a/all/fidl/fuchsia.test.breakpoints/README.md b/all/fidl/fuchsia.test.breakpoints/README.md
index 7f5a109..302cdd9 100644
--- a/all/fidl/fuchsia.test.breakpoints/README.md
+++ b/all/fidl/fuchsia.test.breakpoints/README.md
@@ -6,7 +6,7 @@
 ## **PROTOCOLS**
 
 ## BreakpointSystem {#BreakpointSystem}
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#100)*
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#110)*
 
 <p>Registers breakpoints in component manager.</p>
 
@@ -55,7 +55,7 @@
     </table>
 
 ## InvocationReceiver {#InvocationReceiver}
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#113)*
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#123)*
 
 <p>Receives invocations for registered events in component manager.</p>
 
@@ -82,7 +82,7 @@
         </tr></table>
 
 ## Handler {#Handler}
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#122)*
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#132)*
 
 <p>Every Invocation supports this basic handler to allow resumption.</p>
 
@@ -102,7 +102,7 @@
     </table>
 
 ## RoutingProtocol {#RoutingProtocol}
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#129)*
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#139)*
 
 <p>Allows injecting capabilities over FIDL.
 Used by RouteFrameworkCapability and RouteBuiltinCapability</p>
@@ -128,7 +128,7 @@
     </table>
 
 ## CapabilityProvider {#CapabilityProvider}
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#135)*
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#145)*
 
 <p>A FIDL-based version of a CapabilityProvider</p>
 
@@ -195,44 +195,72 @@
             <td><p>The root component instance's declaration was resolved successfully for the first time.</p>
 </td>
         </tr><tr>
-            <td><code>ROUTE_BUILTIN_CAPABILITY</code></td>
+            <td><code>ROUTE_CAPABILITY</code></td>
             <td><code>5</code></td>
             <td><p>A builtin capability is being requested by a component and requires routing.
 The event propagation system is used to supply the capability being requested.</p>
 </td>
         </tr><tr>
-            <td><code>ROUTE_FRAMEWORK_CAPABILITY</code></td>
-            <td><code>6</code></td>
-            <td><p>A framework capability is being requested by a component and requires routing.
-The event propagation system is used to supply the capability being requested.</p>
-</td>
-        </tr><tr>
             <td><code>START_INSTANCE</code></td>
-            <td><code>7</code></td>
+            <td><code>6</code></td>
             <td><p>An instance was bound to. If the instance is executable, it is also started.</p>
 </td>
         </tr><tr>
             <td><code>STOP_INSTANCE</code></td>
-            <td><code>8</code></td>
+            <td><code>7</code></td>
             <td><p>An instance was stopped successfully.
 This event must occur before PostDestroyInstance.</p>
 </td>
-        </tr><tr>
-            <td><code>USE_CAPABILITY</code></td>
-            <td><code>9</code></td>
-            <td><p>A capability was used by an instance. An instance uses a capability when
-it creates a channel and provides the server end to ComponentManager for routing.</p>
-</td>
         </tr></table>
 
 
 
 ## **TABLES**
 
+### FrameworkCapability {#FrameworkCapability}
+
+
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#61)*
+
+<p>Describes a capability provided by the framework</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>scope_moniker</code></td>
+            <td>
+                <code>string[100]</code>
+            </td>
+            <td><p>The moniker of the instance that this capability is scoped to.</p>
+</td>
+        </tr></table>
+
+### ComponentCapability {#ComponentCapability}
+
+
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#67)*
+
+<p>Describes a capability provided by a component</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>source_moniker</code></td>
+            <td>
+                <code>string[100]</code>
+            </td>
+            <td><p>The moniker of the instance that is providing this capability.</p>
+</td>
+        </tr></table>
+
 ### EventPayload {#EventPayload}
 
 
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#59)*
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#73)*
 
 <p>Encapsulates additional data/protocols for some event types.</p>
 
@@ -245,24 +273,16 @@
             <td>
                 <code><a class='link' href='#RoutingPayload'>RoutingPayload</a></code>
             </td>
-            <td><p>Payload for RouteFrameworkCapability and RouteBuiltinCapability events</p>
-</td>
-        </tr><tr>
-            <td>2</td>
-            <td><code>use_capability_payload</code></td>
-            <td>
-                <code><a class='link' href='#UseCapabilityPayload'>UseCapabilityPayload</a></code>
-            </td>
-            <td><p>Payload for UseCapability event</p>
+            <td><p>Payload for RouteCapability events</p>
 </td>
         </tr></table>
 
 ### RoutingPayload {#RoutingPayload}
 
 
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#68)*
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#79)*
 
-<p>Payload for RouteFrameworkCapability and RouteBuiltinCapability events</p>
+<p>Payload for RouteCapability events</p>
 
 
 <table>
@@ -273,43 +293,33 @@
             <td>
                 <code><a class='link' href='#RoutingProtocol'>RoutingProtocol</a></code>
             </td>
-            <td><p>Allows setting a capability provider for RouteFrameworkCapability
-and RouteBuiltinCapability events</p>
+            <td><p>Allows setting a capability provider for
+RouteCapability events</p>
 </td>
         </tr><tr>
             <td>2</td>
-            <td><code>capability</code></td>
+            <td><code>capability_id</code></td>
             <td>
                 <code>string[50]</code>
             </td>
-            <td><p>Name/Path of a capability.</p>
+            <td><p>Identifier of capability being requested.
+For a path-based capability, this is the path.
+For a runner capability, this is the name.</p>
 </td>
-        </tr></table>
-
-### UseCapabilityPayload {#UseCapabilityPayload}
-
-
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#78)*
-
-<p>Payload for UseCapability event</p>
-
-
-<table>
-    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
-    <tr>
-            <td>1</td>
-            <td><code>capability</code></td>
+        </tr><tr>
+            <td>3</td>
+            <td><code>source</code></td>
             <td>
-                <code>string[50]</code>
+                <code><a class='link' href='#CapabilitySource'>CapabilitySource</a></code>
             </td>
-            <td><p>Name/Path of a capability</p>
+            <td><p>Source of the capability that needs to be routed.</p>
 </td>
         </tr></table>
 
 ### Invocation {#Invocation}
 
 
-*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#84)*
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#94)*
 
 <p>Contains all information about a single invocation of a breakpoint</p>
 
@@ -354,6 +364,31 @@
 
 
 
+## **XUNIONS**
+
+### CapabilitySource {#CapabilitySource}
+*Defined in [fuchsia.test.breakpoints/breakpoints.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#51)*
+
+<p>Describes the source of a routed capability.</p>
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>framework</code></td>
+            <td>
+                <code><a class='link' href='#FrameworkCapability'>FrameworkCapability</a></code>
+            </td>
+            <td><p>The capability is provided by the framework and may be
+scoped down to a component.</p>
+</td>
+        </tr><tr>
+            <td><code>component</code></td>
+            <td>
+                <code><a class='link' href='#ComponentCapability'>ComponentCapability</a></code>
+            </td>
+            <td><p>The capability is provided by another component.</p>
+</td>
+        </tr></table>
+
 
 
 
@@ -380,13 +415,13 @@
             <td><p>The maximum string length of a component moniker.</p>
 </td>
         </tr>
-    <tr id="MAX_CAPABILITY_LENGTH">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#16">MAX_CAPABILITY_LENGTH</a></td>
+    <tr id="MAX_CAPABILITY_ID_LENGTH">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/component_manager/tests/fidl/breakpoints.fidl#16">MAX_CAPABILITY_ID_LENGTH</a></td>
             <td>
                     <code>50</code>
                 </td>
                 <td><code>uint64</code></td>
-            <td><p>The maximum string length of the name/path of a capability.
+            <td><p>The maximum string length of a capability ID.
 This value is currently set arbitrarily.</p>
 </td>
         </tr>
