blob: 8a5001f7b83310bacf9c8c9ab0bdceded1908cab [file] [log] [blame]
Tommy Carpenter53786ca2020-02-28 09:17:46 -05001.. 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
4
5Release Notes
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -04006=============
Tommy Carpenter53786ca2020-02-28 09:17:46 -05007
8All notable changes to this project will be documented in this file.
9
10The format is based on `Keep a Changelog <http://keepachangelog.com/>`__
11and this project adheres to `Semantic Versioning <http://semver.org/>`__.
12
Tommy Carpenter53786ca2020-02-28 09:17:46 -050013
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -040014[1.1.0] - 2020-05-06
Lott, Christopher (cl778h)666e8312020-05-05 18:31:54 -040015--------------------
16* Use RMR timeout on receive to avoid 100% CPU usage (`RIC-354 <https://jira.o-ran-sc.org/browse/RIC-354>`_)
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -040017* Publish message-summary dict keys as constants to avoid hardcoding strings
18* Add wrapper and test for RMR method rmr_set_vlevel(int)
Lott, Christopher (cl778h)666e8312020-05-05 18:31:54 -040019
20
Lott, Christopher (cl778h)2407cdc2020-04-29 09:58:37 -040021[1.0.3] - 2020-04-29
22--------------------
23* Upgrade to RMR version 4.0.2
24
25
Lott, Christopher (cl778h)e2e3e432020-04-22 09:52:23 -040026[1.0.2] - 2020-04-22
27--------------------
28* Upgrade to RMR version 3.8.0
29
30
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040031[1.0.1] - 2020-04-10
32--------------------
Tommy Carpenter3a6ac012020-04-06 14:42:57 -040033
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040034* Publish API documentation using Sphinx autodoc, which required
35 changes so Sphinx can run when the RMR .so file is not available,
36 such as during a ReadTheDocs build.
37* Create new subpackage rmr/rmrclib with the C library loaded via
38 ctypes.
39* Extend sphinx configuration to mock the new rmrclib subpackage
40* Add method to get constants from RMR library and detect mock
41 objects to work around a bug in Sphinx 3.0.0.
42* Split test files into test_rmr and test_rmrclib.
43* Add function to define argtype and restype values for library functions
44* Configure intersphinx link for RMR man pages at ReadTheDocs.io
45
46
47[1.0.0] - 4/6/2020
48------------------
49
50* Python rmr has been moved into this repo. The module name has NOT
51 changed in order to make the transition for repos very easy. The
52 only transition needed should be prefixing rmr with ricxappframe in
53 import statements, and to include this rather than rmr in setup.
Tommy Carpenter3a6ac012020-04-06 14:42:57 -040054
55
Tommy Carpenter09894e32020-04-02 19:45:19 -040056[0.7.0] - 4/2/2020
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040057------------------
Tommy Carpenter09894e32020-04-02 19:45:19 -040058
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040059* RMRXapps by default now implement the rmr healthcheck probe;
60 users can also override it with a more complex handler if they
61 wish
62* Fix a bug in the unit tests where a payload mismatch wouldn't
63 actually fail the test (would now)
Tommy Carpenter09894e32020-04-02 19:45:19 -040064
65
Tommy Carpenter3423ff52020-03-23 09:17:47 -040066[0.6.0] - 3/23/2020
67-------------------
Tommy Carpenter3423ff52020-03-23 09:17:47 -040068
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040069* Switch to SI95 for rmr
Tommy Carpenter3423ff52020-03-23 09:17:47 -040070
71
Tommy Carpenter0f8305b2020-03-18 10:34:28 -040072[0.5.0] - 3/18/2020
73-------------------
Tommy Carpenter0f8305b2020-03-18 10:34:28 -040074
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040075* All xapps (via the base class) now have a logger attribute that can
76 be invoked to provide mdc logging. It is a passthrough to the RIC
77 mdc logger for python (untouched, no value in an API on top at the
78 current time).
Tommy Carpenter0f8305b2020-03-18 10:34:28 -040079
80
Tommy Carpenter5b582d62020-03-17 17:41:42 -040081[0.4.1] - 3/17/2020
82-------------------
Tommy Carpenter5b582d62020-03-17 17:41:42 -040083
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040084* Switch tox to use py38
85* switch to latest builders
Tommy Carpenter5b582d62020-03-17 17:41:42 -040086
87
Tommy Carpenter1c9ce6b2020-03-13 09:36:36 -040088[0.4.0] - 3/13/2020
89-------------------
Tommy Carpenter1c9ce6b2020-03-13 09:36:36 -040090
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040091* Minor breaking change; switches the default behavior RE
92 threading for RMRXapps. The default is not to return execution,
93 but the caller (in `run`) can choose to loop in a thread.
94* Add Dockerized examples
Tommy Carpenter1c9ce6b2020-03-13 09:36:36 -040095
Tommy Carpenterf9cd5cc2020-03-09 13:46:37 -040096
97[0.3.0] - 3/10/2020
98-------------------
Tommy Carpenterf9cd5cc2020-03-09 13:46:37 -040099
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400100* Large change to the "feel" of this framework: rather than subclass
101 instantiation, xapps now use initialization and registration
102 functions to register handlers
103* rmr xapps can now register handlers for specific message types (and
104 they must prodive a default callback); if the user does this then
105 "message to function routing" is now handled by the framework itself
106* RMRXapp now runs the polling loop in a thread, and returns execution
107 back to the caller. The user is then free to loop, or do nothing,
108 and call stop() when they want.
109* Raises tox coverage minimum to 70 from 50 (currently at 86)
Tommy Carpenterf9cd5cc2020-03-09 13:46:37 -0400110
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -0400111
Tommy Carpenter99a0b482020-03-03 10:21:24 -0500112[0.2.0] - 3/3/2020
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400113------------------
Tommy Carpenter99a0b482020-03-03 10:21:24 -0500114
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400115* now allows for RMRXapps to call code before entering the infinite
116 loop
117* stop is now called before throwing NotImplemented in the case where
118 the client fails to provide a must have callback; this ensures there
119 is no dangling rmr thread
120* stop now calls rmr_close to correctly free up any port(s)
121* (breaking) renames `loop` to `entrypoint` since the function does
122 not have to contain a loop (though it most likely does)
123* Changes wording around the two types of xapps (docs only)
124* Uses a new version of rmr python that crashes when the rmr mrc fails
125 to init, which prevents an xapp trying to use an unusable rmr
126* more unit test code coverage
127* Adds more fields to setup like long_desc and classifiers so the pypi
128 page looks nicer
129* Removes a bad release file (will be added back in subseq. commit)
Tommy Carpenter99a0b482020-03-03 10:21:24 -0500130
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -0400131
Tommy Carpenter53786ca2020-02-28 09:17:46 -0500132[0.1.0] - 2/27/2020
133-------------------
Tommy Carpenter53786ca2020-02-28 09:17:46 -0500134
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400135* Initial commit