Upgrading to 4.1 from 4.0

These are the breaking changes in 4.1:

  • zmq_event_t has gone; in 4.0 the socket monitor sent this C/C++ structure across the connection. This did not however work well for other languages. In 4.1, the socket monitor sends a binary formatted message that is consistent across all languages.
  • ZMQ_STREAM sockets now return an empty message upon client connect and/or disconnect. This no longer happens unless you set the ZMQ_STREAM_NOTIFY option on the socket.
  • Previously an outgoing connection had a pipe before authentication. In 4.1, the pipe is created after successful authentication. This means sending to a socket without any successfully authenticated socket will now block unless there's a timeout or poll.
  • The sizeof(zmq_msg_t) changed from 32 bytes to 64 bytes.
  • zmq_msg_gets(&msg, "Peer-Address") returns the IPv4(/IPv6) address (for STREAM sockets)