.. 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.

.. _doc-release-notes:

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

This document provides the release notes for the documenatation project.


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

+--------------------------------------+--------------------------------------+
| **Project**                          | Documentation                        |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Release name**                     | Dublin Major Release                 |
|                                      |                                      |
+--------------------------------------+--------------------------------------+
| **Release date**                     | June 6th 2019                        |
|                                      |                                      |
+--------------------------------------+--------------------------------------+

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

- As part of the LFN cross community guidelines the ONAP documentation project has impelmented the same theme of the docs.onap.org as the the
  other projects within LFN.
To have one common way of working with documentation as well as publishing has been a key task during the last years.

- Improvning the structure of docs.onap.org to enhace the user experiance.

- Moving content from the wiki to RTD (read the docs) for better visibility and experiance. Work started and will continue throughout upcoming
  releases.

All JIRA tickets for the Dublin release can be found `here`: https://jira.onap.org/browse/DOC-476?jql=project%20%3D%20DOC%20AND%20fixVersion%20%3D%20%22Dublin%20Release%22https://docs.opnfv.org
