To fix this problem, we introduced the simple rule that new
stable releases of the software must (a) talk to old stable
releases and (b) they must support existing apps, without
changes. We more or less succeeded with that, so ZeroMQ
versions 3.2 and 4.0 work nicely with 2.2 and 2.1, for
example.
You're right. The essay is out of date. In fact the "don't break stable contracts" rule has made life much simpler. It took a while for that to work through. I've corrected the text. Thanks for pointing it out.