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.
26 2020 May 06; version 4.0.5
27 --------------------------
29 Fix the bug in SI95 receive message management semaphore
30 count issue. (RIC-355)
34 2020 April 29; version 4.0.4
35 ----------------------------
37 Fix the traffic steering message type constants (again)
42 2020 April 28; version 4.0.3
43 ----------------------------
45 Fix sonar flagged bugs (RIC-78)
49 2020 April 24; version 4.0.2
50 ----------------------------
52 Correct bug in SI95 transport header length validation
57 2020 April 22; version 4.0.1
58 ----------------------------
60 Correct message type constant for Traffic Steering
65 2020 April 21; version 4.0.0
66 ----------------------------
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
76 The rmr_rcv_specific() function has been deprecated as it was
77 necessary only for NNG and Nanomsg support. Its use should be
82 2020 April 20; version 3.8.2
83 ----------------------------
85 Fix bug which was preventing an instance receiving dynamic
86 route table updates. (RIC-336)
90 2020 April 20; version 3.8.1
91 ----------------------------
93 Add user guide which replaces the concatenation of man pages
98 2020 April 17; version 3.8.0
99 ----------------------------
101 Add safe connect to avoid potential connect bug on Linux
104 Change debugging in route table collector to avoid possible
105 segment fault when in level 2 debug (RIC-335)
109 2020 April 15; version 3.7.4
110 ----------------------------
112 Add missing message type to header file (RIC-334)
116 2020 April 14; version 3.7.3
117 ----------------------------
119 Fix bug in rmr_call() when using SI95 (RIC-333)
123 2020 April 10; version 3.7.2
124 ----------------------------
126 Fix bug related to static route table only mode (RIC-331)
130 2020 April 9; version 3.7.1
131 ---------------------------
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)
141 2020 April 7; version 3.7.0
142 ---------------------------
144 The health check support programme was renamed to rmr_probe
149 2020 April 6; version 3.6.6
150 ---------------------------
152 Correct bug in SI95 address conversion module (RIC-327)
153 Correct bug in SI initialisation module
157 2020 April 2; version 3.6.5
158 ---------------------------
160 Correct potential nil pointer use when examining interfaces
161 for use as a listen target (RIC-307)
165 2020 April 1; version 3.6.4
166 ---------------------------
168 Correct potential nil pointer use in the NNG interface
169 (RIC-303) Correct issue preventing CI build without a
174 2020 March 30; version 3.6.3
175 ----------------------------
177 Correct the max receive message size constant in rmr.h
182 2020 March 23; version 3.6.2
183 ----------------------------
185 Fix message initialisation bug when pulling a message from
190 2020 March 19; version 3.6.1
191 ----------------------------
193 Fix problem with RPM package install
197 2020 March 18; version 3.6.0
198 ----------------------------
200 Add message types to support traffic steering
204 2020 March 16; version 3.5.2
205 ----------------------------
207 Correct bug in the meid table parser that prevented the
208 ack/nack of meid tables (RIC-273)
212 2020 March 10; version 3.5.1
213 ----------------------------
215 Add missing health check message types.
219 2020 March 9; version 3.5.0
220 ---------------------------
222 Added new wormhole send function: rmr_wh_call().
226 2020 March 6; version 3.4.0
227 ---------------------------
229 Add new wormhole state function: rmr_wh_state().
233 2020 March 5; Version 3.3.1
234 ---------------------------
236 Correct several "bugs" identified by automatic code analysis.
240 2020 March 4; Version 3.3.0
241 ---------------------------
243 Add SI95 based unit testing Health check support binary added
244 (reason for minor bump)
248 2020 February 26; version 3.2.5
249 -------------------------------
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.
257 2020 February 24; version 3.2.4
258 -------------------------------
260 Fix meid bug (RIC-220) causing core dump.
264 2020 February 21; version 3.2.3
265 -------------------------------
267 Add meid routing support to the SI95 interface.
271 2020 February 20; version 3.2.2
272 -------------------------------
274 Fix receive thread related core dump (ring early unlock).
278 2020 February 19; version 3.2.1
279 -------------------------------
281 Added missing message types (E2-Setup)
285 2020 February 18; version 3.2.0
286 -------------------------------
288 Added support for new Route Manager and it's ability to
289 accept a request for table update.
293 2020 February 14; version 3.1.3
294 -------------------------------
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).
302 2020 February 6; version 3.1.2
303 ------------------------------
305 Fix disconnection detection bug in interface to SI95.
309 2020 January 31; verison 3.1.1
310 ------------------------------
312 Allow route table thread logging to be completely disabled
313 when logging is turned off.
317 2020 January 26; verison 3.1.0
318 ------------------------------
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.
326 2020 January 24; verison 3.0.5
327 ------------------------------
329 Fix bug in SI95 with receive buffer allocation.
333 2020 January 23; verison 3.0.4
334 ------------------------------
336 Fix bug in SI95 causing excessive CPU usage on poll.
340 2020 January 22; verison 3.0.3
341 ------------------------------
343 Enable thread support for multiple receive threads.
347 2020 January 21; verison 3.0.2
348 ------------------------------
350 Fix bug in SI95 (missing reallocate payload function).
354 2020 January 20; verison 3.0.1
355 ------------------------------
357 Enable support for dynamic route table updates via RMR
362 2020 January 16; version 3.0.0
363 ------------------------------
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
372 2019 December 9; version 1.13.1
373 -------------------------------
375 Correct documentation and missing rel-notes update for RTD.
379 2019 December 6; version 1.13.0
380 -------------------------------
382 Add ability to route messages based on the MEID in a message
383 combined with the message type/subscription-ID.
387 2019 November 14; version 1.11.1 (Amber)
388 ----------------------------------------
390 Fix bug in payload reallocation function; correct length of
391 payload was not always copied.
395 2019 November 13; version 1.12.1
396 --------------------------------
398 New message type constants added to support A1.
402 2019 November 4; version 1.11.0 (Amber)
403 ---------------------------------------
405 Version bump to move away from the 1.10.* to distinguish
406 between release A and the trial.
410 2019 November 7; version 1.12.0
411 -------------------------------
413 Version cut to support continued development for next release
414 preserving the 1.11.* versions for release 1 (Amber) and
419 2019 October 31; version 1.10.2
420 -------------------------------
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.
428 2019 October 21; version 1.10.1
429 -------------------------------
431 Fix to prevent null message buffer from being returned by the
432 timeout receive function if the function is passed one to
437 2019 October 21; version 1.10.1
438 -------------------------------
440 Add periodic dump of send count info to stderr.
444 2019 September 27; version 1.9.0
445 --------------------------------
447 Python bindings added receive all queued function and
448 corrected a unit test
452 2019 September 25; version 1.8.3
453 --------------------------------
455 Correct application level test issue causing timing problems
456 during jenkins verification testing at command and merge
458 Handle the NNG connection shutdown status which may now be
459 generated when a connection throug a proxy is reset.
463 2019 September 25; version 1.8.2
464 --------------------------------
466 Correct bug in rmr_torcv_msg() when timeout set to zero (0).
470 2019 September 19; version 1.8.1
471 --------------------------------
473 Correct missing constant for wrappers.
477 2019 September 19; version 1.8.0
478 --------------------------------
480 New message types added: RAN_CONNECTED, RAN_RESTARTED,
485 2019 September 17; version 1.7.0
486 --------------------------------
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).
495 2019 September 3; version 1.6.0
496 -------------------------------
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.
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.
512 2019 August 26; version 1.4.0
513 -----------------------------
515 New message types were added.
519 2019 August 16; version 1.3.0
520 -----------------------------
522 New mesage types added.
526 2019 August 13; version 1.2.0 (API change, non-breaking)
527 --------------------------------------------------------
529 The function rmr_get_xact() was added to proide a convenient
530 way to extract the transaction field from a message.
534 2019 August 8; version 1.1.0 (API change)
535 -----------------------------------------
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.
548 2019 August 6; version 1.0.45 (build changes)
549 ---------------------------------------------
551 Support for the Nanomsg transport library has been dropped.
552 The library librmr.* will no longer be included in packages.
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.
565 2019 August 6; version 1.0.44 (API change)
566 ------------------------------------------
568 Added a new message type constant.
572 2019 July 15; Version 1.0.39 (bug fix)
573 --------------------------------------
575 Prevent unnecessary usleep in retry loop.
579 2019 July 12; Version 1.0.38 (API change)
580 -----------------------------------------
582 Added new message types to RIC_message_types.h.
586 2019 July 11; Version 1.0.37
587 ----------------------------
590 librmr and librmr_nng - Add message buffer API function
591 rmr_trace_ref() (see rmr_trace_ref.3 manual page in dev
596 2020 April 8; Version n/a
597 -------------------------
599 RMR Python moved to Python Xapp Framework
600 (https://gerrit.o-ran-sc.org/r/admin/repos/ric-plt/xapp-frame-py)
604 2020 February 29; Version 2.4.0
605 -------------------------------
607 Add consolidated testing under CMake Add support binary for
608 health check (SI95 only)
612 2020 February 28; Version 2.3.6
613 -------------------------------
615 Fix bug in Rt. Mgr comm which prevented table ID from being
616 sent on ack message (RIC-232).