[zeromq-dev] Compatibility 3.1 - 3.2.1-rc2

Pieter Hintjens ph at imatix.com
Mon Nov 19 14:39:23 CET 2012

OK, I spoke too soon.

We've spent a while looking more closely at 3.1. The implementation of
the protocol has some serious problems. It does not follow the
documented ZMTP/1.0 spec. Specifically, it doesn't exchange identities
for socket types except for the REQ-REP pattern, but it does upstream
subscriptions. That means there's no immediate message from the peer,
no way to do the backwards compatibility negotation we do in 3.2.

There are also some faults in the message decoder, which does not
properly clear internal bits in the message flags when decoding a
message. This causes assertion failures.

We think it is doable to add the heuristics to 3.2 to detect old 3.1
peers but it's going to be non-trivial, at least a couple of days of


On Sat, Nov 17, 2012 at 2:44 AM, Emmanuel Taurel <taurel at esrf.fr> wrote:
> Hi all,
> That's a very, very good news.
> Thank's for the ZMQ team efforts. It really simplify our life
> Emmanuel
> Le 16.11.2012 18:25, Pieter Hintjens a écrit :
>> On Fri, Nov 16, 2012 at 10:51 PM, Emmanuel TAUREL <taurel at esrf.fr> wrote:
>>> Compatibility between 3.1 and 3.2.1-rc2 on one hand and assert in zmq
>>> code in another hand are two different subjects.
>> I think we have a patch for this.  It's not so complex, after all....
>> -Pieter

More information about the zeromq-dev mailing list