Add SI95 transport library to doc
[ric-plt/lib/rmr.git] / docs / rel-notes.rst
1  
2 .. This work is licensed under a Creative Commons Attribution 4.0 International License. 
3 .. SPDX-License-Identifier: CC-BY-4.0 
4 .. CAUTION: this document is generated from source in doc/src/rtd. 
5 .. To make changes edit the source and recompile the document. 
6 .. Do NOT make changes directly to .rst or .md files. 
7  
8  
9 RMR Release Notes 
10 ============================================================================================ 
11  
12 The following is a list of release highlights for the core 
13 RMR library and wrappers which are housed in the same 
14 repository. These are extracted directly from the 
15 CHANGES_*.txt files at the repo root; please refer to those 
16 files for a completely up to date listing of API changes (as 
17 generated documents may lag). 
18  
19 The RMR repo houses two distinct release entities: the core 
20 RMR package and the python wrapper package. To avoid naming 
21 conflicts (tags mostly) The core package uses odd major 
22 version numbers (e.g. 3.2.1) and the wrapper package uses 
23 even major version numbers. The release notes are split into 
24 two sections; please be sure to scroll to the section that is 
25 appropriate. 
26  
27 Core RMR Changes 
28 -------------------------------------------------------------------------------------------- 
29  
30  
31 2020 April 2; version 3.6.5 
32 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
33  
34 Correct potential nil pointer use when examining interfaces 
35 for use as a listen target (RIC-307) 
36  
37  
38 2020 April 1; version 3.6.4 
39 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
40  
41 Correct potential nil pointer use in the NNG interface 
42 (RIC-303) Correct issue preventing CI build without a 
43 container 
44  
45  
46 2020 March 30; version 3.6.3 
47 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
48  
49 Correct the max receive message size constant in rmr.h 
50 (RIC-301) 
51  
52  
53 2020 March 23; version 3.6.2 
54 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
55  
56 Fix message initialisation bug when pulling a message from 
57 the pool (RIC-295) 
58  
59  
60 2020 March 19; version 3.6.1 
61 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
62  
63 Fix problem with RPM package install 
64  
65  
66 2020 March 18; version 3.6.0 
67 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
68  
69 Add message types to support traffic steering 
70  
71  
72 2020 March 16; version 3.5.2 
73 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
74  
75 Correct bug in the meid table parser that prevented the 
76 ack/nack of meid tables (RIC-273) 
77  
78  
79 2020 March 10; version 3.5.1 
80 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
81  
82 Add missing health check message types. 
83  
84  
85 2020 March 9; version 3.5.0 
86 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
87  
88 Added new wormhole send function: rmr_wh_call(). 
89  
90  
91 2020 March 6; version 3.4.0 
92 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
93  
94 Add new wormhole state function: rmr_wh_state(). 
95  
96  
97 2020 March 5; Version 3.3.1 
98 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
99  
100 Correct several "bugs" identified by automatic code analysis. 
101  
102  
103 2020 March 4; Version 3.3.0 
104 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
105  
106 Add SI95 based unit testing Health check support binary added 
107 (reason for minor bump) 
108  
109  
110 2020 February 26; version 3.2.5 
111 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
112  
113 Fix source address bug in SI95 receive/send funcitons. Fix 
114 threading issues involving session disconnection in SI95 
115 Remove unused SI95 status variable. 
116  
117  
118 2020 February 24; version 3.2.4 
119 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
120  
121 Fix meid bug (RIC-220) causing core dump. 
122  
123  
124 2020 February 21; version 3.2.3 
125 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
126  
127 Add meid routing support to the SI95 interface. 
128  
129  
130 2020 February 20; version 3.2.2 
131 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
132  
133 Fix receive thread related core dump (ring early unlock). 
134  
135  
136 2020 February 19; version 3.2.1 
137 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
138  
139 Added missing message types (E2-Setup) 
140  
141  
142 2020 February 18; version 3.2.0 
143 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
144  
145 Added support for new Route Manager and it's ability to 
146 accept a request for table update. 
147  
148  
149 2020 February 14; version 3.1.3 
150 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
151  
152 Fix bug in SIsend which was causing a core dump in some cases 
153 where the application attempted to send on a connection that 
154 had disconnected. (RIC-207). 
155  
156  
157 2020 February 6; version 3.1.2 
158 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
159  
160 Fix disconnection detection bug in interface to SI95. 
161  
162  
163 2020 January 31; verison 3.1.1 
164 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
165  
166 Allow route table thread logging to be completely disabled 
167 when logging is turned off. 
168  
169  
170 2020 January 26; verison 3.1.0 
171 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
172  
173 First step to allowing the user programme to control messages 
174 written to standard error. Introduces the rmr_set_vlevel() 
175 function, and related environment variable. 
176  
177  
178 2020 January 24; verison 3.0.5 
179 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
180  
181 Fix bug in SI95 with receive buffer allocation. 
182  
183  
184 2020 January 23; verison 3.0.4 
185 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
186  
187 Fix bug in SI95 causing excessive CPU usage on poll. 
188  
189  
190 2020 January 22; verison 3.0.3 
191 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
192  
193 Enable thread support for multiple receive threads. 
194  
195  
196 2020 January 21; verison 3.0.2 
197 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
198  
199 Fix bug in SI95 (missing reallocate payload function). 
200  
201  
202 2020 January 20; verison 3.0.1 
203 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
204  
205 Enable support for dynamic route table updates via RMR 
206 session. 
207  
208  
209 2020 January 16; version 3.0.0 
210 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
211  
212 Introduce support for SI95 transport library to replace NNG. 
213 (RMR library versions will use leading odd numbers to avoid 
214 tag collisions with the wrapper tags which will use even 
215 numbers.) 
216  
217  
218 2019 December 9; version 1.13.1 
219 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
220  
221 Correct documentation and missing rel-notes update for RTD. 
222  
223  
224 2019 December 6; version 1.13.0 
225 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
226  
227 Add ability to route messages based on the MEID in a message 
228 combined with the message type/subscription-ID. 
229  
230  
231 2019 November 14; version 1.11.1 (Amber) 
232 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
233  
234 Fix bug in payload reallocation function; correct length of 
235 payload was not always copied. 
236  
237  
238 2019 November 13; version 1.12.1 
239 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
240  
241 New message type constants added to support A1. 
242  
243  
244 2019 November 4; version 1.11.0 (Amber) 
245 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
246  
247 Version bump to move away from the 1.10.* to distinguish 
248 between release A and the trial. 
249  
250  
251 2019 November 7; version 1.12.0 
252 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
253  
254 Version cut to support continued development for next release 
255 preserving the 1.11.* versions for release 1 (Amber) and 
256 related fixes. 
257  
258  
259 2019 October 31; version 1.10.2 
260 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
261  
262 Provide the means to increase the payload size of a received 
263 message without losing the data needed to use the 
264 rmr_rts_msg() funciton. 
265  
266  
267 2019 October 21; version 1.10.1 
268 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
269  
270 Fix to prevent null message buffer from being returned by the 
271 timeout receive function if the function is passed one to 
272 reuse. 
273  
274  
275 2019 October 21; version 1.10.1 
276 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
277  
278 Add periodic dump of send count info to stderr. 
279  
280  
281 2019 September 27; version 1.9.0 
282 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
283  
284 Python bindings added receive all queued function and 
285 corrected a unit test 
286  
287  
288 2019 September 25; version 1.8.3 
289 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
290  
291 Correct application level test issue causing timing problems 
292 during jenkins verification testing at command and merge 
293  
294 Handle the NNG connection shutdown status which may now be 
295 generated when a connection throug a proxy is reset. 
296  
297  
298 2019 September 25; version 1.8.2 
299 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
300  
301 Correct bug in rmr_torcv_msg() when timeout set to zero (0). 
302  
303  
304 2019 September 19; version 1.8.1 
305 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
306  
307 Correct missing constant for wrappers. 
308  
309  
310 2019 September 19; version 1.8.0 
311 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
312  
313 New message types added: RAN_CONNECTED, RAN_RESTARTED, 
314 RAN_RECONFIGURED 
315  
316  
317 2019 September 17; version 1.7.0 
318 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
319  
320 Initial connection mode now defaults to asynchronous. Set 
321 RMR_ASYNC_CONN=0 in the environment before rmr_init() is 
322 invoked to revert to synchronous first TCP connections. 
323 (Recovery connection attempts have always been asynchronous). 
324  
325  
326 2019 September 3; version 1.6.0 
327 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
328  
329 Fix bug in the rmr_rts_msg() function. If a return to sender 
330 message failed, the source IP address was not correctly 
331 adjusted and could cause the message to be "reflected" back 
332 to the sender on a retry. 
333  
334 Added the ability to set the source "ID" via an environment 
335 var (RMR_SRC_ID). When present in the environment, the string 
336 will be placed in to the message header as the source and 
337 thus be used by an application calling rmr_rts_smg() to 
338 return a response to the sender. If this environment variable 
339 is not present, the host name (original behaviour) is used. 
340  
341  
342 2019 August 26; version 1.4.0 
343 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
344  
345 New message types were added. 
346  
347  
348 2019 August 16; version 1.3.0 
349 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
350  
351 New mesage types added. 
352  
353  
354 2019 August 13; version 1.2.0 (API change, non-breaking) 
355 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
356  
357 The function rmr_get_xact() was added to proide a convenient 
358 way to extract the transaction field from a message. 
359  
360  
361 2019 August 8; version 1.1.0 (API change) 
362 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
363  
364 This change should be backward compatable/non-breaking A new 
365 field has been added to the message buffer (rmr_mbuf_t). This 
366 field (tp_state) is used to communicate the errno value that 
367 the transport mechanism might set during send and/or receive 
368 operations. C programmes should continue to use errno 
369 directly, but in some environments wrappers may not be able 
370 to access errno and this provides the value to them. See the 
371 rmr_alloc_msg manual page for more details. 
372  
373  
374 2019 August 6; version 1.0.45 (build changes) 
375 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
376  
377 Support for the Nanomsg transport library has been dropped. 
378 The library librmr.* will no longer be included in packages. 
379  
380 Packages will install RMR libraries into the system preferred 
381 target directory. On some systems this is /usr/local/lib and 
382 on others it is /usr/local/lib64. The diretory is determined 
383 by the sytem on which the package is built and NOT by the 
384 system installing the package, so it's possible that the RMR 
385 libraries end up in a strange location if the .deb or .rpm 
386 file was generated on a Linux flavour that has a different 
387 preference than the one where the package is installed. 
388  
389  
390 2019 August 6; version 1.0.44 (API change) 
391 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
392  
393 Added a new message type constant. 
394  
395  
396 2019 July 15; Version 1.0.39 (bug fix) 
397 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
398  
399 Prevent unnecessary usleep in retry loop. 
400  
401  
402 2019 July 12; Version 1.0.38 (API change) 
403 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
404  
405 Added new message types to RIC_message_types.h. 
406  
407  
408 2019 July 11; Version 1.0.37 
409 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
410  
411  
412 librmr and librmr_nng - Add message buffer API function 
413 rmr_trace_ref() (see rmr_trace_ref.3 manual page in dev 
414 package). 
415  
416  
417 Wrapper Changes 
418 -------------------------------------------------------------------------------------------- 
419  
420  
421 2020 February 29; Version 2.4.0 
422 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
423  
424 Add consolidated testing under CMake Add support binary for 
425 health check (SI95 only) 
426  
427  
428 2020 February 28; Version 2.3.6 
429 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
430  
431 Fix bug in Rt. Mgr comm which prevented table ID from being 
432 sent on ack message (RIC-232).