docs.voltha.org release notes
=============================

Intent
------

Update release notes to capture details and version information for a given release.

Update Instructions
-------------------

- This action should be performed after all build and component releases.
- Clone `repo:voltha-docs <https://gerrit.opencord.org/plugins/gitiles/voltha-docs>`_
- Naviagate to the `release_notes <https://gerrit.opencord.org/plugins/gitiles/voltha-docs/+/refs/heads/master/release_notes/>`_ folder.
- Copy the last voltha_X.Y.rst document name name it for the upcoming release.
- Update `index.rst <https://gerrit.opencord.org/plugins/gitiles/voltha-docs/+/refs/heads/master/release_notes/index.rst>`_ so documents are displayed in order.
