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.
7 ============================================================================================
9 ============================================================================================
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.
30 2020 May 06; version 4.0.5
31 --------------------------
33 Fix the bug in SI95 receive message management semaphore
34 count issue. (RIC-355)
38 2020 April 29; version 4.0.4
39 ----------------------------
41 Fix the traffic steering message type constants (again)
46 2020 April 28; version 4.0.3
47 ----------------------------
49 Fix sonar flagged bugs (RIC-78)
53 2020 April 24; version 4.0.2
54 ----------------------------
56 Correct bug in SI95 transport header length validation
61 2020 April 22; version 4.0.1
62 ----------------------------
64 Correct message type constant for Traffic Steering
69 2020 April 21; version 4.0.0
70 ----------------------------
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
80 The rmr_rcv_specific() function has been deprecated as it was
81 necessary only for NNG and Nanomsg support. Its use should be
86 2020 April 20; version 3.8.2
87 ----------------------------
89 Fix bug which was preventing an instance receiving dynamic
90 route table updates. (RIC-336)
94 2020 April 20; version 3.8.1
95 ----------------------------
97 Add user guide which replaces the concatenation of man pages
102 2020 April 17; version 3.8.0
103 ----------------------------
105 Add safe connect to avoid potential connect bug on Linux
108 Change debugging in route table collector to avoid possible
109 segment fault when in level 2 debug (RIC-335)
113 2020 April 15; version 3.7.4
114 ----------------------------
116 Add missing message type to header file (RIC-334)
120 2020 April 14; version 3.7.3
121 ----------------------------
123 Fix bug in rmr_call() when using SI95 (RIC-333)
127 2020 April 10; version 3.7.2
128 ----------------------------
130 Fix bug related to static route table only mode (RIC-331)
134 2020 April 9; version 3.7.1
135 ---------------------------
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)
145 2020 April 7; version 3.7.0
146 ---------------------------
148 The health check support programme was renamed to rmr_probe
153 2020 April 6; version 3.6.6
154 ---------------------------
156 Correct bug in SI95 address conversion module (RIC-327)
157 Correct bug in SI initialisation module
161 2020 April 2; version 3.6.5
162 ---------------------------
164 Correct potential nil pointer use when examining interfaces
165 for use as a listen target (RIC-307)
169 2020 April 1; version 3.6.4
170 ---------------------------
172 Correct potential nil pointer use in the NNG interface
173 (RIC-303) Correct issue preventing CI build without a
178 2020 March 30; version 3.6.3
179 ----------------------------
181 Correct the max receive message size constant in rmr.h
186 2020 March 23; version 3.6.2
187 ----------------------------
189 Fix message initialisation bug when pulling a message from
194 2020 March 19; version 3.6.1
195 ----------------------------
197 Fix problem with RPM package install
201 2020 March 18; version 3.6.0
202 ----------------------------
204 Add message types to support traffic steering
208 2020 March 16; version 3.5.2
209 ----------------------------
211 Correct bug in the meid table parser that prevented the
212 ack/nack of meid tables (RIC-273)
216 2020 March 10; version 3.5.1
217 ----------------------------
219 Add missing health check message types.
223 2020 March 9; version 3.5.0
224 ---------------------------
226 Added new wormhole send function: rmr_wh_call().
230 2020 March 6; version 3.4.0
231 ---------------------------
233 Add new wormhole state function: rmr_wh_state().
237 2020 March 5; Version 3.3.1
238 ---------------------------
240 Correct several "bugs" identified by automatic code analysis.
244 2020 March 4; Version 3.3.0
245 ---------------------------
247 Add SI95 based unit testing Health check support binary added
248 (reason for minor bump)
252 2020 February 26; version 3.2.5
253 -------------------------------
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.
261 2020 February 24; version 3.2.4
262 -------------------------------
264 Fix meid bug (RIC-220) causing core dump.
268 2020 February 21; version 3.2.3
269 -------------------------------
271 Add meid routing support to the SI95 interface.
275 2020 February 20; version 3.2.2
276 -------------------------------
278 Fix receive thread related core dump (ring early unlock).
282 2020 February 19; version 3.2.1
283 -------------------------------
285 Added missing message types (E2-Setup)
289 2020 February 18; version 3.2.0
290 -------------------------------
292 Added support for new Route Manager and it's ability to
293 accept a request for table update.
297 2020 February 14; version 3.1.3
298 -------------------------------
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).
306 2020 February 6; version 3.1.2
307 ------------------------------
309 Fix disconnection detection bug in interface to SI95.
313 2020 January 31; verison 3.1.1
314 ------------------------------
316 Allow route table thread logging to be completely disabled
317 when logging is turned off.
321 2020 January 26; verison 3.1.0
322 ------------------------------
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.
330 2020 January 24; verison 3.0.5
331 ------------------------------
333 Fix bug in SI95 with receive buffer allocation.
337 2020 January 23; verison 3.0.4
338 ------------------------------
340 Fix bug in SI95 causing excessive CPU usage on poll.
344 2020 January 22; verison 3.0.3
345 ------------------------------
347 Enable thread support for multiple receive threads.
351 2020 January 21; verison 3.0.2
352 ------------------------------
354 Fix bug in SI95 (missing reallocate payload function).
358 2020 January 20; verison 3.0.1
359 ------------------------------
361 Enable support for dynamic route table updates via RMR
366 2020 January 16; version 3.0.0
367 ------------------------------
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
376 2019 December 9; version 1.13.1
377 -------------------------------
379 Correct documentation and missing rel-notes update for RTD.
383 2019 December 6; version 1.13.0
384 -------------------------------
386 Add ability to route messages based on the MEID in a message
387 combined with the message type/subscription-ID.
396 2019 November 14; version 1.11.1
397 --------------------------------
399 Fix bug in payload reallocation function; correct length of
400 payload was not always copied.
404 2019 November 13; version 1.12.1
405 --------------------------------
407 New message type constants added to support A1.
411 2019 November 4; version 1.11.0
412 -------------------------------
414 Version bump to move away from the 1.10.* to distinguish
415 between release A and the trial.
419 2019 November 7; version 1.12.0
420 -------------------------------
422 Version cut to support continued development for next release
423 preserving the 1.11.* versions for release 1 (Amber) and
428 2019 October 31; version 1.10.2
429 -------------------------------
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.
437 2019 October 21; version 1.10.1
438 -------------------------------
440 Fix to prevent null message buffer from being returned by the
441 timeout receive function if the function is passed one to
446 2019 October 21; version 1.10.1
447 -------------------------------
449 Add periodic dump of send count info to stderr.
453 2019 September 27; version 1.9.0
454 --------------------------------
456 Python bindings added receive all queued function and
457 corrected a unit test
461 2019 September 25; version 1.8.3
462 --------------------------------
464 Correct application level test issue causing timing problems
465 during jenkins verification testing at command and merge
467 Handle the NNG connection shutdown status which may now be
468 generated when a connection throug a proxy is reset.
472 2019 September 25; version 1.8.2
473 --------------------------------
475 Correct bug in rmr_torcv_msg() when timeout set to zero (0).
479 2019 September 19; version 1.8.1
480 --------------------------------
482 Correct missing constant for wrappers.
486 2019 September 19; version 1.8.0
487 --------------------------------
489 New message types added: RAN_CONNECTED, RAN_RESTARTED,
494 2019 September 17; version 1.7.0
495 --------------------------------
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).
504 2019 September 3; version 1.6.0
505 -------------------------------
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.
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.
521 2019 August 26; version 1.4.0
522 -----------------------------
524 New message types were added.
528 2019 August 16; version 1.3.0
529 -----------------------------
531 New mesage types added.
535 2019 August 13; version 1.2.0 (API change, non-breaking)
536 --------------------------------------------------------
538 The function rmr_get_xact() was added to proide a convenient
539 way to extract the transaction field from a message.
543 2019 August 8; version 1.1.0 (API change)
544 -----------------------------------------
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.
557 2019 August 6; version 1.0.45 (build changes)
558 ---------------------------------------------
560 Support for the Nanomsg transport library has been dropped.
561 The library librmr.* will no longer be included in packages.
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.
574 2019 August 6; version 1.0.44 (API change)
575 ------------------------------------------
577 Added a new message type constant.
581 2019 July 15; Version 1.0.39 (bug fix)
582 --------------------------------------
584 Prevent unnecessary usleep in retry loop.
588 2019 July 12; Version 1.0.38 (API change)
589 -----------------------------------------
591 Added new message types to RIC_message_types.h.
595 2019 July 11; Version 1.0.37
596 ----------------------------
599 librmr and librmr_nng - Add message buffer API function
600 rmr_trace_ref() (see rmr_trace_ref.3 manual page in dev
605 2020 April 8; Version n/a
606 -------------------------
608 RMR Python moved to Python Xapp Framework
609 (https://gerrit.o-ran-sc.org/r/admin/repos/ric-plt/xapp-frame-py)
613 2020 February 29; Version 2.4.0
614 -------------------------------
616 Add consolidated testing under CMake Add support binary for
617 health check (SI95 only)
621 2020 February 28; Version 2.3.6
622 -------------------------------
624 Fix bug in Rt. Mgr comm which prevented table ID from being
625 sent on ack message (RIC-232).