diff --git a/datafilecollector/docs/conf.py b/datafilecollector/docs/conf.py
index bc39c07..57c10f3 100644
--- a/datafilecollector/docs/conf.py
+++ b/datafilecollector/docs/conf.py
@@ -19,7 +19,7 @@
 
 #branch configuration
 
-branch = 'latest'
+branch = 'h-release'
 
 linkcheck_ignore = [
     'http://localhost.*',
diff --git a/datafilecollector/docs/index.rst b/datafilecollector/docs/index.rst
index 4010edb..9acd109 100644
--- a/datafilecollector/docs/index.rst
+++ b/datafilecollector/docs/index.rst
@@ -12,3 +12,5 @@
    ./overview.rst
    ./developer-guide.rst
    ./api-docs.rst
+   ./release-notes.rst
+
diff --git a/datafilecollector/docs/release-notes.rst b/datafilecollector/docs/release-notes.rst
new file mode 100644
index 0000000..79fbbf3
--- /dev/null
+++ b/datafilecollector/docs/release-notes.rst
@@ -0,0 +1,46 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2023 Nordix
+
+=============
+Release-Notes
+=============
+
+
+This document provides the release notes for the release of the Non-RT RIC - RAN PM - PM Data File Collector.
+
+Version history Non-RT RIC - RAN PM - PM Data File Collector
+============================================================
+
++------------+----------+------------------+--------------------+
+| **Date**   | **Ver.** | **Author**       | **Comment**        |
+|            |          |                  |                    |
++------------+----------+------------------+--------------------+
+| 2023-06-16 |          | John Keeney      | H Release          |
+|            |          |                  |                    |
++------------+----------+------------------+--------------------+
+
+
+Release Data
+============
+
+H Release
+---------
++-----------------------------+---------------------------------------------------+
+| **Project**                 | Non-RT RIC RAN PM                                 |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Repo/commit-ID**          | nonrtric/plt/ranpm/                               |
+|                             | fbccee5729fb23f3424046c1d122d29f0fec545a          |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Release designation**     | H                                                 |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Release date**            | 2023-06-16                                        |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Purpose of the delivery** | First release (H) of RAN PM Usecase/Functions     |
+|                             |    nonrtric-plt-ranpm-datafilecollector:1.0.0     |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
diff --git a/docs/conf.py b/docs/conf.py
index 042ab2b..531d9c2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -20,7 +20,7 @@
 
 from docs_conf.conf import *
 
-branch = 'latest'
+branch = 'h-release'
 baseurl = 'https://docs.o-ran-sc.org/projects/'
 selfurl = '%s/o-ran-sc-nonrtric-plt-ranpm/en/%s' %(baseurl, branch)
 
diff --git a/docs/overview.rst b/docs/overview.rst
index a262bd2..f359337 100644
--- a/docs/overview.rst
+++ b/docs/overview.rst
@@ -13,7 +13,7 @@
 ********
 
 The OSC Non-RT RIC provides a high performing, fully scalable end-to-end solution for handling
-PM Mesurements. A PM report (containing aggregated PM measurements over a time interval) is
+PM Measurements. A PM report (containing aggregated PM measurements over a time interval) is
 an XML file. The format is defined by 3GPP (TS 32.432 and 3GPP TS 32.435).
 The files are collected from the RAN and stored. An rApp can subscribe for chosen measurement types from
 measured resources in the network.
@@ -29,14 +29,14 @@
 * The PM File Converter converts these to a Json format. The structure and the contents
   is the same as the XML format.
 * The PM Producer handles filtering and distribution of PM data to subscribers. These subscribers can be rApps.
-* The Influx Logger stores selected PM mesurements into a time series database.
+* The Influx Logger stores selected PM measurements into a time series database.
 * HTTPS-SERVER is for testing and implements functionality to simulate file transfer from RAN nodes.
 
 The third party products used are:
 
 * Minio object storage, for storing of files.
 * Kafka for transferring of data (not the full PM reports, though)
-* Influx time series database for storing of selected PM mesurements over time.
+* Influx time series database for storing of selected PM measurements over time.
 
 .. image:: ./Components.png
    :width: 500pt
@@ -47,7 +47,7 @@
 * :doc:`Non-RT RIC - RAN PM - PM File Converter (Documentation site) <pm-file-converter:index>`.
 * :doc:`Non-RT RIC - RAN PM - PM Producer (Documentation site) <pmproducer:index>`.
 * :doc:`Non-RT RIC - RAN PM - Influx Logger (Documentation site) <influxlogger:index>`.
-* `Non-RT RIC - Information Coordinator Service (Documentation site) <https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-informationcoordinatorservice/en/latest/>`_.
+* `Non-RT RIC - Information Coordinator Service (Documentation site) <https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-informationcoordinatorservice/en/h-release/>`_.
 *  HTTPS-SERVER TBD
 
 *********
@@ -77,7 +77,7 @@
 PM Data Subscription
 ********************
 PM measurement data is subscribed by creating an Information Job using the Information Coordination Service (ICS).
-This a subscription broker and is part of what is called Data Managament an Exposure (DME) in O-RAN.
+This a subscription broker and is part of what is called Data Management an Exposure (DME) in O-RAN.
 The ICS makes sure that all data producers gets its data subscriptions (jobs).
 
 In the picture below, an rApp and the Influx Logger are consumers of PM data.
@@ -86,7 +86,7 @@
    :width: 500pt
 
 The PM Data Influx logger will create a PM data subscription based on a configuration file. An rApp can create
-PM data subscpition. The PM Data producer will deliver received PM measurements according to the subscriptions.
+PM data subscription. The PM Data producer will deliver received PM measurements according to the subscriptions.
 
 The PM Data file collector will fetch all PM measurement files. The PM Data Converted will convert all fetched xml files
 to json. So these does not use any subscriptions.
@@ -96,14 +96,14 @@
 **************************************
 
 An rApp uses the ICS API to create and manage the subscription of PM Measurements.
-The API documentation is avaiable in `Non-RT RIC - Information Coordinator Service (Documentation site) <https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-informationcoordinatorservice/en/latest/>`_.
+The API documentation is available in `Non-RT RIC - Information Coordinator Service (Doc site) <https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-informationcoordinatorservice/en/h-release/>`_.
 
-The schema for the PM Mesaurement information jobs is defined in :doc:`Non-RT RIC - RAN PM - PM Producer (Documentation site) <pmproducer:index>`.
+The schema for the PM Measurement information jobs is defined in :doc:`Non-RT RIC - RAN PM - PM Producer (Documentation <pmproducer:index>`.
 This schema defines parameters used in the subscription (info job) and defines which measurements to subscribe for and on which
 kafka topic the information shall be delivered to.
 
 An application retrieving logged PM data from the Influx database needs to consider how the data is stored (the schema). That is
-defined in :doc:`Non-RT RIC - RAN PM - Influx Logger (Documentation site) <influxlogger:index>`.
+defined in :doc:`Non-RT RIC - RAN PM - Influx Logger (Documentation) <influxlogger:index>`.
 
 .. image:: ./DesignTimeDependencies.png
    :width: 500pt
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index cb0c8cd..3f41d62 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -9,6 +9,11 @@
 
 This document provides the release notes for the release of the Non-RT RIC RAN PM Usecase/Functions.
 
+More detailed Release Notes for individual functions can be found in: 
+* :doc:`Non-RT RIC - RAN PM - PM Data File Collector (Doc site) <datafilecollector:index>`.
+* :doc:`Non-RT RIC - RAN PM - PM File Converter (Doc site) <pm-file-converter:index>`.
+* :doc:`Non-RT RIC - RAN PM - PM Producer (Doc site) <pmproducer:index>`.
+* :doc:`Non-RT RIC - RAN PM - Influx Logger (Doc site) <influxlogger:index>`.
 
 Version history RAN PM Usecase/Functions
 ========================================
@@ -17,29 +22,34 @@
 | **Date**   | **Ver.** | **Author**       | **Comment**        |
 |            |          |                  |                    |
 +------------+----------+------------------+--------------------+
-| 2023-04-21 | 0.0.0    | John Keeney      | Started Docs.      |
-|            |          |                  | Remove this row    |
+| 2023-06-16 |          | John Keeney      | H Release          |
+|            |          |                  |                    |
 +------------+----------+------------------+--------------------+
 
 
 Release Data
 ============
 
-H
--
+H Release
+---------
 +-----------------------------+---------------------------------------------------+
 | **Project**                 | Non-RT RIC RAN PM                                 |
 |                             |                                                   |
 +-----------------------------+---------------------------------------------------+
-| **Repo/commit-ID**          |                                                   |
+| **Repo/commit-ID**          | nonrtric/plt/ranpm/                               |
+|                             | fbccee5729fb23f3424046c1d122d29f0fec545a          |
 |                             |                                                   |
 +-----------------------------+---------------------------------------------------+
 | **Release designation**     | H                                                 |
 |                             |                                                   |
 +-----------------------------+---------------------------------------------------+
-| **Release date**            | 2023-06-xx                                        |
+| **Release date**            | 2023-06-16                                        |
 |                             |                                                   |
 +-----------------------------+---------------------------------------------------+
-| **Purpose of the delivery** | First release of RAN PM Usecase/Functions         |
+| **Purpose of the delivery** | First release (H) of RAN PM Usecase/Functions     |
+|                             |    nonrtric-plt-ranpm-datafilecollector:1.0.0     |
+|                             |    nonrtric-plt-pmlog:1.0.0                       |
+|                             |    nonrtric-plt-ranpm-pm-file-converter:1.0.0     |
+|                             |    nonrtric-plt-pmproducer:1.0.0                  |
 |                             |                                                   |
 +-----------------------------+---------------------------------------------------+
diff --git a/influxlogger/docs/conf.py b/influxlogger/docs/conf.py
index 9729d6f..83ae31b 100644
--- a/influxlogger/docs/conf.py
+++ b/influxlogger/docs/conf.py
@@ -17,7 +17,7 @@
 
 from docs_conf.conf import *
 
-branch = 'latest'
+branch = 'h-release'
 
 linkcheck_ignore = [
     'http://localhost.*',
diff --git a/influxlogger/docs/index.rst b/influxlogger/docs/index.rst
index a0b0e7d..26da9b6 100644
--- a/influxlogger/docs/index.rst
+++ b/influxlogger/docs/index.rst
@@ -12,3 +12,4 @@
    ./overview.rst
    ./developer-guide.rst
    ./api-docs.rst
+   ./release-notes.rst
diff --git a/influxlogger/docs/release-notes.rst b/influxlogger/docs/release-notes.rst
new file mode 100644
index 0000000..1d1db2d
--- /dev/null
+++ b/influxlogger/docs/release-notes.rst
@@ -0,0 +1,46 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2023 Nordix
+
+=============
+Release-Notes
+=============
+
+
+This document provides the release notes for the release of the Non-RT RIC - RAN PM - Influx Logger (pmlog).
+
+Version history Non-RT RIC - RAN PM - Influx Logger
+===================================================
+
++------------+----------+------------------+--------------------+
+| **Date**   | **Ver.** | **Author**       | **Comment**        |
+|            |          |                  |                    |
++------------+----------+------------------+--------------------+
+| 2023-06-16 |          | John Keeney      | H Release          |
+|            |          |                  |                    |
++------------+----------+------------------+--------------------+
+
+
+Release Data
+============
+
+H Release
+---------
++-----------------------------+---------------------------------------------------+
+| **Project**                 | Non-RT RIC RAN PM                                 |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Repo/commit-ID**          | nonrtric/plt/ranpm/                               |
+|                             | fbccee5729fb23f3424046c1d122d29f0fec545a          |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Release designation**     | H                                                 |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Release date**            | 2023-06-16                                        |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Purpose of the delivery** | First release (H) of RAN PM Usecase/Functions     |
+|                             |    nonrtric-plt-pmlog:1.0.0                       |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
diff --git a/pm-file-converter/docs/conf.py b/pm-file-converter/docs/conf.py
index bc39c07..57c10f3 100644
--- a/pm-file-converter/docs/conf.py
+++ b/pm-file-converter/docs/conf.py
@@ -19,7 +19,7 @@
 
 #branch configuration
 
-branch = 'latest'
+branch = 'h-release'
 
 linkcheck_ignore = [
     'http://localhost.*',
diff --git a/pm-file-converter/docs/index.rst b/pm-file-converter/docs/index.rst
index dde56a8..e719706 100644
--- a/pm-file-converter/docs/index.rst
+++ b/pm-file-converter/docs/index.rst
@@ -10,4 +10,5 @@
    :caption: Contents:
 
    ./overview.rst
+   ./release-notes.rst
 
diff --git a/pm-file-converter/docs/overview.rst b/pm-file-converter/docs/overview.rst
index 438cdf1..17e75f3 100644
--- a/pm-file-converter/docs/overview.rst
+++ b/pm-file-converter/docs/overview.rst
@@ -19,7 +19,7 @@
 
 The XML file is read from the storage, converted to Json, gzipped and stored.
 
-A Json object indicating that a new Json PM Mesurement report is available is sent on
+A Json object indicating that a new Json PM Measurement report is available is sent on
 a Kafka topic to be picked up by other components for further processing,
 
 .. image:: ./Architecture.png
@@ -35,7 +35,7 @@
 Output PM Measurement
 *********************
 
-The Json format of the PM mesaurememt follows the same structure as the input XML format (defined by 3GPP).
+The Json format of the PM measurement follows the same structure as the input XML format (defined by 3GPP).
 
 Here follows an example:
 
@@ -130,7 +130,7 @@
 ************************
 
 Below follows an example of an input File Ready Message. The
-message is sent by the Data File Collector. The only elemts used by this component are sourceName, name and
+message is sent by the Data File Collector. The only elements used by this component are sourceName, name and
 objectStoreBucket.
 
 .. code-block:: javascript
diff --git a/pm-file-converter/docs/release-notes.rst b/pm-file-converter/docs/release-notes.rst
new file mode 100644
index 0000000..f33902c
--- /dev/null
+++ b/pm-file-converter/docs/release-notes.rst
@@ -0,0 +1,46 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2023 Nordix
+
+=============
+Release-Notes
+=============
+
+
+This document provides the release notes for the release of the Non-RT RIC - RAN PM - PM File Converter.
+
+Version history Non-RT RIC - RAN PM - PM File Converter
+=======================================================
+
++------------+----------+------------------+--------------------+
+| **Date**   | **Ver.** | **Author**       | **Comment**        |
+|            |          |                  |                    |
++------------+----------+------------------+--------------------+
+| 2023-06-16 |          | John Keeney      | H Release          |
+|            |          |                  |                    |
++------------+----------+------------------+--------------------+
+
+
+Release Data
+============
+
+H Release
+---------
++-----------------------------+---------------------------------------------------+
+| **Project**                 | Non-RT RIC RAN PM                                 |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Repo/commit-ID**          | nonrtric/plt/ranpm/                               |
+|                             | fbccee5729fb23f3424046c1d122d29f0fec545a          |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Release designation**     | H                                                 |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Release date**            | 2023-06-16                                        |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Purpose of the delivery** | First release (H) of RAN PM Usecase/Functions     |
+|                             |    nonrtric-plt-ranpm-pm-file-converter:1.0.0     |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
diff --git a/pmproducer/docs/conf.py b/pmproducer/docs/conf.py
index a8dac9b..3d31ef8 100644
--- a/pmproducer/docs/conf.py
+++ b/pmproducer/docs/conf.py
@@ -19,7 +19,7 @@
 
 #branch configuration
 
-branch = 'latest'
+branch = 'h-release'
 
 language = 'en'
 
diff --git a/pmproducer/docs/index.rst b/pmproducer/docs/index.rst
index a0ef6fc..96b5005 100644
--- a/pmproducer/docs/index.rst
+++ b/pmproducer/docs/index.rst
@@ -12,3 +12,4 @@
    ./overview.rst
    ./developer-guide.rst
    ./api-docs.rst
+   ./release-notes.rst
diff --git a/pmproducer/docs/overview.rst b/pmproducer/docs/overview.rst
index c56af74..7852177 100644
--- a/pmproducer/docs/overview.rst
+++ b/pmproducer/docs/overview.rst
@@ -129,7 +129,7 @@
 Configuration
 *************
 
-The component is configured by a configuration file and by the normal spring boot configuration file (apoplication.yaml).
+The component is configured by a configuration file and by the normal spring boot configuration file (application.yaml).
 
 ==================
 Configuration file
diff --git a/pmproducer/docs/release-notes.rst b/pmproducer/docs/release-notes.rst
new file mode 100644
index 0000000..c5b968a
--- /dev/null
+++ b/pmproducer/docs/release-notes.rst
@@ -0,0 +1,46 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2023 Nordix
+
+=============
+Release-Notes
+=============
+
+
+This document provides the release notes for the release of the Non-RT RIC - RAN PM - PM Producer.
+
+Version history Non-RT RIC - RAN PM - PM Producer
+=================================================
+
++------------+----------+------------------+--------------------+
+| **Date**   | **Ver.** | **Author**       | **Comment**        |
+|            |          |                  |                    |
++------------+----------+------------------+--------------------+
+| 2023-06-16 |          | John Keeney      | H Release          |
+|            |          |                  |                    |
++------------+----------+------------------+--------------------+
+
+
+Release Data
+============
+
+H Release
+---------
++-----------------------------+---------------------------------------------------+
+| **Project**                 | Non-RT RIC RAN PM                                 |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Repo/commit-ID**          | nonrtric/plt/ranpm/                               |
+|                             | fbccee5729fb23f3424046c1d122d29f0fec545a          |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Release designation**     | H                                                 |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Release date**            | 2023-06-16                                        |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
+| **Purpose of the delivery** | First release (H) of RAN PM Usecase/Functions     |
+|                             |    nonrtric-plt-pmproducer:1.0.0                  |
+|                             |                                                   |
++-----------------------------+---------------------------------------------------+
