News 2000

October 31, 2000

Spread 3.14 released

It can be downloaded here.

A new version of the Spread Wide-Area Group Communication toolkit was released today. The major focus of this release was bugfixes:

  • Bugfixes to skiplist implementation.
  • Critical fixes to group membership that removes bugs introduced in optimization work of 3.13.
  • Critical bugfix to membership which solves problem introduced in 3.13 with using configurations of more then one segment.
  • Changes to spread.conf parser, but nothing that should be user visable.
  • Better error/problem reporting in a few cases.
  • Enforce message length limit. SP_mcast* will now return an error if a message body is too long.
  • Minor memory leak at initialization fixed.
  • Fix to events.c to prevent an illegal message bug. Bug is triggered when messages are sent very fast during a membership merge.

October 5, 2000

Spread Beta2 3.14 available

It can be downloaded here.

This beta release fixes a number of significant membership bugs that were introduced in the optimized membership of 3.13. We believe it is more stable then 3.13 and suggest you use it instead, but it is not completely tested, so we are waiting a bit more before releasing the official 3.14.

June 13, 2000

Spread Version 3.13 Released

A major new version of the Spread Wide-Area Group Communication toolkit was released today.

It can be downloaded here.

The major new featurs of this release are:

  • Major scalability improvements. Should now support upto 990 connections to each daemon, thousands of groups, upto 128 daemons per configuration, and double the throughput for small messages.
  • A new, more flexible and readable configuration file format. The configuration file is now called 'spread.conf' and has a simplified format that also allows runtime configuration of the log format, which messages to log, and a flag to disable certain dangerous monitor commands.

All known bugs are also fixed with this version. This includes a bug with the new NO_DROP semantics in version 3.12 and some membership crashes that occur under high load. Behind the scenes, this version consolidates some of the research done in the Center for Networking and Distributed Systems lab ( at Johns Hopkins University over the last few years into the public distribution.

The Non-commercial license for Spread has been updated to version 1.2. The changes include a clarification about Spread versions, a small addition to the attribution requirement and a capitalization of the word SPREAD.

Currently two freely-available commercial use licenses are available for Spread. One allows the use of Spread for distributed logging of Apache web server logs, and the other allows the use of Spread for distributed SSL session caching with Apache-SSL. For more details please see

Other commercial licenses or other licensing arrangements are available. Please contact We are looking for partners interested in using group communications and/or replication to solve demanding, real-world problems.

June 13, 2000

New Spread-Users mailing list available

A mailing list has been created for users of Spread to allow easy discussion amoung the users of Spread and support and answers for any users of Spread.

You can sign up at

May 2, 2000

Spread Version 3.12 Released

  1. Integrated FreeBSD port. A Big thanks to Ben Laurie for this port and a lot of compile warnings, type cleanups and 2 bugfixes.
  2. Removed some compile warnings.
  3. 2 bugs fixed. One in SP_group_ids_equal() and one in the daemon that would never trigger in reality.
  4. Updated java interface to most recent version.
  5. Updated events (E_* functions) to most recent version. This adds the ability to attach to file descriptors for Exceptions and Write events as well as reads. It also adds a void* data pointer to the callback parameters.
  6. Change SP_recv semantics to be "No Drop" by default. The old "drop" semantics are still available by setting the service_type parameter to SP_recv to DROP_RECV before calling it. *** See the file "Short_Buffer_Handling.txt" for detailed comments on this change and what application modifications might be necessary ***
  7. Documentation updates.
  8. Changed the way arch.h is implemented. This might require some additions for Ports that we do not support natively.
  9. Added Is_self_leave() macro which matches documentation for testing self-leaves.
  10. Changed SP_* and E_* functions to use 'const' appropriately.
  11. Reserved fields are listed in sp.h to prevent collisions.
  12. Make MAX_PROC_NAME and MAX_PRIVATE_GROUP sizes available in sp.h.
  13. Added Perl library interface. You can now write Spread client programs in perl. Thanks to Theo Schlossnagle .
  14. License updated to version 1.1. Main change is a reformatting and updated email addresses.

March 22, 2000

Updated Spread Version 3.11 Relased

New version of Spread binaries released. Actually includes Windows binaries. Also includes substantial bug fixes to the Java Spread library. The C library and the Unix binaries have NOT changed at all and are identical to the July 27, 1999 release.