.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
.. Copyright (C) 2020 highstreet technologies GmbH


Operation and Maintenance Release Notes
=======================================

This document provides the release notes for O-RAN-SC Amber release of the Operation and Maintenance (OAM) project. 

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

Version 2.0.4, 2020-06-13
--------------------------

* Documentation updated
* Develop reusable OAM API such that the first consumer being a VTH can query, subscribe or publish on a DMAAP topic	Story
* Create helm deployment for SMO
* Featuresplit for starting devicemanages
* Seed coder for an YANG linter
* Please see also Release Notes of `ONAP SDNC <https://onap-doc.readthedocs.io/projects/onap-sdnc-oam/en/frankfurt/release-notes.html#release-notes>`_ and `ONAP OOM <https://onap-doc.readthedocs.io/projects/onap-oom/en/frankfurt/release-notes.html#release-notes>`_

Version 2.0.3, 2020-04-08
-------------------------

* What is an SMO?
* Provide xRAN datamodels
* Provide curl bash scripts for Software Management
* Add jenkins jobs for oam
* Add parents to model artifacts
* Add top level pom file to distribution
* Wrong image tag in nonrt-o1-controller distribution pom
* Use ONAP release parents directly
* Adjust artifact group name to ORAN naming rule
* Use ORAN parents
* Add push registry to distribution pom

Version 2.0.2, 2020-03-16
-------------------------

* Controller DeviceManager for O-RAN-SC
* Provide O1 yang modules

Version 2.0.1, 2020-02-26
-------------------------

* Develop VTH for A1 interface


Version 1.0.0, 2019-11-14
-------------------------

* Documentation added


Version 0.1.1, 2019-09-18
-------------------------

* Development environment added


Version 0.1.0, 2019-09-08
-------------------------
* Initial version
