1ea3c61d8ab071f9d2e47cb81f7edd2bf954dc7c
[ric-plt/lib/rmr.git] / docs / rel-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 .. CAUTION: this document is generated from source in doc/src/rtd. 
4 .. To make changes edit the source and recompile the document. 
5 .. Do NOT make changes directly to .rst or .md files. 
6  
7 ============================================================================================ 
8 RMR Release Notes 
9 ============================================================================================ 
10
11
12 RMR Release Notes
13 =================
14
15 The following is a list of release highlights for the RMR 
16 library. At one point in time the RMR repo also housed a 
17 wrapper library with a separate version and release cycle. 
18 This resulted in *leap frogging* versions for each package; 
19 the RMR core library was assigned odd major numbers (e.g. 
20 3.1.0). When the wrapper code was moved to a different repo 
21 the need to leap frog versions ceased, and beginning with 
22 version 4.0.0, the RMR versions should no longer skip. 
23
24
25 Bronze Release
26 ==============
27
28
29
30 2020 May 06; version 4.0.5
31 --------------------------
32
33 Fix the bug in SI95 receive message management semaphore 
34 count issue. (RIC-355) 
35  
36
37
38 2020 April 29; version 4.0.4
39 ----------------------------
40
41 Fix the traffic steering message type constants (again) 
42 (RIC-342) 
43  
44
45
46 2020 April 28; version 4.0.3
47 ----------------------------
48
49 Fix sonar flagged bugs (RIC-78) 
50  
51
52
53 2020 April 24; version 4.0.2
54 ----------------------------
55
56 Correct bug in SI95 transport header length validation 
57 (RIC-341) 
58  
59
60
61 2020 April 22; version 4.0.1
62 ----------------------------
63
64 Correct message type constant for Traffic Steering 
65 predication (RIC-342) 
66  
67
68
69 2020 April 21; version 4.0.0
70 ----------------------------
71
72 The NNG based libraries are no longer included in the RMR 
73 packages. This is considered a breaking change as NNG will 
74 not be supported by default. It is still possible to build 
75 with RMR-NNG libraries, but that is the exception. The API 
76 between 3.8.2 and 4.0.0 is the SAME. Upgrading to 4.0.0 only 
77 means that the underlying transport mechanism is limited only 
78 to SI95. 
79  
80 The rmr_rcv_specific() function has been deprecated as it was 
81 necessary only for NNG and Nanomsg support. Its use should be 
82 discontinued. 
83  
84
85
86 2020 April 20; version 3.8.2
87 ----------------------------
88
89 Fix bug which was preventing an instance receiving dynamic 
90 route table updates. (RIC-336) 
91  
92
93
94 2020 April 20; version 3.8.1
95 ----------------------------
96
97 Add user guide which replaces the concatenation of man pages 
98 (RIC-328) 
99  
100
101
102 2020 April 17; version 3.8.0
103 ----------------------------
104
105 Add safe connect to avoid potential connect bug on Linux 
106 (RIC-332) 
107  
108 Change debugging in route table collector to avoid possible 
109 segment fault when in level 2 debug (RIC-335) 
110  
111
112
113 2020 April 15; version 3.7.4
114 ----------------------------
115
116 Add missing message type to header file (RIC-334) 
117  
118
119
120 2020 April 14; version 3.7.3
121 ----------------------------
122
123 Fix bug in rmr_call() when using SI95 (RIC-333) 
124  
125
126
127 2020 April 10; version 3.7.2
128 ----------------------------
129
130 Fix bug related to static route table only mode (RIC-331) 
131  
132
133
134 2020 April 9; version 3.7.1
135 ---------------------------
136
137 The max length restriction for receiving messages when using 
138 SI95 has been removed. The length supplied during 
139 initialisation is used as the "normal maximum" and default 
140 buffer allocation size, but messages arriving which are 
141 larger are accepted. (RIC-309) 
142  
143
144
145 2020 April 7; version 3.7.0
146 ---------------------------
147
148 The health check support programme was renamed to rmr_probe 
149 (RIC-308). 
150  
151
152
153 2020 April 6; version 3.6.6
154 ---------------------------
155
156 Correct bug in SI95 address conversion module (RIC-327) 
157 Correct bug in SI initialisation module 
158  
159
160
161 2020 April 2; version 3.6.5
162 ---------------------------
163
164 Correct potential nil pointer use when examining interfaces 
165 for use as a listen target (RIC-307) 
166  
167
168
169 2020 April 1; version 3.6.4
170 ---------------------------
171
172 Correct potential nil pointer use in the NNG interface 
173 (RIC-303) Correct issue preventing CI build without a 
174 container 
175  
176
177
178 2020 March 30; version 3.6.3
179 ----------------------------
180
181 Correct the max receive message size constant in rmr.h 
182 (RIC-301) 
183  
184
185
186 2020 March 23; version 3.6.2
187 ----------------------------
188
189 Fix message initialisation bug when pulling a message from 
190 the pool (RIC-295) 
191  
192
193
194 2020 March 19; version 3.6.1
195 ----------------------------
196
197 Fix problem with RPM package install 
198  
199
200
201 2020 March 18; version 3.6.0
202 ----------------------------
203
204 Add message types to support traffic steering 
205  
206
207
208 2020 March 16; version 3.5.2
209 ----------------------------
210
211 Correct bug in the meid table parser that prevented the 
212 ack/nack of meid tables (RIC-273) 
213  
214
215
216 2020 March 10; version 3.5.1
217 ----------------------------
218
219 Add missing health check message types. 
220  
221
222
223 2020 March 9; version 3.5.0
224 ---------------------------
225
226 Added new wormhole send function: rmr_wh_call(). 
227  
228
229
230 2020 March 6; version 3.4.0
231 ---------------------------
232
233 Add new wormhole state function: rmr_wh_state(). 
234  
235
236
237 2020 March 5; Version 3.3.1
238 ---------------------------
239
240 Correct several "bugs" identified by automatic code analysis. 
241  
242
243
244 2020 March 4; Version 3.3.0
245 ---------------------------
246
247 Add SI95 based unit testing Health check support binary added 
248 (reason for minor bump) 
249  
250
251
252 2020 February 26; version 3.2.5
253 -------------------------------
254
255 Fix source address bug in SI95 receive/send funcitons. Fix 
256 threading issues involving session disconnection in SI95 
257 Remove unused SI95 status variable. 
258  
259
260
261 2020 February 24; version 3.2.4
262 -------------------------------
263
264 Fix meid bug (RIC-220) causing core dump. 
265  
266
267
268 2020 February 21; version 3.2.3
269 -------------------------------
270
271 Add meid routing support to the SI95 interface. 
272  
273
274
275 2020 February 20; version 3.2.2
276 -------------------------------
277
278 Fix receive thread related core dump (ring early unlock). 
279  
280
281
282 2020 February 19; version 3.2.1
283 -------------------------------
284
285 Added missing message types (E2-Setup) 
286  
287
288
289 2020 February 18; version 3.2.0
290 -------------------------------
291
292 Added support for new Route Manager and it's ability to 
293 accept a request for table update. 
294  
295
296
297 2020 February 14; version 3.1.3
298 -------------------------------
299
300 Fix bug in SIsend which was causing a core dump in some cases 
301 where the application attempted to send on a connection that 
302 had disconnected. (RIC-207). 
303  
304
305
306 2020 February 6; version 3.1.2
307 ------------------------------
308
309 Fix disconnection detection bug in interface to SI95. 
310  
311
312
313 2020 January 31; verison 3.1.1
314 ------------------------------
315
316 Allow route table thread logging to be completely disabled 
317 when logging is turned off. 
318  
319
320
321 2020 January 26; verison 3.1.0
322 ------------------------------
323
324 First step to allowing the user programme to control messages 
325 written to standard error. Introduces the rmr_set_vlevel() 
326 function, and related environment variable. 
327  
328
329
330 2020 January 24; verison 3.0.5
331 ------------------------------
332
333 Fix bug in SI95 with receive buffer allocation. 
334  
335
336
337 2020 January 23; verison 3.0.4
338 ------------------------------
339
340 Fix bug in SI95 causing excessive CPU usage on poll. 
341  
342
343
344 2020 January 22; verison 3.0.3
345 ------------------------------
346
347 Enable thread support for multiple receive threads. 
348  
349
350
351 2020 January 21; verison 3.0.2
352 ------------------------------
353
354 Fix bug in SI95 (missing reallocate payload function). 
355  
356
357
358 2020 January 20; verison 3.0.1
359 ------------------------------
360
361 Enable support for dynamic route table updates via RMR 
362 session. 
363  
364
365
366 2020 January 16; version 3.0.0
367 ------------------------------
368
369 Introduce support for SI95 transport library to replace NNG. 
370 (RMR library versions will use leading odd numbers to avoid 
371 tag collisions with the wrapper tags which will use even 
372 numbers.) 
373  
374
375
376 2019 December 9; version 1.13.1
377 -------------------------------
378
379 Correct documentation and missing rel-notes update for RTD. 
380  
381
382
383 2019 December 6; version 1.13.0
384 -------------------------------
385
386 Add ability to route messages based on the MEID in a message 
387 combined with the message type/subscription-ID. 
388  
389
390
391 Amber Release
392 =============
393
394
395
396 2019 November 14; version 1.11.1
397 --------------------------------
398
399 Fix bug in payload reallocation function; correct length of 
400 payload was not always copied. 
401  
402
403
404 2019 November 13; version 1.12.1
405 --------------------------------
406
407 New message type constants added to support A1. 
408  
409
410
411 2019 November 4; version 1.11.0
412 -------------------------------
413
414 Version bump to move away from the 1.10.* to distinguish 
415 between release A and the trial. 
416  
417
418
419 2019 November 7; version 1.12.0
420 -------------------------------
421
422 Version cut to support continued development for next release 
423 preserving the 1.11.* versions for release 1 (Amber) and 
424 related fixes. 
425  
426
427
428 2019 October 31; version 1.10.2
429 -------------------------------
430
431 Provide the means to increase the payload size of a received 
432 message without losing the data needed to use the 
433 rmr_rts_msg() funciton. 
434  
435
436
437 2019 October 21; version 1.10.1
438 -------------------------------
439
440 Fix to prevent null message buffer from being returned by the 
441 timeout receive function if the function is passed one to 
442 reuse. 
443  
444
445
446 2019 October 21; version 1.10.1
447 -------------------------------
448
449 Add periodic dump of send count info to stderr. 
450  
451
452
453 2019 September 27; version 1.9.0
454 --------------------------------
455
456 Python bindings added receive all queued function and 
457 corrected a unit test 
458  
459
460
461 2019 September 25; version 1.8.3
462 --------------------------------
463
464 Correct application level test issue causing timing problems 
465 during jenkins verification testing at command and merge 
466  
467 Handle the NNG connection shutdown status which may now be 
468 generated when a connection throug a proxy is reset. 
469  
470
471
472 2019 September 25; version 1.8.2
473 --------------------------------
474
475 Correct bug in rmr_torcv_msg() when timeout set to zero (0). 
476  
477
478
479 2019 September 19; version 1.8.1
480 --------------------------------
481
482 Correct missing constant for wrappers. 
483  
484
485
486 2019 September 19; version 1.8.0
487 --------------------------------
488
489 New message types added: RAN_CONNECTED, RAN_RESTARTED, 
490 RAN_RECONFIGURED 
491  
492
493
494 2019 September 17; version 1.7.0
495 --------------------------------
496
497 Initial connection mode now defaults to asynchronous. Set 
498 RMR_ASYNC_CONN=0 in the environment before rmr_init() is 
499 invoked to revert to synchronous first TCP connections. 
500 (Recovery connection attempts have always been asynchronous). 
501  
502
503
504 2019 September 3; version 1.6.0
505 -------------------------------
506
507 Fix bug in the rmr_rts_msg() function. If a return to sender 
508 message failed, the source IP address was not correctly 
509 adjusted and could cause the message to be "reflected" back 
510 to the sender on a retry. 
511  
512 Added the ability to set the source "ID" via an environment 
513 var (RMR_SRC_ID). When present in the environment, the string 
514 will be placed in to the message header as the source and 
515 thus be used by an application calling rmr_rts_smg() to 
516 return a response to the sender. If this environment variable 
517 is not present, the host name (original behaviour) is used. 
518  
519
520
521 2019 August 26; version 1.4.0
522 -----------------------------
523
524 New message types were added. 
525  
526
527
528 2019 August 16; version 1.3.0
529 -----------------------------
530
531 New mesage types added. 
532  
533
534
535 2019 August 13; version 1.2.0 (API change, non-breaking)
536 --------------------------------------------------------
537
538 The function rmr_get_xact() was added to proide a convenient 
539 way to extract the transaction field from a message. 
540  
541
542
543 2019 August 8; version 1.1.0 (API change)
544 -----------------------------------------
545
546 This change should be backward compatable/non-breaking A new 
547 field has been added to the message buffer (rmr_mbuf_t). This 
548 field (tp_state) is used to communicate the errno value that 
549 the transport mechanism might set during send and/or receive 
550 operations. C programmes should continue to use errno 
551 directly, but in some environments wrappers may not be able 
552 to access errno and this provides the value to them. See the 
553 rmr_alloc_msg manual page for more details. 
554  
555
556
557 2019 August 6; version 1.0.45 (build changes)
558 ---------------------------------------------
559
560 Support for the Nanomsg transport library has been dropped. 
561 The library librmr.* will no longer be included in packages. 
562  
563 Packages will install RMR libraries into the system preferred 
564 target directory. On some systems this is /usr/local/lib and 
565 on others it is /usr/local/lib64. The diretory is determined 
566 by the sytem on which the package is built and NOT by the 
567 system installing the package, so it's possible that the RMR 
568 libraries end up in a strange location if the .deb or .rpm 
569 file was generated on a Linux flavour that has a different 
570 preference than the one where the package is installed. 
571  
572
573
574 2019 August 6; version 1.0.44 (API change)
575 ------------------------------------------
576
577 Added a new message type constant. 
578  
579
580
581 2019 July 15; Version 1.0.39 (bug fix)
582 --------------------------------------
583
584 Prevent unnecessary usleep in retry loop. 
585  
586
587
588 2019 July 12; Version 1.0.38 (API change)
589 -----------------------------------------
590
591 Added new message types to RIC_message_types.h. 
592  
593
594
595 2019 July 11; Version 1.0.37
596 ----------------------------
597
598  
599 librmr and librmr_nng - Add message buffer API function 
600 rmr_trace_ref() (see rmr_trace_ref.3 manual page in dev 
601 package). 
602  
603
604
605 2020 April 8; Version n/a
606 -------------------------
607
608 RMR Python moved to Python Xapp Framework 
609 (https://gerrit.o-ran-sc.org/r/admin/repos/ric-plt/xapp-frame-py) 
610  
611
612
613 2020 February 29; Version 2.4.0
614 -------------------------------
615
616 Add consolidated testing under CMake Add support binary for 
617 health check (SI95 only) 
618  
619
620
621 2020 February 28; Version 2.3.6
622 -------------------------------
623
624 Fix bug in Rt. Mgr comm which prevented table ID from being 
625 sent on ack message (RIC-232).