[zeromq-dev] rfc <-> versions?

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

On Wed, Feb 26, 2014 at 8:44 PM, Heinrich Hartmann <derhein at gmail.com> wrote:

Heinrich, thanks for those explanations. I'll add and clarify a little:

>     ZMQ/3.0.x implementes ??? 2.0 ??? ([1] "There is a new wire format for
> the REQ/REP pattern." => it is not ZMTP/1.0)
>     ZMQ/3.1.x implements ZMTP/1.0 again! (cf. [1] "The 0MQ 3.1 wire format
> is identical to that of 0MQ 2.1.")

These two versions implemented undocumented protocols. Use them at
great risk of forward compatibility.

> 2) There are no guarantees. API contracts can and do change, even in minor
> versions:

Protocol compatibility has been guaranteed since 2.0 on all stable
releases. Works in progress and alpha/beta releases don't necessarily
have that.

Our development contract[1] bans API breaks. The API does grow and
shift over time, however since the mess that was libzmq/3.0, we have
become much more strict about backwards compatibility. Thus ZeroMQ/4.0
will in principle support 2.2 and 3.2 applications.

4.1 refers to the current master work in progress. As it's not a
stable release, there are softer guarantees.

-- Pieter

[1] http://rfc.zeromq.org/spec:22

More information about the zeromq-dev mailing list