.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2021-2033 Nordix

=============
Release-Notes
=============


This document provides the release notes for the release of the DMaaP Adapter.

Version history DMaaP Adapter
=============================

+------------+----------+------------------+-----------------+
| **Date**   | **Ver.** | **Author**       | **Comment**     |
|            |          |                  |                 |
+------------+----------+------------------+-----------------+
| 2021-12-13 | 1.0.0    | Henrik Andersson | E Release       |
|            |          |                  | Initial version |
+------------+----------+------------------+-----------------+
| 2022-02-07 | 1.0.1    | Henrik Andersson | E Maintenance   |
|            |          |                  | Release         |
|            |          |                  | Non root user   |
|            |          |                  | in Docker       |
|            |          |                  | Bugfixes        |
+------------+----------+------------------+-----------------+
| 2022-06-28 | 1.1.0    | Henrik Andersson | F Release       |
|            |          |                  |                 |
+------------+----------+------------------+-----------------+
| 2022-08-25 | 1.1.1    | Patrik Buhr      | F Maintenance   |
|            |          |                  | Release         |
+------------+----------+------------------+-----------------+
| 2022-12-12 | 1.2.0    | Henrik Andersson | G Release       |
|            |          |                  |                 |
+------------+----------+------------------+-----------------+
| 2023-02-13 | 1.2.1    | Yennifer Chacon  | G Maintenance   |
|            |          |                  | Release         |
+------------+----------+------------------+-----------------+
| 2023-06-16 | 1.3.0    | John Keeney      | H Release       |
|            |          |                  |                 |
+------------+----------+------------------+-----------------+


Release Data
============

E Release
---------
+-----------------------------+---------------------------------------------------+
| **Project**                 | Non-RT RIC                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Repo/commit-ID**          | nonrtric/b472c167413a55a42fc7bfa08d2138f967a204fb |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release designation**     | E                                                 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release date**            | 2021-12-13                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Purpose of the delivery** | Initial release.                                  |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+

E Maintenance Release
---------------------
+-----------------------------+---------------------------------------------------+
| **Project**                 | Non-RT RIC                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Repo/commit-ID**          | nonrtric/4df1f9ca4cd1ebc21e0c5ea57bcb0b7ef096d067 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release designation**     | E                                                 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release date**            | 2022-02-09                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Purpose of the delivery** | Improvements and bug fixes                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+

F Release
---------
+-----------------------------+---------------------------------------------------+
| **Project**                 | Non-RT RIC DMaaP Adapter                          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Repo/commit-ID**          | nonrtric/plt/dmaapadapter                         |
|                             | 4bfffa671f94f2f3591f78918de408ec363d6616          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release designation**     | F                                                 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release date**            | 2022-06-28                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Purpose of the delivery** | Moved to separate repo. Minor improvements.       |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+

F Maintenance Release
---------------------
+-----------------------------+---------------------------------------------------+
| **Project**                 | Non-RT RIC DMaaP Adapter                          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Repo/commit-ID**          | nonrtric/plt/dmaapadapter                         |
|                             | 8e52ee5eef1679b2cf642fa27eb7e9d4ad2fbe9d          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release designation**     | F                                                 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release date**            | 2022-08-25                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Purpose of the delivery** | Major improvements.                               |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+

G Release
---------
+-----------------------------+---------------------------------------------------+
| **Project**                 | Non-RT RIC DMaaP Adapter                          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Repo/commit-ID**          | nonrtric/plt/dmaapadapter                         |
|                             | 34380afdabd939cb9ed13b600906e6a076016f50          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release designation**     | G                                                 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release date**            | 2022-12-12                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Purpose of the delivery** | Functionality for PM data                 .       |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+

G Maintenance Release
---------------------
+-----------------------------+---------------------------------------------------+
| **Project**                 | Non-RT RIC DMaaP Adapter                          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Repo/commit-ID**          | nonrtric/plt/dmaapadapter                         |
|                             | 7a0c08db273e8921debaef6d402c23abfbbedb50          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release designation**     | G                                                 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release date**            | 2023-02-13                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Purpose of the delivery** | support for shared Kafka topics                   |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+

H Release
---------
+-----------------------------+---------------------------------------------------+
| **Project**                 | Non-RT RIC DMaaP Adapter                          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Repo/commit-ID**          | nonrtric/plt/dmaapadapter                         |
|                             | 890a4fdf7e7bcafe4ac9c7c495dc06cc844cfc13          |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release designation**     | H                                                 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Release date**            | 2023-06-16                                        |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
| **Purpose of the delivery** | nonrtric-plt-dmaapadapter:1.3.0                   |
|                             |    Update to Springboot 3 & JDK17                 |
|                             |                                                   |
+-----------------------------+---------------------------------------------------+
