[zeromq-dev] rfc <-> versions?

Pieter Hintjens ph at imatix.com
Wed Feb 26 22:12:03 CET 2014

On Wed, Feb 26, 2014 at 10:03 PM, Scott Lewis <scottslewis at gmail.com> wrote:

> Given that the stable releases implement different rfcs (as above), I assume
> that this means backward protocol compatibility?  (i.e. spec 3/0mq 4 can
> talk with spec 13/0mq 2.x).   Is that right?

It's commutative. 2.2 -- 3.2 -- 4.0 all talk to each other.

> Is that true for even micro releases?  e.g.  2.1.0 <-> 2.1.1?

Updates to stable releases talk to each other.

> For me to understand this:  you are saying that applications built using the
> 2.2 and 3.2 API calls will be binary compatible?  (run on ZeroMQ 4+ without
> recompile)?   If so...is this a guarantee for all language bindings?...or do
> the bindings have their own backward compatibility commitments?

>From 3.2 onwards, yes. 2.2 apps don't work without small changes on
later releases.

> What I'm getting is that I'm free to use/pick any version of 0mq...i.e. I
> don't have any existing app/running systems to support...that I would be
> safest to choose stable release 4.0.3/spec22...i.e. the latest stable
> release.

Yes. That's what it explains on the download page, I think :-)

In the end there's no hard guarantee of anything except what we as a
community are prepared to make. It's been shown that backwards
compatibility is a major need. So, we've worked hard to make that


More information about the zeromq-dev mailing list