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