Prevent message truncation by populate function
[ric-plt/lib/rmr.git] / src / bindings / rmr-python / docs / Changelog.rst
1 Change Log
2 ==========
3
4 All notable changes to this project will be documented in this file.
5
6 The format is based on `Keep a Changelog <http://keepachangelog.com/>`__
7 and this project adheres to `Semantic
8 Versioning <http://semver.org/>`__.
9
10 [X.X.X] - 10/30/2019
11 --------------------
12
13 ::
14     * This is a breaking change as it rquires that RMR version 1.10.2 or later be used.
15     * The populate and set length function will reallocate the message buffer payload if the caller attempts to insert more bytes than the currrent message supports.
16
17
18 [1.0.0] - 10/24/2019
19 --------------------
20
21 ::
22
23     * It's been past due to bump this to 1.0.0 since people depend on it!
24     * Add the ability to set sbuf attributes in the same call that it is allocated
25     * (breaking) removes bytes2meid
26     * (breaking) rmr_set_meid now infers length
27     * (breaking) rmr_get_meid now returns bytes, to be symmetric with set_meid
28
29
30 [0.13.5] - 10/23/2019
31 --------------------
32
33 ::
34
35     * Add an exceptions module and raise a proper exception when an allocated buffer has a NULL pointer. Likely due to a bad rmr context.
36
37 [0.13.4] - 10/21/2019
38 --------------------
39
40 ::
41
42     * Correct cause of nil pointer exception in message summary.
43
44
45 [0.13.3] - 10/10/2019
46 --------------------
47
48 ::
49
50     * Add missing unit test for receive all.
51     * Correct bug in summary function.
52
53 [0.13.2] - 10/2/2019
54 --------------------
55
56 ::
57
58     * Fix a constant name (RMRFL_MT_CALL)
59
60 [0.13.1] - 10/1/2019
61 --------------------
62
63 ::
64
65     * Correct unit test bug in rmr-python. With RMR 1.8.x connections are forced to be asynch by default to prevent kubernetes blocking the attempt for minutes. However, the asynch nature of connections makes unit tests concerned with the ability to send and receive messages non-deterministic as some connections are established before the first message is sent, and others are not. This change ensures that unit tests establish connections in a synchronous manner which ensures that the first send will not be rejected by NNG due to a pending connection.
66
67 [0.13.0] - 9/27/2019
68 --------------------
69
70 ::
71    * Add a helpers module to provide extensions and helper functions such as receive all queued messages.
72    * Enhance unit test to check only for RMR constants which are needed.
73    * Correct unprintable characters in documentation.
74
75
76 [0.12.0] - 8/23/2019
77 --------------------
78
79 ::
80    * Add final unit tests for rmr.py; unit test coverage for rmr python is about 95%. The remaining functions are dangerous to unit test directly, e.g., rcv which may block forever
81    * Fix a bug where meid was being intepreted as bytes (but then cast into a string); the correct interpretation is a string, so now it will truncate after a null byte.
82    * Removes access to the raw function rmr_get_meid(ptr, dest) in favor of just rmr_get_meid(ptr). Also get_meid is now rmr_get_meid since it wasn't consistent with the naming.
83
84
85 [0.11.0] - 8/21/2019
86 --------------------
87
88 ::
89    * Overhaul unit tests to remove mocking from the rmr tests, which gives much greater confidence in changing the code. More is still needed however, specifically test sends and test receives.
90    * Adds an alias rmr_set_meid to rmr_bytes2meid for naming consistency.
91    * Found a possible inconsistency/bug that requires further investigation later; setting meid takes bytes, but getting it returns a string.
92
93
94 [0.10.8] - 8/20/2019
95 --------------------
96
97 ::
98    * Fix invocation of _rmr_alloc function
99
100
101 [0.10.7] - 8/14/2019
102 --------------------
103
104 ::
105    * Finish sphinx documentation
106    * Make public functions that wrap ctype declarions, allowing for docstrings
107    * Fix a bug where rmr_set_stimeout was pointing to the wrong function
108
109
110 [0.10.6] - 8/13/2019
111 --------------------
112
113 ::
114    * Moves Changelog.md to this file, to be consistent with rst-ification
115    * Sets up a Dockerfile to generate documentation for rmr-python using sphinx
116
117
118 [0.10.5] - 8/13/2019
119 --------------------
120
121 ::
122
123    * Make the PYPI page for rmr look nicer.
124
125 .. _section-1:
126
127 [0.10.4] - 8/08/2019
128 --------------------
129
130 ::
131
132    * Fix underlying problem getting errno from some environments; now references new RMR message field to get errno value.
133    * Add /usr/local/lib64 to tox environment variable to support systems where libraries natually install in lib64 rather than lib.
134
135 .. _section-2:
136
137 [0.10.3] - 7/31/2019
138 --------------------
139
140 ::
141
142    * (Correctly) Include license here per Jira RICPLT-1855
143
144 .. _section-3:
145
146 [0.10.2] - 7/31/2019
147 --------------------
148
149 ::
150
151    * Include license here per Jira RICPLT-1855
152
153 .. _section-4:
154
155 [0.10.0] - 5/15/2019
156 --------------------
157
158 ::
159
160    * Fix a bug in rmr mock that prevented it for being used for rmr_rcv (was only usable for rmr_torcv)
161    * Add more unit tests, esp for message summary
162    * Remove meid truncation in the case where a nil is present mid string
163    * Change the defaul mock of meid and get_src to something more useful
164
165 .. _section-5:
166
167 [0.9.0] - 5/13/2019
168 -------------------
169
170 ::
171
172    * Add a new module for mocking out rmr-python, useful for other packages that depend on rmr-python
173
174 .. _section-6:
175
176 [0.8.4] - 5/10/2019
177 -------------------
178
179 ::
180
181    * Add some unit tests; more to come
182
183 .. _section-7:
184
185 [0.8.3] - 5/8/2019
186 ------------------
187
188 ::
189
190    * Better loop indexing in meid string handling
191
192 .. _section-8:
193
194 [0.8.2] - 5/8/2019
195 ------------------
196
197 ::
198
199    * Fix examples bug
200    * add liscneses for LF push
201
202 .. _section-9:
203
204 [0.8.1] - 5/7/2019
205 ------------------
206
207 ::
208
209    * Better andling of meid in message summary
210
211 .. _section-10:
212
213 [0.8.0] - 5/7/2019
214 ------------------
215
216 ::
217
218    * Refactor some code to be more functional
219    * Put back RMR_MAX_RCV_BYTES as a constant
220    * Add tox.ini, although right now it only LINTs
221
222 .. _section-11:
223
224 [0.7.0] - 5/6/2019
225 ------------------
226
227 ::
228
229    * Add constant fetching from RMr library
230
231 .. _section-12:
232
233 [0.6.0] - 5/6/2019
234 ------------------
235
236 ::
237
238    * Add a new field to rmr_mbuf_t: sub_id
239    * Fix prior commits lint-ailing python style
240
241 .. _section-13:
242
243 [0.5.0] - 5/3/2019
244 ------------------
245
246 ::
247
248    * Add errno access via new function: rmr.errno()
249    * Add new functions to access new RMr header fields: get_src, get_meid, rmr_bytes2meid
250    * Add new RMr constants for error states
251
252 .. _section-14:
253
254 [0.4.1] - 4/8/2019
255 ------------------
256
257 ::
258
259    * Fix a non-ascii encoding issue
260
261 .. _section-15:
262
263 [0.4.0] - 3/28/2019
264 -------------------
265
266 ::
267
268    * Greatly imroved test sender/receiver
269    * Three new functions implemented (rmr_close, rmr_set_stimeout, rmr_payload_size)
270
271 .. _section-16:
272
273 [0.3.0] - 3/26/2019
274 -------------------
275
276 ::
277
278    * Support a new receive function that (hurray!) has a timeout
279
280 .. _section-17:
281
282 [0.2.1] - 3/25/2019
283 -------------------
284
285 ::
286
287    * Add two new MR states
288
289 .. _section-18:
290
291 [0.2.0] - 3/25/2019
292 -------------------
293
294 ::
295
296    * Switch to NNG from nanomessage
297
298 .. _section-19:
299
300 [0.1.0] - 3/14/2019
301 -------------------
302
303 ::
304
305    * Initial Creation