[erlang-questions] [ANN] CloudI 1.7.0 Released!

Michael Truog mjtruog@REDACTED
Thu Mar 30 00:42:31 CEST 2017

Download 1.7.0 from 
(checksums at the bottom of this email)

CloudI (http://cloudi.org/) is a "universal integrator" using an
Erlang core to provide fault-tolerance with efficiency and scalability.
The CloudI API provides a minimal interface to communicate among
services so programming language agnostic and protocol agnostic
integration can occur.  CloudI currently integrates with the
programming languages: C/C++, Elixir, Erlang, Go, Haskell, Java,
JavaScript/node.js, OCaml, PHP, Perl, Python, and Ruby,
Many reusable services are included that rely on the CloudI service bus.

The details for this release are below:
   * backwards compatibility difference:
     * The C CloudI API (not the C++ CloudI API) had a small change to
       facilitate the use of thread local data with the callback
       function arguments order changing to match the other programming
       languages that lack (or avoid) state objects
       (C, Erlang, Go, Haskell, OCaml).
       All CloudI API callback functions have the arguments:
       Type, Name, Pattern, RequestInfo, Request,
       Timeout, Priority, TransId, Source (in this order).
       The programming languages with state objects have the
       two arguments: State, API, before the common arguments with
       State as a state object (normally not present as a
       function argument).  The programming languages without
       state objects have the two arguments (State, API) after the
       common arguments.
       The C examples have been updated to show the changes
       More function argument discussion is at
     * The CloudI API implementations had the function
       request_http_qs_parse name change to info_key_value_parse
   * The Go CloudI API was added
     (requires the configure argument --enable-go-support and
      Go (gc) >= 1.6)
   * The Haskell CloudI API was added
     (requires the configure argument --enable-haskell-support and
      GHC >= 7.10.3, cabal-install >= 1.22)
   * The OCaml CloudI API was added
     (requires the configure argument --enable-ocaml-support and
      OCaml >= 4.03.0)
   * The CloudI Service API function logging_stdout_set was added to
     allow all CloudI logging to be sent to stdout
   * The count integration test was added to show how thread local
     state works in all supported programming languages
   * A bug with CloudI Service API services_update usage on
     external services was fixed, to allow the service configuration
     values: timeout_async, timeout_sync, and the service configuration
     options: priority_default, request_timeout_adjustment, to
     dynamically change during runtime if no new OS process is created
     (to utilize the new values).
   * A bug was fixed to make the use of the service configuration
     option count_process_dynamic more dependable for external services
     written in Perl, PHP, Python, and Ruby.
   * lager was removed; hut is now used for exometer logging.
     Erlang logging integration was added to the modules
     cloudi_logger_lager and cloudi_logger_hut
     (to use CloudI logging instead of lager or with hut)
   * The default external service configuration buffer_size setting
     changed from 16384 to 65536
     (to match the same Linux localhost MTU change)
   * UTF8 is now logged properly from Erlang source code
   * Bugs were fixed and other improvements were added
     (see the ChangeLog for more detail)

Please mention any problems, issues, or ideas!

cloudi-1.7.0.tar.gz (16571701 bytes)
cloudi-1.7.0.tar.bz2 (13504415 bytes)

More information about the erlang-questions mailing list