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