79ea500cf9f53da8cfc1fe30d041237e5fa6054b
[ric-plt/lib/rmr.git] / src / bindings / rmr-python / docs / release-notes.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
11 [2.2.1] - 3/3/2020
12 --------------------
13
14 ::
15
16     * Correct the MEID unit test (broken by RMR commit 190665fe)
17     * Change rmr_init to catch init failure reported by RMR
18
19
20 [2.2.0] - 12/5/2019
21 --------------------
22
23 ::
24
25     * add ability to set a deterministic transaction id in alloc, and in the mock of alloc
26     * add ability to set meid in fake alloc; before None was always returned erroneously
27     * Fix a bug where fake_alloc was way out of date with alloc, and add a test for it
28
29
30 [2.1.0] - 12/4/2019
31 --------------------
32
33 ::
34
35     * Allow the setting of payload and message type in rts
36     * Add a new function, helpers.rmr_rcvall_msgs_raw, that also returns the sbuf alongside the summary
37     * Add a mock for free_msg
38
39
40 [2.0.0] - 12/2/2019
41 --------------------
42
43 ::
44     * This is a breaking change as it rquires that RMR version 1.10.2 or later be used.
45     * 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.
46     * add ability to set subscription id when allocating a message
47     * add testing involving subscription ids
48
49
50 [1.0.0] - 10/24/2019
51 --------------------
52
53 ::
54
55     * It's been past due to bump this to 1.0.0 since people depend on it!
56     * Add the ability to set sbuf attributes in the same call that it is allocated
57     * (breaking) removes bytes2meid
58     * (breaking) rmr_set_meid now infers length
59     * (breaking) rmr_get_meid now returns bytes, to be symmetric with set_meid
60
61
62 [0.13.5] - 10/23/2019
63 --------------------
64
65 ::
66
67     * Add an exceptions module and raise a proper exception when an allocated buffer has a NULL pointer. Likely due to a bad rmr context.
68
69 [0.13.4] - 10/21/2019
70 --------------------
71
72 ::
73
74     * Correct cause of nil pointer exception in message summary.
75
76
77 [0.13.3] - 10/10/2019
78 --------------------
79
80 ::
81
82     * Add missing unit test for receive all.
83     * Correct bug in summary function.
84
85 [0.13.2] - 10/2/2019
86 --------------------
87
88 ::
89
90     * Fix a constant name (RMRFL_MT_CALL)
91
92 [0.13.1] - 10/1/2019
93 --------------------
94
95 ::
96
97     * 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.
98
99 [0.13.0] - 9/27/2019
100 --------------------
101
102 ::
103    * Add a helpers module to provide extensions and helper functions such as receive all queued messages.
104    * Enhance unit test to check only for RMR constants which are needed.
105    * Correct unprintable characters in documentation.
106
107
108 [0.12.0] - 8/23/2019
109 --------------------
110
111 ::
112    * 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
113    * 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.
114    * 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.
115
116
117 [0.11.0] - 8/21/2019
118 --------------------
119
120 ::
121    * 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.
122    * Adds an alias rmr_set_meid to rmr_bytes2meid for naming consistency.
123    * Found a possible inconsistency/bug that requires further investigation later; setting meid takes bytes, but getting it returns a string.
124
125
126 [0.10.8] - 8/20/2019
127 --------------------
128
129 ::
130    * Fix invocation of _rmr_alloc function
131
132
133 [0.10.7] - 8/14/2019
134 --------------------
135
136 ::
137    * Finish sphinx documentation
138    * Make public functions that wrap ctype declarions, allowing for docstrings
139    * Fix a bug where rmr_set_stimeout was pointing to the wrong function
140
141
142 [0.10.6] - 8/13/2019
143 --------------------
144
145 ::
146    * Moves Changelog.md to this file, to be consistent with rst-ification
147    * Sets up a Dockerfile to generate documentation for rmr-python using sphinx
148
149
150 [0.10.5] - 8/13/2019
151 --------------------
152
153 ::
154
155    * Make the PYPI page for rmr look nicer.
156
157 .. _section-1:
158
159 [0.10.4] - 8/08/2019
160 --------------------
161
162 ::
163
164    * Fix underlying problem getting errno from some environments; now references new RMR message field to get errno value.
165    * Add /usr/local/lib64 to tox environment variable to support systems where libraries natually install in lib64 rather than lib.
166
167 .. _section-2:
168
169 [0.10.3] - 7/31/2019
170 --------------------
171
172 ::
173
174    * (Correctly) Include license here per Jira RICPLT-1855
175
176 .. _section-3:
177
178 [0.10.2] - 7/31/2019
179 --------------------
180
181 ::
182
183    * Include license here per Jira RICPLT-1855
184
185 .. _section-4:
186
187 [0.10.0] - 5/15/2019
188 --------------------
189
190 ::
191
192    * Fix a bug in rmr mock that prevented it for being used for rmr_rcv (was only usable for rmr_torcv)
193    * Add more unit tests, esp for message summary
194    * Remove meid truncation in the case where a nil is present mid string
195    * Change the defaul mock of meid and get_src to something more useful
196
197 .. _section-5:
198
199 [0.9.0] - 5/13/2019
200 -------------------
201
202 ::
203
204    * Add a new module for mocking out rmr-python, useful for other packages that depend on rmr-python
205
206 .. _section-6:
207
208 [0.8.4] - 5/10/2019
209 -------------------
210
211 ::
212
213    * Add some unit tests; more to come
214
215 .. _section-7:
216
217 [0.8.3] - 5/8/2019
218 ------------------
219
220 ::
221
222    * Better loop indexing in meid string handling
223
224 .. _section-8:
225
226 [0.8.2] - 5/8/2019
227 ------------------
228
229 ::
230
231    * Fix examples bug
232    * add liscneses for LF push
233
234 .. _section-9:
235
236 [0.8.1] - 5/7/2019
237 ------------------
238
239 ::
240
241    * Better andling of meid in message summary
242
243 .. _section-10:
244
245 [0.8.0] - 5/7/2019
246 ------------------
247
248 ::
249
250    * Refactor some code to be more functional
251    * Put back RMR_MAX_RCV_BYTES as a constant
252    * Add tox.ini, although right now it only LINTs
253
254 .. _section-11:
255
256 [0.7.0] - 5/6/2019
257 ------------------
258
259 ::
260
261    * Add constant fetching from RMr library
262
263 .. _section-12:
264
265 [0.6.0] - 5/6/2019
266 ------------------
267
268 ::
269
270    * Add a new field to rmr_mbuf_t: sub_id
271    * Fix prior commits lint-ailing python style
272
273 .. _section-13:
274
275 [0.5.0] - 5/3/2019
276 ------------------
277
278 ::
279
280    * Add errno access via new function: rmr.errno()
281    * Add new functions to access new RMr header fields: get_src, get_meid, rmr_bytes2meid
282    * Add new RMr constants for error states
283
284 .. _section-14:
285
286 [0.4.1] - 4/8/2019
287 ------------------
288
289 ::
290
291    * Fix a non-ascii encoding issue
292
293 .. _section-15:
294
295 [0.4.0] - 3/28/2019
296 -------------------
297
298 ::
299
300    * Greatly imroved test sender/receiver
301    * Three new functions implemented (rmr_close, rmr_set_stimeout, rmr_payload_size)
302
303 .. _section-16:
304
305 [0.3.0] - 3/26/2019
306 -------------------
307
308 ::
309
310    * Support a new receive function that (hurray!) has a timeout
311
312 .. _section-17:
313
314 [0.2.1] - 3/25/2019
315 -------------------
316
317 ::
318
319    * Add two new MR states
320
321 .. _section-18:
322
323 [0.2.0] - 3/25/2019
324 -------------------
325
326 ::
327
328    * Switch to NNG from nanomessage
329
330 .. _section-19:
331
332 [0.1.0] - 3/14/2019
333 -------------------
334
335 ::
336
337    * Initial Creation