.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

..      ======================================
..      * * *    FRANKFURT  MAINTENANCE  * * *
..      ======================================


Version: 6.0.1
==============

Abstract
--------

This document provides the release notes for the Frankfurt Maintenance release


Summary
-------

The focus of this release is to correct issues found on Frankfurt release.

Release Data
------------

+--------------------------------------+--------------------------------------+
| **Project**                          | DCAE                                 |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Docker images**                    | onap/org.onap.dcaegen2.services.     |
|                                      |   son-handler:2.0.4                  |
+--------------------------------------+--------------------------------------+
| **Release designation**              | Frankfurt  Maintenance Release 1     |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Release date**                     | 2020/08/17                           |
|                                      |                                      |
+--------------------------------------+--------------------------------------+

New features
------------

None

**Bug fixes**

- `DCAEGEN2-2249 <https://jira.onap.org/browse/DCAEGEN2-2249>`_ SON-Handler: Fix networkId issue while making call to oof
- `DCAEGEN2-2216 <https://jira.onap.org/browse/DCAEGEN2-2216>`_ SON-Handler: Change Policy notification  to align with policy component updates

**Known Issues**

Same as Frankfurt Release
