[zeromq-dev] Backwards compatibility?

Martin Sustrik sustrik at 250bpm.com
Wed May 26 08:46:53 CEST 2010


>  From the emails exchanged yesterday on the mailing list, I understand 
> that the ZMQ API will change between release 2.0.6 and the next one.
> (I am talking about the LWM setsockopt() call). This could generate 
> trouble for application(s) using this call.
> My question is not about this specific LWM change but rather about 
> releases compatibility.
> Is there any rules regarding compatibility between ZMQ releases (minor 
> and/or major)?

The API is going to change slightly, that's the main reason for calling 
current versions "beta".

The reasons for changing the API can be:

- a straightforward bug in the API (it's unlikely since the API is based 
on time-proven BSD socket API)

- making life easier for users (removing magic numbers like LWM; 
allowing for arbitrary number of application threads and thus removing 
the app_threads parameter from zmq_init; etc.)

As for compatibility between versions, I hope that with 2.0.7 we reach 
the point where basic API (put aside experimental features like 
in-process devices) is in its final version.

However, there are still extension points to account for:

- new messaging patterns / socket types / devices may be added
- new socket options may be added
- new transport protocols may be added


More information about the zeromq-dev mailing list