+[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
+
+::
+
+ * Moves the "database" access calls to mimick the SDL API, in preparation for moving to SDL
+ * Does not yet actually use SDL or Redis, but the transition to those will be much shorter after this change.
+