<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<body bgcolor="#ffffff" text="#000000">
<div class="moz-text-plain" wrap="false" style="font-family:
-moz-fixed; font-size: 12px;" lang="x-western">
<pre wrap="">Download from <a class="moz-txt-link-freetext" href="http://sourceforge.net/projects/cloudi/files/0.1.9a/cloudi-0.1.9.tar.gz/download">http://sourceforge.net/projects/cloudi/files/0.1.9a/cloudi-0.1.9.tar.gz/download</a>
CloudI is currently alpha and in-test. 0.2.0 will be the beta release, so 0.1.9 includes the major changes before the beta release. Beginning with 0.2.0, there will be separate git release/development branches and tag usage, to keep releases stable, and semantic versioning will be used (<a class="moz-txt-link-freetext" href="http://semver.org/">http://semver.org/</a>).
This release does include changes to the callback function signatures, so it is backwards-incompatible because of the addition of request priorities and request_info/response_info. The request_info and response_info data is used to hold key/value request meta data and currently is used for the HTTP header information for incoming HTTP requests. The request priorities use 0 as the default request priority, -128 as the highest priority and 127 as the lowest priority. Many of the other changes are summarized below:
* A C++ object oriented interface for the CloudI API (cloudi.hpp) now exists that provides integration for class member function pointers, to make C++ service implementation simpler.
* recv_async now will return the oldest response when passed a null UUID. If you prefer receiving a random response (quicker), the behavior can be changed in cloudi_constants.hrl, with RECV_ASYNC_STRATEGY.
* All CloudI API implementations now use unbuffered stderr/stdout streams, so that the cloudi.log gets the output as quickly as possible. All critical error handling within the CloudI API now throws an exception (Java, Ruby, Python) or returns a valid CloudI return value (C, C++).
* The CloudI Job API now has additions to modify the Erlang code search paths, dynamically change the loglevel, and restart a job.
* Fixes to ensure that 2GB is supported as the maximum total request size, when using a job with the tcp protocol.
* Fixes and additions to support the usage of the forward function within the CloudI API. The forward functionality now uses a small decrement of the request timeout to prevent infinite requests.
* The CloudI logger will now prevent any service from causing a system failure when the service floods the logger with requests (due to a misbehaving service). The CloudI log output ("var/log/cloudi/cloudi.log") can now be rotated (i.e., with logrotated) without any special configuration.
* HTTP methods are now used as suffixes on service destinations by default.
* ACL bug fixed for complex destinations.
* JSON-RPC version bug fixed.
* msg_size test added to test larger message handling with forward CloudI API usage.
* http_req test now utilizes all supported CloudI API languages.
* hexpi test now utilizes the C++ CloudI API.
Anyone with questions, comments, ideas, suggestions, criticisms, or concerns is welcome to send email.