I'm happy to announce the release of ØMQ 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 ØMQ 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 types.
- 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; ØMQ 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 ØMQ 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 ØMQ.
- A zmq_getsockopt() function has been added.
- 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 applications.
- Multi-part messages. A ØMQ message may now be composed of 1 or more message parts; each message part is an independent zmq_msg_t in its own right. ØMQ 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 involved.
As always, a full list of changes may be found in the ChangeLog included in the distribution tarball, or in Git.
Written: 04 Jun 2010 18:05
Revised: 04 Jun 2010 18:09
If you found this page useful, please rate it up so others will find it.
- Berlin Buzzwords 2010
- Building a GeoIP server with ZeroMQ
- Building ØMQ and pyzmq on Red Hat
- Few Blogposts on ØMQ
- Historical Highlights
- Installing ZeroMQ and Java bindings on Ubunu 10.10
- Internet Worldview in Messaging World
- Load Balancing In Java
- Loggly Switches to ØMQ
- Message Oriented Network Programming
- Mongrel2 Is "Self-Hosting"
- Multithreading Magic
- New - ØMQ Labs!
- Not To Be Confused
- ØMQ - The Game
- ØMQ And QuickFIX
- ØMQ available at CPAN
- ØMQ blog by Gerard Toonstra
- ØMQ for Clojure
- ØMQ/2.0.6 on OpenVMS
- ØMQ/2.1.0 available on OpenVMS
- Python Multiprocessing With ØMQ
- RFC: ØMQ Contributions, Copyrights and Control
- Ruby Gem for ØMQ/2.0.7 available!
- September Meetups
- The Long and Winding Road Behind
- To Trie or not to Trie
- Video Introduction to ØMQ
- Welcome, Objective-C :-)
- Zero-copy and Multi-part Messages
- ZeroMQ an introduction
- ZeroMQ and Clojure, a brief introduction
- ZeroMQ: Modern & Fast Networking Stack
- ZeroMQ: What You Need to Know Braindump
Who's watching this page?Dominic Luciano
Fernando J Quintero
... and more