[zeromq-dev] Announce: Stable ZeroMQ release 4.0.1

Pieter Hintjens ph at imatix.com
Tue Oct 8 17:19:54 CEST 2013

Hi all,

I've cut a stable release for ZeroMQ 4.x.

Mainly, this should now build properly on AIX, MSVC 2008, OS/X with
clang++, and Solaris. There are a few bug fixes, and a nice fix to
ipc:// on Linux that allows abstract name spaces. Full list of changes

The packages are at http://zeromq.org/intro:get-the-software as always.

Thanks to everyone who helped make this release!


Ps. spoiler alert: since this is a major new release I expect there to
be one or two issues that appear as people hammer it. If you are
running your critical apps on ZeroMQ, please wait a week.

0MQ version 4.0.1 stable, released on 2013/10/08


* Updated CURVE mechanism to track revised RFC 27 (INITIATE vouch).

  The INITIATE command vouch box is Box[C',S](C->S') instead of
  Box[C'](C->S), to reduce the risk of client impersonation, as per

* Fixed LIBZMQ-567, adding abstract namespaces for IPC sockets on Linux.

  Converts an initial strudel or "at sign" (@) in the Unix socket path to
  a NULL character ('\0') indicating that the socket uses the abstract
  namespace instead of the filesystem namespace.  For instance, binding a
  socket to 'ipc://@/tmp/tester' will not create a file associated with
  the socket whereas binding to 'ipc:///tmp/tester' will create the file
  /tmp/tester. See issue 567 for more information.

* Added zmq_z85_encode and zmq_z85_decode to core libzmq API.

* Added zmq_curve_keypair to core libzmq API.

* Replaced macro constants in zmq.h with enum types for user-facing
  constants (except ZMQ version numbers).

* Bumped library ABI version to 4:0:1.

Bug fixes

* Fixed some build/test errors on OS/X + Clang++.

* Fixed LIBZMQ-565, typo in code.

* Fixed LIBZMQ-566, dealer-to-router connections sometimes failing.

* Fixed builds for AIX, MSVC 2008, OS/X with clang++, Solaris.

* Improved CURVE handshake error handling.

More information about the zeromq-dev mailing list