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