2007.07.14 08:00 "[Tiff] [ANNOUNCE]: Libtiff 3.9.0beta released", by Andrey Kiselev

2007.07.26 11:37 "Re: [Tiff] possible ABI change in 3.9.0 beta?", by Jay Berkenbilt

I was looking at the changes from 3.8.2 to 3.9.0 beta, doing my usual inspection for possible ABI changes. I notice that _TIFFRGBAImage has added two new fields:

  uint16 SubsamplingHor;                  /* subsampling factors */
  uint16 SubsamplingVer;

Does this mean that there has been an accidental ABI change between

>> 3.8.2 and 3.9.0?...

Good point. I suppose this means there is an ABI change, and versioning information needs to be set appropriately.

I normally think of the TIFFRGBAImage structure as internal to the library but I suppose it is legal for applications to provide custom functions for use with it that are dependent on the internals of this structure so it is indeed public.

I think the intention would be to make the changes in such a way as to not require an soname bump. If there is one, it will be very disruptive to all the distributions out there who have to rebuild everything. We should save that for 4.0.0. Also, it would mean that the soname on 4.0.0 would have to be higher than 5. In any case, based on other off-list traffic, I think this is being looked into.

The reason that libtiff in debian uses soname 4 rather than 3 is because of a change in that very structure at some point in the distant past (like 3.6.1 or something) which broke a whole bunch of gnome-based image processing programs, so it is most definitely part of the public interface.