diff --git a/doc/go1.13.html b/doc/go1.13.html
index ec28e38..54dc765 100644
--- a/doc/go1.13.html
+++ b/doc/go1.13.html
@@ -167,11 +167,56 @@
 
 <h3 id="modules">Modules</h3>
 
-<p id="patch-suffix"><!-- CL 167747 -->
-  <a href="/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them"><code>go</code>
-  <code>get</code></a> in module mode now supports the version suffix
-  <code>@patch</code> to request the latest patch release.
-  TODO(bcmills): expand.
+<h4 id="go-get"><code>go</code> <code>get</code></h3>
+
+<p><!-- CL 174099 -->
+  In module-aware mode, the set of modules updated by
+  <a href="/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them"><code>go</code> <code>get</code> <code>-u</code></a>
+  is now smaller, and is more consistent with the set of packages updated by
+  <code>go</code> <code>get</code> <code>-u</code> in GOPATH mode.
+  <code>go</code> <code>get</code> <code>-u</code> continues to update the
+  modules and packages named on the command line, but additionally updates only
+  the modules containing the packages <em>imported by</em> the named packages,
+  rather than the transitive module requirements of the modules containing the
+  named packages.
+</p>
+
+<p>
+  Note in particular that <code>go</code> <code>get</code> <code>-u</code>
+  (without additional arguments) now updates only the transitive imports of the
+  package in the current directory. To instead update all of the packages
+  transitively imported by the main module (including test dependencies), use
+  <code>go</code> <code>get</code> <code>-u</code> <code>all</code>.
+</p>
+
+<p><!-- CL 177879 -->
+  As a result of the above changes to
+  <code>go</code> <code>get</code> <code>-u</code>, the
+  <code>go</code> <code>get</code> subcommand no longer supports
+  the <code>-m</code> flag, which caused <code>go</code> <code>get</code> to
+  stop before loading packages. The <code>-d</code> flag remains supported, and
+  continues to cause <code>go</code> <code>get</code> to stop after downloading
+  the source code needed to build dependencies of the named packages.
+</p>
+
+<p><!-- CL 167747 -->
+  In module-aware mode, the <code>go</code> <code>get</code> subcommand now
+  supports the version suffix <code>@patch</code>. The <code>@patch</code>
+  suffix indicates that the named module, or module containing the named
+  package, should be updated to the highest patch release with the same
+  major and minor versions as the version found in the build list.
+  If no such version is present in the build list, <code>@patch</code> is
+  equivalent to the existing <code>@latest</code> suffix.
+</p>
+
+<p><!-- CL 177677 -->
+  Additionally, the <code>go</code> <code>get</code> subcommand now supports
+  the <code>-t</code> flag in module-aware mode. As in GOPATH mode,
+  the <code>-t</code> flag instructs <code>go</code> <code>get</code> to include
+  the packages imported by <em>tests of<em> the packages named on the command
+  line. If the <code>-t</code> flag is set, the packages imported by tests will
+  be updated (if the <code>-u</code> flag is set), downloaded, and built (unless
+  the <code>-d</code> flag is set) along with the usual non-test packages.
 </p>
 
 <h4 id="version-validation">Version validation</h4><!-- CL 181881 -->
@@ -206,29 +251,31 @@
 </p>
 
 <p>
-  If the main module directly requires a version that fails the above
-  validation, a corrected version can be obtained by redacting the version to
-  just the commit hash and re-running a <code>go</code> command such as <code>go
-  list -m all</code> or <code>go mod tidy</code>. For example,
-  <pre>require github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c</pre>
-      can be redacted to
-  <pre>require github.com/docker/docker e7b5f7dbe98c</pre>
-  which resolves to
-  <pre>require github.com/docker/docker v0.7.3-0.20190319215453-e7b5f7dbe98c</pre>
+  If a <code>require</code> directive in the
+  <a href="/cmd/go/#hdr-The_main_module_and_the_build_list">main module</a> uses
+  an invalid pseudo-version, it can usually be corrected by redacting the
+  version to just the commit hash and re-running a <code>go</code> command, such
+  as <code>go</coqde> <code>list</code> <code>-m</code> <code>all</code>
+  or <code>go</code> <code>mod</code> <code>tidy</code>. For example,
 </p>
+<pre>require github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c</pre>
+<p>can be redacted to</p>
+<pre>require github.com/docker/docker e7b5f7dbe98c</pre>
+<p>which currently resolves to</p>
+<pre>require github.com/docker/docker v0.7.3-0.20190319215453-e7b5f7dbe98c</pre>
 
 <p>
-  If the main module has a transitive requirement on a version that fails
-  validation, the invalid version can still be replaced with a valid one through
-  the use of a <a href="/cmd/go/#hdr-The_go_mod_file"><code>replace</code>
-  directive</a> in the <code>go.mod</code> file of
-  the <a href="/cmd/go/#hdr-The_main_module_and_the_build_list">main module</a>.
-  If the replacement is a commit hash, it will be resolved to the appropriate
-  pseudo-version. For example,
-  <pre>replace github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c => github.com/docker/docker e7b5f7dbe98c</pre>
-  resolves to
-  <pre>replace github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c => github.com/docker/docker v0.7.3-0.20190319215453-e7b5f7dbe98c</pre>
+  If one of the transitive dependencies of the main module requires an invalid
+  version or pseudo-version, the invalid version can be replaced with a valid
+  one using a
+  <a href="/cmd/go/#hdr-The_go_mod_file"><code>replace</code> directive</a> in
+  the <code>go.mod</code> file of the main module. If the replacement is a
+  commit hash, it will be resolved to the appropriate pseudo-version as above.
+  For example,
 </p>
+<pre>replace github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c => github.com/docker/docker e7b5f7dbe98c</pre>
+<p>currently resolves to</p>
+<pre>replace github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c => github.com/docker/docker v0.7.3-0.20190319215453-e7b5f7dbe98c</pre>
 
 <h3 id="go-command">Go command</h3>
 
@@ -251,6 +298,10 @@
   files may be searched for directives but ignored during build.
 </p>
 
+<p><!-- CL 171137 -->
+  TODO
+</p>
+
 <h3 id="compiler">Compiler toolchain</h3>
 
 <p><!-- CL 170448 -->
