# Changes in TIFF v3.5.6beta

References
Current Version | v3.5.6beta (no release tag)
Previous Version | v3.5.5
Master Download Site | ftp://ftp.onshore.com/pub/libtiff/
Master HTTP Site | http://www.simplesystems.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:

## Software configuration changes

- Added `GNULDdso` target and switched linux and freebsd to use it.

- `tools/Makefile.in`: Modified to install properly on SGI.

- `configure`: Fixed DSO test for Linux as per patch from Jan Van Buggenhout.

## Library changes

- `tif_dir.c`: Clear `TIFF_ISTILED` flag in `TIFFDefaultDirectory` as per Remote Sensing bugzilla #18 [no longer available] from mailto:vandrove@vc.cvut.cz.

- Modified `tif_packbits.c` decoding to avoid overrunning the output buffer, and to issue a warning if data needs to be discarded. See Remote Sensing bugzilla #18 [no longer available]

- Modified `TIFFClientOpen()` to emit an error on an attempt to open a compressed file for update (`O_RDWR`/"`r+`") access. This is because the compressor/decompressor code gets very confused when the mode is `O_RDWR`, assuming this means writing only. See bug Remote Sensing bugzilla #13 [no longer available]

- Applied patch for 0x0000 sequences in `tif_fax3.h` definition of `EXPAND1D` as per bug Remote Sensing bugzilla #11 [no longer available] (from Roman).

- Fixed `tiffcomp.h` to avoid win32 stuff if unix `#defined`, to improve cygwin compatibility.

- Applied patch from Roman Shpount to `tif_fax3.c`. This seems to be a proper fix to the buffer sizing problem. See Remote Sensing bugzilla #11 [no longer available]

- Fixed `tif_getimage.c` to fix overrun bug with YCbCr images without downsampling. Remote Sensing bugzilla #10 [no longer available] Thanks to Nick Lamb for reporting the bug and proving the patch.

- Fixed `tif_jpeg.c` to avoid destroying the decompressor before we are done access data thanks to bug report from: Michael Eckstein.

- `tif_open.c`: Don't set `MMAP` for `O_RDWR` files.

- `tif_open.c`: Set `STRIPCHOP_DEFAULT` for `O_RDWR` as well as `O_RDONLY` so that files opened for update can be strip chopped too.

- `tif_read.c`: fixed up bug with files missing rowsperstrip and the strips per separation fix done a few weeks ago.

- Tentatively added support for `SAMPLEFORMAT_COMPLEXIEEEFP`, and `SAMPLEFORMAT_COMPLEXINT`.

- `index.html`, `bugs.html`: added bugzilla info.

- `tif_read.c`: fix subtle bug with determining the number of rows for strips that are the last strip in a separation but not the last strip of all in `TIFFReadEncodedStrip()`.

- Applied 16/32 bit fix to `tif_fax3.c`. Fix supplied by Peter Skarpetis.

- Modified `tiffio.h` logic with regard to including `windows.h`. It won't include it when building with `__CYGWIN__`.

- `README`: update to mention {REDACTED - defunct web site}, don't list Sam's old email address.

- `libtiff/tif_dirread.c`: Don't use estimate strip byte count for one tile/strip images with an offset, and byte count of zero. These could be "unpopulated" images.

- `tif_win32.c`: Applied patch to fix overreads and ovverwrites caught by BoundsChecker. From Arvan Pritchard (untested).

- `tif_getimage.c`: Applied patch to silence VC6 warnings. From Arvan Pritchard.

- `tif_lzw.c`: Applied patch to silence VC6 warnings. From Arvan Pritchard.

- `libtiff/tif_apple.c`: Applied "Carbon" support patches supplied by Leonard Rosenthol. May interfere with correct building on older systems. If so, please let me know.

## Tools changes

- `tools/rgb2ycbcr.c`: fixed output strip size to account for vertical roundup if rows_per_strip not a multiple of vertical sample size.

- `tools/tiffsplit.c`: Copy `TIFFTAG_SAMPLEFORMAT`.

- Modified tiff2bw to ensure portions add to 100%, and that white is properly recovered. See bug Remote Sensing bugzilla #15 [no longer available] Patch c/o Stanislav Brabec

## Contributed software changes

- `contrib/addtiffo`: Added "averaging" resampling option.

- Added `contrib/stream` (stream io) code submitted by Avi Bleiweiss.

## LZW compression kit changes

- updated `tif_dir.c` to reflect changes to no-lzw `tif_dir.c`.