Changes in TIFF v4.4.0¶
| Current Version | v4.4.0 (tag v4.4.0) | 
| Previous Version | |
| Master Download Site | |
| Master HTTP Site #1 | |
| Master HTTP Site #2 | |
| Master HTTP Site #3 | 
This document provides a summary of significant changes made to the
software between the previous and current versions (see
above). A fully-detailed change summary is provided by the ChangeLog file
included in the release package and by the Git commit history:
Major changes¶
None
Software configuration changes¶
- Handle absolute paths in pkg-config file (issue #333) 
- Correct fix for the pkgconf file relative paths. 
- cmake: allow running the tests with a read-only source directory. 
- cmake: Fix - STRIPCHOP_DEFAULTvalue in CMake builds.
- build: Fix static library imports in mingw related to LERC 
- Fix version in - libtiff-4.pc.in, and CMake build: Add requirements to pc file
- cmake: Fix build with CMake 3.10. 
- cmake: Export tiff targets. 
- Make - LERC_SUPPORTconditional on- ZLIB_SUPPORT
Library changes¶
New/improved functionalities:
- TIFFIsBigTiff()function added.
- Functions - TIFFFieldSetGetSize()and- TIFFieldSetGetCountSize()added.
- LZWDecode(): major speed improvements (~30% faster)
- Predictor 2 (horizontal differenciation): support 64-bit 
- Support libjpeg 9d 
Bug fixes:
- Remove incorrect assert (issue #329) 
- avoid hang in - TIFFRewriteDirectory()if a classic file > 4 GB is attempted to be created
- tif_jbig.c: fix crash when reading a file with multiple IFD in memory-mapped mode and when bit reversal is needed (fixes issue #385)
- TIFFFetchNormalTag(): avoid calling- memcpy()with a null source pointer and size of zero (fixes issue #383)
- TIFFWriteDirectoryTagData(): turn assertion on data length into a runtime check
- TIFFFetchStripThing(): avoid calling- memcpy()with a null source pointer and size of zero (fixes issue #362)
- TIFFReadDirectory(): avoid calling- memcpy()with a null source pointer and size of zero (fixes issue #362)
- TIFFYCbCrToRGBInit(): avoid Integer-overflow
- TIFFGetField(TIFFTAG_STRIPBYTECOUNTS/TIFFTAG_STRIPOFFSETS): return error if returned pointer is NULL (fixes issue #342)
- OJPEG: avoid assertion when using - TIFFReadScanline()(fixes issue #337)
- TIFFReadDirectory(): fix OJPEG hack (fixes issue #319)
- LZW codec: fix support for strips/tiles > 2 GB on Windows 
- TIFFAppendToStrip(): fix rewrite-in-place logic (fixes issue #309)
- Fix - TIFFRewriteDirectory()discarding directories.
- TIFFReadCustomDirectory(): avoid crash when reading SubjectDistance tag on a non EXIF directory (issue #316)
- Fix Segmentation fault printing GPS directory if - Altitudetag is present
- tif_jpeg.c: do not emit progressive scans with mozjpeg. (issue #266)
- _TIFFRewriteField(): fix when writing a IFD with a single tile that is a sparse one, on big endian hosts
- Fix all remaining uses of legacy Deflate compression id and warn on use. 
Tools changes¶
Bug fixes:
- tiffcrop: Fix issue issue #330 and some more from 320 to 349. 
- tiffcrop: fix issue issue #395: generation of strange section images. 
- tiffcrop: fix issue issue #380 and issue #382 heap buffer overflow in extractImageSection 
- tiffcrop: fix FPE (issue #393) 
- tiffcrop: buffsize check formula in - loadImage()amended (fixes issue #273, issue #275)
- tiffcrop.c: Fix issue issue #352 heap-buffer-overflow by correcting - uint32_tunderflow.
- tiff2pdf: handle 8-bit palette colormap. 
- tiffcp: avoid buffer overflow in “mode” string (fixes issue #400) 
- tiffcp: Fix incomprehensible setting of orientation tag (fixes issue #29) 
- tiffcp: do not try to fetch compressor-specific tags when not appropriate (fixes issue #396) 
- tiffcp: fix heap buffer overflow (issue #278) 
- tiff2ps: In - limitMalloc()check for negative size (fixes issue #284)
- tiffinfo: add a - -Mswitch to define the maximum heap allocation, and default it to 256 MiB (fixes issue #287, issue #290)
- tiffinfo: limit more memory allocations using - -Mswitch (fixes issue #288)
- tiffset: fix global-buffer-overflow for ASCII tags where count is required (fixes issue #355) 
- raw2tiff: check that band number if not zero to avoid floating point exception(fixes issue #338) 
- tiffinfo/tiffdump: improve output for GDAL tags. 
Contributed software changes¶
None