diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst
index a1ce4d9df5..69f89f7f9d 100644
--- a/docs/source/changelog.rst
+++ b/docs/source/changelog.rst
@@ -3,21 +3,79 @@ Changelog
Here are brief summaries of what's changed between each snapshot release.
-UNRELEASED
-----------
+Milestone 10.0
+--------------
-API changes:
+.. warning:: Due to incompatibility between older version of IntelliJ and gradle 3.4, you will need to upgrade Intellij to 2017.1 (with kotlin-plugin v1.1.1) in order to run Corda demos in IntelliJ. You can download the latest IntelliJ from `JetBrains `_.
-* The new Jackson module provides JSON/YAML serialisers for common Corda datatypes. If you have previously been
- using the JSON support in the standalone web server, please be aware that amounts are now serialised as strings
- instead of { quantity, token } pairs as before. The old format is still accepted, but new JSON will be produced
- using strings like "1000.00 USD" when writing. You can use any format supported by ``Amount.parseCurrency``
- as input.
+.. warning:: The Kapt-generated models are no longer included in our codebase. If you experience ``unresolved references`` errors when building in IntelliJ, please rebuild the schema model by running ``gradlew kaptKotlin`` in Windows or ``./gradlew kaptKotlin`` in other systems.
+ Alternatively, perform a full gradle build or install.
+
+.. note:: Kapt is used to generate schema model and entity code (from annotations in the codebase) using the Kotlin Annotation processor.
+
+* Corda DemoBench:
+ * DemoBench is a new tool to make it easy to configure and launch local Corda nodes. A very useful tool to demonstrate to your colleagues the fundamentals of Corda in real-time. It has the following features:
+ * Clicking "Add node" creates a new tab that lets you edit the most important configuration properties of the node before launch, such as its legal name and which CorDapps will be loaded.
+ * Each tab contains a terminal emulator, attached to the pseudoterminal of the node. This lets you see console output.
+ * You can launch an Corda Explorer instance for each node via the DemoBench UI. Credentials are handed to the Corda Explorer so it starts out logged in already.
+ * Some basic statistics are shown about each node, informed via the RPC connection.
+ * Another button launches a database viewer in the system browser.
+ * The configurations of all running nodes can be saved into a single ``.profile`` file that can be reloaded later.
+ * You can download Corda DemoBench from `here `_
+
+* Vault:
+ * Soft Locking is a new feature implemented in the vault which prevent a node constructing transactions that attempt to use the same input(s) simultaneously.
+ * Such transactions would result in naturally wasted effort when the notary rejects them as double spend attempts.
+ * Soft locks are automatically applied to coin selection (eg. cash spending) to ensure that no two transactions attempt to spend the same fungible states.
+
+* Corda Shell :
+ * The shell lets developers and node administrators easily command the node by running flows, RPCs and SQL queries.
+ * It provides a variety of commands to monitor the node.
+ * The Corda Shell is based on the popular `CRaSH project `_ and new commands can be easily added to the node by simply dropping Groovy or Java files into the node's ``shell-commands`` directory.
+ * We have many enhancements planned over time including SSH access, more commands and better tab completion.
+
+* API changes:
+ * The new Jackson module provides JSON/YAML serialisers for common Corda datatypes.
+ If you have previously been using the JSON support in the standalone web server,
+ please be aware that Amounts are now serialised as strings instead of { quantity, token } pairs as before.
+ The old format is still accepted, but the new JSON will be produced using strings like "1000.00 USD" when writing.
+ You can use any format supported by ``Amount.parseCurrency`` as input.
+
+ * We have restructured client package in this milestone.
+ * ``CordaClientRPC`` is now in the new ``:client:rpc`` module.
+ * The old ``:client`` module has been split up into ``:client:jfx`` and ``:client:mock``.
+ * We also have a new ``:node-api`` module (package ``net.corda.nodeapi``) which contains the shared code between ``node`` and ``client``.
+
+ * The basic Amount API has been upgraded to have support for advanced financial use cases and to better integrate with currency reference data.
* Configuration:
- * Replace ``artemisPort`` with ``p2pPort`` in Gradle configuration
- * Replace ``artemisAddress`` with ``p2pAddress`` in node configuration
- * Added ``rpcAddress`` in node configuration
+ * Replace ``artemisPort`` with ``p2pPort`` in Gradle configuration.
+ * Replace ``artemisAddress`` with ``p2pAddress`` in node configuration.
+ * Added ``rpcAddress`` in node configuration for non-ssl RPC connection.
+
+* Object Serialization:
+ * Pool Kryo instances for efficiency.
+
+* RPC client changes:
+ * RPC clients can now connect to the node without the need for SSL. This requires a separate port on the Artemis broker, SSL must not be used for RPC connection.
+ * CordaRPCClient now needs to connect to ``rpcAddress`` rather than ``p2pAddress``.
+
+* Dependencies changes:
+ * Upgraded Kotlin to v1.1.1.
+ * Upgraded Gradle to v3.4.1.
+ * Upgraded requery to v1.2.1.
+ * Upgraded H2 to v1.4.194.
+ * Replaced kotlinx-support-jdk8 with kotlin-stdlib-jre8.
+
+* Improvements:
+ * Added ``--version`` command line flag to print the version of the node.
+ * Flows written in Java can now execute a sub-flow inside ``UntrustworthyData.unwrap``.
+ * Added optional out-of-process transaction verification. Any number of external verifier processes may be attached to the node which can handle loadbalanced verification requests.
+
+* Bug fixes:
+ * ``--logging-level`` command line flag was previously broken, now correctly sets the logging level.
+ * Fixed bug whereby Cash Exit was not taking into account the issuer reference.
+
Milestone 9.1
-------------
diff --git a/docs/source/index.rst b/docs/source/index.rst
index d62262e3b4..289ffaa80a 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -2,10 +2,10 @@ Welcome to the Corda documentation!
===================================
.. warning:: This build of the docs is from the "|version|" branch, not a milestone release. It may not reflect the
- current state of the code. `Read the docs for milestone release M9.2 `_.
+ current state of the code. `Read the docs for milestone release M10.0 `_.
`Corda `_ is an open-source distributed ledger platform. The latest *milestone* (i.e. stable)
-release is M9.2. The codebase is on `GitHub `_, and our community can be found on
+release is M10.0. The codebase is on `GitHub `_, and our community can be found on
`Slack `_ and in our `forum `_.
If you're new to Corda, you should start by learning about its motivating vision and architecture. A good introduction
diff --git a/docs/source/release-notes.rst b/docs/source/release-notes.rst
index c191d7f14f..356cc01aca 100644
--- a/docs/source/release-notes.rst
+++ b/docs/source/release-notes.rst
@@ -4,8 +4,8 @@ Release notes
Here are release notes for each snapshot release from M9 onwards. This includes guidance on how to upgrade code from
the previous milestone release.
-UNRELEASED
-----------
+Milestone 10
+------------
A new interactive **Corda Shell** has been added to the node. The shell lets developers and node administrators
easily command the node by running flows, RPCs and SQL queries. It also provides a variety of commands to monitor
@@ -13,14 +13,26 @@ the node. The Corda Shell is based on the popular `CRaSH project