[zeromq-announce] 0MQ version 2.0.7 (beta) released

Martin Lucina mato at kotelna.sk
Fri Jun 4 19:56:14 CEST 2010

Hi all,

I'm happy to announce the release of 0MQ version 2.0.7.

The new version is available immediately to download on the website, at:


Please note that due to incompatible API and ABI changes in this release,
all language bindings will need to be updated to work with 0MQ 2.0.7. As
these are maintained by the community it may take a few days for everyone
to catch up.

A big thank you to all our contributors, and special thanks to Martin
Sustrik for putting it all together!

Highlights of the 2.0.7 release:


* The core documentation has been updated with many clarifications, especially
  in the description of the functionality provided by the different socket

* The version of OpenPGM bundled with 0MQ has been updated to the 2.1.26 release.


* GCC-isms have been removed from the code and build system across the board;
  0MQ should now build with no issues when using compilers other than GCC.


* The zmq_init() function now has only a single parameter; the number of 0MQ
  I/O threads to create in the context being initialised. The app_threads and
  flags parameters have been removed.

* The ZMQ_P2P socket type has been renamed to ZMQ_PAIR.

* The ZMQ_LWM socket option has been removed; the low water mark for a socket
  is now computed automatically by 0MQ.

* A zmq_getsockopt() function has been added.

New functionality

* Multi-hop request/reply is fully supported. This feature allows the insertion
  of device(s) between ZMQ_REQ and ZMQ_REP sockets thus enabling scenarios
  such as multi-threaded server, shared service queue, and other interesting
  messaging topologies. The entire infrastructure is transparent to

* Multi-part messages.  A 0MQ message may now be composed of 1 or more message
  parts; each message part is an independent zmq_msg_t in its own right. 0MQ
  ensures atomic delivery of messages; peers shall receive either all message
  parts of a message or none at all.

  This feature allows for seamless zero-copy message passing when data are
  scattered in memory, and is an important building block for multi-hop
  messaging topologies.

* Context termination and ETERM. The zmq_term() function has been
  changed to interrupt any blocking operations on open sockets, causing them to
  return the newly defined ETERM error code. This allows for orderly
  application termination, especially when multiple application threads are

As always, a full list of changes may be found in the ChangeLog included in
the distribution tarball, or in Git.


Martin "mato" Lucina

More information about the zeromq-announce mailing list