]> git.evergreen-ils.org Git - OpenSRF.git/blob - ChangeLog
bump version string to 1.6.3 for release
[OpenSRF.git] / ChangeLog
1 Changes in the 1.6.3 final release:
2
3 2011-03-18  gmc
4
5         * specify use of the utf8 I/O layer
6           
7           Solves problem where invoking a method via osrf_http_translator
8           resulted in an exception thrown by FreezeThaw if any of the characters
9           in the message are non-ASCII *and* not in the Latin-1 character
10           set. Oddly, if Evergreen been originally developed in Georgia the
11           country, not Georgia the state, the bug would have been apparent much earlier.
12
13 2010-12-20  dbs
14
15         * Straighen out -f / -d flag confusion in libmemcached prerequisite
16           
17           There are two different styles of checking for previously downloaded
18           tarballs in this Makefile; the libmemcached entry combined them both
19           with unfortunate results.
20
21 2010-12-16  dbs
22
23         * Remove extraneous line for dnsmasq / Python
24
25 Changes in the 1.6.2 final release:
26
27 2010-12-16  dbs
28
29         * README, src/perl/lib/OpenSRF.pm: Bump version to 1.6.2
30
31         * .: Tag rel_1_6_2 for release
32
33 2010-11-29  erickson
34
35         * avoid calling sysread when select exited from interruption.
36
37 2010-11-28  dbs
38
39         * Lenny needs zlib1g-dev package to install XML::LibXML and others
40           
41           Per https://rt.cpan.org/Public/Bug/Display.html?id=51439; also,
42           libmemcached failed to configure and build without this.
43
44 2010-11-22  erickson
45
46         * in the rare case the select() is interrupted while waiting on child statuses,
47           exit early to prevent read()'s on invalid file handles and allow the calling
48           code to loop back around and try again
49
50 2010-11-05  erickson
51
52         * socket_bundle typo patch from Jason Stephenson
53           
54           Further discussion and DCO:
55           
56           http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-November/006476.html
57
58 2010-10-26  erickson
59
60         * consistent w/ the C libs, only log server message processing duration at INFO.
61           log server response processing duration at debug and w/ slighly different
62           wording. let the processing duration log message act as the indication of a
63           successfully handled message to reduce logging
64
65 2010-10-25  erickson
66
67         * log message processing duration at INFO level, instead of DEBUG, consistent with
68           the C libs
69
70 2010-10-15  dbs
71
72         * Include Ubuntu Lucid in the list of supported distributions
73
74 Changes in the 1.6.1 final release:
75
76 2010-10-12  erickson
77
78         * src/javascript/opensrf.js: when we add xhr responses onto the end of the queue,
79           stash the original session as well, otherwise we're attempting to ask a session
80           questions about requests it's not tracking
81
82 Changes in the 1.6.0 final release:
83
84 2010-09-16  dbs
85
86         * src/perl/lib/OpenSRF.pm: $VERSION in Perl modules needs to be quoted to avoid
87           breakage
88           
89           We stamp releases when they're rolled, but having it quoted in SVN
90           will help as a reminder at release time.
91
92 2010-09-09  dbs
93
94         * src/perl/lib/OpenSRF.pm: When people check out rel_1_6, they're surprised if the
95           version on the Perl module is 1.4.0
96           
97           In practice, this doesn't matter for releases as we manually stamp those
98           when the release is tagged.
99           
100           But reducing any amount of concern about it is worthwhile if we can
101           concentrate on bigger issues. Perhaps there's a better way of indicating
102           1.6.x rather than bumping branches/rel_1_6 and tags/rel_1_6_1 every time
103           there's a release.
104
105 2010-09-01  erickson
106
107         * src/javascript/opensrf.js: added support for reading ContinueStatus opensrf
108           messages in the JS opensrf lib
109
110 Changes in the 1.6.0 alpha release:
111
112 2010-08-23  dbs
113
114         * .: Tag the OpenSRF 1.6 alpha release
115
116         * Bring supported distros up to date, warn about Java support
117
118         * Create rel_1_6 branch for next major OpenSRF release
119
120 2010-08-18  erickson
121
122         * Due to the async nature of xmllhttprequest, processing http responses (which
123           often lead to further async-request laden callbacks) at receive time can result
124           in out-of-order message handling. To bring order to this chaos, push all inbound
125           message onto a queue, then go back to processing the older messages in order of
126           oldest to newest.
127
128 2010-08-16  scottmk
129
130         * A few minor tweaks in the name of const-correctness.
131           
132           M src/router/osrf_router_main.c
133
134         * Several minor and inconsequential changes:
135           
136           1. Tidied up the white space in a few places.
137           
138           2. Commented out several unused functions, used only for development,
139           in order to eliminate some annoying compiler warnings.
140           
141           3. Added the const qualifier to several variables.
142           
143           4. Added three branches to a switch/case structure, in order to
144           eliminate some compiler warnings about untested enum values. The
145           new branches merely issue warning messages to the log (presumably
146           we don't expect to see RESULT or STATUS messages in this
147           context).
148           
149           M src/gateway/osrf_http_translator.c
150
151 2010-08-15  scottmk
152
153         * 1. Pedantic change for const-correctness: replaced all calls to
154           jsonObjectGetKey() with calls to jsonObjectGetKeyConst().
155           
156           2. Tidied up white space and comments here and there.
157           
158           M src/router/osrf_router_main.c
159
160 2010-08-14  scottmk
161
162         * Pedantic change for const-correctness: change three calls to
163           jsonObjectGetKey() to call jsonObjectGetKeyConst() instead.
164           
165           M src/gateway/osrf_http_translator.c
166
167         * Pedantic change for const-correctness: replace two calls to
168           jsonObjectGetKey() with calls to jsonObjectGetKeyConst().
169           
170           M src/libopensrf/osrf_parse_json.c
171
172         * Minor performance tweak: replace a call to buffer_add()
173           with a call to buffer_add_n().
174           
175           In this case we already know how many characters to add,
176           so we can avoid a call to strlen().
177           
178           M src/libopensrf/osrf_prefork.c
179
180         * Add some macros for upward compatibility from the old JSON parser.
181           
182           These macros map the old functions to the equivalent new ones.
183           
184           M include/opensrf/osrf_json.h
185
186         * Eliminate the old JSON parser, implemented in osrf_json_parser.c and
187           the associated header osrf_json_utils.h.
188           
189           This parser has been completely replaced by a newer one implemented
190           in osrf_parse_json.c, plus an incremental JSON parser (so far
191           unused) in jsonpush.c..
192           
193           The even older parser of JSON-with-comments is not affected.
194           
195           D include/opensrf/osrf_json_utils.h
196           M include/opensrf/osrf_json.h
197           D src/libopensrf/osrf_json_parser.c
198           M src/libopensrf/osrf_json_object.c
199           M src/libopensrf/Makefile.json
200           M src/libopensrf/osrf_json_tools.c
201           M src/libopensrf/Makefile.am
202           M src/libopensrf/osrf_parse_json.c
203           M Makefile.am
204
205 2010-08-13  dbs
206
207         * Get the extra_debs into Squeeze as well; fix a typo in libmemcached-tools
208
209         * Make the names of the rules for installing extra Squeeze debs line up
210
211         * Make log length in Perl logger a configurable value to assist debugging
212           
213           If logging to syslog instead of a file, you might need to adjust the
214           syslog configuration to accept longer than its own default lengths of
215           log messages
216
217 2010-08-13  scottmk
218
219         * Minor cleanup:
220           
221           Changed two calls to buffer_add(), when appending a single character,
222           to call buffer_add_char() instead, which is slightly more efficient.
223           
224           M src/srfsh/srfsh.c
225
226 2010-08-13  dbs
227
228         * First cut at adding Debian Squeeze to OpenSRF prerequisite installer
229           
230           Along the way, make a few other changes:
231           * drop Debian Etch and Gentoo support
232           * add dscott@laurentian.ca to the author list
233           * remove Class::DBI as that's actually a prereq for Evergreen, not OpenSRF
234
235 2010-08-11  scottmk
236
237         * Adding comments and tinkering with white space.
238           No substantive changes.
239           
240           M src/libopensrf/osrf_prefork.c
241
242 2010-08-10  scottmk
243
244         * Provide a way for a service to set the effective buffer size for a
245           specified method.
246           
247           Non-atomic methods accumulate RESULT messages into a buffer, from which
248           they are flushed when the buffer is about to overflow, or when the
249           closing STATUS message is issued.
250           
251           The new osrfMethodSetBufferSize() function allows the service to favor
252           large buffers (for greater throughput) or small ones (for a lower
253           latency for the first response).
254           
255           Since the buffersize is not an absolute limit, the effective buffer
256           size may be set to zero, in which case each RESULT message will be
257           packaged and sent in a separate XMPP message as soon as it is ready.
258           
259           Changing the buffer size has no effect on an atomic method, nor on a
260           method that returns only one RESULT message.
261           
262           M include/opensrf/osrf_application.h
263           M src/libopensrf/osrf_application.c
264
265 2010-08-09  scottmk
266
267         * Cruft removal; there should be no outwardly visible effects.
268           
269           1. Remove the OSRF_METHOD_ATOMIC and OSRF_METHOD_SYSTEM options
270           from the interface functions osrfRegisterMethod() and
271           osrfRegisterExtendedMethod().
272           
273           An application cannot usefully apply these options when it registers
274           a method, and if it tries, it will almost certainly not work as
275           intended anyway.
276           
277           This change required considerable refactoring of the code
278           responsible for registering methods.
279           
280           2. When the attempt to initialize an application fails, remove
281           the application from the application list and destroy it,
282           instead of keeping it around in an unusable state.
283           
284           3. Eliminate some redundant lookups of application by name
285           when registering system methods.
286           
287           M include/opensrf/osrf_application.h
288           M src/libopensrf/osrf_application.c
289
290         * Fixed a bug in the chunking.
291           
292           Short version: The non-atomic system methods weren't working. Now
293           they are.
294           
295           Long version: When a method returns a value greater than zero, a
296           post-processing step sends a STATUS message to signify that the
297           response is complete. In the old code this post-processing
298           bypassed the buffer-flushing step, so that anything still in the
299           buffer didn't get sent.
300           
301           The non-atomic system methods returned positive return codes and
302           were therefore subject to this problem. I don't know if any
303           non-system methods return postive return codes, but if they do,
304           they would also have been affected.
305           
306           M src/libopensrf/osrf_application.c
307
308 2010-08-05  gmc
309
310         * set transaction ID by default to make it easier to trace requests from srfsh
311           
312           Signed-off-by: Galen Charlton <gmc@esilibrary.com>
313
314 2010-08-04  miker
315
316         * always use respond_complete to finish a request, whether there is a final
317           message or not
318
319 2010-08-04  scottmk
320
321         * Implement the chunking of OSRF messages. I.e. bundle multiple
322           OSRF messages into an XMPP message, up to about 10k bytes, so
323           as to reduce networking overhead.
324           
325           M include/opensrf/osrf_application.h
326           M src/libopensrf/osrf_application.c
327
328 2010-08-03  miker
329
330         * Mike, when adding the length, actually add the length, not the string
331
332 2010-07-29  scottmk
333
334         * 1. Add a buffer to osrfAppSession structure; for future use
335           
336           2. New function osrfSendTransportPayload(). This a repackaging of
337           existing functionality pulled out into a separate function so that
338           it can be reused in other contexts.
339           
340           These changes are preparation for future changes, and will have no
341           visible effect by themselves.
342           
343           M include/opensrf/osrf_app_session.h
344           M src/libopensrf/osrf_app_session.c
345
346 2010-07-29  miker
347
348         * Add response chunking support to the Perl implementation of OpenSRF
349           
350           Two new optional paramters to register_method are now supported:
351           * max_chunk_size
352           * max_chunk_count
353           
354           OpenSRF has always supported message bundling, but only respond_complete made
355           use of this fact by sending the final result message and the completion status
356           message in the same XMPP envelope. Now, on a per method basis, RESULT messages
357           can be bundled (cached) until one of three conditions occurs:
358           
359           * The size of the JSON of the RESULT messages matches or exceeds max_chunk_size
360           * The number of RESULT messages cached matches or exceeds max_chunk_count
361           * respond_complete is called (which happens implicitly by returning from a
362           method)
363           
364           Because the overhead of sending multiple XMPP messages far outweighs the caching
365           and cache management costs of chunking, the default for max_chunk_size is set
366           at 10240 bytes (10k). The default for max_chunk_count is 0. To turn off chunking
367           completely, set the max_chunk_size register_method parameter to 0.
368
369 2010-07-29  scottmk
370
371         * 1. Make osrfMessageToJSON() available at global scope.
372           
373           2. New function osrf_message_set_result() -- a more efficient alternative
374           to osrf_message_set_result_content().
375           
376           Typically when using the older function, we convert a jsonObject to JSON
377           text, and then parse the JSON text back into a jsonObject. With the new
378           function we can avoid the round trip through the text format.
379           
380           M include/opensrf/osrf_message.h
381           M src/libopensrf/osrf_message.c
382
383 2010-07-13  dbs
384
385         * Whitespace / description cleanup
386
387         * Teach opensrf-perl.pl the same PID directory as osrf_ctl.sh
388           
389           This should cut down on one more command-line option when working
390           with individual Perl services.
391
392         * Typo fix to display all OpenSRF methods: sysemt -> system
393