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


Project Specific Release Notes
------------------------------

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

   Release Notes for aaf/authz<../submodules/aaf/authz.git/docs/release-notes.rst>
   Release Notes for aai/aai-common<../submodules/aai/aai-common.git/docs/release-notes.rst>
   Release Notes for aai/esr-gui<../submodules/aai/esr-gui.git/docs/release-notes.rst>
   Release Notes for aai/esr-server<../submodules/aai/esr-server.git/docs/release-notes.rst>
   Release Notes for aai/sparky-be<../submodules/aai/sparky-be.git/docs/release-notes.rst>
   Release Notes for aai/sparky-fe<../submodules/aai/sparky-fe.git/docs/release-notes.rst>
   Release Notes for appc/deployment<../submodules/appc/deployment.git/docs/release-notes.rst>
   Release Notes for appc<../submodules/appc.git/docs/release-notes.rst>
   Release Notes for ccsdk/dashboard<../submodules/ccsdk/dashboard.git/docs/release-notes.rst>
   Release Notes for ccsdk/distribution<../submodules/ccsdk/distribution.git/docs/release-notes.rst>
   Release Notes for ccsdk/parent<../submodules/ccsdk/parent.git/docs/release-notes.rst>
   Release Notes for ccsdk/platform/blueprints<../submodules/ccsdk/platform/blueprints.git/docs/release-notes.rst>
   Release Notes for ccsdk/platform/nbapi<../submodules/ccsdk/platform/nbapi.git/docs/release-notes.rst>
   Release Notes for ccsdk/platform/plugins<../submodules/ccsdk/platform/plugins.git/docs/release-notes.rst>
   Release Notes for ccsdk/sli/adaptors<../submodules/ccsdk/sli/adaptors.git/docs/release-notes.rst>
   Release Notes for ccsdk/sli/core<../submodules/ccsdk/sli/core.git/docs/release-notes.rst>
   Release Notes for ccsdk/sli/northbound<../submodules/ccsdk/sli/northbound.git/docs/release-notes.rst>
   Release Notes for ccsdk/sli/plugins<../submodules/ccsdk/sli/plugins.git/docs/release-notes.rst>
   Release Notes for ccsdk/storage/esaas<../submodules/ccsdk/storage/esaas.git/docs/release-notes.rst>
   Release Notes for ccsdk/storage/pgaas<../submodules/ccsdk/storage/pgaas.git/docs/release-notes.rst>
   Release Notes for ccsdk/utils<../submodules/ccsdk/utils.git/docs/release-notes.rst>
   Release Notes for clamp<../submodules/clamp.git/docs/release-notes.rst>
   Release Notes for cli<../submodules/cli.git/docs/release-notes.rst>
   Release Notes for dcaegen2<../submodules/dcaegen2.git/docs/sections/release-notes.rst>
   Release Notes for dmaap/messagerouter/messageservice<../submodules/dmaap/messagerouter/messageservice.git/docs/release-notes.rst>
   Release Notes for holmes/engine-management<../submodules/holmes/engine-management.git/docs/release-notes.rst>
   Release Notes for holmes/rule-management<../submodules/holmes/rule-management.git/docs/release-notes.rst>
   Release Notes for integration<../submodules/integration.git/docs/release-notes.rst>
   Release Notes for modeling/modelspec<../submodules/modeling/modelspec.git/docs/release-notes.rst>
   Release Notes for msb/apigateway<../submodules/msb/apigateway.git/docs/release-notes.rst>
   Release Notes for msb/discovery<../submodules/msb/discovery.git/docs/release-notes.rst>
   Release Notes for msb/java-sdk<../submodules/msb/java-sdk.git/docs/release-notes.rst>
   Release Notes for msb/swagger-sdk<../submodules/msb/swagger-sdk.git/docs/release-notes.rst>
   Release Notes for multicloud/framework<../submodules/multicloud/framework.git/docs/release-notes.rst>
   Release Notes for oom<../submodules/oom.git/docs/release-notes.rst>
   Release Notes for optf/has<../submodules/optf/has.git/docs/release-notes.rst>
   Release Notes for policy/engine<../submodules/policy/engine.git/docs/release-notes.rst>
   Release Notes for portal<../submodules/portal.git/docs/release-notes.rst>
   Release Notes for sdc<../submodules/sdc.git/docs/release-notes.rst>
   Release Notes for sdc/jtosca<../submodules/sdc/jtosca.git/docs/release-notes.rst>
   Release Notes for sdc/sdc-distribution-client<../submodules/sdc/sdc-distribution-client.git/docs/release-notes.rst>
   Release Notes for sdc/sdc-docker-base<../submodules/sdc/sdc-docker-base.git/docs/release-notes.rst>
   Release Notes for sdc/sdc-titan-cassandra<../submodules/sdc/sdc-titan-cassandra.git/docs/release-notes.rst>
   Release Notes for sdc/sdc-tosca<../submodules/sdc/sdc-tosca.git/docs/release-notes.rst>
   Release Notes for sdc/sdc-workflow-designer<../submodules/sdc/sdc-workflow-designer.git/docs/release-notes.rst>
   Release Notes for sdnc/adaptors<../submodules/sdnc/adaptors.git/docs/release-notes.rst>
   Release Notes for sdnc/architecture<../submodules/sdnc/architecture.git/docs/release-notes.rst>
   Release Notes for sdnc/core<../submodules/sdnc/core.git/docs/release-notes.rst>
   Release Notes for sdnc/features<../submodules/sdnc/features.git/docs/release-notes.rst>
   Release Notes for sdnc/northbound<../submodules/sdnc/northbound.git/docs/release-notes.rst>
   Release Notes for sdnc/oam<../submodules/sdnc/oam.git/docs/release-notes.rst>
   Release Notes for sdnc/parent<../submodules/sdnc/parent.git/docs/release-notes.rst>
   Release Notes for sdnc/plugins<../submodules/sdnc/plugins.git/docs/release-notes.rst>
   Release Notes for so<../submodules/so.git/docs/release-notes.rst>
   Release Notes for so/libs<../submodules/so/libs.git/docs/release-notes.rst>
   Release Notes for usecase-ui<../submodules/usecase-ui.git/docs/release-notes.rst>
   Release Notes for vfc/lcm<../submodules/vfc/lcm.git/docs/release-notes.rst>
   Release Notes for vfc/nfvo/lcm<../submodules/vfc/nfvo/lcm.git/docs/release-notes.rst>
   Release Notes for vid/asdcclient<../submodules/vid/asdcclient.git/docs/release-notes.rst>
   Release Notes for vid<../submodules/vid.git/docs/release-notes.rst>
   Release Notes for vnfrqts/guidelines<../submodules/vnfrqts/guidelines.git/docs/release-notes.rst>
   Release Notes for vnfrqts/requirements<../submodules/vnfrqts/requirements.git/docs/release-notes.rst>
   Release Notes for vnfsdk/model<../submodules/vnfsdk/model.git/docs/release-notes.rst>
