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

Project Specific Release Notes
++++++++++++++++++++++++++++++
Each project is listed below followed by the Gerrit repositories in which there are release notes.

Active and Available Inventory
------------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   aai/aai-common<../submodules/aai/aai-common.git/docs/release-notes.rst>

Application Controller
----------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   appc<../submodules/appc.git/docs/release-notes.rst>

Common Controller Software Development Kit
------------------------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   ccsdk/distribution<../submodules/ccsdk/distribution.git/docs/release-notes.rst>

Closed Loop Automation Platform
-------------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   clamp<../submodules/clamp.git/docs/release-notes.rst>

ONAP Command Line Interface
---------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   cli<../submodules/cli.git/docs/release-notes.rst>

Data Collection, Analysis, and Events
-------------------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   dcaegen2<../submodules/dcaegen2.git/docs/sections/release-notes.rst>

Documentation
-------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   doc <../release-notes.rst>

Data Management as a Platform Message Router
--------------------------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   dmaap/messagerouter/messageservice<../submodules/dmaap/messagerouter/messageservice.git/docs/release-notes/release-notes.rst>

External API / NBI
------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   NBI - NorthBound Interface<../submodules/externalapi/nbi.git/docs/releasenotes/releasenotes.rst>

Holmes
------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   holmes/rule-management<../submodules/holmes/rule-management.git/docs/release-notes.rst>

Logging Enhancements Project
----------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   logging-analytics<../submodules/logging-analytics.git/docs/release-notes.rst>

Modeling
--------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   modeling/modelspec<../submodules/modeling/toscaparsers.git/docs/javatoscachecker/release-notes/release-notes.rst>
   modeling/toscaparsers<../submodules/modeling/toscaparsers.git/docs/nfvparser/release-notes/release-notes.rst>

Micro Services Bus
------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   msb/apigateway<../submodules/msb/apigateway.git/docs/release-notes.rst>

MultiVIM Cloud
--------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   multicloud/framework<../submodules/multicloud/framework.git/docs/Release Notes.rst>

Music
-----

.. toctree::
   :maxdepth: 1
   :titlesonly:

   music<../submodules/music.git/docs/release-notes.rst>


ONAP Operations Manager (experimental)
--------------------------------------

.. toctree::
   :maxdepth: 2
   :titlesonly:

   OOM<../submodules/oom.git/docs/release-notes.rst>

Policy Framework
----------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   policy/engine<../submodules/policy/engine.git/docs/release-notes.rst>

Portal Platform
---------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   portal<../submodules/portal.git/docs/release-notes.rst>

Service Design & Creation
-------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   sdc<../submodules/sdc.git/docs/release-notes.rst>
   sdc/sdc-workflow-designer<../submodules/sdc/sdc-workflow-designer.git/docs/release-notes.rst>

Software Defined Network Controller
-----------------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   sdnc/oam<../submodules/sdnc/oam.git/docs/release-notes.rst>

Service Orchestration
---------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   so<../submodules/so.git/docs/release-notes.rst>
   so/libs<../submodules/so/libs.git/docs/release-notes.rst>

ONAP Use Case User Interface
----------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   usecase-ui<../submodules/usecase-ui.git/docs/release-notes.rst>

Virtual Function Controller
---------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   vfc/nfvo/lcm<../submodules/vfc/nfvo/lcm.git/docs/release-notes.rst>

Virtual Infrastructure Deployment
---------------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   vid<../submodules/vid.git/docs/release-notes.rst>

VNF Requirements
----------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   vnfrqts/requirements<../submodules/vnfrqts/requirements.git/docs/release-notes.rst>

VNF Software Development Kit
----------------------------

.. toctree::
   :maxdepth: 1
   :titlesonly:

   vnfsdk/model<../submodules/vnfsdk/model.git/docs/release-notes.rst>


.. Not in / not used this release
   ccsdk/parent<../submodules/ccsdk/parent.git/docs/release-notes.rst>
   ccsdk/platform/nbapi<../submodules/ccsdk/platform/nbapi.git/docs/release-notes.rst>
   ccsdk/sli/adaptors<../submodules/ccsdk/sli/adaptors.git/docs/release-notes.rst>
   ccsdk/sli/core<../submodules/ccsdk/sli/core.git/docs/release-notes.rst>
   ccsdk/sli/northbound<../submodules/ccsdk/sli/northbound.git/docs/release-notes.rst>
   ccsdk/sli/plugins<../submodules/ccsdk/sli/plugins.git/docs/release-notes.rst>
   ccsdk/storage/esaas<../submodules/ccsdk/storage/esaas.git/docs/release-notes.rst>
   ccsdk/storage/pgaas<../submodules/ccsdk/storage/pgaas.git/docs/release-notes.rst>
   ccsdk/utils<../submodules/ccsdk/utils.git/docs/release-notes.rst>
   sdnc/adaptors<../submodules/sdnc/adaptors.git/docs/release-notes.rst>
   sdnc/architecture<../submodules/sdnc/architecture.git/docs/release-notes.rst>
   sdnc/core<../submodules/sdnc/core.git/docs/release-notes.rst>
   sdnc/features<../submodules/sdnc/features.git/docs/release-notes.rst>
   sdnc/northbound<../submodules/sdnc/northbound.git/docs/release-notes.rst>
   sdnc/parent<../submodules/sdnc/parent.git/docs/release-notes.rst>
   sdnc/plugins<../submodules/sdnc/plugins.git/docs/release-notes.rst>
   oom<../submodules/oom.git/docs/release-notes.rst>
   aaf/authz<../submodules/aaf/authz.git/docs/release-notes.rst>
