blob: b58b93a8183fda0c1bab0528259c162685d348e5 [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)ca170d32020-05-12 15:05:59 -040014[1.1.2] - 2020-05-13
15--------------------
16* Extend and publish class and method documentation as user guide in RST
17
18
Lott, Christopher (cl778h)bbc90282020-05-07 08:39:49 -040019[1.1.1] - 2020-05-07
20--------------------
21* Use timeout on queue get method to avoid 100% CPU usage (`RIC-354 <https://jira.o-ran-sc.org/browse/RIC-354>`_)
22* Upgrade to RMR version 4.0.5
23
24
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -040025[1.1.0] - 2020-05-06
Lott, Christopher (cl778h)666e8312020-05-05 18:31:54 -040026--------------------
27* 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 -040028* Publish message-summary dict keys as constants to avoid hardcoding strings
29* Add wrapper and test for RMR method rmr_set_vlevel(int)
Lott, Christopher (cl778h)666e8312020-05-05 18:31:54 -040030
31
Lott, Christopher (cl778h)2407cdc2020-04-29 09:58:37 -040032[1.0.3] - 2020-04-29
33--------------------
34* Upgrade to RMR version 4.0.2
35
36
Lott, Christopher (cl778h)e2e3e432020-04-22 09:52:23 -040037[1.0.2] - 2020-04-22
38--------------------
39* Upgrade to RMR version 3.8.0
40
41
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040042[1.0.1] - 2020-04-10
43--------------------
Tommy Carpenter3a6ac012020-04-06 14:42:57 -040044
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040045* Publish API documentation using Sphinx autodoc, which required
46 changes so Sphinx can run when the RMR .so file is not available,
47 such as during a ReadTheDocs build.
48* Create new subpackage rmr/rmrclib with the C library loaded via
49 ctypes.
50* Extend sphinx configuration to mock the new rmrclib subpackage
51* Add method to get constants from RMR library and detect mock
52 objects to work around a bug in Sphinx 3.0.0.
53* Split test files into test_rmr and test_rmrclib.
54* Add function to define argtype and restype values for library functions
55* Configure intersphinx link for RMR man pages at ReadTheDocs.io
56
57
58[1.0.0] - 4/6/2020
59------------------
60
61* Python rmr has been moved into this repo. The module name has NOT
62 changed in order to make the transition for repos very easy. The
63 only transition needed should be prefixing rmr with ricxappframe in
64 import statements, and to include this rather than rmr in setup.
Tommy Carpenter3a6ac012020-04-06 14:42:57 -040065
66
Tommy Carpenter09894e32020-04-02 19:45:19 -040067[0.7.0] - 4/2/2020
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040068------------------
Tommy Carpenter09894e32020-04-02 19:45:19 -040069
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040070* RMRXapps by default now implement the rmr healthcheck probe;
71 users can also override it with a more complex handler if they
72 wish
73* Fix a bug in the unit tests where a payload mismatch wouldn't
74 actually fail the test (would now)
Tommy Carpenter09894e32020-04-02 19:45:19 -040075
76
Tommy Carpenter3423ff52020-03-23 09:17:47 -040077[0.6.0] - 3/23/2020
78-------------------
Tommy Carpenter3423ff52020-03-23 09:17:47 -040079
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040080* Switch to SI95 for rmr
Tommy Carpenter3423ff52020-03-23 09:17:47 -040081
82
Tommy Carpenter0f8305b2020-03-18 10:34:28 -040083[0.5.0] - 3/18/2020
84-------------------
Tommy Carpenter0f8305b2020-03-18 10:34:28 -040085
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040086* All xapps (via the base class) now have a logger attribute that can
87 be invoked to provide mdc logging. It is a passthrough to the RIC
88 mdc logger for python (untouched, no value in an API on top at the
89 current time).
Tommy Carpenter0f8305b2020-03-18 10:34:28 -040090
91
Tommy Carpenter5b582d62020-03-17 17:41:42 -040092[0.4.1] - 3/17/2020
93-------------------
Tommy Carpenter5b582d62020-03-17 17:41:42 -040094
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -040095* Switch tox to use py38
96* switch to latest builders
Tommy Carpenter5b582d62020-03-17 17:41:42 -040097
98
Tommy Carpenter1c9ce6b2020-03-13 09:36:36 -040099[0.4.0] - 3/13/2020
100-------------------
Tommy Carpenter1c9ce6b2020-03-13 09:36:36 -0400101
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400102* Minor breaking change; switches the default behavior RE
103 threading for RMRXapps. The default is not to return execution,
104 but the caller (in `run`) can choose to loop in a thread.
105* Add Dockerized examples
Tommy Carpenter1c9ce6b2020-03-13 09:36:36 -0400106
Tommy Carpenterf9cd5cc2020-03-09 13:46:37 -0400107
108[0.3.0] - 3/10/2020
109-------------------
Tommy Carpenterf9cd5cc2020-03-09 13:46:37 -0400110
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400111* Large change to the "feel" of this framework: rather than subclass
112 instantiation, xapps now use initialization and registration
113 functions to register handlers
114* rmr xapps can now register handlers for specific message types (and
115 they must prodive a default callback); if the user does this then
116 "message to function routing" is now handled by the framework itself
117* RMRXapp now runs the polling loop in a thread, and returns execution
118 back to the caller. The user is then free to loop, or do nothing,
119 and call stop() when they want.
120* Raises tox coverage minimum to 70 from 50 (currently at 86)
Tommy Carpenterf9cd5cc2020-03-09 13:46:37 -0400121
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -0400122
Tommy Carpenter99a0b482020-03-03 10:21:24 -0500123[0.2.0] - 3/3/2020
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400124------------------
Tommy Carpenter99a0b482020-03-03 10:21:24 -0500125
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400126* now allows for RMRXapps to call code before entering the infinite
127 loop
128* stop is now called before throwing NotImplemented in the case where
129 the client fails to provide a must have callback; this ensures there
130 is no dangling rmr thread
131* stop now calls rmr_close to correctly free up any port(s)
132* (breaking) renames `loop` to `entrypoint` since the function does
133 not have to contain a loop (though it most likely does)
134* Changes wording around the two types of xapps (docs only)
135* Uses a new version of rmr python that crashes when the rmr mrc fails
136 to init, which prevents an xapp trying to use an unusable rmr
137* more unit test code coverage
138* Adds more fields to setup like long_desc and classifiers so the pypi
139 page looks nicer
140* Removes a bad release file (will be added back in subseq. commit)
Tommy Carpenter99a0b482020-03-03 10:21:24 -0500141
Lott, Christopher (cl778h)61270902020-05-06 09:23:55 -0400142
Tommy Carpenter53786ca2020-02-28 09:17:46 -0500143[0.1.0] - 2/27/2020
144-------------------
Tommy Carpenter53786ca2020-02-28 09:17:46 -0500145
Lott, Christopher (cl778h)f55e4d82020-04-10 16:02:11 -0400146* Initial commit