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

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


This document provides the release notes for the release of the Near-RT RIC A1 Interface Simulator.

.. contents::
   :depth: 3
   :local:


Version history Near-RT RIC A1 Interface Simulator
==================================================

+------------+----------+------------------+----------------+
| **Date**   | **Ver.** | **Author**       | **Comment**    |
|            |          |                  |                |
+------------+----------+------------------+----------------+
| 2020-06-12 | 2.0.0    | Henrik Andersson | Bronze Release |
|            |          |                  |                |
+------------+----------+------------------+----------------+

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

Bronze
------
+-----------------------------+-------------------------------------------------------+
| **Project**                 | Non-RT RIC                                            |
|                             |                                                       |
+-----------------------------+-------------------------------------------------------+
| **Repo/commit-ID**          | a1-interface/64fb09fb50689f15c41ba61881d8119ea4d3c8b4 |
|                             |                                                       |
+-----------------------------+-------------------------------------------------------+
| **Release designation**     | Bronze                                                |
|                             |                                                       |
+-----------------------------+-------------------------------------------------------+
| **Release date**            | 2020-06-12                                            |
|                             |                                                       |
+-----------------------------+-------------------------------------------------------+
| **Purpose of the delivery** | Dockerized Near-RT RIC A1 simulator that supports     |
|                             | multiple versions of the A1 interface.                |
|                             |                                                       |
+-----------------------------+-------------------------------------------------------+
