NOTMUCH_STATUS_LAST_STATUS problematic across additive library upgrades

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon Dec 7 14:54:21 PST 2015


hi notmuch folks--

notmuch_status_t is an enum that counts up to
NOTMUCH_STATUS_LAST_STATUS.

This is fine for work within the library itself, but it seems
problematic to expose it to users of the library.

In particular, if a user builds against version X of the library, then
version X+1 is released with a new status code (but no
backward-incompatible API/ABI changes that would require an SONAME
bump), then the value of NOTMUCH_STATUS_LAST_STATUS would change, but
the application using notmuch wouldn't know about it.

Is this something we should be concerned about?  I don't know why or
when a library user might try to make use of NOTMUCH_STATUS_LAST_STATUS,
but it's also exposed in the go bindings, so it's leaking out quite a
bit.

   --dkg


More information about the notmuch mailing list