we're pleased to announce that 0MQ version 2.1.0 (Beta) has been released
and is available for download at:
* http://download.zeromq.org/zeromq-2.1.0.tar.gz (UNIX line endings)
* http://download.zeromq.org/zeromq-2.1.0.zip (Windows line endings)
As part of improving the 0MQ downloads, we have a new download host,
http://downloads.zeromq.org/. We will eventually remove the old tarballs
hosted on Wikidot.
You can also find MD5 and SHA-1 checksums of all recent released files at
the above location.
This release is the result of many months of work -- many bugs have been
fixed but no doubt some new ones have been introduced so at this stage we
consider this Beta quality. If you are starting a new project with 0MQ, we
strongly recommend that you go with 2.1.0.
Thanks to everyone who contributed to the release, especially Martin
Sustrik for his hard work on the new socket shutdown semantics and Mikko
Koppanen for refactoring the autoconf build system.
The release notes follow this email; full details can of course be found in
the ChangeLog included in the distribution.
Note that at the moment the reference manual at http://api.zeromq.org/ is
still for the 2.0.x stable release; this will be updated later; refer to
the included man pages/HTML instead.
0MQ version 2.1.0 (Beta), released on 2010/12/01
* New semantics for zmq_close () and zmq_term () ensure that all messages
are sent before the application terminates. This behaviour may be
modified using the new ZMQ_LINGER socket option; for further details
refer to the reference manual.
* The new socket options ZMQ_FD and ZMQ_EVENTS provide a way to integrate
0MQ sockets into existing poll/event loops.
* Sockets may now be migrated between OS threads, as long as the
application ensures that a full memory barrier is issued.
* The 0MQ ABI exported by libzmq.so has been formalised; DSO symbol
visibility is used on supported platforms to ensure that only public ABI
symbols are exported. The library ABI version has been set to 1.0.0 for
* OpenPGM has been updated to version 5.0.92. This version no longer
depends on GLIB, and integration with 0MQ should be much improved.
* zmq_poll() now honors timeouts precisely, and no longer returns if no
events are signaled.
* Blocking calls now return EINTR if interrupted by the delivery of a
signal; this also means that language bindings which previously had
problems with handling SIGINT/^C should now work correctly.
* The ZMQ_TYPE socket option was added; this allows retrieval of the socket
type after creation.
* Added a ZMQ_VERSION macro to zmq.h for compile-time API version
* The ZMQ_RECONNECT_IVL and ZMQ_BACKLOG socket options have been added.
* Forwarder and streamer devices now handle multi-part messages correctly.
* 0MQ no longer asserts when malformed data is received on the wire.
* 0MQ internal timers now work correctly if the TSC jumps backwards.
* The internal signalling functionality (mailbox) has been improved
to automatically resize socket buffers on POSIX systems.
* Many more.
* 0MQ now builds correctly with many more non-GCC compilers (Sun Studio,
Intel ICC, CLang).
* AIX and HP-UX builds should work now.
* FD_SETSIZE has been set to 1024 by default for MSVC builds.
* Windows builds using GCC (MinGW) now work out of the box.
* A simple framework for regression tests has been added, along with a few
basic self-tests. The tests can be run using "make check".