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