1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. Copyright (C) 2020 AT&T Intellectual Property
8 All notable changes to this project will be documented in this file.
10 The format is based on `Keep a Changelog <http://keepachangelog.com/>`__
11 and this project adheres to `Semantic Versioning <http://semver.org/>`__.
21 * RMRXapps by default now implement the rmr healthcheck probe; users can also override it with a more complex handler if they wish
22 * Fix a bug in the unit tests where a payload mismatch wouldn't actually fail the test (would now)
29 * Switch to SI95 for rmr
37 * All xapps (via the base class) now have a logger attribute that can be invoked to provide mdc logging. It is a passthrough to the RIC mdc logger for python (untouched, no value in an API on top at the current time).
44 * Switch tox to use py38
45 * switch to latest builders
52 * minor breaking change; switches the default behavior RE threading for RMRXapps. The default is not to return execution, but the caller (in `run`) can choose to loop in a thread.
53 * Add Dockerized examples
60 * Large change to the "feel" of this framework: rather than subclass instantiation, xapps now use initialization and registration functions to register handlers
61 * rmr xapps can now register handlers for specific message types (and they must prodive a default callback); if the user does this then "message to function routing" is now handled by the framework itself
62 * RMRXapp now runs the polling loop in a thread, and returns execution back to the caller. The user is then free to loop, or do nothing, and call stop() when they want.
63 * Raises tox coverage minimum to 70 from 50 (currently at 86)
69 * now allows for RMRXapps to call code before entering the infinite loop
70 * stop is now called before throwing NotImplemented in the case where the client fails to provide a must have callback; this ensures there is no dangling rmr thread
71 * stop now calls rmr_close to correctly free up any port(s)
72 * (breaking) renames `loop` to `entrypoint` since the function does not have to contain a loop (though it most likely does)
73 * Changes wording around the two types of xapps (docs only)
74 * Uses a new version of rmr python that crashes when the rmr mrc fails to init, which prevents an xapp trying to use an unusable rmr
75 * more unit test code coverage
76 * Adds more fields to setup like long_desc and classifiers so the pypi page looks nicer
77 * Removes a bad release file (will be added back in subseq. commit)