diff --git a/.gitignore b/.gitignore
index d2c24c821ff351f7b7b16e73df8382a6acbffaa3..d3ad95583ffc69b86a1012a527da2f1ebc27719e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
 /build
 /cert.pem
+/dist
 /karma-reports
 /key.pem
 /lib
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 76d9d9e46e4646cf207987c3a29c42e647548d4d..be3d87d94e9ab11b1a7541d6f1861aff1b4728db 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,51 @@
+Changes in [0.8.4-rc.2](https://github.com/vector-im/vector-web/releases/tag/v0.8.4-rc.2) (2016-11-02)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.4-rc.1...v0.8.4-rc.2)
+
+ * Fix the version in the generated distribution package
+
+Changes in [0.8.4-rc.1](https://github.com/vector-im/vector-web/releases/tag/v0.8.4-rc.1) (2016-11-02)
+======================================================================================================
+[Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.3...v0.8.4-rc.1)
+
+Breaking Changes
+----------------
+ * End-to-end encryption now requires one-time keys to be
+   signed, so end-to-end encryption will not interoperate
+   with previous releases of vector-web. End-to-end encryption
+   remains in beta.
+
+Other Changes
+-------------
+ * Rename the package script/output dir to 'dist'
+   [\#2528](https://github.com/vector-im/vector-web/pull/2528)
+ * Avoid errors if olm is missing
+   [\#2518](https://github.com/vector-im/vector-web/pull/2518)
+ * Put a cachebuster in the names of CSS and JS files
+   [\#2515](https://github.com/vector-im/vector-web/pull/2515)
+ * Bump to olm 2.0.0
+   [\#2517](https://github.com/vector-im/vector-web/pull/2517)
+ * Don't include the world in the published packages
+   [\#2516](https://github.com/vector-im/vector-web/pull/2516)
+ * Use webpack to copy olm.js
+   [\#2514](https://github.com/vector-im/vector-web/pull/2514)
+ * Don't include two copies of the CSS in the tarball
+   [\#2513](https://github.com/vector-im/vector-web/pull/2513)
+ * Correct text alignment on room directory search
+   [\#2512](https://github.com/vector-im/vector-web/pull/2512)
+ * Correct spelling of 'rel'
+   [\#2510](https://github.com/vector-im/vector-web/pull/2510)
+ * readme tweaks
+   [\#2507](https://github.com/vector-im/vector-web/pull/2507)
+ * s/vector/riot/ in the readme
+   [\#2491](https://github.com/vector-im/vector-web/pull/2491)
+ * Switch to babel 6, again
+   [\#2480](https://github.com/vector-im/vector-web/pull/2480)
+ * Revert "Switch to babel 6"
+   [\#2472](https://github.com/vector-im/vector-web/pull/2472)
+ * Switch to babel 6
+   [\#2461](https://github.com/vector-im/vector-web/pull/2461)
+
 Changes in [0.8.3](https://github.com/vector-im/vector-web/releases/tag/v0.8.3) (2016-10-12)
 ============================================================================================
 [Full Changelog](https://github.com/vector-im/vector-web/compare/v0.8.2...v0.8.3)
diff --git a/README.md b/README.md
index 180bcff5ced501122efb6d0fc803d6e30c922fa6..9d1fb48c0a180427214eb9aae2860a9c132e7dff 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ https://riot.im/develop for those who like living dangerously.
 To host your own copy of Riot, the quickest bet is to use a pre-built
 released version of Riot:
 
-1. Download the latest version from https://vector.im/packages/
+1. Download the latest version from https://github.com/vector-im/vector-web/releases
 1. Untar the tarball on your web server
 1. Move (or symlink) the vector-x.x.x directory to an appropriate name
 1. If desired, copy `config.sample.json` to `config.json` and edit it
@@ -54,14 +54,14 @@ to build.
    && npm install)`
 1. Configure the app by copying `config.sample.json` to `config.json` and
    modifying it (see below for details)
-1. `npm run package` to build a tarball to deploy. Untaring this file will give
+1. `npm run dist` to build a tarball to deploy. Untaring this file will give
    a version-specific directory containing all the files that need to go on your
    web server.
 
-Note that `npm run package` is not supported on Windows, so Windows users can run `npm
+Note that `npm run dist` is not supported on Windows, so Windows users can run `npm
 run build`, which will build all the necessary files into the `vector`
 directory. The version of Vector will not appear in Settings without
-using the package script. You can then mount the vector directory on your
+using the dist script. You can then mount the vector directory on your
 webserver to actually serve up the app, which is entirely static content.
 
 config.json
@@ -121,10 +121,11 @@ sudo npm install nativefier -g
 nativefier https://riot.im/app/
 ```
 
-krisa has a dedicated electron project at https://github.com/krisak/vector-electron-desktop
-(although you should swap out the 'vector' folder for the latest vector tarball you want to run.
-Get a tarball from https://vector.im/packages or build your own - see Building From Source
-above).
+krisa has a dedicated electron project at
+https://github.com/krisak/vector-electron-desktop (although you should swap out
+the 'vector' folder for the latest vector tarball you want to run.  Get a
+tarball from https://github.com/vector-im/vector-web/releases or build your own
+- see Building From Source above).
 
 There's also a (much) older electron distribution at https://github.com/stevenhammerton/vector-desktop
 
diff --git a/package.json b/package.json
index eb8c8f5e907e151bc0b424bca54d7256ae184c40..7f407d4410885aca12dab4155a46571eba7ede3a 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "vector-web",
   "productName": "Riot",
   "main": "electron/src/electron-main.js",
-  "version": "0.8.3",
+  "version": "0.8.4-rc.2",
   "description": "A feature-rich client for Matrix.org",
   "author": "Vector Creations Ltd.",
   "repository": {
@@ -36,7 +36,7 @@
     "build:electron": "build -lwm",
     "build": "node scripts/babelcheck.js && npm run build:emojione && npm run build:css && npm run build:bundle",
     "build:dev": "npm run build:emojione && npm run build:css && npm run build:bundle:dev",
-    "package": "scripts/package.sh",
+    "dist": "scripts/package.sh",
     "start:emojione": "cpx \"node_modules/emojione/assets/svg/*\" vector/emojione/svg/ -w",
     "start:js": "webpack -w --progress --no-cache-buster",
     "start:js:prod": "NODE_ENV=production webpack -w --progress --no-cache-buster",
diff --git a/scripts/package.sh b/scripts/package.sh
index 73a1c511072fceae061320afbed1fecbaedfecd3..64d555533c0e5c4e51a985b22d39e90f2cf92fdf 100755
--- a/scripts/package.sh
+++ b/scripts/package.sh
@@ -2,14 +2,18 @@
 
 set -e
 
-version=`git describe --dirty --tags || echo unknown`
+if [ $# -eq 1 ]; then
+    version=$1
+else
+    version=`git describe --dirty --tags || echo unknown`
+fi
 
 npm run build
-mkdir -p packages
+mkdir -p dist
 cp -r vector vector-$version
 echo $version > vector-$version/version
-tar chvzf packages/vector-$version.tar.gz vector-$version
+tar chvzf dist/vector-$version.tar.gz vector-$version
 rm -r vector-$version
 
 echo
-echo "Packaged packages/vector-$version.tar.gz"
+echo "Packaged dist/vector-$version.tar.gz"
diff --git a/webpack.config.js b/webpack.config.js
index ddaf0a8eba64db2f891c75f41f7538c84ece2501..e6a5c96c3f377cb68159daa3dba75c8b5ab33f36 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -105,3 +105,12 @@ module.exports = {
     ],
     devtool: 'source-map'
 };
+
+// olm is an optional dependency. Ignore it if it's not installed, to avoid a
+// scary-looking error.
+try {
+    require('olm');
+} catch (e) {
+    console.log("Olm is not installed; not shipping it");
+    delete(module.exports.entry["olm"]);
+}