[zeromq-dev] State of libzmq versioning

Luca Boccassi luca.boccassi at gmail.com
Thu Feb 18 13:06:28 CET 2016


Cool stuff!

I was having a look at the changes in the public headers between 4.1
and master, and there _might_ be a backward-incompatible ABI change
between 4.1 and 4.2:

-typedef struct zmq_msg_t {unsigned char _ [64];} zmq_msg_t;
+/* union here ensures correct alignment on architectures that require it, e.g.
+ * SPARC
+ */
+typedef union zmq_msg_t {unsigned char _ [64]; void *p; } zmq_msg_t;

Given zmq_msg_t is very often allocated on the calling application's
stack, having a different alignment between the application and the
library might break stuff if the library is making assumptions based
on it. Haven't delved deeper into it, does anyone have a better
insight in how zmq_msg_t is handled internally?

Kind regards,
Luca Boccassi

On 18 February 2016 at 09:12, Pieter Hintjens <ph at imatix.com> wrote:
> libzmq versioning is unchanged for years. There's a 4.1 stable fork
> that we apply fixes to, and will make one or two more releases of.
> There's 4.2 arriving on master, with a mix of stable API and new draft
> API. One thing we will do in 4.2 is clearly mark the draft API as
> such, and perhaps not build it by default, from source packages. We're
> using the same approach in CZMQ and other projects now.
>
> The goal with this is to allow shipment of the current master without
> having 100% stability on the API. There are things we know we'll need
> to refine and improve.
>
> -Pieter
>
> On Thu, Feb 18, 2016 at 12:04 AM, Mario Steinhoff
> <steinhoff.mario at gmail.com> wrote:
>> So my question about the state of zmq versioning drifted in some kind
>> of we-need-more-automation-for-the-docs initiative. Awesome :)
>>
>> I'd love to help with it but I am already busy with the jzmq stuff for now.
>>
>> But the first question is still unanswered:
>>
>>> With all this, whats the current status on libzmq versioning?
>>
>> Or does no answer mean that all my assumptions were correct?
>>
>> 2016-02-17 18:48 GMT+01:00 Pieter Hintjens <ph at imatix.com>:
>>> We could use this, yes.
>>>
>>> Volunteers? :)
>>>
>>> On Wed, Feb 17, 2016 at 3:45 PM, Michel Pelletier
>>> <pelletier.michel at gmail.com> wrote:
>>>> Read the docs is fantastic, I used it for pyczmq and it works great.  Also
>>>> it's not just software or a hosting service, the author (a local here in my
>>>> neck of the woods) hosts "write the docs" conferences focusing on writing
>>>> and producing good documentation:
>>>>
>>>> http://www.writethedocs.org/
>>>>
>>>> All together it's a powerful documentation ecosystem.
>>>>
>>>> -Michel
>>>>
>>>> On Wed, Feb 17, 2016 at 6:17 AM, Pieter Hintjens <ph at imatix.com> wrote:
>>>>>
>>>>> We have generators of various kinds: gitdown, mkman, which zproject
>>>>> uses/plugs into. The commonality is text files that turn into man
>>>>> pages and then various other formats that can be sent anywhere. I
>>>>> don't think we need to *standardise* so much as decide on a format, a
>>>>> host, and a safe way to upload after successful CI builds. We can have
>>>>> many of these.
>>>>>
>>>>> On Wed, Feb 17, 2016 at 12:05 PM, Arnaud Loonstra <arnaud at sphaero.org>
>>>>> wrote:
>>>>> > Perhaps we can standardise on this? Perhaps even include some
>>>>> > generators for it in zproject?
>>>>> > I was starting to use Sphinx for Pyre as well. Now using it for
>>>>> > multiple projects. I'm not familiar with how it works with other
>>>>> > languages but for Python it's great.
>>>>> >
>>>>> > On 2016-02-17 10:39, Doron Somech wrote:
>>>>> >> Take a look at readthedocs.org [9], it is what NetMQ is using and
>>>>> >> completely automated. You manage the docs in the git repository.
>>>>> >>
>>>>> >> On Wed, Feb 17, 2016 at 10:41 AM, Pieter Hintjens <ph at imatix.com
>>>>> >> [10]>
>>>>> >> wrote:
>>>>> >>
>>>>> >>> Hmm, the tools we use to build the online docs are old and creaky,
>>>>> >>> and
>>>>> >>> date from long before we had neat CI automation. Meaning, we update
>>>>> >>> the api site manually.
>>>>> >>>
>>>>> >>> Im doing that now. I think its time we look at pushing this
>>>>> >>> directly
>>>>> >>> to github pages, from Travis.
>>>>> >>>
>>>>> >>> On Wed, Feb 17, 2016 at 12:47 AM, Mario Steinhoff
>>>>> >>> <steinhoff.mario at gmail.com [1]> wrote:
>>>>> >>> > Hi everyone,
>>>>> >>> >
>>>>> >>> > I am a bit confused about the available information on libzmq
>>>>> >>> versions.
>>>>> >>> >
>>>>> >>> > The page at api.zeromq.org [2] says that we have:
>>>>> >>> >
>>>>> >>> > - 4.2 (master)
>>>>> >>> > - 4.1 (rc)
>>>>> >>> > - 4.0 (stable)
>>>>> >>> > - 3.2 (stable)
>>>>> >>> >
>>>>> >>> > On the download page 4.0 is missing:
>>>>> >>> >
>>>>> >>> > - a version-less master which "should be stable almost all the
>>>>> >>> time" (4.2?)
>>>>> >>> > - 4.1.4 ("stable")
>>>>> >>> > - 3.2.5 ("legacy stable")
>>>>> >>> >
>>>>> >>> > In libzmq, the NEWS file on master seems to be outdated (last
>>>>> >>> update
>>>>> >>> > in 2014). The doc folder in libzmq seems to be maintained but not
>>>>> >>> in
>>>>> >>> > sync with api.zeromq.org [3] (I checked today and some changes
>>>>> >>> from the
>>>>> >>> > last commit in that folder are not present on the site).
>>>>> >>> >
>>>>> >>> > There are also maintained stabilization forks as per C4.1 for
>>>>> >>> libzmq,
>>>>> >>> > e.g. zeromq4-x (which contains 4.0?), 4-1, and 3-x (which
>>>>> >>> contains
>>>>> >>> > 3.2?).
>>>>> >>> >
>>>>> >>> > And then there is this article: http://hintjens.com/blog:85 [4]
>>>>> >>> which
>>>>> >>> > suggests in a very compelling way that software versions suck and
>>>>> >>> to
>>>>> >>> > ditch them altogether (yes I agree) but I cant find those SBOMs
>>>>> >>> > anywhere so I assume that experiment did not went very far.
>>>>> >>> >
>>>>> >>> > With all this, whats the current status on libzmq versioning?
>>>>> >>> >
>>>>> >>> > Am I understanding right that:
>>>>> >>> >
>>>>> >>> > - The libzmq repository is always the latest and greatest, and
>>>>> >>> 4.2
>>>>> >>> > looks like the last version Ill ever need™, its always stable
>>>>> >>> and
>>>>> >>> > follows the raw-draft-stable-deprecated process so its also
>>>>> >>> always
>>>>> >>> > backwards compatible.
>>>>> >>> >
>>>>> >>> > - Stable releases are maintained for 3.2, 4.0, and 4.1 and
>>>>> >>> sometimes
>>>>> >>> > bugfixes get backported from 4.2.
>>>>> >>> >
>>>>> >>> > - Release notes are only maintained for stable releases?
>>>>> >>> >
>>>>> >>> > Is the outdated API site a bug or a feature? I am currently using
>>>>> >>> the
>>>>> >>> > text files in doc/ but I like to look at the fancy ZMQ logo when
>>>>> >>> I
>>>>> >>> > browse the API reference :-)
>>>>> >>> >
>>>>> >>> > Cheers
>>>>> >>> > Mario
>>>>> >>> > _______________________________________________
>>>>> >>> > zeromq-dev mailing list
>>>>> >>> > zeromq-dev at lists.zeromq.org [5]
>>>>> >>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev [6]
>>>>> >>> _______________________________________________
>>>>> >>> zeromq-dev mailing list
>>>>> >>> zeromq-dev at lists.zeromq.org [7]
>>>>> >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev [8]
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> Links:
>>>>> >> ------
>>>>> >> [1] mailto:steinhoff.mario at gmail.com
>>>>> >> [2] http://api.zeromq.org
>>>>> >> [3] http://api.zeromq.org
>>>>> >> [4] http://hintjens.com/blog:85
>>>>> >> [5] mailto:zeromq-dev at lists.zeromq.org
>>>>> >> [6] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>> >> [7] mailto:zeromq-dev at lists.zeromq.org
>>>>> >> [8] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>> >> [9] http://readthedocs.org
>>>>> >> [10] mailto:ph at imatix.com
>>>>> >
>>>>> > _______________________________________________
>>>>> > zeromq-dev mailing list
>>>>> > zeromq-dev at lists.zeromq.org
>>>>> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>> _______________________________________________
>>>>> zeromq-dev mailing list
>>>>> zeromq-dev at lists.zeromq.org
>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> zeromq-dev mailing list
>>>> zeromq-dev at lists.zeromq.org
>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> zeromq-dev at lists.zeromq.org
>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>>
>>
>> --
>> Mario Steinhoff
>> https://github.com/msteinhoff
>> https://twitter.com/msteinhofff
>> T: +49 173 7265158
>> In der Gelpe 79
>> 42349 Wuppertal
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev



More information about the zeromq-dev mailing list