Follow docs instructions.
[ric-plt/a1.git] / docs / release-notes.rst
index 2060a2a..4049f40 100644 (file)
@@ -1,35 +1,59 @@
-.. ==================================================================================
-..       Copyright (c) 2019 Nokia
-..       Copyright (c) 2018-2019 AT&T Intellectual Property.
-..
-..   Licensed under the Apache License, Version 2.0 (the "License");
-..   you may not use this file except in compliance with the License.
-..   You may obtain a copy of the License at
-..
-..          http://www.apache.org/licenses/LICENSE-2.0
-..
-..   Unless required by applicable law or agreed to in writing, software
-..   distributed under the License is distributed on an "AS IS" BASIS,
-..   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-..   See the License for the specific language governing permissions and
-..   limitations under the License.
-.. ==================================================================================
-
-A1 Mediator Release Notes
-=========================
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Release Notes
+===============
 
 All notable changes to this project will be documented in this file.
 
 The format is based on `Keep a Changelog <http://keepachangelog.com/>`__
 and this project adheres to `Semantic Versioning <http://semver.org/>`__.
 
+.. contents::
+   :depth: 3
+   :local:
+
+
 [1.x.x] - TBD
 
 ::
 
     * Represents a resillent version of 1.0.0 that uses Redis for persistence
 
-[1.0.1]
+[1.0.4]
+
+::
+
+    * Only external change here is to healthcheck the rmr thread as part of a1s healthcheck. k8s will now respin a1 if that is failing.
+    * Refactors (simplifies) how we wait for rmr initialization; it is now called as part of __init__
+    * Refactors (simplifies) how the thread is actually launched; it is now internal to the object and also a part of __init__
+    * Cleans up unit testing; a1rmr now exposes a replace_rcv_func; useful for unit testing, harmless if not called otherwise
+    * Upgrades to rmr-python 1.0.0 for simpler message allocation
+
+[1.0.3] - 10/22/2019
+
+::
+
+    * Move database cleanup (e.g., deleting instances based on statuses) into the polling loop
+    * Rework how unit testing works with the polling loop; prior, exceptions were being thrown silently from the thread but not printed. The polling thread has now been paramaterized with override functions for the purposes of testing
+    * Make type cleanup more efficient since we know exactly what instances were touched, and it's inefficient to iterate over all instances if they were not
+    * Bump rmr-python version, and bump rmr version
+    * Still an item left to do in this work; refactor the thread slightly to tie in a healthcheck with a1s healthcheck. We need k8s to restart a1 if that thread dies too.
+
+[1.0.2] - 10/17/2019
+
+::
+
+    * a1 now has a seperate, continuous polling thread
+      this will enable operations like database cleanup (based on ACKs) and external notifications in real time,
+      rather than when the API is invoked
+    * all rmr send and receive operations are now in this thread
+    * introduces a thread safe job queue between the two threads
+    * Not done yet: database cleanups in the thread
+    * Bump rmr python version
+    * Clean up some logging
+
+[1.0.1] - 10/15/2019
 
 ::
 
@@ -77,6 +101,7 @@ and this project adheres to `Semantic Versioning <http://semver.org/>`__.
 
 [0.12.1] - 9/20/2019
 ::
+
     * switch to rmr 1.8.1 to pick up a non blocking variant of rmr that deals with bad routing tables (no hanging connections / blocking calls)
     * improve test receiver to behave with this setup
     * add integration test for this case