RMR update and I release step 1 of 2
[ric-plt/xapp-frame-py.git] / docs / release-notes.rst
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
4
5 Release Notes
6 =============
7
8 All notable changes to this project will be documented in this file.
9
10 The format is based on `Keep a Changelog <http://keepachangelog.com/>`__
11 and this project adheres to `Semantic Versioning <http://semver.org/>`__.
12
13 [3.2.3] - 2023-12-13
14 --------------------
15 * update RMR version to 4.9.4
16
17 [3.2.2] - 2023-06-08
18 --------------------
19 * update RMR version to 4.9.1
20
21 [3.2.1] - 2022-12-12
22 --------------------
23 * small permission fix in python init files
24
25 [3.2.0] - 2022-06-16
26 --------------------
27 * Added REST E2 subscription support
28 * rnib enhancements
29 * REST service with health and config interface
30
31 [3.1.0] - 2022-03-22
32 --------------------
33 * Added the symptomdata module
34
35 [3.0.2] - 2021-12-17
36 --------------------
37 * Fix caching of error code data not happening (`RIC-862 <https://jira.o-ran-sc.org/browse/RIC-862>`_)
38 * Improves performance of xapp-frame-py by caching the mapping dict of error codes.
39
40 [3.0.1] - 2021-12-07
41 --------------------
42 * Take configuration and rmr unit tests back into use after fixing the tests (`RIC-865 <https://jira.o-ran-sc.org/browse/RIC-865>`_)
43 * Improve memory leak fix done in the version 3.0.0 to free memory also if python exception has been thrown.
44
45 [3.0.0] - 2021-12-03
46 --------------------
47 * Upgrade to RMR version 4.8.0 to fix memory leak in get_constants() function (`RIC-858 <https://jira.o-ran-sc.org/browse/RIC-858>`_)
48 * From xapp-frame-py version 3.0.0 onwards it is required to have RMR version 4.8.0 or newer.
49
50 [2.3.0] - 2021-09-15
51 --------------------
52 * Add Xapp Registration (`RIC-706 <https://jira.o-ran-sc.org/browse/RIC-706>`_)
53 * Integrate pylog (https://gerrit.o-ran-sc.org/r/admin/repos/com/pylog) with xapp-frame-py (`RIC-330 <https://jira.o-ran-sc.org/browse/RIC-330>`_)
54
55 [2.2.0] - 2021-06-23
56 --------------------
57 * Add E2AP package (`RIC-664 <https://jira.o-ran-sc.org/browse/RIC-664>`_)
58
59
60 [2.1.0] - 2021-06-18
61 --------------------
62 * Add `RNIB <https://gerrit.o-ran-sc.org/r/admin/repos/ric-plt/nodeb-rnib>`_ feature (`RIC-788 <https://jira.o-ran-sc.org/browse/RIC-788>`_)
63
64
65 [2.0.0] - 2021-06-14
66 --------------------
67 * Add Xapp registration/deregistration APIs (`RIC-706 <https://jira.o-ran-sc.org/browse/RIC-706>`_)
68 * Upgrade SDL 3.0.0 version, SDL scaling (`RIC-699 <https://jira.o-ran-sc.org/browse/RIC-699>`_)
69 * Upgrade SDL 3.0.0 version, notification fix (`RIC-795 <https://jira.o-ran-sc.org/browse/RIC-795>`_)
70
71
72 [1.6.0] - 2020-10-23
73 --------------------
74 * Add SDL wrapping API (`RIC-659 <https://jira.o-ran-sc.org/browse/RIC-659>`_)
75
76
77 [1.5.0] - 2020-07-10
78 --------------------
79 * Add Metrics API (`RIC-381 <https://jira.o-ran-sc.org/browse/RIC-381>`_)
80
81
82 [1.4.0] - 2020-07-06
83 --------------------
84 * Revise Alarm manager to send via RMR wormhole (`RIC-529 <https://jira.o-ran-sc.org/browse/RIC-529>`_)
85
86
87 [1.3.0] - 2020-06-24
88 --------------------
89 * Add configuration-change API (`RIC-425 <https://jira.o-ran-sc.org/browse/RIC-425>`_)
90
91
92 [1.2.1] - 2020-06-22
93 --------------------
94 * Revise alarm message type (`RIC-514 <https://jira.o-ran-sc.org/browse/RIC-514>`_)
95
96
97 [1.2.0] - 2020-06-04
98 --------------------
99 * Extend RMR module to support wormhole methods
100 * Add alarm API (`RIC-380 <https://jira.o-ran-sc.org/browse/RIC-380>`_)
101
102
103 [1.1.2] - 2020-05-13
104 --------------------
105 * Extend and publish class and method documentation as user guide in RST
106
107
108 [1.1.1] - 2020-05-07
109 --------------------
110 * Use timeout on queue get method to avoid 100% CPU usage (`RIC-354 <https://jira.o-ran-sc.org/browse/RIC-354>`_)
111 * Upgrade to RMR version 4.0.5
112
113
114 [1.1.0] - 2020-05-06
115 --------------------
116 * Use RMR timeout on receive to avoid 100% CPU usage (`RIC-354 <https://jira.o-ran-sc.org/browse/RIC-354>`_)
117 * Publish message-summary dict keys as constants to avoid hardcoding strings
118 * Add wrapper and test for RMR method rmr_set_vlevel(int)
119
120
121 [1.0.3] - 2020-04-29
122 --------------------
123 * Upgrade to RMR version 4.0.2
124
125
126 [1.0.2] - 2020-04-22
127 --------------------
128 * Upgrade to RMR version 3.8.0
129
130
131 [1.0.1] - 2020-04-10
132 --------------------
133 * Publish API documentation using Sphinx autodoc, which required
134   changes so Sphinx can run when the RMR .so file is not available,
135   such as during a ReadTheDocs build.
136 * Create new subpackage rmr/rmrclib with the C library loaded via
137   ctypes.
138 * Extend sphinx configuration to mock the new rmrclib subpackage
139 * Add method to get constants from RMR library and detect mock
140   objects to work around a bug in Sphinx 3.0.0.
141 * Split test files into test_rmr and test_rmrclib.
142 * Add function to define argtype and restype values for library functions
143 * Configure intersphinx link for RMR man pages at ReadTheDocs.io
144
145
146 [1.0.0] - 4/6/2020
147 ------------------
148 * Python rmr has been moved into this repo. The module name has NOT
149   changed in order to make the transition for repos very easy. The
150   only transition needed should be prefixing rmr with ricxappframe in
151   import statements, and to include this rather than rmr in setup.
152
153
154 [0.7.0] - 4/2/2020
155 ------------------
156 * RMRXapps by default now implement the rmr healthcheck probe;
157   users can also override it with a more complex handler if they
158   wish
159 * Fix a bug in the unit tests where a payload mismatch wouldn't
160   actually fail the test (would now)
161
162
163 [0.6.0] - 3/23/2020
164 -------------------
165 * Switch to SI95 for rmr
166
167
168 [0.5.0] - 3/18/2020
169 -------------------
170 * All xapps (via the base class) now have a logger attribute that can
171   be invoked to provide mdc logging. It is a passthrough to the RIC
172   mdc logger for python (untouched, no value in an API on top at the
173   current time).
174
175
176 [0.4.1] - 3/17/2020
177 -------------------
178 * Switch tox to use py38
179 * switch to latest builders
180
181
182 [0.4.0] - 3/13/2020
183 -------------------
184 * Minor breaking change; switches the default behavior RE
185   threading for RMRXapps. The default is not to return execution,
186   but the caller (in `run`) can choose to loop in a thread.
187 * Add Dockerized examples
188
189
190 [0.3.0] - 3/10/2020
191 -------------------
192 * Large change to the "feel" of this framework: rather than subclass
193   instantiation, xapps now use initialization and registration
194   functions to register handlers
195 * rmr xapps can now register handlers for specific message types (and
196   they must prodive a default callback); if the user does this then
197   "message to function routing" is now handled by the framework itself
198 * RMRXapp now runs the polling loop in a thread, and returns execution
199   back to the caller. The user is then free to loop, or do nothing,
200   and call stop() when they want.
201 * Raises tox coverage minimum to 70 from 50 (currently at 86)
202
203
204 [0.2.0] - 3/3/2020
205 ------------------
206 * now allows for RMRXapps to call code before entering the infinite
207   loop
208 * stop is now called before throwing NotImplemented in the case where
209   the client fails to provide a must have callback; this ensures there
210   is no dangling rmr thread
211 * stop now calls rmr_close to correctly free up any port(s)
212 * (breaking) renames `loop` to `entrypoint` since the function does
213   not have to contain a loop (though it most likely does)
214 * Changes wording around the two types of xapps (docs only)
215 * Uses a new version of rmr python that crashes when the rmr mrc fails
216   to init, which prevents an xapp trying to use an unusable rmr
217 * more unit test code coverage
218 * Adds more fields to setup like long_desc and classifiers so the pypi
219   page looks nicer
220 * Removes a bad release file (will be added back in subseq. commit)
221
222
223 [0.1.0] - 2/27/2020
224 -------------------
225 * Initial commit