diff --git a/docs/contributing.rst b/docs/contributing.rst
index 5f17e501..0b298cec 100644
--- a/docs/contributing.rst
+++ b/docs/contributing.rst
@@ -106,6 +106,8 @@ Datasette releases are performed using tags. When a new version tag is pushed to
 * Build a wheel bundle of the underlying Python source code
 * Push that new wheel up to PyPI: https://pypi.org/project/datasette/
 
+To deploy new releases you will need to have push access to the main Datasette GitHub repository.
+
 Datasette follows `Semantic Versioning `__::
 
     major.minor.patch
@@ -116,13 +118,17 @@ We increment ``minor`` for new features.
 
 We increment ``patch`` for bugfix releass.
 
-To release a new version, first create a commit that updates :ref:`the changelog ` with highlights of the new version. An example `commit can be seen here `__.
+To release a new version, first create a commit that updates :ref:`the changelog ` with highlights of the new version. An example `commit can be seen here `__::
 
-Then run the following::
+    # Update changelog
+    git commit -m "Release 0.25.2" -a
+    git push
+
+For non-bugfix releases you may want to update the news section of ``README.md`` as part of the same commit.
+
+Wait long enough for Travis to build and deploy the demo version of that commit (otherwise the tag deployment may fail to alias to it properly). Then run the following::
 
     git tag 0.25.2
-    git push && git push --tags
-
-You will need to have push access to the main Datasette GitHub repository.
+    git push --tags
 
 Once the release is out, you can manually update https://github.com/simonw/datasette/releases