1. OpenSRF 3.2.3

OpenSRF 3.2.3 was released on 1 May 2023. This release fixes four bugs and removes long-since unused Python support to restore building on modern Linux distributions. All users of OpenSRF 3.2.2 are advised to upgrade.

Bug fixes include:

  • LP#1974193: Fix memory leak in C apps

  • LP#1827055: Remove Python libs, install bits, and docs

  • LP#1970469: Fix responses streamed out of order due to chunking

  • LP#1919502: Log messages about the request backlog less frequently

  • LP#1930578: Fix an issue where stopping or restarting a single service could timeout and leave it running or allow it to stop without restarting.

1.1. Acknowledgements

We would like to thank the following people who contributed to OpenSRF 3.2.3:

  • Jason Boyer

  • Galen Charlton

  • Bill Erickson

2. OpenSRF 3.2.2 release notes

3. OpenSRF 3.2.2

OpenSRF 3.2.2 was released on 9 November 2021. This release fixes one bug and updates Linux distribution support. All users of OpenSRF 3.2.1 are advised to upgrade.

The following bug is fixed:

  • LP#1883169: fix an issue where a response from the JSON gateway that contains a debug element due to a cancelled or failed request would overall not be valid JSON.

The following improvements to Linux distribution support are included:

  • LP#1875544: Add Ubuntu 20.04 (Focal Fossa) support

  • LP#1940146: Add Debian 11 (Bullseye) support

  • LP#1901899: Remove support for Ubuntu 16.04 (Xenial Xerus)

3.1. Acknowledgments

We would like to thank the following people who contributed to OpenSRF 3.2.2:

  • Jason Boyer

  • Galen Charlton

  • Ken Cox

  • Bill Erickson

  • Mike Rylander

  • Chris Sharp

  • Ben Shum

  • Jason Stephenson

4. OpenSRF 3.2.1

OpenSRF 3.2.1 was released on 16 September 2020. This is a bugfix release. All users of OpenSRF 3.2.0 are advised to upgrade.

The following bugs are fixed:

  • LP#1874510: prevent certain requests returning chunked messages from timing out prematurely.

  • LP#1272937: avoid some deprecation warnings when running autoreconf -i.

  • LP#1860068: improve the installation instructions for Debian Buster.

4.1. Acknowledgments

We would like to thank the following people who contributed to OpenSRF 3.2.1:

  • Galen Charlton

  • Bill Erickson

  • Chris Sharp

  • Jason Stephenson

5. OpenSRF 3.2.0

OpenSRF 3.2.0 was released on 2 October 2019. This release adds support for Debian 10 Buster and deprecates the Apache mod_websocket backend for the WebSockets gateway but does not add new features.

5.1. Major Changes

5.1.1. Support for Debian 10 Buster (LP#1835458)

OpenSRF 3.2 adds support for Debian 10 Buster. Debian 10 comes with ejabberd 18.12 (as compared to ejabberd 16.09 in Debian 9), which means that a mod_legacy_auth directive will need to be uncommented or added to the ejabberd configuration. However, Debian 10 is otherwise not significantly different from Debian 9 as far as OpenSRF is concerned.

5.1.2. Removal of Support for mod_websocket (LP#1834208)

OpenSRF 3.2 formally removes support for using the Apache mod_websocket module to act as the WebSockets gateway to OpenSRF in favor of requiring websocketed. OpenSRF 3.2 also includes tweaks to the example NGINX and HAProxy configurations.

Folks upgrading from previous versions of OpenSRF who are using mod_websocket should follow the instructions for installing websocketd, then stop remove the apache2-websockets Apache instance before starting websocketd.

5.1.3. Removal of Variable Arguments for md5sum() (LP#1830642)

The md5sum() utility function included in OpenSRF’s C code no longer accepts variadic arguments, fixing a bug in Evergreen where a percent in a user password could prevent authentication from working.

5.2. Upgrade Notes

OpenSRF 3.2 introduces changes to the application binary interface (ABI) for C applications. Consequently, Evergreen users should plan on recompiling Evergreen after installing OpenSRF 3.2.

Users of NGINX or HAProxy should review the example configuration files (respectively examples/nginx/osrf-ws-http-proxy or examples/haproxy/osrf-ws-http-proxy) and make adjustments to their production configuration accordingly.

5.3. Evergreen Compatibility

OpenSRF 3.2 can be used by Evergreen 3.1.x, 3.2.x, 3.3.x, and 3.4.x.

5.4. Acknowledgements

We would like to thank the following people who contributed to OpenSRF 3.2.0:

  • Jason Boyer

  • Galen Charlton

  • Jeff Davis

  • Bill Erickson

  • Ben Shum

  • Jason Stephenson