diff --git a/CHANGES.rst b/CHANGES.rst
index caad193b68..292f7eee62 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,3 +1,25 @@
+Changes in synapse 0.2.0 (2014-09-02)
+=====================================
+This update changes many configuration options, updates the
+database schema and mandates SSL for server-server connections.
+
+Homeserver:
+ * Require SSL for server-server connections.
+ * Add SSL listener for client-server connections.
+ * Add ability to use config files.
+ * Add support for kicking/banning and power levels.
+ * Allow setting of room names and topics on creation.
+ * Change presence to include last seen time of the user.
+ * Change url path prefix to /_matrix/...
+ * Bug fixes to presence.
+
+Webclient:
+ * Reskin the CSS for registration and login.
+ * Various improvements to rooms CSS.
+ * Support changes in client-server API.
+ * Bug fixes to VOIP UI.
+ * Various bug fixes to handling of changes to room member list.
+
Changes in synapse 0.1.2 (2014-08-29)
=====================================
diff --git a/UPGRADE.rst b/UPGRADE.rst
index 2e75d77bca..99d58ab64f 100644
--- a/UPGRADE.rst
+++ b/UPGRADE.rst
@@ -1,3 +1,34 @@
+Upgrading to v0.2.0
+===================
+
+To upgrade the database schema, run::
+
+ ./database-prepare-for-0.2.0.sh "<database>.db"
+
+
+The home server now requires setting up of SSL config before it can run. To
+automatically generate default config use::
+
+ $ python synapse/app/homeserver.py \
+ --server-name machine.my.domain.name \
+ --bind-port 8448 \
+ --config-path homeserver.config \
+ --generate-config
+
+This config can be edited if desired, for example to specify a different SSL
+certificate to use. Once done you can run the home server using::
+
+ $ python synapse/app/homeserver.py --config-path homeserver.config
+
+See the README.rst for more information.
+
+Also note that some config options have been renamed, including:
+
+- "host" to "server-name"
+- "database" to "database-path"
+- "port" to "bind-port" and "unsecure-port"
+
+
Upgrading to v0.0.1
===================
diff --git a/VERSION b/VERSION
index d917d3e26a..0ea3a944b3 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.1.2
+0.2.0
diff --git a/database-prepare-for-0.2.0.sh b/database-prepare-for-0.2.0.sh
new file mode 100755
index 0000000000..e90171010b
--- /dev/null
+++ b/database-prepare-for-0.2.0.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+# This is will prepare a synapse database for running with v0.2.0 of synapse.
+
+set -e
+
+cp "$1" "$1.bak"
+
+sqlite3 "$1" < "synapse/storage/schema/im.sql"
+sqlite3 "$1" <<< "PRAGMA user_version = 2;"
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 04200060bf..b45cf47b56 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -16,4 +16,4 @@
""" This is a reference implementation of a synapse home server.
"""
-__version__ = "0.1.2"
+__version__ = "0.2.0"
diff --git a/synapse/http/endpoint.py b/synapse/http/endpoint.py
index a6ebe23567..6c1fdcb853 100644
--- a/synapse/http/endpoint.py
+++ b/synapse/http/endpoint.py
@@ -50,11 +50,11 @@ def matrix_endpoint(reactor, destination, ssl_context_factory=None,
if ssl_context_factory is None:
transport_endpoint = TCP4ClientEndpoint
- default_port = 8080
+ default_port = 8008
else:
transport_endpoint = SSL4ClientEndpoint
endpoint_kw_args.update(sslContextFactory=ssl_context_factory)
- default_port = 443
+ default_port = 8448
if port is None:
return SRVClientEndpoint(
diff --git a/webclient/login/register.html b/webclient/login/register.html
index 1b470e4554..81995f1ae0 100644
--- a/webclient/login/register.html
+++ b/webclient/login/register.html
@@ -12,8 +12,8 @@
<div style="text-align: center">
<br/>
- <input id="email" size="32" type="text" ng-focus="true" ng-model="account.email" placeholder="Email address (optional)"/>
- <div class="smallPrint">Specifying an email address lets other users find you on Matrix more easily,<br/>
+ <input id="email" size="32" type="text" ng-focus="true" ng-model="account.email" placeholder="Email address (optional)" style="display: none"/>
+ <div class="smallPrint" style="display: none;">Specifying an email address lets other users find you on Matrix more easily,<br/>
and gives you a way to reset your password</div>
<input id="desired_user_id" size="32" type="text" ng-model="account.desired_user_id" placeholder="Matrix ID (e.g. bob)"/>
<br/>
|