TIFF CHANGE INFORMATION

Current Version: v3.7.0alpha
Previous Version: v3.6.1
Master FTP Site: ftp.remotesensing.org, directory pub/libtiff
Master HTTP Site: http://www.remotesensing.org/libtiff

This document describes the changes made to the software between the previous and current versions (see above). If you don't find something listed here, then it was not done in this timeframe, or it was not considered important enough to be mentioned. The following information is located here:

- Major Changes
- Changes in the software configuration
- Changes in libtiff
- Changes in the tools
- Changes in the contrib area
- Changes in the LZW compression kit

MAJOR CHANGES:

- Significant changes in software configuration: we are switched to GNU autotools now.
- tiffset: tiffset now can set any libtiff supported tags. Tags can be supplied by the mnemonic name or number.

CHANGES IN THE SOFTWARE CONFIGURATION:

- Get rid of the old configuration system and switch to GNU autotools.

CHANGES IN LIBTIFF:

- libtiff/tif_ojpeg.c: Fixed problem with duplicated SOI and SOF markers as per bug .
- libtiff/{tif_open.c, tiffio.h}: New function added: TIFFIsBigEndian(). Function returns nonzero if given was file written in big-endian order.
- libtiff/tif_print.c: added (untested) support for printing SSHORT, SLONG and SRATIONAL fields.
- libtiff/tif_fax3.c: Avoid reading CCITT compression options if compression type mismatches. See http://bugzilla.remotesensing.org/show_bug.cgi?id=565.
- libtiff/tif_strip.c: Never return 0 from the TIFFNumberOfStrips().
- libtiff/tif_dirread.c: Workaround for broken TIFF writers which store single SampleFormat value for multisampled images. See http://bugzilla.remotesensing.org/show_bug.cgi?id=562.
- libtiff/tif_write.c: Allow in-place updating of the compressed images (don't work properly with all codecs). For details see GDAL bug http://bugzilla.remotesensing.org/show_bug.cgi?id=534.
- libtiff/tif_jpeg.c: Workaround for wrong sampling factors used in the Intergarph JPEG compressed TIFF images as per bug: http://bugzilla.remotesensing.org/show_bug.cgi?id=532.
- libtiff/tif_open.c: Use dummy mmap/munmap functions in TIFFClientOpen() when the appropriate client functions was not supplied by user.
- libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED tag type in TIFFFetchNormalTag() as per bug .
- libtiff/tif_codec.c: Fixed typo in TIFFInitPackBits name as per: http://bugzilla.remotesensing.org/show_bug.cgi?id=494.
- libtiff/tif_fax3.c: Fixed problem, introdiced in 3.6.1 release, with the CCITT encoding modes as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=483. We need more work on fax codec to support update mode.
- libtiff/tiff.h: Fixed tag definitions for TIFFTAG_YCLIPPATHUNITS and TIFFTAG_INDEXED as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=475.
- libtiff/{tif_win32.c, tif_unix.c}: Check whether the pointer is NULL before proceeding further as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=474. Check results, returned by the TIFFFdOpen() before returning and close file if TIFFFdOpen() failed as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=468.
- libtiff/{libtiff.def, tif_close.c, tiffio.h, tif_open.c}: Separate TIFFCleanup() from the TIFFClose() in order to fix the bug http://bugzilla.remotesensing.org/show_bug.cgi?id=468.
- libtiff/tif_dirwrite.c: Fixed handling of writable ASCII tags that are field_passcount=TRUE properly. Arguably anonymous custom tags should be declared as passcount=FALSE, but I don't want to change that without a careful review.
- libtiff/tif_write.c: Fixed reporting size of the buffer in case of stripped image in TIFFWriteBufferSetup(). As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=460.
- libtiff/tif_dir.c: Incomplete cleanup in TIFFFreeDirectory(), patch from Gerben Koopmans.
- libtiff/tif_dirread.c: Check field_passcount value before setting the value of undefined type, patch from Gerben Koopmans.
- libtiff/{tiff.h, tif_fax3.c}:Fixes for AMD 64 platform as suggested by Jeremy C. Reed.
- libtiff/tif_win32.c: Fixed problem with _TIFFrealloc() when the NULL pointer passed. Patch supplied by Larry Grill.

CHANGES IN THE TOOLS:

- tiffset: tiffset now can set any libtiff supported tags. Tags can be supplied by the mnemonic name or number.
- ycbcr.c: fixed main() declaration as per: http://bugzilla.remotesensing.org/show_bug.cgi?id=513.
- tiffsplit: Don't forget to copy Photometric Interpretation tag.
- tiffsplit: Fixed problem with unproperly written multibyte files. Now output files will be written using the same byte order flag as in the input image. See .
- tiffsplit: Copy JPEGTables tag contents for JPEG compressed images. Reported by Artem Mirolubov.
- tiffcp: Close output file on normal exit.
- tiffcp: Don't emit warnings when Orientation tag does not present in the input image.
- tiffcp: Properly set Photometric Interpretation in case of JPEG compression of grayscale images.
- tiffcp: Fixed problem with wrong interpretation of the InkNames tag as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=466. Memory leak fixed.
- tiffcp: Fixed problem with wrong Photometric setting for non-RGB images.

CHANGES IN THE CONTRIB AREA:

- Outdated stuff removed.
- Almost all programs are sinchronized with the current libtiff and should compile without problems.

CHANGES IN THE LZW COMPRESSION KIT:

- No changes.

TIFF home page.

Last updated $Date$.