.. This work is licensed under a Creative Commons Attribution 4.0
   International License. http://creativecommons.org/licenses/by/4.0
   Copyright 2017 AT&T Intellectual Property.  All rights reserved.

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

.. _doc-release-notes:

Release Notes
=============

This document provides the release notes for the documentation project.


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

+--------------------------------------+--------------------------------------+
| **Project**                          | Documentation                        |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Release name**                     | Frankfurt                            |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Release version**                  | Frankfurt 6.0.0                      |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Release date**                     | June 4th 2020                        |
|                                      |                                      |
+--------------------------------------+--------------------------------------+

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

- Improved end to end user guides.
- A refined release note template to be used by all projects in ONAP.  To ensure a common way of how to provide the release
  notes from a content such a look and feel perspective.
- In addition the documentation project is continuously working with improving processes and tools for documentation. Enabling the
  community to as easy as possible document all the aspects of the ONAP platform. During the Frankfurt release cycle we have
  started the work to clean up available content, both on the wiki and readthedocs (docs.onap.org) as well as moving the
  documentation away from submodules according to the LFN documentation strategy.

All JIRA tickets for the Frankfurt release can be found `ONAP Documentation Jira`_

.. _`ONAP Documentation Jira`: https://jira.onap.org/browse/DOC-617?jql=project%20%3D%20DOC%20AND%20fixVersion%20%3D%20%22Frankfurt%20Release%22%20
