diff --git a/docs/changelog.rst b/docs/changelog.rst
new file mode 100644
index 0000000..bb319ec
--- /dev/null
+++ b/docs/changelog.rst
@@ -0,0 +1,151 @@
+##########################
+Change Log & Release Notes
+##########################
+
+This document contains a summary of the new features, changes, fixes and known
+issues in each release of Trusted Firmware-M.
+
+***********
+Version 1.0
+***********
+
+New Features
+============
+-  First major release.
+
+-  A Secure FW with support for PSA Level 1 and 2 isolation on Armv8-M
+   using TrustZone extension and Dual-core Cortex-M config.
+
+-  The PSA Firmware Framework (PSA FF)/Dev API interfaces exposed by the
+   Secure FW to NS side.
+
+-  A secure FW model with NS application example.
+
+-  Secure services running within this SPE
+
+    -  Secure Storage Service (PSA Protected Storage API - 1.0.0)
+    -  Attestation (PSA Attestation API 1.0.0)
+    -  Crypto Service (PSA API 1.0-beta-3)
+    -  TF-M Audit Log
+    -  Platform Service
+    -  Internal Trusted Storage (PSA API 1.0.0)
+
+-  PSA IPC support
+
+-  Support for Armv8-M mainline and baseline and Dual-core Cortex-M systems.
+
+-  Testcases running baremetal and with RTX to test the functionality.
+
+-  BL2 bootloader for image authentication based on SHA256 and RSA-3072
+   digital signature.
+
+-  Build system based on CMake, supporting ARMCLANG and GNU Arm.
+
+-  Support for integrated CryptoCell-312 cryptographic hardware accelerator
+   on Musca-B1 platform.
+
+-  Meets requirements for Updatable RoT for PSA Functional API, Level 1 and
+   Level 2 Certifications in the feature list.
+
+Platforms supported
+===================
+Current release has been tested on:
+
+    - Cortex M33 based SSE-200 system:
+
+        - `FPGA image loaded on MPS2 board.
+          <https://developer.arm.com/products/system-design/development-boards/cortex-m-prototyping-systems/mps2>`__
+        - `Fast model FVP_MPS2_AEMv8M.
+          <https://developer.arm.com/products/system-design/fixed-virtual-platforms>`__
+        - `Musca-A test chip board.
+          <https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-a-test-chip-board>`__
+        - `Musca-B1 test chip board.
+          <https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-b-test-chip-board>`__
+        - `Musca-S1 test chip board.`
+        - `FPGA image loaded on MPS3 board.
+          <https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3>`__
+        - `Arm DesignStart FPGA on AWS Cloud.
+          <https://developer.arm.com/docs/101965/0102/arm-designstart-fpga-on-cloud-arm-ds-getting-started>`__
+
+    - Cortex M23 based IoT Kit system:
+
+       - `FPGA image loaded on MPS2 board.
+         <https://developer.arm.com/products/system-design/development-boards/cortex-m-prototyping-systems/mps2>`__
+
+Other supported platforms:
+
+    - Dual Core Cortex-M system:
+
+        - `Cypress PSoc64.
+          <https://www.cypress.com/documentation/product-brochures/cypress-psoc-64-secure-microcontrollers>`__
+
+Platform Limitations
+====================
+- The PSA Arch Tests need to be split into several binaries to load onto
+  Musca-A board because of low memory available to the NS world to use.
+
+- The Regression tests on MPS3 AN524 FPGA takes about 40 minutes to complete.
+  This is because AN524 uses QSPI Flash for runtime memory as the RAM is small.
+  The slow speed of QSPI device causes the tests to run slowly.
+
+- Warm reset of eFlash is not permitted on Musca-B1 due to HW bug
+  https://community.arm.com/developer/tools-software/oss-platforms/w/docs/426/musca-b1-warm-reset-of-eflash
+  As TF-M is executed in place from eFlash on Musca-B1, there is good chance
+  that a warm reset of the board will have unexpected (even non-deterministic)
+  effects on code execution. Hence the PSA Arch FF tests, which rely of warm
+  reset of Musca-B1 were executed on RAM FS using "-DSST_RAM_FS=ON" config.
+
+Known issues
+============
+Some open issues exist and will not be fixed in this release.
+
+.. list-table::
+
+  *  - AN521 FVP soft reset via AIRCR does not reset MPC / PPC / MPU and will
+       cause boot failure. This is known issue for AN521 FVP. This will cause
+       the system to not boot after a warm reset during PSA Arch FF testing.
+     - Issue : https://developer.trustedfirmware.org/T692
+
+  *  - PSA Arch Crypto tests have several known failures.
+     - See this link for detailed analysis of the failures : https://github.com/ARM-software/psa-arch-tests/blob/master/api-tests/docs/test_failure_analysis.md
+
+  *  - There are 2 additional failures for PSA-Arch Crypto tests with CC-312
+       other than the known failures. This is due to limitation of CC-312
+       implementation as it does not support MD_NONE hashing mode causing the
+       additional failures.
+     - The issue details are captured here : https://developer.trustedfirmware.org/T691
+
+  *  - PS test case 2002 and 1002 does not fail on Musca-B1 flash when
+       run for second time without erasing flash. The WRITE_ONCE assets created
+       by SST module should not be updatable but after reboot, the update seems
+       to happen and is not expected. This issue will happen on any platform
+       using persistent storage for SST.
+     - Issue created : https://developer.trustedfirmware.org/T693
+
+  *  - Boot up fails if there is unexpected data in flash on Musca-A. The boot
+       is successful and the tests pass if all the associated (SST/ITS/NV
+       Counter) flash areas are erased.
+     - Issue created : https://developer.trustedfirmware.org/T694
+
+  *  - If the flash is not erased, boot fails on Musca-B1 when SST
+       is using flash for Minsizerel config.
+     - Issue created : https://developer.trustedfirmware.org/T695
+
+  *  - When SST/ITS are using Flash on Musca-B1, PSA Arch FF test fails due
+       to known warm reset limitation in the platform. But after the failure,
+       Musca-B1 boot fails to boot. This could be related to general issues of
+       the SST module when Flash data is inconsistent.
+     - Issue created : https://developer.trustedfirmware.org/T696
+
+  *  - The eflash driver on Musca-B1 can return random failures hence
+       triggering random failures during PSA Arch ITS and PSA Arch PS tests.
+       This happens when ITS/SST is configured to use flash.
+     - Issue created : https://developer.trustedfirmware.org/T697
+
+  *  - Release build of PSA Arch Crypto tests have a different number of tests
+       when built for AN521 FVP. This is an issue in the PSA Arch Crypto tests.
+     - Issue created for PSA Arch Tests project : https://github.com/ARM-software/psa-arch-tests/issues/169
+
+--------------
+
+*Copyright (c) 2020, Arm Limited. All rights reserved.*
diff --git a/docs/index.rst b/docs/index.rst
index 6ca8c95..f360584 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -18,6 +18,7 @@
 
     Home<docs/readme>
     docs/about/index
+    docs/changelog
     docs/design_documents/index
     docs/user_guides/index
     docs/processes/index
diff --git a/docs/readme.rst b/docs/readme.rst
index 8073e19..5193458 100644
--- a/docs/readme.rst
+++ b/docs/readme.rst
@@ -34,56 +34,11 @@
     Any code that has license other than BSD-3-Clause is kept in specific sub
     folders named ``ext`` so that it can isolated if required.
 
-############
-This Release
-############
-This release includes:
-
-    - A Secure FW with support for PSA Level 1 and 2 isolation on Armv8-M.
-    - The Interfaces exposed by the Secure FW to NS side.
-    - A secure fw model with NS application example.
-    - Secure services running within this SPE:
-
-        - Secure Storage Service (PSA Protected Storage API - 1.0.0)
-        - Attestation (PSA Attestation API 1.0.0)
-        - Crypto Service (PSA API 1.0-beta-3)
-        - TF-M Audit Log
-        - Platform Service
-        - Internal Trusted Storage (PSA API 1.0.0)
-
-    - PSA IPC support
-    - Support for Armv8-M mainline and baseline
-    - Testcases running baremetal and with RTX to test the functionality.
-    - BL2 bootloader for image authentication based on SHA256 and RSA-3072
-      digital signature.
-    - Build system based on cmake, supporting armclang and GNU Arm.
-    - Support for integrated CryptoCell-312 cryptographic hardware accelerator
-      on Musca-B1 platform.
-    - Meets requirements for Updatable RoT for PSA Level 2 Certification
-
-*********
-Platforms
-*********
-Current release has been tested on:
-
-    - Cortex M33 based SSE-200 system:
-
-        - `FPGA image loaded on MPS2 board.
-          <https://developer.arm.com/products/system-design/development-boards/cortex-m-prototyping-systems/mps2>`__
-        - `Fast model FVP_MPS2_AEMv8M.
-          <https://developer.arm.com/products/system-design/fixed-virtual-platforms>`__
-        - `Musca-A test chip board.
-          <https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-a-test-chip-board>`__
-        - `Musca-B1 test chip board.
-          <https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-b-test-chip-board>`__
-        - `Musca-S1 test chip board.`
-        - `FPGA image loaded on MPS3 board.
-          <https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3>`__
-
-    - Cortex M23 based IoT Kit system:
-
-       - `FPGA image loaded on MPS2 board.
-         <https://developer.arm.com/products/system-design/development-boards/cortex-m-prototyping-systems/mps2>`__
+#############
+Release Notes
+#############
+The :doc:`Change Log & Release Notes </docs/changelog>` provides details of
+major features of the release and platforms supported.
 
 ###############
 Getting Started
@@ -137,17 +92,19 @@
 ###############
 Version history
 ###############
-+-------------+--------------+--------------------+
-| Version     | Date         | Description        |
-+=============+==============+====================+
-| v1.0-beta   | 2019-02-15   | 1.0-beta release   |
-+-------------+--------------+--------------------+
-| v1.0-RC1    | 2019-05-31   | 1.0-RC1 release    |
-+-------------+--------------+--------------------+
-| v1.0-RC2    | 2019-10-09   | 1.0-RC2 release    |
-+-------------+--------------+--------------------+
-| v1.0-RC3    | 2019-11-29   | 1.0-RC3 release    |
-+-------------+--------------+--------------------+
++-------------+--------------+--------------------+---------------+
+| Version     | Date         | Description        | PSA-arch tag  |
++=============+==============+====================+===============+
+| v1.0-beta   | 2019-02-15   | 1.0-beta release   |       -       |
++-------------+--------------+--------------------+---------------+
+| v1.0-RC1    | 2019-05-31   | 1.0-RC1 release    | v19.06_API0.9 |
++-------------+--------------+--------------------+---------------+
+| v1.0-RC2    | 2019-10-09   | 1.0-RC2 release    | v19.06_API0.9 |
++-------------+--------------+--------------------+---------------+
+| v1.0-RC3    | 2019-11-29   | 1.0-RC3 release    | v19.06_API0.9 |
++-------------+--------------+--------------------+---------------+
+| v1.0        | 2020-03-27   | 1.0 release        | v20.03_API1.0 |
++-------------+--------------+--------------------+---------------+
 
 --------------
 
