ØMQ/3.2 Roadmap

Due to the backward compatibility problems the following features from 3.0 were reverted:

  • LABEL flag added to the wire format. The flag distinguishes message parts used by 0MQ (labels) from user payload message parts.
  • New wire format for REQ/REP pattern. First, bottom-of-the-stack message part is not needed any more — LABEL flag is used instead. Second, peer IDs are 32-bit integers rather than UUIDs.
  • REQ socket drops duplicate replies.
  • Outstanding requests & replies associated with a client are dropped when the clients dies. Performance optimisation.
  • Introduce ZMQ_ROUTER and ZMQ_DEALER sockets. These mimic the functionality of ZMQ_ROUTER and ZMQ_DEALER in 0MQ/2.1.x. Guarantees backward compatibility for existing code.

Also, removal of ZMQ_IDENTITY socket option was partially reverted. The option exists in 3.1, however, it doesn't allow for storing messages for dead/disconnected peers ("durable sockets"). The identities can still be used to route messages to a specific peer via XREP/ROUTER socket.

Finally, the dependency on libuuid was dropped.