diff --git a/Makefile b/Makefile
index b75f0a97..8e27f75e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
.PHONY: test html counts coverage sdist clean install doc integration diagrams
default: test
-VERSION = 0.20.0
+VERSION = 18.0.0
test:
PYTHONPATH=. trial --reporter=text test
diff --git a/docs/release-checklist.rst b/docs/release-checklist.rst
index b3cdf2df..a9d891e0 100644
--- a/docs/release-checklist.rst
+++ b/docs/release-checklist.rst
@@ -19,7 +19,7 @@ Release Checklist
* update heading, date
* on both signing-machine and build-machine shells:
- * export VERSION=0.20.0
+ * export VERSION=18.0.0
* (if on signing machine) "make dist" and "make dist-sigs"
* creates:
diff --git a/docs/releases.rst b/docs/releases.rst
index 5ed96a96..7291a057 100644
--- a/docs/releases.rst
+++ b/docs/releases.rst
@@ -7,15 +7,27 @@ There isn't a "release schedule" in any sense. If there is something
in master your project depends upon, let me know and I'll do a
release.
-Starting after v0.20.x versions will follow `calendar versioning
-`_ with the major version being the 2-digit
-year. The second digit will be "non-trivial" releases and the third
-will be for bugfix releases.
+txtorcon follows `calendar versioning `_ with the
+major version being the 2-digit year. The second digit will be
+"non-trivial" releases and the third will be for bugfix releases. So
+the second release in 2019 would be "19.2.0" and a bug-fix release of
+that will be "19.2.1".
+
+See also :ref:`api_stability`.
+
unreleased
----------
-`git master `_ *will likely become v18.0.0*
+`git master `_ *will likely become v19.0.0*
+
+
+v18.0.0
+-------
+
+June 21, 2018
+
+ * `txtorcon-18.0.0.tar.gz `_ (`PyPI `_ (:download:`local-sig ` or `github-sig `_) (`source `_)
* `await_all_uploads` options when creating Onions
* properly re-map progress percentages (including descriptor uploads)
diff --git a/signatues/txtorcon-18.0.0-py2.py3-none-any.whl.asc b/signatues/txtorcon-18.0.0-py2.py3-none-any.whl.asc
new file mode 100644
index 00000000..95c28134
--- /dev/null
+++ b/signatues/txtorcon-18.0.0-py2.py3-none-any.whl.asc
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQFFBAABCAAvFiEEnVor1WiOy4id680/wmAoAxKAaacFAlsof8gRHG1lZWphaEBt
+ZWVqYWguY2EACgkQwmAoAxKAaaciPwf7B0B4aO93pn0uYIBJUo1LGlMa2WAk9dbD
+tAxrPfxB153Xngbd1833+CZfoXLrtSg1u21cYqXdxjZmJN0JNG7yWnX2b6I036rV
+oyXAYq6MEOZk1lHPcQl0BdUgtdaoRO20buW+wU+0pAgBxSytlpCV0yP2YlU3XJUn
+xdWkn55zpH2DYzi2vS/I5ihZdEd7zs0dRE/OKZBHMA+oN6GGLbGJ3Wv4Xz8SSlXY
+0gZsy3Vo601GuyQpCv8+fRvDtyE+Anwsb4QAbEVe6kpG2jlUmh4mPmVNHHT51pnQ
+ygzLWcwi7zIEv0WZG//aZHRkAxQtze+p6BJRJ84lSE1NNknMFclpqA==
+=kEIk
+-----END PGP SIGNATURE-----
diff --git a/signatues/txtorcon-18.0.0.tar.gz.asc b/signatues/txtorcon-18.0.0.tar.gz.asc
new file mode 100644
index 00000000..8e929280
--- /dev/null
+++ b/signatues/txtorcon-18.0.0.tar.gz.asc
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQFFBAABCAAvFiEEnVor1WiOy4id680/wmAoAxKAaacFAlsof8kRHG1lZWphaEBt
+ZWVqYWguY2EACgkQwmAoAxKAaac1qwf/RZ41YGe1DjcXxKeBNf9uR/YtZO2IiSJA
+6t1yt6Ks1skpwOWrlZV46/2kHEv4QDf2G+8tDm816a62HEh5IFrIzqK4IsCQv7jg
+9qv3zrK8ueoxVMfdc9mIpjrB3BmeH1e7tlJ1gk8y9NGGkv4rrk8lVRP8rQ+b1p70
+he2EyhK7J9DQxe0t3F4m+KovyUpLCXwMPwuTkjmg3QQIG/e94rjF3U/dRjGqmP0s
+t9uEzLNG5mxaZYmFOtAM2vriB8Va6OEyJ6oG+ClGsbnL1ysFAYJKvNrOxS8SpSzu
+FKoCo0DqgAy+L+iQuxD4eOBDJe4AZeFfMQP5pjT3bvO/GognmUKNNg==
+=lojd
+-----END PGP SIGNATURE-----
diff --git a/txtorcon/_metadata.py b/txtorcon/_metadata.py
index 120988ed..70574b3e 100644
--- a/txtorcon/_metadata.py
+++ b/txtorcon/_metadata.py
@@ -1,4 +1,4 @@
-__version__ = '0.20.0'
+__version__ = '18.0.0'
__author__ = 'meejah'
__contact__ = 'meejah@meejah.ca'
__url__ = 'https://github.com/meejah/txtorcon'