1. Supported platforms

The following Linux distributions are supported:

  • Debian 6 (Squeeze) and 7 (Wheezy)

  • Fedora 16, 17, 18

  • Ubuntu 10.04 LTS (Lucid Lynx), 12.04 LTS (Precise Pangolin)

2. New features in 2.2.0

2.1. Apache 2.4 support

OpenSRF now supports Apache 2.4.

2.2. Support graceful reload of Perl services via SIGHUP

Sending a SIGHUP signal to the listener process of a Perl service will now cause it to re-read the OpenSRF core configuration and respawn its child processes. This allows the log level of the service to be changed on the fly.

2.3. Send Perl warnings to OpenSRF logs

Warning messages generated by warn() and carp() calls in Perl services are now sent to the main OpenSRF log subsystem rather than the *_stderr.log files.

2.4. Enable client logtrace with environment vars

A new environment variable, OSRF_LOG_CLIENT, is now recognized which, if set to true, enables control and generation of the client log trace value. This is the same as setting <client>true</client> within the OpenSRF core configuration file.

As a shortcut, if the MOD_PERL environment variable is set, assume client=true.

This allows clients and non-clients to share an OpenSRF core configuration file, when previously the only difference between the two was the <client> setting.

3. Significant bugfixes in 2.2.0

3.1. Eliminate CPU spikes caused by use of MultiSession

The MultiSession module now blocks on the XMPP socket while waiting for responses from the service requests it fires off rather than using a CPU-intensive loop to poll for responses.

3.2. Fix Java client’s parsing of OpenSRF core configuration

This issue had prevented Java client library from successfully connecting to an OpenSRF network.

4. Build improvements

OpenSRF no longer uses /opensrf as a non-standard default installation directory prefix, easing the task of packagers.

OpenSRF’s Java libraries can now be built without requiring that src/Java/Makefile be edited manually.

4.1. Continuous integration support

An example configuration file for the Buildbot continuous integration server can be found in examples/buildbot.cfg. The most current version of this file will always be found in the master branch of the OpenSRF git repository.

The build steps configure and compile the code using the default arguments to configure, as well as running the unit tests for C, Perl, and Python, and running pylint against the Python source code.