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


Version: x.y.z
--------------


:Release Date: yyyy-mm-dd



**New Features**

Release controlled documentation moved to / now managed in gerrit and published
on readthedocs.

**Bug Fixes**
	  

**Other**

The developer wiki still contains pages that are release dependent, should be
under change control in gerrit, and are being referenced from some gerrit change controlled documentation.  The pages and links that remain to be migrated
are listed in <JIRA ISSUE> and by TBD tag or other indicator on the wiki.

===========

End of Release Notes
