2009-11-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.2 released.

2009-11-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffcrop.c: Updated tiffcrop from Richard Nolde.  This
	version has undergone substantial testing with arbitrary sample
	bit depths.  Also eliminates GCC compilation warnings.

2009-11-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* port/libport.h: Added header file for porting prototypes and
	extern declarations.

2009-10-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dirwrite.c (TIFFWriteAnyArray): Add missing break
	statement so writing an array of TIFF_DOUBLE works.

2009-10-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dirread.c: Eliminate GCC "dereferencing type-punned
	pointer" warnings.

2009-10-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* html/tools.html: Add manual page links, and a summary
	description of tiffcrop.

2009-10-07  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: x86_64 should use the same fill order as i386.

2009-09-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop from Richard
	Nolde.  Major updates to add significant functionality for reading
	and writing tile based images with bit depths not a multiple of 8
	which cannot be handled by tiffcp.

2009-09-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_ojpeg.c (OJPEGWriteHeaderInfo): IJG JPEG 7 needs
	do_fancy_upsampling=FALSE in order to read raw data.  Resolves
	"Bug 2090 - OJPEG crash with libjpeg v7".
	http://bugzilla.maptools.org/show_bug.cgi?id=2090

2009-08-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* contrib/iptcutil/iptcutil.c,
	libtiff/tif_getimage.c,libtiff/tif_jpeg.c,libtiff/tif_ojpeg.c,tools/tiffcrop.c,tools/tiffgt.c:
	Applied patch from Oden Eriksson to allow building with GCC using
	the "-Wformat -Werror=format-security" flags.

2009-08-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.1 released.

2009-08-28  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirwrite.c: Back out changes from 2007-11-22 that
	resulted in the final strip not being written in some circumstances.
	http://bugzilla.maptools.org/show_bug.cgi?id=2088

2009-08-27  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_write.c (TIFFAppendToStrip): Remove cast which
	caused libtiff to output a wrong last strip with byte-count and
	strip-offset of zero.  This cast was added on the day of the 3.9.0
	release.

	* libtiff/tif_config.vc.h: tiffiop.h needs the TIFF_INT64_T and
	TIFF_UINT64_T defines in order to compile.  Copy existing
	definitions from tiffconf.vc.h.

2009-08-21  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* test/Makefile.am (AUTOMAKE_OPTIONS): Colorized tests was not
	actually activated since it needed to be enabled in this
	Makefile.am.  Also activated parallel-tests mode since it offers
	useful features such as per-test .log files and a summary test
	report .log file.

2009-08-20  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff 3.9.0 released.

	* libtiff/tif_print.c (TIFFPrintDirectory): Applied patch for "tag
	error may cause segfault in tif_print.c."
	http://bugzilla.maptools.org/show_bug.cgi?id=1896

	* tools/{rgb2ycbcr.c, tiff2rgba.c}: Applied patch for
	CVE-2009-2347 libtiff: integer overflows in various inter-color
	space conversion tools.
	http://bugzilla.maptools.org/show_bug.cgi?id=2079

	* configure.ac: Updated autotools.  Autoconf 2.64, Automake 1.11,
	libtool 2.2.6.  Enabled support for silent build rules
	(--enable-silent-rules or 'make V=0') and colorized tests.

2009-06-30  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_luv.c: correct return codes from encoderow to be
	1 on success instead of zero.
	http://bugzilla.maptools.org/show_bug.cgi?id=2069

2009-06-22  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_lzw.c: Fix buffer underflow bug. 
	http://bugzilla.maptools.org/show_bug.cgi?id=2065

2009-06-03  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_write.c: do not override the planar configuration to be
	contig for one sample files if planar configuration is already set.
	http://bugzilla.maptools.org/show_bug.cgi?id=2057

2009-02-12  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_luv.c: Fix handling of tiled logluv images. 
	http://bugzilla.maptools.org/show_bug.cgi?id=2005

2009-01-23  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_predict.c: Add support for 32bit integer horz. predictors.
	http://bugzilla.maptools.org/show_bug.cgi?id=1911

2009-01-20  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiffsplit.c: fix sampleformat to be shortv instead of longv.

2009-01-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiff2ps.c: Remove spurious message printed to stderr. 

2009-01-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiff2ps.c: Incorporated significant functionality update
	from Richard Nolde.  In particular, support for rotating the image
	by 90, 180, 270, and 'auto' has been added.

	* tools/tiffcrop.c: Incorporated significant functionality update
	from Richard Nolde.

2009-01-06  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tiffiop.h: Add private type declarations for int64, and
	uint64 so that bundled utilities (like tiffcrop) can use it when
	necessary.

2009-01-01  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: Updated to test for 64-bit types.  This version of
	the library does not require a 64-bit type, but tiffcrop needs it.

2008-12-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* Update to use current FSF autotools versions.
	* libtiff/tiffio.h: GCC will now validate format specifications
	for TIFFError(), TIFFErrorExt(), TIFFWarning(), and
	TIFFWarningExt() in order to reveal bugs.  Cleaned up resulting
	warnings throughout for 32 bit build only.

2008-12-31  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiffcrop.c, man/tiffcrop.1: A major update from Richard
	Nolde.  

2008-12-21  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Avoid errors if the application writes a full
	strip for the last partial strip in a jpeg compressed file.
	http://bugzilla.maptools.org/show_bug.cgi?id=1981

2008-12-21  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c, tiffio.h: More ABI corrections. 
	Removed SubsamplingHor/Ver from TIFFRGBAImage structure.
	  http://bugzilla.maptools.org/show_bug.cgi?id=1980

2008-12-18  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c,tiffio.h: removed all use of UaToAa and
	Bitmap16to8 arrays in TIFFRGBAImage structure to restore ABI
	compatability.  These were just an attempt to speed up processing
	with precalculated tables.
	  http://bugzilla.maptools.org/show_bug.cgi?id=1979

	* libtiff/tif_codec.c: Avoid printing c->name if it does not exist.

2008-10-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_jbig.c: Support the JBIG-KIT 2.0 (compatibility with
	the older versions retained).

2008-09-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffsplit.c: Use dynamically allocated array instead of static
	when constructing output file names.

2008-09-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffsplit.c: Get rid of unsafe strcpy()/strcat() calls when
	doing the filename/path construction.

	* tools/tiff2pdf.c: More appropriate format string in
	t2p_write_pdf_string(); avoid signed/unsigned mismatch.

	* libtiff/tif_lzw.c: Properly zero out the codetable. As per bug

	http://bugzilla.maptools.org/show_bug.cgi?id=1929

	* libtiff/tif_lzw.c: Properly zero out the string table. Fixes
	CVE-2008-2327 security issue.

2008-05-24  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_codec.c: Avoid NULL pointer dereferencing for exotic 
	compression codec codes.

	* tif_dirread.c: zero tif->tif_dir after freeing the directory
	in TIFFReadCustomDirectory().  I don't exactly remember why this
	was important. 

	* tif_dirwrite.c: Fix potential memory leak writing large double
	tags. 

	* tif_dirread.c: Fix unchecked malloc result.

2008-01-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tif_fax3.c: Make find0span() and find1span() non-inline to
	make MSVC 6.0 compiler happy.

2007-11-26  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_fax3.c: fix leak of FAXCS state (per bug 1603).

2007-11-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.com, libtiff/tif_vms.c: Better OpenVMS support. Patches
	from Alexey Chupahin.

2007-11-22  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_write.c: Rip out the fancy logic in TIFFAppendToStrip() for 
	establishing if an existing tile can be rewritten to the same location 
	by comparing the current size to all the other blocks in the same 
	directory.  This is dangerous in many situations and can easily 
	corrupt a file.  (observed in esoteric GDAL situation that's hard to
	document).  This change involves leaving the stripbytecount[] values 
	unaltered till TIFFAppendToStrip().  Now we only write a block back
	to the same location it used to be at if the new data is the same
	size or smaller - otherwise we move it to the end of file.

	* tif_dirwrite.c: Try to avoid writing out a full readbuffer of tile
	data when writing the directory just because we have BEENWRITING at
	some point in the past.  This was causing odd junk to be written out
	in a tile of data when a single tile had an interleaving of reading 
	and writing with reading last.  (highlighted by gdal 
	autotest/gcore/tif_write.py test 7. 

	* tif_predict.c: use working buffer in PredictorEncodeTile to avoid
	modifying callers buffer. 
	http://trac.osgeo.org/gdal/ticket/1965

	* tif_predict.c/h, tif_lzw.c, tif_zip.c: Improvements so that 
	predictor based encoding and decoding works in read-write update
	mode properly. 
	http://trac.osgeo.org/gdal/ticket/1948

2007-10-05  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2pdf.c: Fixed setting of alpha value per report on list.

2007-09-13  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_dirinfo.c:  _TIFFMergeFields() now only merges in field
	definitions that are missing.  Existing definitions are silently
	ignored.  (Bug #1585)

2007-07-18  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{Makefile.am, Makefile.v}: Do not distribute tiffconf.h, 
	remove tif_config.h/tiffconf.h during cleaning. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1573

2007-07-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.9.0beta released.

2007-07-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Added missed extern optind as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1567

2007-07-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps.c:  Added support 16-bit images as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1566

	Patch from William Bader.

	* tools/tiff2pdf.c: Fix for TIFFTAG_JPEGTABLES tag fetching and
	significant upgrade of the whole utility as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1560

	Now we don't need tiffiop.h in tiff2pdf anymore and will open output
	PDF file using TIFFClientOpen() machinery as it is implemented
	by Leon Bottou.

2007-06-29  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_dirinfo.c (_TIFFFindFieldInfo): Don't attempt to
	bsearch() on a NULL fieldinfo list.
	(_TIFFFindFieldInfoByName): Don't attempt to
	lfind() on a NULL fieldinfo list.

2007-05-01  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirwrite.c: Fixed problem introduced with a fix for a
	byte swapping issue
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1363

	As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1550

2007-04-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Check the tmpfile() return status as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=154

2007-04-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.h, tif_dirread.c, tif_dirinfo.c, tif_jpeg.c,
	tif_fax3.c, tif_jbig.c, tif_luv.c, tif_ojpeg.c, tif_pixarlog.c,
	tif_predict.c, tif_zip.c}: Finally fix bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1274

	by introducing _TIFFMergeFieldInfo() returning integer error status
	instead of void in case of problems with field merging (e.g., if the
	field with such a tag already registered). TIFFMergeFieldInfo() in
	public API remains void. Use _TIFFMergeFieldInfo() everywhere and
	check returned value.

2007-04-07  Frank Warmerdam  <warmerdam@pobox.com>

	* contrib/addtiffo/tif_overview.c: Fix problems with odd sized output 
	blocks in TIFF_DownSample_Subsampled() (bug 1542).

2007-04-06  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Changed JPEGInitializeLibJPEG() so that it
	will convert from decompressor to compressor or compress to decompress
	if required by the force arguments.  This works around a problem in
	where the JPEGFixupTestSubsampling() may cause a decompressor to 
	be setup on a directory when later a compressor is required with the
	force flag set.  Occurs with the addtiffo program for instance. 

2007-04-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirwrite.c: Fixed swapping of byte arrays stored
	in-place in tag offsets as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1363

	* tools/tiffcrop.c, man/tiffcrop.1: Significant update in
	functionality from Richard Nolde. As per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1525

2007-03-28  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_fax3.c: "inline static" -> "static inline" for IRIC CC.

2007-03-07  Joris Van Damme  <joris.at.lebbeke@skynet.be>
	
	* libtiff/tif_getimage.c: workaround for 'Fractional scanline' error reading
	OJPEG images with rowsperstrip that is not a multiple of vertical subsampling
	factor. This bug is mentioned in:
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1390
	http://www.asmail.be/msg0054766825.html 

2007-03-07  Joris Van Damme  <joris.at.lebbeke@skynet.be>
	
	* libtiff/tif_win32.c: made inclusion of windows.h unconditional

	* libtiff/tif_win32.c: replaced preprocessor indication for consiously
	unused arguments by standard C indication for the same

2007-02-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Use uint32 type instead of tsize_t in byte
	counters in TIFFFetchData(). Should finally fix the issue

	http://bugzilla.remotesensing.org/show_bug.cgi?id=890

2007-02-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffset.c: Properly handle tags with TIFF_VARIABLE writecount.
	As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1350

	* libtiff/tif_dirread.c: Added special function to handle
	SubjectDistance EXIF tag as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1362

	* tools/tiff2pdf.c: Do not assume inches when the resolution units
	do not specified. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1366

	* tools/{tiffcp.c, tiffcrop.c}: Do not change RowsPerStrip value if
	it was set as infinite. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1368

	* tools/tiffcrop.c, man/tiffcrop.1: New tiffcrop utility contributed
	by Richard Nolde. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1383

2007-02-22  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: Workaround for incorrect TIFFs with
	ExtraSamples == 999 produced by Corel Draw. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1490

	* libtiff/{tif_dirread.c, tif_read.c}: Type of the byte counters
	changed from tsize_t to uint32 to be able to work with data arrays
	larger than 2GB. Fixes bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=890
	
	Idea submitted by Matt Hancher.

2007-01-31  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tif2rgba.c: This utility does not work properly on big-endian
	architectures. It was fixed including the bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1149

2007-01-15  Mateusz Loskot <mateusz@loskot.net>

	* Submitted libtiff port for Windows CE platform
	* libtiff/tif_config.wince.h: Added configuration header for WinCE.
	* libtiff/tiffconf.wince.h: Ported old configuration header for WinCE.
	* libtiff/tif_wince.c: Added WinCE-specific implementation of some
	functons from tif_win32.c.
	* libtiff/tif_win32.c: Disabled some functions already reimplemented in tif_wince.c.
	* libtiff/tiffiop.h, port/lfind.c: Added conditional include of some
	standard header files for Windows CE build.
	* tools/tiffinfoce.c: Ported tiffinfo utility for Windows CE.

2006-11-19  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_write.c: TIFFAppendToStrip() - clear sorted flag if 
	we move a strip. 
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1359	

2006-10-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: More fixes for vulnerabilities, reported
	in Gentoo bug ():
	
	http://bugs.gentoo.org/show_bug.cgi?id=142383

	* libtiff/contrib/dbs/xtiff/xtiff.c: Make xtiff utility compilable.
	Though it is still far from the state of being working and useful.

2006-10-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_fax3.c: Save the state of printdir codec dependent
	method.

	* libtiff/tif_jpeg.c: Save the state of printdir codec dependent method
	as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1273

	* libtiff/tif_win32.c: Fixed problem with offset value manipulation
	as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1322

	* libtiff/{tif_read.c, tif_jpeg.c, tif_dir.c}: More fixes for
	vulnerabilities, reported in Gentoo bug ():

	http://bugs.gentoo.org/show_bug.cgi?id=142383

2006-09-28  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_fax3.c, tif_next.c, tif_pixarlog.c}: Fixed multiple
	vulnerabilities, as per	Gentoo bug ():

	http://bugs.gentoo.org/show_bug.cgi?id=142383

2006-09-27  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_lzw.c, libtiff/tif_zip.c: Fixed problems with mixing
	encoding and decoding on the same read-write TIFF handle.  The LZW
	code can now maintain encode and decode state at the same time. The
	ZIP code will switch back and forth as needed.  
	http://bugzilla.remotesensing.org/show_bug.cgi?id=757

2006-09-20  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff: Rename config.h.vc and tif_config.h.vc to config.vc.h and 
	tif_config.vc.h for easier identification by folks using an IDE.

2006-07-25  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_msdos.c: Avoid handle leak for failed opens.  c/o Thierry Pierron

2006-07-19  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_dirwrite.c: take care not to flush out buffer of strip/tile
	data in _TIFFWriteDirectory if TIFF_BEENWRITING not set.  Relates
	to bug report by Peng Gao with black strip at bottom of images.

2006-07-12  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_dirwrite.c: make sure to use uint32 for wordcount in 
	TIFFWriteNormanTag if writecount is VARIABLE2 for ASCII fields.
	It already seems to have been done for other field types.  Needed
	for "tiffset" on files with geotiff ascii text.

2006-07-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* {configure.ac, libtiff/tif_config.h.vc, libtiff/tif_jbig.c}
	(JBIGDecode): jbg_newlen is not available in older JBIG-KIT and
	its use does not appear to be required, so use it only when it is
	available.

2006-06-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirinfo.c: Added missed EXIF tag ColorSpace (40961).

	* libtiff/tif_dirread.c: Move IFD fetching code in the separate
	function TIFFFetchDirectory() avoiding code duplication in
	TIFFReadDirectory() and TIFFReadCustomDirectory().

2006-06-19  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2pdf.c: Fix handling of -q values.
	http://bugzilla.remotesensing.org/show_bug.cgi?id=587

2006-06-17  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_readdir.c: Added case in EstimateStripByteCounts() for tiled
	files.  Modified TIFFReadDirectory() to not invoke 
	EstimateStripByteCounts() for case where entry 0 and 1 are unequal
	but one of them is zero. 
	  http://bugzilla.remotesensing.org/show_bug.cgi?id=1204

2006-06-08  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_open.c, tif_dirread.c, tiffiop.h}: Move IFD looping
	checking code in the separate function TIFFCheckDirOffset().

	* libtiff/tif_aux.c: Added _TIFFCheckRealloc() function.

	* tools/tiffcmp.c: Fixed floating point comparison logic as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1191

	* libtiff/tif_fax3.c: Fixed problems in fax decoder as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1194

	* tools/tiff2pdf.c: Fixed buffer overflow condition in
	t2p_write_pdf_string() as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1196

2006-06-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* {configure, configure.ac, libtiff/tif_jbig.c, tools/tiffcp.c}: Added
	support for JBIG compression scheme (34661 code) contributed by Lee
	Howard. As per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=896

	* configure, configure.ac: OJPEG support enabled by default.

	* contrib/ojpeg/: Removed. New OJPEG support does not need this patch.

2006-06-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/{tif_dirinfo.c, tif_print.c} : Fix crash in
	TIFFPrintDirectory().  Joris Van Damme authored the fix.

2006-04-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Unified line ending characters (always use '\n')
	as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1163

	* README.vms, Makefile.am, configure.com, libtiff/{Makefile.am,
	tif_config.h-vms, tif_stream.cxx, tif_vms.c, tiffconf.h-vms}:
	Added support for OpenVMS by Alexey Chupahin, elvis_75@mail.ru.

2006-04-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/{fax2ps.c, fax2tiff.c, ppm2tiff.c, ras2tiff.c, tiff2pdf.c}:
	Properly set the binary mode for stdin stream as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1141

	* man/{bmp2tiff.1, fax2ps.1, fax2tiff.1, gif2tiff.1, ras2tiff.1,
	raw2tiff.1, rgb2ycbcr.1, sgi2tiff.1, tiff2bw.1, tiff2pdf.1, tiff2ps.1,
	tiff2rgba.1, tiffcmp.1, tiffcp.1, tiffdither.1,	tiffdump.1, tiffgt.1,
	tiffset.1}: Improvements in page formatting as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1140

	* html/tools.html, html/man/Makefile.am, tools/tiff2pdf.c: Fixed
	typos as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1139

2006-04-18  Frank Warmerdam  <warmerdam@pobox.com>

	* nmake.opt: use /EHsc for VS2005 compatibility.  Also define
	_CRT_SECURE_NO_DEPRECATE to avoid noise on VS2005. 

2006-04-12  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tif_getimage.c: Added support for planarconfig separate
	non-subsampled YCbCr (i.e. separate YCbCr with subsampling [1,1])

2006-04-11  Joris Van Damme  <joris.at.lebbeke@skynet.be>
	
	* libtiff/tif_getimage.c: Revision of all RGB(A) put routines
	- Conversion of unassociated alpha to associated alpha now done with
	  more performant LUT, and calculation more correct
	- Conversion of 16bit data to 8bit data now done with
	  more performant LUT, and calculation more correct
	- Bugfix of handling of 16bit RGB with unassociated alpha

2006-04-11  Joris Van Damme  <joris.at.lebbeke@skynet.be>
	
	* libtiff/tif_getimage.c: 
	- When there is no alpha, gtTileSeparate and gtStripSeparate allocated 
	  buffer for alpha strile and filled it, only to never read it back. 
	  Removed allocation and fill.
	- Minor rename of vars in gtTileSeparate and gtStripSeparate 
	  anticipating planned functionality extension

2006-04-08  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tif_getimage.c: renamed pickTileContigCase to PickContigCase 
	and pickTileSeparateCase to PickSeparateCase as both work on strips as 
	well

	* libtiff/tif_getimage.c: moved img->get selection from 
	TIFFRGBAImageBegin into PickContigCase and PickSeparateCase to create
	logical hook for planned functionality extension

2006-04-08  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tif_ojpeg.c: resolved memory leak that was a consequence
	of inappropriate use of jpeg_abort instead of jpeg_destroy

2006-04-07  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tif_getimage.c: replaced usage of TIFFScanlineSize in 
	gtStripContig with TIFFNewScanlineSize so as to fix buggy behaviour
	on subsampled images - this ought to get sorted when we feel brave 
	enough to replace TIFFScanlineSize alltogether

	* libtiff/tif_ojpeg.c: fixed bug in OJPEGReadSkip

2006-04-04  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tiffio.h: added new type tstrile_t

	* libtiff/tif_dir.h: changed types of td_stripsperimage and td_nstrips 
	to new tstrile_t, types of td_stripoffset and td_stripbytecount to 
	toff_t*

	* libtiff/tif_ojpeg.c: totally new implementation

	* libtiff/tif_dirread.c: added several hacks to suit new support of 
	OJPEG

	* libtiff/tif_getimage.c: removed TIFFTAG_JPEGCOLORMODE handling
	of OJPEG images in favor of tif_getimage.c native handling of
	YCbCr and desubsampling

2006-03-29  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: JPEGVSetField() so that altering the photometric
	interpretation causes the "upsampled" flag to be recomputed.  Fixes
	peculiar bug where photometric flag had to be set before jpegcolormode
	flag.

2006-03-25  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tif_jpeg.c: strip size related bugfix in encode raw

	* libtiff/tif_strip.c: temporarilly added two new versions of
	TIFFScanlineSize
	  - TIFFNewScanlineSize: proposed new version, after all related
	    issues and side-effects are sorted out
	  - TIFFOldScanlineSize: old version, from prior to 2006-03-21 change
	This needs further sorting out.

2006-03-25  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* contrib/addtiffo/tif_ovrcache.c: bugfix to correctly pass size
	of last truncated strip data to TIFFWriteEncodedStrip

2006-03-25  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/{tif_jpeg.c, tif_strip.c}: bugfix of tif_jpeg decode raw

2006-03-25  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tif_getimage.c: bugfix/rewrite of putcontig8bitYCbCr22tile

	* libtiff/tif_getimage.c: added putcontig8bitYCbCr12tile

	* libtiff/tif_read.c: added support for new TIFF_NOREADRAW flag to 
	prepare	the path for new tif_ojpeg.c

2006-03-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.8.2 released.

	* tools/Makefile.am: Use runtime paths linker flags when rpath
	option enabled.

2006-03-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/libtiff.def: Added missed exports as per bug
	http://bugzilla.remotesensing.org/attachment.cgi?id=337

	* contrib/addtiffo/Makefile.vc, libtiff/Makefile.vc, port/Makefile.vc,
	tools/Makefile.vc: Makefiles improvements as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1128

	* nmake.opt libtiff/{tif_config.h.vc, tif_unix.c, tiffio.h},
	tools/{fax2ps.c, fax2tiff.c, tiff2pdf.c}: Fixed win32 I/O functions
	usage as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1127

	* libtiff/tif_strip.c: Take subsampling in account when calculating
	TIFFScanlineSize().

	* tools/tiffcp.c: Do not set RowsPerStrip bigger than image length.

2006-03-17  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/fax2tiff.c: Fixed wrong TIFFerror() invocations as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1125

	* tools/fax2ps.c: Fixed reading the input stream from stdin as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1124

2006-03-16  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tiffiop.h: Added decalration for
	_TIFFSetDefaultCompressionState().

	* libtiff/{tif_jpeg.c, tif_fax3.c, tif_zip.c, tif_pixarlog.c,
	tif_lzw.c, tif_luv.c}: Use _TIFFSetDefaultCompressionState() in all
	codec cleanup methods. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1120

2006-03-15  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_jpeg.c: Do not cleanup codec state in TIFFInitJPEG(). As
	per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1119

	* tools/raw2tiff.c: Do not set RowsPerStrip larger than ImageLength.
	As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1110

	* libtiff/tiffiop.h: dblparam_t typedef removed; GLOBALDATA macro
	removed; move here the STRIP_SIZE_DEFAULT macro definition.

	* libtiff/{tif_dirread.c, tif_strip.c}: Removed STRIP_SIZE_DEFAULT
	macro definition.

	* libtiff/tif_dir.c: Use double type instead of dblparam_t.

2006-03-14  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Do not check the PlanarConfig tag presence
	in TIFFReadDirectory, because it is always set at the start of
	function and we allow TIFFs without that tag set.

2005-03-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.8.1 released.

2006-03-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Fixed error reporting in TIFFFetchAnyArray()
	function as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1102

	* libtiff/tif_dirread.c: More wise check for integer overflow
	condition as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1102

	* libtiff/{tif_jpeg.c, tif_pixarlog.c, tif_fax3.c, tif_zip.c}:
	Properly restore setfield/getfield methods in cleanup functions. As
	per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1102

2006-03-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_predict.c, tif_predict.h}: Added new function
	TIFFPredictorCleanup() to restore parent decode/encode/field methods.

	* libtiff/{tif_lzw.c, tif_pixarlog.c, tif_zip.c}: Use
	TIFFPredictorCleanup() in codec cleanup methods. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1102

	* libtiff/tif_dirread.c: Fixed integer overflow condition in
	TIFFFetchData() function. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1102

2006-03-01  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_ojpeg.c: Set the ReferenceBlackWhite with the
	TIFFSetField() method, not directly. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1043

	* tools/ppm2tiff.c: Added support for PBM files as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1044

2006-02-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_write.c: Small code rearrangement in TIFFWriteScanline()
	to avoid crash as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1081.

2006-02-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Functions t2p_sample_rgbaa_to_rgb() and
	t2p_sample_rgba_to_rgb() was used in place of each other, that was
	resulted in problems with RGBA images with associated alpha.
	As per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1097

2006-02-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirwrite.c: Properly write TIFFTAG_DOTRANGE tag as per
	bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088.

	* libtiff/tif_print.c: Properly read TIFFTAG_PAGENUMBER,
	TIFFTAG_HALFTONEHINTS, TIFFTAG_YCBCRSUBSAMPLING and TIFFTAG_DOTRANGE
	tags as per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1088.

	* tools/tiff2ps.c: Properly scale all the pages when converting
	multipage TIFF with /width/height/center options set. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1080

2006-02-15  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Do not create output file until all option checks
	will be done. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1072

	* tools/bmp2tiff.c: Added ability to create multipage TIFFs from the
	list of input files as per bug:

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1077

2006-02-09  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_tile.c: Fix error reporting in TIFFCheckTile() as per
	bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1063.

	* tools/tiffgt.c: Avoid crashing in case of image unsupported by
	TIFFRGBAImage interface.

	* libtiff/tif_color.c: Avoid overflow in case of wrong input as per
	bug http://bugzilla.remotesensing.org/show_bug.cgi?id=1065.

2006-02-07  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2pdf.c: Fixed support for non-YCbCr encoded JPEG
	compressed TIFF files, per submission from Dan Cobra. 

2006-02-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dirread.c, tif_packbits.c, tif_win32.c}: Properly
	cast values to avoid warnings. As per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1033.

	* libtiff/tif_dirinfo.c: Use TIFF_NOTYPE instead of 0 when
	appropriate. As per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1033.

	* libtiff/tif_aux.c: Fixed type of temporary variable in
	_TIFFCheckMalloc() as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1033.

2006-02-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_aux.c: Return static array when fetching default
	YCbCrCoefficients (another problem, reported a the
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1029 entry).

2006-02-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: Special handling for PageNumber, HalftoneHints,
	YCbCrSubsampling and DotRange tags as per bugs

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1029
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1034

	* libtiff/tif_dirread.c: Use _TIFFGetExifFieldInfo() instead of
	_TIFFGetFieldInfo() in TIFFReadEXIFDirectory() call as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1026.

2006-01-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtool related stuff updated from the 2.1a branch.

2006-01-11  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/bmp2tiff,pal2rgb,ppm2tiff,ras2tiff,raw2tiff,sgi2tiff,
	tiff2bw,tiffcp: Fixed jpeg option processing so -c jpeg:r:50 works
	properly as per bug:
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1025

2006-01-09  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: Fix with_default_strip_size comparison as reported
	by Norihiko Murase.

2006-01-08  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* test/Makefile.am (LIBTIFF): Due to linking against libtiff
	incorrectly, tests were not actually testing the uninstalled
	libtiff.  Now they are.

2006-01-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirinfo.c: Change definitions for TIFFTAG_ICCPROFILE,
	TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, TIFFTAG_XMLPACKET: readcount
	should be uint32 value.

2006-01-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* html/man/Makefile.am (htmldoc): Fix htmldoc rule so that it can
	be used if build directory is not the same as source directory.
	* man/{TIFFGetField.3tiff, TIFFSetField.3tiff}: Documented
	TIFFTAG_PHOTOSHOP, TIFFTAG_RICHTIFFIPTC, and TIFFTAG_XMLPACKET,
	and re-sorted tag names in alphabetical order.

2005-12-29  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.8.0 released.

2005-12-28  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/bmp2tiff.c (main): Fixed warning regarding returning
	inconsistent types from a condition.
	* tools/tiffcmp.c (CheckLongTag): Eliminate warning due to printf
	format.
	* tools/bmp2tiff.c: Reduce compilation warnings on big-endian CPUs.

2005-12-28  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* html/{index.html, support.hml, libtiff.html}: Cleaned up HTML

2005-12-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tiffio.h: Added VC_EXTRALEAN definition before including
	windows.h, to reduce the compile time.

2005-12-26  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_jpeg.c: Improve compilation under MinGW.

2005-12-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.c, tif_dir.h, tif_dirread.c, tif_dirinfo.c}: 
	tiffFieldInfo and exifFieldInfo arrays definitions moved back to
	tif_dirinfo.c; added _TIFFGetFieldInfo() and _TIFFGetExifFieldInfo()
	private functions to retrieve FieldInfo arrays.

2005-12-24  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* html/build.html: Added some additional instructions for when
	building using MSVC under Windows.  Also fixed two HTML syntax
	errors and used HTML Tidy to tidy up the HTML syntax and
	formatting.

2005-12-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_dirwrite.c,
	tif_print.c, tif_getimage.c}: Make InkSet, NumberOfInks, DotRange and
	StoNits tags custom.

2005-12-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_aux.c, tif_dir.c, tif_dir.h, tif_print.c}: Make
	WhitePoint tag custom.

	* libtiff/{tif_dir.h, tiff.h}: More EXIF tags added.

2005-12-23  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/tiffio.h: fixed typo that potentially resulted in 
	redefininition of USE_WIN32_FILEIO

	* libtiff/*: Added more 'dual-mode' error handling: Done TIFFWarning 
	calls in core LibTiff.

2005-12-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make RichTIFFIPTC,
	Photoshop and ICCProfile tags custom.

2005-12-21  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* libtiff/*, contrib/*: Added 'dual-mode' error handling, enabling 
	newer code to get context indicator in error handler and still
	remain compatible with older code: Done TIFFError calls everywhere 
	except in tools   

2005-12-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Added many error reporting messages; fixed integer
	overflow as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=789

2005-12-16  Frank Warmerdam  <warmerdam@pobox.com>

	* contrib/addtiffo/*: Major upgrade by Joris to support subsampled
	YCbCr images in jpeg compressed TIFF files.

2005-12-14  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Return non-zero status when reading fails (again).

2005-12-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Return non-zero status when reading fails.

2005-12-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.h, tiff.h}: Added more EXIF tags.

2005-12-09  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.c, tif_dir.h, tif_print.c}: Make XMLPacket tag
	custom.

	* tools/tiffinfo.c: Print EXIF directory contents if exist.

	* libtiff/tiff.h: Few EXIF tag numbers added.

	* libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c,
	tiffio.h}: Preliminary support to read custom directories. New
	functions: TIFFReadCustomDirectory() and TIFFReadEXIFDirectory().

2005-12-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dirinfo.c, tif_dirread.c, tif_dir.h, tif_dir.c}:
	More work to implement custom directory read support.

	* libtiff/{tif_aux.c, tif_dirinfo.c, tif_dirread.c, tif_dir.h,
	tif_dir.c, tif_print.c}: Make YCbCrCoefficients and ReferenceBlackWhite
	tags custom.

2005-12-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: One more workaround for broken
	StripByteCounts tag. Handle the case when StripByteCounts array filled
	with completely wrong values.

2005-11-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirinfo.c: Release file descriptor in case of failure
	in the TIFFOpenW() function as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1003

	* libtiff/tif_dirinfo.c: Correctly yse bsearch() and lfind()
	functions as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=1008

2005-11-20  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_open.c, tiff.h, tiffdump.c: Incorporate preliminary support
	for MS MDI format.
	http://bugzilla.remotesensing.org/show_bug.cgi?id=1002

	* .cvsignore: many files added, and a few update according
	to suggestion of Brad HArds on tiff mailing list. 

2005-11-03  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/libtiff.def, tiffiop.h, tiffio.h: Made TIFFFreeDirectory
	public.

2005-10-31  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/fax2tiff.c: Properly calculate sizes of temporary arrays
	as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=943

	* tools/fax2tiff.c: Added option '-r' to set RowsPerStrip parameter
	as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=944

	* tools/tiffdump.c: Fixed typeshift and typemask arrays initialization
	problem as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=946

	* tools/bmp2tiff.c: Fixed possible integer overflow error as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=965

	* libtiff/tif_dirinfo.c: Make XResolution, YResolution and
	ResolutionUnit tags modifiable during write process. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=977

	* tools/tiffsplit.c: Copy fax related fields over splitted parts
	as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=983

2005-10-21  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_dirread.c: Don't try and split single strips into "0" strips
	in ChopUpSingleUncompressedStrip.  This happens in some degenerate
	cases (like 1x1 files with stripbytecounts==0 (gtsmall.jp2 embed tiff)

2005-10-20  Joris Van Damme  <joris.at.lebbeke@skynet.be>

	* tif_fax3.c: changed 'at scanline ...' style warning/errors
	with incorrect use of tif_row, to 'at line ... of
	strip/tile ...' style

2005-10-15  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_write.c: fixed setting of planarconfig as per bug report
	on the mailing list from Joris.

2005-10-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.ac, configure, nmake.opt, libtiff/{tif_config.h,
	tif_dirread.c}: Make the default strip size configurable via the
	--with-default-strip-size and STRIP_SIZE_DEFAULT options.

2005-09-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* html/support.html: Fixed link to documentation on Greg Ward's
	LogLuv TIFF format.

2005-09-28  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffdump.c: Fixed crash when reading malformed tags.

2005-09-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Added missed 'break' statement as per bug
	http://bugzilla.remotesensing.org/show_bug.cgi?id=932

2005-09-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.7.4 released.

	* {configure, configure.ac, Makefile.am, autogen.sh}: Applied patch
	from Patrick Welche (all scripts moved in the 'config' and 'm4'
	directories).

2005-09-12  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_open.c: reintroduce seek to avoid problem on solaris.

2005-09-05  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dir.c: When prefreeing tv->value in TIFFSetFieldV
	also set it to NULL to avoid double free when re-setting custom
	string fields as per: 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=922

2005-08-12  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_print.c: avoid signed/unsigned warning.

	* libtiff/tif_dirread.c: removed unused variable.

2005-07-30  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dir.c: Fixed up support for swapping "double complex"
	values (128 bits as 2 64 bits doubles).  GDAL gcore tests now
	pass on bigendian (macosx) system.

2005-07-28  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_aux.c, tif_dirread.c, tif_fax3.c, tiffiop.h}: Rename
	CheckMalloc() function to _TIFFCheckMalloc() and make it available
	globally as an internal helper routine.

2005-07-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: More improvements in the "pass by value" part of
	the custom tags handling code.

2005-07-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dirread.c, tif_dirinfo.c}: Do not upcast BYTEs to
	SHORTs in the TIFFFetchByteArray(). Remove TIFFFetchExtraSamples()
	function, use TIFFFetchNormalTag() instead as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=831

	Remove TIFFFetchExtraSamples() function, use TIFFFetchNormalTag()
	instead. 

	* libtiff/tiffconf.h.in: One more attempt to fix the AIX bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=39

2005-07-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_print.c: Fixed printing of the BYTE and SBYTE arrays.

	* tools/tiffdump.c: Added support for TIFF_IFD datatype.

2005-07-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_write.c: Do not check the PlanarConfiguration field in
	the TIFFWriteCheck() function in case of single band images (as per
	TIFF spec).

2005-07-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* SConstruct, libtiff/SConstruct: Added the first very preliminary
	support for SCons software building tool (http://www.scons.org/).
	This is experimental infrastructure and it will exist along with the
	autotools mechanics.

2005-07-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* port/{getopt.c, strcasecmp.c, strtoul.c}: Update modules from
	the NetBSD source tree (the old	4-clause BSD license changed to
	the new 3-clause one).

	* configure.ac, port/lfind.c, libtiff/tiffiop.h: Added lfind()
	replacement module.

	* port/dummy.c: Make the dummy function static.

2005-07-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Fixed WhitePoint tag copying.

	* libtiff/{tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_print.c}:
	Make FieldOfViewCotangent, MatrixWorldToScreen, MatrixWorldToCamera,
	ImageFullWidth, ImageFullLength and PrimaryChromaticities tags custom.

2005-07-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.7.3 released.

	* configure, configure.ac: Do not use empty -R option when linking
	with --enable-rpath.

2005-07-01  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffiop.h, tif_open.c}: Added open option 'h' to avoid
	reading the first IFD when needed. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=875

	* libtiff/tif_color.c: Better use of TIFFmin() macro to avoid side
	effects.

2005-06-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Print two characters per loop in the
	t2p_write_pdf_trailer(). As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=594

	* tools/tiffgt.c: Use MacOS X OpenGL framework when appropriate. As
	per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=844

	* acinclude.m4: Updated to latest OpenGL test macros versions.

	* libtiff/tiff.h: Use correct int size on Sparc 64bit/Sun compiler
	platform. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=855

2005-06-14  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirinfo.c: Added support for ClipPath, XClipPathUnits
	and YClipPathUnits tags.

2005-06-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* contrib/addtiffo/tif_ovrcache.c: Properly extract tile/strip size;
	use pixel sized shift in contigous case.

2005-06-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* contrib/addtiffo/{tif_overview.c, tif_ovrcache.c, tif_ovrcache.h}:
	Make overviews working for contiguos images.

2005-06-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_open.c: Replace runtime endianess check with the compile
	time one.

	* libtiff/tif_predict.c: Floating point predictor now works on
	big-endian hosts.

2005-06-01  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: Use _TIFFsetString() function when read custom
	ASCII values.

	* libtiff/{tif_dirinfo.c, tif_dir.h, tif_dir.c, tif_print.c}: Make
	DocumentName, Artist, HostComputer, ImageDescription, Make, Model,
	Copyright, DateTime, PageName, TextureFormat, TextureWrapModes and
	TargetPrinter tags custom.

	* libtiff/tif_jpeg.c: Cleanup the codec state depending on
	TIFF_CODERSETUP flag (to fix memry leaks).

	* libtiff/tif_jpeg.c: Initialize JPEGTables array with zero after
	allocating.

2005-05-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.ac, libtiff/Makefile.am: Added workaround for
	OpenBSD/MirOS soname problem as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=838

	* libtiff/tif_dirwrite.c: Use tdir_count when calling
	TIFFCvtNativeToIEEEDouble() in the TIFFWriteDoubleArray() function as
	per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=845

2005-05-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/ppm2tiff.c: Fixed format string when read PPM file header with
	the fscanf() function. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=861

	* libtiff/{tif_dirinfo.c, tif_print.c}: TIFFFetchByteArray() returns
	uint16 array when fetching the BYTE and SBYTE filds, so we should
	consider result as pointer to uint16 array and not as array of chars.
	As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=831

	* libtiff/tif_dir.c: More efficient custom tags retrieval as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=830

	* libtiff/tif_win32.c: Use FILE_SHARE_READ | FILE_SHARE_WRITE share
	mode in CreateFile() call as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=829

	* libtiff/Makefile.am: Fixed parallel compilation of the libtiff and
	libtiffxx libraries as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=826

	* contrib/addtiffo/{tif_overview.c, tif_ovrcache.h}: Sinchronized with
	GDAL.

2005-05-23  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Substantial fix for addtiffo problems with
	JPEG encoded TIFF files.  Pre-allocate lots of space for jpegtables
	in directory.

2005-05-22  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirread.c: Changed the code that computes 
	stripbytecount[0] if it appears bogus to ignore if stripoffset[0] is
	zero. This is a common case with GDAL indicating a "null" tile/strip.

2005-05-17  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffsplit.c: Check for JPEGTables tag presence before copying.

2005-05-06  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirread.c: Applied similar change to 
	TIFFFetchPerSampleLongs and TIFFFetchPerSampleAnys. 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=843

	* libtiff/tif_jpeg.c: added LIB_JPEG_MK1 support in JPEGDecodeRaw().

2005-05-06  Andrey Kiselev  <dron@ak4719.spb.edu>
	* tools/tiff2pdfr.c, man/tiff2pdf.1: Calculate the tile width properly;
	added new option '-b' to use interpolation in output PDF files (Bruno
	Ledoux).

2005-05-05  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirread.c: Ensure that broken files with too many
	values in PerSampleShorts work ok instead of crashing.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=843

2005-04-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffdither.c: Copy the PhotometricInterpretation tag from the
	input file.

2005-04-15  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_predict.c: Added ability to encode floating point
	predictor, as per TIFF Technical Note 3.

2005-04-14  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_predict.h, tif_predict.c}: Added ability to decode
	floating point predictor, as per TIFF Technical Note 3.

2005-04-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffio.h, tiffiop.h, tif_dir.c, tif_read.c, tif_swab.c}:
	Added _TIFFSwab24BitData() and TIFFSwabArrayOfLong() functions used to
	swap 24-bit floating point values.

	* libtiff/tiff.h: Added predictor constants.

2005-04-08  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffiop.h, tif_dir.c}: Use uint32 type for appropriate
	values in _TIFFVSetField() function. Inspired by the bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=816

	* man/TIFFSetField.3tiff: Fixed definition of the TIFFTAG_INKNAMES tag
	as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=816

2005-03-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_open.c: Do not read header in case the output file
	should be truncated (Ron).

	* libtiff/{tif_dirinfo.c, tif_config.h.vc}: Use lfind() instead
	of bsearch() in _TIFFFindFieldInfoByName() function (Ron).

	* libtiff/{tiff.h, tif_dirinfo.c}: Fixes in EXIF tag ordering (Ron).

2005-03-22  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.ac, libtiff/Makefile.am: Use libtool machinery to pass
	rpath option.

2005-03-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.c, tif_print.c}: Handle all data types in custom
	tags.

2005-03-18  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/dirinfo.c: Added DNG tags.

	* libtiff/{tif_dir.c, tif_print.c}: More improvements in custom tag
	handling code.

	* libtiff/tiff.h: More comments; added missed DNG tag (LensInfo);
	added DNG 1.1.0.0 tags.

	* tools/tif2pdf.c: Fixed problem with alpha channel handling as per
	bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=794

	* man/TIFFGetField.3tiff: Add a note about autoregistered tags.

2005-03-17  Andrey Kiselev  <dron@ak4719.spb.edu>

	* nmake.opt: Build with Win32 CRT library by default.

	* tools/tiff2ps.c: Fixed typo in page size handling code.

	* libtiff/{tif_dir.c, tif_print.c}: Support for custom tags, passed
	by value.

	* libtiff/{tiff.h, tif_dirinfo.c, tiffiop.h}: Added EXIF related tags.

2005-03-15  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.7.2 released.

2005-03-09  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcmp.c: Added ability to compare the 32-bit integer and
	floating point data; complain on unsupported bit depths.

2005-03-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tif_stream.cxx: Use ios namespace instead of ios_base to support
	GCC 2.95.

	* libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied correct patch from
	Lee Howard for HylaFax DCS tag
	(see http://bugzilla.remotesensing.org/show_bug.cgi?id=771)

2005-03-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure, configure.ac: Use -rpath option instead of -R as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=732

	* libtiff/{tiff.h, tif_fax3.tif, tif_jpeg.c}: Applied patch from Lee
	Howard to support a new tag TIFFTAG_FAXDCS (34911) used in HylaFax
	software. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=771

	* nmake.opt, html/build.html: Add more comments, change the config
	file organization a bit as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=764

	* tools/tiffcmp.c: Use properly sized buffer in short arrays comparison
	as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=785

2005-03-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: More logic to guess missed strip size as per
	bug http://bugzilla.remotesensing.org/show_bug.cgi?id=705

	* tools/fax2ps.c: Replace insecure mktemp() function with the
	tmpfile() as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=786

2005-02-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tiff.h: Changed the int8 definition to be always signed char
	as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=727

	* libtiff/tiffio.h: Move TIFFOpenW() function into the extern "C"{}
	block as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=763

2005-02-03  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffgt.c: Fix problem on big-endian CPUs so that images
	display more correctly.  Images display brighter than they should
	on a Sun workstation.

2005-02-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Estimate strip size in case of wrong or
	suspicious values in the tags. As per bugs

	http://bugzilla.remotesensing.org/show_bug.cgi?id=705

	and

	http://bugzilla.remotesensing.org/show_bug.cgi?id=320

	* tools/tiff2ps.c: Fixed problem with page sizes as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=742

2005-01-31  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tiff.h (TIFFTAG_TILEWIDTH): Corrected description.
	(TIFFTAG_TILELENGTH): Corrected description.

2005-01-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.ac: Fixes for --with-docdir option as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=759

	* libtiff/tif_open.c: Remove unnesessary TIFFSeekFile() call as per
	bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=756

	* libtiff/tif_stream.cxx: Fixes for C++ stream interface from
	Michael Rinne and Edward Lam.

2005-01-15  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.ac: Make the documentation directory location configurable
	via the --with-docdir option (as suggested by Jeremy C. Reed).

	* libtiff/tif_color.c: Use double as the second argument of pow()
	function in TIFFCIELabToRGBInit(). As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=741

	* libtiff/tif_pixarlog.c: Avoid warnings when converting float to
	integer as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=740

	* libtiff/tif_getimage.c: Always fill the error message buffer in
	TIFFRGBAImageBegin() as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=739
	
2005-01-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_jpeg.c: Added ability to read/write the fax specific
	TIFFTAG_FAXRECVPARAMS, TIFFTAG_FAXSUBADDRESS and TIFFTAG_FAXRECVTIME
	tags as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=736

	* libtiff/tif_win32.c: Fixed message formatting in functions
	Win32WarningHandler() and Win32ErrorHandler() as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=735

	* tools/tiff2ps.c: Interpret the -w and -h options independently. As
	per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=689

2005-01-11  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tiffio.h: Move the color conversion routines in the 'extern
	"C"' section as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=727

	* libtiff/tiff.h: Restore back the workaround for AIX Visual Age C
	compiler to avoid double definition of BSD types as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=39	

	* libtiff/Makefile.am: Place the C++ stream API in the separate
	library called libtiffxx to avoid unneeded dependencies. Probably
	there will be more C++ API in the future. As per bugs

	http://bugzilla.remotesensing.org/show_bug.cgi?id=733

	and

	http://bugzilla.remotesensing.org/show_bug.cgi?id=730

2005-01-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffdump.c: Fixed problem when read broken TIFFs with the
	wrong tag counts (Dmitry V. Levin, Martin Pitt).

	* configure.ac: Replace --disable-c++ with the --disable-cxx option as
	per bug http://bugzilla.remotesensing.org/show_bug.cgi?id=730

2004-12-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_getimage.c: More fixes for multiple-alpha-channelled
	RGB-images as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=713


	* tools/tiffset.c: Convert character option to integer value as per
	bug http://bugzilla.remotesensing.org/show_bug.cgi?id=725

2004-12-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.7.1 released.

	* html/tiffset.1.html: Add missed manual page as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=678

	* libtiff/tiff.h: Revert back libtiff data type definitions as per
	bug http://bugzilla.remotesensing.org/show_bug.cgi?id=687

2004-12-19  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Do not forget about TIFF_VARIABLE2 when
	checking for tag count in TIFFReadDirectory() function. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=713

	* libtiff/{tif_dirread.c, tif_fax3.c}: More argument checking in
	CheckMallock() function.

	* libtiff/tif_getimage.c: Support for multiple-alpha-channelled
	RGB-images as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=718

2004-12-15  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c: #define A1 bracketing for clean build on
	SunPro compiler. 

2004-12-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* autogen.sh: aclocal and autoheader should be executed after
	libtoolize.  Also add '-I .' to aclocal invocation to check
	current directory for macros.

2004-12-10  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirwrite.c: Always write TIFFTAG_SUBIFD using LONG type
	as per bugs
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=703

	and

	http://bugzilla.remotesensing.org/show_bug.cgi?id=704

2004-12-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* nmake.opt: Link with the user32.lib in windowed mode. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=697

	* libtiff/tif_win32.c: Use char* strings instead of TCHAR in windowed
	mode as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=697

	* libtiff/tif_config.in.vc: Removed unneded definitions for
	read/open/close/lseek functions to fix the
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=680
	
2004-12-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.c, tif_dirread.c}: Remove TIFFReassignTagToIgnore()
	call from the TIFFReadDirectory() function. TIFFReassignTagToIgnore
	must be removed in the future, as it was never used properly. As per
	bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=692

2004-11-30  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_jpeg.c: Added a work-around in order to allow
	compilation with the heavily modified version of libjpeg delivered
	with Cygwin.

2004-11-29  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: Properly handle tags, which have the uint32
	counts. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=693

	* tools/fax2ps.c: Be able to extract the first page (#0). As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=690

2004-11-28  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_unix.c: Make UNIX module compilable (and usable)
	on Windows.

	* nmake.opt: Add missed DLLNAME variable.

2004-11-26  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/makefile.vc: make it easier to rename the libtiff DLL. 

2004-11-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* man/libtiff.3tiff: Improvements in the "LIST OF ROUTINES" table as
	per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=545

	* man/tiffset.1: Added manual page for tiffset tool written by Jay
	Berkenbilt. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=678

2004-11-23  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_error.c: fixed TIFFerror call to be TIFFError.

2004-11-21  Frank Warmerdam  <warmerdam@pobox.com>

	* html/document.html: Updated Adobe web links as per email from Joris.

2004-11-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffio.hxx, tiffio.h}: C++ stream interface moved to new
	file tiffio.hxx. We don't have any C++ in tiffio.h, those who want to
	use C++ streams should #include <tiffio.hxx>.

2004-11-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tiff.h: Added Adobe DNG tags.

	* libtiff/tif_win32.c: Typo fixed.

	* libtiff/{tif_stream.cxx, tiffio.h}: C++ stream interface updated to
	be compliant with the latest standard. Appropriate additions in
	makefiles now completed.

2004-11-11  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffset.c, libtiff/tif_dirinfo.c: Properly handle the
	different tag types. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=600

2004-11-10  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_aux.c: Set the appropriate ReferenceBlackWhite array for
	YCbCr image which lacks that tag (noted by Hans Petter Selasky).

2004-11-09  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_color.c: Division by zero fixed (Hans Petter Selasky).

2004-11-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_stream.cxx, tiffio.h}: Added C++ stream interface
	contributed by Edward Lam (see
	http://bugzilla.remotesensing.org/show_bug.cgi?id=654 for details).
	Though no changes in any makefiles yet.

2004-11-05  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_open.c: Removed close() in TIFFClientOpen() if file
	is bad. This is the callers responsibility.
	http://bugzilla.remotesensing.org/show_bug.cgi?id=651

2004-11-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffio.h, tif_win32.c, libtiff.def}: Added TIFFOpenW()
	function to work with the double byte strings (used to represent
	filenames in some locales). As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=625

	* libtiff/tif_dirread.c: Fixed problem when fetching BitsPerSample and
	Compression tags of type LONG from broken TIFFS as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=662

	* libtiff/tif_dirinfo.c: Fixed definition for TIFFTAG_RICHTIFFIPTC,
	the writecount should have uint32 type. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=662

	* libtiff/tif_write.c: Fixed wrong if() statement in
	TIFFAppendToStrip() function as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=660

2004-11-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirinfo.c: Change definition for TIFFTAG_EXTRASAMPLES
	field. The caller should supply a count when setting this field. As
	per bug

	 http://bugzilla.remotesensing.org/show_bug.cgi?id=648
	
	* libtiff/{tif_jpeg.c, tif_ojpeg.c}: TIFFTAG_JPEGTABLES should have
	uint32 count. Use this type everywhere.

2004-11-03  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_next.c: avoid use of u_long and u_char types.  Bug 653.

2004-11-02  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2rgba.c: removed extra newlines in usage message.

2004-10-30  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* libtiff/tif_dirwrite.c: Improvements in tag writing code.

	* tools/tiff2ps.c: Fixed wrong variable data type when read Position
	tags (Tristan Hill).

2004-10-30  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tiffiop.h: added fallback definition of assert() if we
	don't have assert.h.

2004-10-29  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_fax3.c: Fixed case with the wrong decode routines
	choosing when the incorrect Group4Options tag set. As per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=323

	* libtiff/tif_dirwrite.c: Fixed problem with passing count variable of
	wrong type when writing the TIFF_BYTE/TIFF_SBYTE tags in
	TIFFWriteNormalTag().

2004-10-28  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps.c: Fixed wrong variable data type when read Resolution
	tags (Peter Fales).

	* tools/{bmp2tiff.c, raw2tiff.c}: Get rid of stream I/O functions.

2004-10-28  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2pdf.c: added casts to avoid warnings.

	* libtiff/libtiff.def: Added several more entry points required
	to link fax2tiff.c against the DLL on windows. 

2004-10-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure, configure.ac: Added --enable-rpath option to embed linker
	paths into library binary.

2004-10-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffset.c: Check the malloc return value (Dmitry V. Levin).

	* libtiff/{tif_strip.c, tif_tile.c}: Zero division problem fixed
	(Vladimir Nadvornik, Dmitry V. Levin).

2004-10-16  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.7.0 released.

2004-10-15  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tif_jpeg.c: There seems to be no need to include stdio.h
	in this file so its inclusion is removed.  Including stdio.h
	sometimes incurs an INT32 typedef conflict between MinGW's
	basetsd.h and libjpeg's jmorecfg.h.

2004-10-15  Andrey Kiselev  <dron@ak4719.spb.edu>

	* man/bmp2tiff.1: Added manual page for bmp2tiff utility.

2004-10-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffcmp.c (leof): Renamed from 'eof' in order to avoid
	conflict noticed under MinGW.
	* ltmain.sh: Fix for MinGW compilation.

2004-10-13  Frank Warmerdam  <warmerdam@pobox.com>

	* man/tiffsplit.1: Fixed to indicate using aaa-zzz, not aa-zz.
	http://bugzilla.remotesensing.org/show_bug.cgi?id=635

2004-10-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dirread.c, tif_jpeg.c, tif_luv.c, tif_ojpeg.c,
	tif_pixarlog.c, tif_write.c}: Handle the zero strip/tile sizes
	properly (Dmitry V. Levin, Marcus Meissner).

2004-10-11  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirinfo.c: Type of the TIFFTAG_SUBIFD field changed
	to TIFF_IFD.

2004-10-10  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/bmp2tif.c: Check the space allocation results.

2004-10-09  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: Initialize td_tilewidth and td_tilelength fields
	of the TIFFDirectory structure with the 0 instead of -1 to avoid
	confusing integer overflows in TIFFTileRowSize() for striped images.

	* tools/tiff2pdf.c: Fixed TransferFunction tag handling reported
	by Ross A. Finlayson.

	* libtiff/tif_dir.c: Fixed custom tags handling as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=629

2004-10-08  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirinfo.c: Fix bug with tif_foundfield and reallocation
	of tif_fieldinfo.  

	http://bugzilla.remotesensing.org/show_bug.cgi?id=630

2004-10-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* contrib/iptcutil/README: Added the missing README which goes
	along with iptcutil.

2004-10-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_compress.c: Improved error reporting in
	TIFFGetConfiguredCODECs() (Dmitry V. Levin).

2004-10-02  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.7.0beta2 released.

	* libtiff/{tif_aux.c, tif_compress.c, tif_dirinfo.c, tif_dirwrite.c,
	tif_extension.c, tif_fax3.c, tif_luv.c, tif_packbits.c,
	tif_pixarlog.c, tif_write.c}: Added checks for failed memory
	allocations and	integer overflows (Dmitry V. Levin).

	* libtiff/tiff.h: Missed TIFF_BIGTIFF_VERSION constant added.

2004-10-01  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_open.c: added a more informative message if a BigTIFF
	file is opened.

2004-09-30  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirinfo.c: changed type of XMLPacket (tag 700) to 
	TIFFTAG_BYTE instead of TIFFTAG_UNDEFINED to comply with the info
	in the Adobe XMP Specification.

2004-09-29  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_jpeg.c, tif_pixarlog.c}: Use _TIFFmemset() instead of
	memset().

	* libtiff/{tif_dirread.c, tif_strip.c, tif_tile.c}: Applied patches
	from Dmitry V. Levin to fix possible integer overflow problems.

2004-09-28  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_getimage.c: Check for allocated buffers before clearing
	(Dmitry V. Levin).

2004-09-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dir.h, tif_dir.c, tif_dirread.c, tif_write.c}:
	Optimize checking for the strip bounds. 

	* libtiff/{tif_dirread.c, tif_strip.c}: TIFFScanlineSize() and
	TIFFRasterScanlineSize() functions report zero in the case of integer
	overflow now. Properly handle this case in TIFFReadDirectory()
	(patches from Dmitry V. Levin).

2004-09-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_dirinfo.c, tif_strip.c, tif_tile.c}: Use TIFFhowmany8()
	macro where appropriate.

	* tools/tiff2bw.c: Write ImageWidth/Height tags to output file, as
	noted by Gennady Khokhorin.

	* libtiff/tif_dirread.c: Always check the return values, returned
	by the _TIFFmalloc() (Dmitry V. Levin).

	* libtiff/tif_dir.c: Fixed possible integer overflow _TIFFset*Array()
	functions (Dmitry V. Levin).

	* libtiff/{tif_dirread.c, tif_dir.c, tif_write.c}:
	Potential memory leak fixed in TIFFReadDirectory(), _TIFFVSetField(),
	TIFFGrowStrips() (found by Dmitry V. Levin).

2004-09-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffio.h, tif_compress.c}: Added TIFFGetConfiguredCODECs()
	to get the list of configured codecs.

	* libtiff/{tiffiop.h, tif_dirread.c}: More overflow fixes from
	Dmitry V. Levin.

2004-09-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Applied patch from Dmitry V. Levin to fix
	possible integer overflow in CheckMalloc() function.

2004-09-22  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffiop.h, tif_strip.c}: Use TIFFhowmany8() macro instead
	of plain TIFFhowmany() where appropriate.

2004-09-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_getimage.c: Initialize arrays after space allocation.

2004-09-19  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.7.0beta released.

	* libtiff/{tif_luv.c, tif_next.c, tif_thunder.c}: Several buffer
	overruns fixed, as noted by Chris Evans.

2004-09-14  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* commit: Added a script to make it more convenient to commit
	updates.  The CVS commit message is extracted from this ChangeLog
	file.

2004-09-14  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.ac, configure, aclocal.m4, libtiff/{mkspans.c, tif_fax3.c,
	tif_getimage.c, tif_luv.c, tif_lzw.c, tif_ojpeg.c, tif_packbits.c,
	tif_predict.c, tif_read.c, tif_swab.c, tif_thunder.c, tif_write.c,
	tif_dir.c, tif_dirread.c, tif_dirwrite.c, tif_jpeg.c, tif_dirinfo.c,
	tif_vms.c, tif_print.c, tif_strip.c, tif_tile.c, tif_dir.h,
	tif_config.h.in, tiffiop.h}:
	Get rid of BSD data types (u_char, u_short, u_int, u_long).

2004-09-13  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* libtiff/tiff.h: Fix column tagging. Reference current Adobe XMP
	specification. Reference libtiff bug tracking system to submit
	private tag additions.

2004-09-12  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* tools/tiffgt.c: Include "tif_config.h".

	* configure.ac: Use AM_PROG_CC_C_O since it is now needed to build
	tiffgt.  This results in the 'compile' script being added to the
	project.

	* tools/Makefile.am (tiffgt_CFLAGS): Add extra build options
	required to find OpenGL headers necessary to build tiffgt.  Also
	ensure that the libtiff that we built is used rather than some other
	libtiff installed on the system.

2004-09-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.ac, acinclude.m4, aclocal.m4: New macros to detect GLUT
	libraries.

2004-09-11  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>

	* configure.ac: Pass library configuration defines via
	tif_config.h rather than extending CPPFLAGS. Configure a
	libtiff/tiffconf.h in order to satisfy application requirements
	(not used by library build). Do not define _POSIX_C_SOURCE=2 since
	this causes failure to build on systems which properly respect
	this request.

	* libtiff/tiffconf.h.in: New file to act as the template for the
	configured tiffconf.h

	* libtiff/files.lst (HDRS): Install the configured tiffconf.h.

2004-09-10  Frank Warmerdam  <warmerdam@pobox.com>

	* html/internals.html: Split off a discussion of adding new tags
	into addingtags.html.

2004-09-10  Andrey Kiselev  <dron@ak4719.spb.edu>

	* test/{ascii_tag.c, long_tag.c}: Preliminary test suite added.

	* tools/tiff2pdf.c: Fixed reading TransferFunction tag as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=590

	* libtiff/tif_print.c: Fixes in InkNames and NumberOfInks reporting.

	* libtiff/tif_dirread.c: Don't reject to read tags of the
	SamplesPerPixel size when the tag count is greater than number of
	samples as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=576

	* libtiff/tiff.h: Use _TIFF_DATA_TYPEDEFS_ guardian to switch off
	defining int8/uint8/... etc. types. As per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=607

2004-09-09  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2ps.c, tools/tiffmedian.c: fiddle with include files
	to avoid compile warnings about getopt() and a few other things.

2004-09-02  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Use memcpy() function instead of pointer
	assigning magic in TIFFFetchFloat().

2004-09-01  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffio.h, tif_open.c}: Applied patches from Joris Van Damme
	to avoid requirement for tiffiop.h inclusion in some applications. See
	here

	http://www.asmail.be/msg0054799560.html
	
	for details.

	* tools/fax2tiff.c: Use the new functions in the code.

2004-08-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Initialize arrays properly.

	* tools/tiff2ps.c: Avoid zero division in setupPageState() function;
	properly initialize array in PSDataBW().

2004-08-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: More fixes for bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=590

	from Ross Finlayson.

2004-08-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps.c: Fixed problem with uninitialized values.

	* libtiff/tif_dir.c: Initialize tif_foundfield data member in the
	TIFFDefaultDirectory() (in addition to 2004-08-19 fix).

	* tools/tiff2pdf.c: Fixed a bunch of problems as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=590

2004-08-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Applied patch from Ross Finlayson that checks
	that the input file has compression, photometric interpretation,
	etcetra, tags or if not than a more descriptive error is returned.

	* libtiff/tif_dirread.c: Fixed problem in TIFFReadDirectory() in the
	code, responsible for tag data type checking.

2004-08-19  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffiop.h, tif_dirinfo.c}: Fixed problem with the static
	variable as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=593

2004-08-16  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/ras2tiff.c: Fixed issue with missed big-endian checks as per
	bug http://bugzilla.remotesensing.org/show_bug.cgi?id=586

2004-08-01  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_config.h.in, tif_config.h.vc}: config.h.in and
	config.h.vc files renamed in the tif_config.h.in and tif_config.h.vc.

2004-07-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_lzw.c: LZW compression code is merged back from the
	separate package. All libtiff tools are updated to not advertise an
	abcence of LZW support.

2004-07-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tiffio.h: Revert thandle_t back to void* type.

2004-07-11  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_read.c, tif_tile.c, tif_strip.c}: Fixes in error
	messages, as suggested by Bernd Herd.

2004-07-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: Call TIFFError() instead of producing warnings
	when setting custom tags by value. Reported by Eric Fieleke.

2004-06-14  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/bmp2tiff.c: Add missed RawsPerStrip setting.

2004-06-08  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/bmp2tiff.c: Added new utility to convert Windows BMP files
	into TIFFs.

2004-06-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.7.0alpha released.

2004-06-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiff.h, tif_dirwrite.c, tif_fax3.c, tif_packbits.c,}: Get rid
	of ugly 64-bit hacks, replace them with the clever (autoconf based )
	ones :-).

	* libtiff/tiffio.h: Define thandle_t as int, not void* (may cause
	problems in 64-bit environment).

2004-06-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffset.c: tiffset now can set any libtiff supported tags.
	Tags can be supplied by the mnemonic name or number.

	* libtiff/{tiffio.h, tif_dir.h, tif_dirinfo.c,}: Added two new
	functions TIFFFindFieldInfoByName() and TIFFFieldWithName().

2004-05-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_ojpeg.c: Fixed problem with duplicated SOI and SOF
	markers as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=581

2004-05-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffsplit.c: Don't forget to copy Photometric
	Interpretation tag.

2004-05-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_open.c, tiffio.h}: New function added:
	TIFFIsBigEndian(). Function returns nonzero if given was file written
	in big-endian order.

	* tools/tiffsplit.c: 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
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=574
	
	for details.
	
2004-05-19  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_print.c: added (untested) support for printing
	SSHORT, SLONG and SRATIONAL fields.

	* tools/tiffcp.c: close output file on normal exit.

2004-05-17  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_fax3.c: Avoid reading CCITT compression options
	if compression type mismatches. See
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=565

2004-04-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_strip.c: Never return 0 from the
	TIFFNumberOfStrips().

2004-04-29  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 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

2004-04-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure.ac, libtiff/{tiff.h, config.h.in}: Added tests for int8,
	int16 and int32 types to avoid complains on some compilers. Details at

	http://bugzilla.remotesensing.org/show_bug.cgi?id=39

2004-04-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2pdf.c: Fixed problem with unaligned access as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=555

2004-04-14  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 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

2004-04-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 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

2004-04-04  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_open.c: close clientdata if TIFFClientOpen() fails
	via bad2. 

2004-03-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Properly set Photometric Interpretation in case of
	JPEG compression of grayscale images.

	* tools/tiffcp.c: Don't emit warnings when Orientation tag does not
	present in the input image.

2004-03-19  Andrey Kiselev  <dron@ak4719.spb.edu>

	* {many}: The first attempt to switch to autotools.

2004-03-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_open.c: Use dummy mmap/munmap functions in
	TIFFClientOpen() when the appropriate client functions was not
	supplied by user.

2004-03-02  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/ycbcr.c: fixed main() declaration as per:
	http://bugzilla.remotesensing.org/show_bug.cgi?id=513

2004-02-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffsplit.c: Copy JPEGTables tag contents for JPEG compressed 
	images. Reported by Artem Mirolubov.

	* libtiff/tif_dirread.c: Fixed problem with handling TIFF_UNDEFINED 
	tag type in TIFFFetchNormalTag() as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=508

2004-02-17  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_codec.c: Fixed typo in TIFFInitPackBits name as per:
	http://bugzilla.remotesensing.org/show_bug.cgi?id=494

2004-02-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_fax3.c: Fixed problem with CCITT encoding modes as per
	bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=483

	But we need more work on fax codec to support update mode.

2004-01-30  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/libtiff.def: Added TIFFCurrentDirOffset, TIFFWriteCheck,
	TIFFRGBAImageOK, and TIFFNumberOfDirectories as suggested by 
	Scott Reynolds. 

2004-01-29  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 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/tif_open.c: More fixes for

	http://bugzilla.remotesensing.org/show_bug.cgi?id=468

2004-01-28  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 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

	* tools/tiffcp.c: Fixed problem with wrong interpretation of the
	InkNames tag as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=466

	Memory leak fixed.

2004-01-21  Frank Warmerdam  <warmerdam@pobox.com>

	* 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. 

2004-01-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 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

2004-01-11  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 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.

2004-01-02  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Fixed problem with wrong Photometric setting for
	non-RGB images.

2003-12-31  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_win32.c: Fixed problem with _TIFFrealloc() when the NULL
	pointer passed. Patch supplied by Larry Grill.

	* libtiff/{tiff.h, tif_fax3.c}:Fixes for AMD 64 platform as
	suggested by Jeremy C. Reed.

2003-12-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff 3.6.1 released.

2003-12-24  Andrey Kiselev  <dron@ak4719.spb.edu>

	* config.guess, config.sub: Updated from the recent upstream.

2003-12-22  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_color, tif_getimage.c, tiffio.h}, man/TIFFcolor.3t:
	More cleanups in color conversion interface, added appropriate manual
	page.

2003-12-19  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_extension.c, tif_dirinfo.c, tiff.h}: Warnings fixed as
	per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=357

	* tools/tiff2ps.c: Added support for alpha channel. Fixes

	http://bugzilla.remotesensing.org/show_bug.cgi?id=428

	* libtiff/{libtiff.def, tif_color.c, tif_getimage.c, tiffio.h}:
	Interface for Lab->RGB color conversion is finally cleaned up.
	Added support for ReferenceBlackWhite tag handling when converted from
	YCbCr color space. The latter closes

	http://bugzilla.remotesensing.org/show_bug.cgi?id=120

2003-12-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_getimage.c, tiffio.h}: Avoid warnings.

	* libtiff/makefile.vc, tools/makefile.vc: Support for IJG JPEG
	library.

2003-12-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_getimage.c, tif_aux.c}: Read WhitePoint tag from the
	file and properly use it for CIE Lab->RGB transform.

2003-12-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: YCbCr->RGB
	conversion routines now in the tif_color.c module. New function
	TIFFYCbCrtoRGB() available in TIFF API.

	* libtiff/tif_dirwrite.c: Handle TIFF_IFD tag type correctly.

2003-12-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_getimage.c, tif_color.c, tiffio.h}: Improvements in
	CIE Lab conversion code. Start moving YCbCr stuff to the tif_color.c
	module.

	* libtiff/{tif_getimage.c, tiffio.h}, man{TIFFReadRGBAImage.3t,
	TIFFReadRGBAStrip.3t, TIFFReadRGBATile.3t, TIFFRGBAImage.3t}:
	Finally resolved problems with orientation handling. TIFFRGBAImage
	interface now properly supports all possible orientations, i.e. images
	will be flipped both in horizontal and vertical directions if
	required. 'Known bugs' section now removed from the appropriate manual
	pages. Closed bug entry:

	http://bugzilla.remotesensing.org/show_bug.cgi?id=322

2003-12-02  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dir.c: Fixed order of the parameters in TIFFError()
	function calls as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=440

2003-11-28 Ross Finlayson  <libtiff@apexinternetsoftware.com>

	* tools/tiff2pdf.c:  Some bugs fixed.

2003-11-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_luv.c: Fixed bug in 48-bit to 24-bit conversion routine,
	reported by Antonio Scuri.

	* man/tiff2pdf.1: Few improvements in page layout.

	* Makefile.in, /man/Makefile.in, /html/man/tiff2pdf.1.html:
	 Added support fpr tiff2pdf manual page.

2003-11-26 Ross Finlayson  <libtiff@apexinternetsoftware.com>

	* /man/tiff2pdf.1:  File added to repository.

2003-11-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* Makefile.in, /tools/{Makefile.in, makefile.vc}:
	 Added support fpr tiff2pdf utility.

2003-11-25  Ross Finlayson  <libtiff@apexinternetsoftware.com>

	* /tools/tiff2pdf.c:  File added to repository.

2003-11-22  Andrey Kiselev  <dron@ak4719.spb.edu>

	* /tools/raw2tiff.c: sqrtf() replaced with sqrt().

2003-11-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* /tools/raw2tiff.c: #include <getopt.h> removed.

	* tools/{Makefile.in, tiffgt.c}: Unmaintained and platform dependent
	sgigt utility removed and replaced with the completely rewritten
	portable tiffgt tool (depend on OpenGL and GLUT). Initial revision,
	there is a lot of things to improve.

	* libtiff/tif_ojpeg.c: TIFFVGetField() function now can properly
	extract the fields from the OJPEG files. Patch supplied by Ross
	Finlayson.

	* libtiff/{tiffio.h, tif_codec.c}, man/{libtiff.3t, TIFFcodec.3t}:
	Added new function TIFFIsCODECConfigured(), suggested by Ross
	Finlayson.

2003-11-18  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirinfo.c: Implemented binary search in
	_TIFFMergeFieldInfo(). Patch supplied by Ross Finlayson.

	* libtiff/tif_dir.h: _TIFFFindOrRegisterdInfo declaration replaced
	with _TIFFFindOrRegisterFieldInfo as reported by Ross Finlayson.

2003-11-17  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_dirread.c: do not mark all anonymously defined tags to be 
	IGNOREd.  

2003-11-17  Andrey Kiselev  <dron@ak4719.spb.edu>

	* contrib/pds/{tif_pdsdirread.c, tif_pdsdirwrite.c}: Use
	TIFFDataWidth() function insted of tiffDataWidth array.

2003-11-16  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiff.h, tif_dirinfo.c}: Added support for IFD (13)
	datatype, intruduced in "Adobe PageMaker TIFF Tech. Notes".

2003-11-15  Frank Warmerdam  <warmerdam@pobox.com>

	* Makefile.in: fixed missing backslash for tif_color.c in list.

2003-11-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_color.c, tif_getimage.c, tiffio.h, Makefile.in}:
	New color space conversion code: CIE L*a*b* 1976 images now supported
	by the TIFFRGBAImage interface. All introduced routines go to new
	module tif_color.c. Eventually all color conversion functions should
	be moved there.

2003-11-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/{ras2tiff.c, rasterfile.h}: Properly determine SUN Rasterfiles
	with the reverse byte order (it is reported by the magic header
	field). Problem reported by Andreas Wiesmann.

	* tools/raw2tiff.c, man/raw2tiff.1: Few improvements in correlation
	calculation function. Guessing mechanics now documented in manual page.

2003-11-11  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/raw2tiff.c: Implemented image size guessing using
	correlation coefficient calculation between two neighbour lines.

2003-11-09  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_tile.c: remove spurious use of "s" (sample) in the 
	planarconfig_contig case in TIFFComputeTile().

	http://bugzilla.remotesensing.org/show_bug.cgi?id=387

2003-11-09  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* libtiff/tiffiop.h: New macros: TIFFmax, TIFFmin and TIFFrint.
	
2003-11-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffio.h, tif_strip.c}, man/{TIFFstrip.3t, libtiff.3t}:
	Added TIFFRawStripSize() function as suggested by Chris Hanson.

2003-11-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_lzw.c, tif_fax3.c}: Proper support for update mode as
	per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=424

2003-10-29  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/libtiff.def: Added TIFFReadRGBAImageOriented.

	* html/build.html: Added note about GNU make requirement.

2003-10-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* Makefile.in: Fixes in using MAKEFLAGS as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=418

	* port/install.sh.in: Option -p added to the mkdir command to create
	all directory tree structure before installing.

2003-10-18  Andrey Kiselev  <dron@ak4719.spb.edu>

	* /tools/tiff2ps.c: #include <strings.h> replaced with the
	#include <string.h>.

2003-10-16  Andrey Kiselev  <dron@ak4719.spb.edu>

	* Makefile.in: Add an absolute path to the test_pics.sh call.

2003-10-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tiffcomp.h: #define _BSDTYPES_DEFINED when defining BSD
	typedefs.

2003-10-09  Andrey Kiselev  <dron@ak4719.spb.edu>

	* configure, libtiff/{Makefile.in, mkversion.c}:
	Relative buildings fixed.

	* tools/Makefile.in: Added "-I../libtiff" to the tiffset building
	rule.

2003-10-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* Makefile.in: Added missed v3.6.0.html.

	* libtiff/tiffio.h: Typo fixed: ORIENTATION_BOTTOMLEFT replaced with
	ORIENTATION_BOTLEFT.

2003-10-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 3.6.0 final release.

2003-10-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tif_getimage.c, tiffio.h}, man/TIFFReadRGBAImage.3t: New
	function TIFFReadRGBAImageOriented() implemented to retrieve raster
	array with user-specified origin position as suggested by Jason Frank.
	See
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=322

	for details.
	
	* tools/tiff2rgba.c: Switched to use TIFFReadRGBAImageOriented()
	instead of TIFFReadRGBAImage().

	* tools/tiff2ps.c: Fixed possible endless loop as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=404

2003-09-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Check field counter against number of fields
	in order to fix

	http://bugzilla.remotesensing.org/show_bug.cgi?id=366

	* libtiff/tif_fax3.c: Fix wrong line numbering as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=342

2003-09-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/{tiffiop.h, tif_dirread.c, tif_dir.c, tif_open.c,
	tif_close.c}: Store a list of opened IFD to prevent looping as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=383

2003-09-23  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: More fixes for	EstimateStripByteCounts(). See

	http://bugzilla.remotesensing.org/show_bug.cgi?id=358

2003-08-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffmedian.c: int declaration replaced with the uint32 to
	support large images as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=382

2003-08-12  Andrey Kiselev  <dron@ak4719.spb.edu>

 	* libtiff/Makefile.in: Fixed problem with building in different
	directory.

	* tools/tiff2ps.c: Added missing #include <strings.h>.

	* libtiff/tif_dirwrite.c: More fixes for custom tags code
	from Ashley Dreier.

2003-08-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps.c: Added page size setting when creating PS Level 2.
	Patch submitted by Balatoni Denes (with corrections from Tom
	Kacvinsky).

	* tools/tiff2ps.c: Fixed PS comment emitted when FlateDecode is
	being used. Reported by Tom Kacvinsky.

	* libtiff/tif_dirwrite.c: Fixed problem with custom tags writing,
	reported by Ashley Dreier.

	* libtiff/tif_print.c: Fixed problem with float tags reading, support
	for printing RATIONAL and BYTE tags added.

2003-08-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_lzw.c: Move LZW codec state block allocation back to
	TIFFInitLZW(), because its initialization in LZWSetupDecode() cause
	problems with predictor initialization. Remove O_RDONLY check during
	state block allocation to be able open LZW compressed files in update
	mode.

	Problem exist for libtiff version of the tif_lzw.c module. One from
	lzw-compression-kit hasn't such troubles.

2003-08-04  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_write.c: modified tif_write.c so that the various
	encoded write functions use tif_postdecode() to apply byte order
	swapping (swab) to the application passed data buffer if the same
	would be done when reading.  This allows us to write pixel data with
	more than 8 bits per sample to existing files of a non-native byte 
	order.  One side effect of this change is the applications buffer
	itself is altered in this case by the act of writing. 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=171

2003-07-25  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_open.c: avoid signed/unsigned casting warning
	initializing typemask as per patch from J.A. Strother.

	* tools/tiffcp.c: fixed signed/unsigned casting warning.

	* libtiff/tif_print.c: dos2unix conversion.

	* tools/tiffsplit.c: increased the maximum number of pages that
	can be split.  Patch provided by Andrew J. Montalenti.

2003-07-11  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/raw2tiff.c: Added option `-p' to explicitly select color
	space of input image data. Closes

	http://bugzilla.remotesensing.org/show_bug.cgi?id=364

2003-07-08  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_aux.c, tif_codec.c, tif_dir.c, tif_dirread.c, tif_extension.c,
	tif_fax3.c, tif_getimage.c, tif_luv.c, tif_lzw.c, tif_next.c, 
	tif_packbits.c, tif_predict.c, tif_print.c, tif_swab.c, tif_thunder.c:
	avoid casting warning at /W4. 

2003-07-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/thumbnail.c: Memory leak fixed as reported by Robert S. Kissel.

2003-06-30  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_pixarlog.c: Unused variables removed.

	* libtiff/{tif_dirread.c, tif_dir.c}: Fixed problem with
	EstimateStripByteCounts() as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=358

	* libtiff/{tif_dirwrite.c, tif_packbits.c}: Fixed compilation on
	64-bit architectures as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=357

	* libtiff/tif_dirinfo.c: TIFFDataWidth() returns 0 in case of
	unknown data type.
	
2003-06-19  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_print.c: fixed some serious bugs when printing
	custom tags ... almost certain to crash. 

	* libtiff/tif_dirread.c: Don't ignore custom fields that are
	autodefined.  Not sure how this got to be like this.

2003-06-18  Andrey Kiselev  <dron@ak4719.spb.edu>

	* 3.6.0 Beta2 released.

	* tools/tiffcmp.c, man/tiffcmp.1: Fixed problem with unused data
	comparing as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=349

	`-z' option now can be used to set the number of reported different
	bytes.
	
2003-06-09  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c, man/tiffcp.1: Added possibility to specify value -1
	to -r option to get the entire image as one strip. See

	http://bugzilla.remotesensing.org/show_bug.cgi?id=343

	for details.

2003-06-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Set the correct RowsPerStrip and PageNumber
	values as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=343

2003-05-27  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: modified segment_height calculation to always
	be a full height tile for tiled images.  Also changed error to just
	be a warning.

2003-05-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/fax2tiff.c: Page numbering fixed, as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=341

2003-05-20  Andrey Kiselev  <dron@ak4719.spb.edu>

	* contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README},
	configure, Makefile.in:	Switched back to the old behaviour. Likely
	better solution should be found for OJPEG support.

2003-05-11  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/mkversion.c: Fixed problem with wrong string size when
	reading RELEASE-DATE file.

2003-05-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps.c: Fixed bug in Ascii85EncodeBlock() function: array
	index was out of range.

2003-05-06  Andrey Kiselev  <dron@ak4719.spb.edu>

	* contrib/ojpeg/{Makefile.in, jdhuff.h, jinclude.h, ojpeg.c, README},
	configure, Makefile.in:	Improved libtiff compilation with OJPEG
	support. Now no need for patching IJG JPEG library, hack requred by
	libtiff will be compiled and used in-place. Implemented with
	suggestion and help from Bill Allombert, Debian's libjpeg maintainer.

	* libtiff/tif_aux.c: Properly handle TIFFTAG_PREDICTOR in
	TIFFVGetFieldDefaulted() function.

2003-05-05  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/ppm2tiff.c: PPM header parser improved: now able to skip
	comments.

	* tools/tiffdither.c: Fixed problem with bit fill order tag setting:
	was not copied from source image.

	* libtiff/getimage.c: Workaround for some images without correct
	info about alpha channel as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=331

2003-04-29  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps.c, man/tiff2ps.1: Add ability to generate PS Level 3.
	It basically allows one to use the /flateDecode filter for ZIP
	compressed TIFF images. Patch supplied by Tom Kacvinsky. Fixes

	http://bugzilla.remotesensing.org/show_bug.cgi?id=328

	* tools/tiff2ps.c: Force deadzone printing when EPS output specified
	as per bug

	http://bugzilla.remotesensing.org/show_bug.cgi?id=325

2003-04-17  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Removed additional check for StripByteCounts
	due to problems with multidirectory images. Quality of error messages
	improved.

2003-04-16  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiffcp.c: Fixed problem with colorspace conversion for JPEG
	encoded images. See bug entries
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=275

	and

	http://bugzilla.remotesensing.org/show_bug.cgi?id=23

	* libtiff/tif_dirread.c: Additional check for StripByteCounts
	correctness. Fixes

	http://bugzilla.remotesensing.org/show_bug.cgi?id=320

2003-03-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/{fax2ps.c, fax2tiff.c, gif2tiff.c, pal2rgb.c, ppm2tiff.c,
	ras2tiff.c, raw2tiff.c, rgb2ycbcr.c, thumbnail.c, tiff2bw.c,
	tiff2ps.c, tiff2rgba.c, tiffcp.c, tiffdither.c, tiffinfo.c,
	tiffmedian.c}: Added library version reporting facility to all tools.

2003-03-06  Frank Warmerdam  <warmerdam@pobox.com>

	* port/install.sh.in: Fixed problems with install producing paths
	like ///usr/local/lib on cygwin.

2003-02-27  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/fax2tiff.c, man/fax2tiff.1: New switch (-X) to set width of
	raw input page. Patch supplied by Julien Gaulmin. See

	http://bugzilla.remotesensing.org/show_bug.cgi?id=293

	for details.

2003-02-26  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dir.c: fixed up the tif_postdecode settings
	responsible for byte swapping complex image data.

	* libtiff/tif_lzw.c: fixed so that decoder state isn't allocated till
	LZWSetupDecode().  Needed to read LZW files in "r+" mode.

2003-02-07  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/ppm2tiff.c: Fixed problem with too many arguments.

2003-02-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/raw2tiff.c: Memory leak fixed.

2003-02-03  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/fax2tiff.c, man/fax2tiff.1: Applied patch from Julien Gaulmin
	(thanks, Julien!). More switches for fax2tiff tool for better control
	of input and output. Details at

	http://bugzilla.remotesensing.org/show_bug.cgi?id=272

2003-02-03  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Modified to defer initialization of jpeg
	library so that we can check if there is already any tile/strip data
	before deciding between creating a compressor or a decompressor. 

2003-01-31  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_write.c: TIFFWriteCheck() now fails if the image is
	a pre-existing compressed image.  That is, image writing to 
	pre-existing compressed images is not allowed.

	* libtiff/tif_open.c: Removed error if opening a compressed file
	in update mode. 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=198

2003-01-31  Andrey Kiselev  <dron@ak4719.spb.edu>

	* config.guess, config.sub: Updated to recent upstream versions.

2003-01-15  Frank Warmerdam  <warmerdam@pobox.com>

	* cut 3.6.0 Beta release.

2002-12-20  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* tools/fax2ps.c, man/fax2ps.1: Page size was determined
	in wrong way as per bug
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=239

2002-12-17  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirread.c: Allow wrong sized arrays in 
	TIFFFetchStripThing(). 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=49

2002-12-02  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dir.c: fix problem with test on td_customValueCount.
	Was using realloc even first time.  Fix by Igor Venevtsev.

2002-11-30  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dir.c: fixed bug with resetting an existing custom
	field value.

	* libtiff/tif_dir.c: Fixed potential problem with ascii "custom" 
	tags in TIFFVGetField() ... added missing break.

2002-10-14  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2ps.c: fixes a problem where "tiff2ps -1e" did not make
	the scanline buffer long enough when writing rgb triplets.
	The scanline needs to be 3 X the number of dots or else it will
	contain	an incomplete triplet and programs that try to separate
	the eps by redefining the colorimage operator will get messed up.
	Patch supplied by William Bader.

	* Makefile.in: added tif_extension.c to file list as per 
	http://bugzilla.remotesensing.org/show_bug.cgi?id=218.

2002-10-11  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* configure, config.site, libtiff/{tif_unix.c, Makefile.in}: Fix for
	large files (>2GiB) supporting. New option in the config.site:
	LARGEFILE="yes". Should be enough for I/O of the large files.

2002-10-10  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/html/v3.6.0.html: new release notes.

	* libtiff/index.html: removed faq, cvs snapshot cruft.  Added email
	link for Andrey.  Pointer to v3.6.0.html.

	* libtiff/Makefile.in: added direct rule for tiffvers.h for release.

2002-10-07  Andrey Kiselev  <dron@ak4719.spb.edu>
	* tools/tiff2ps.c, man/tiff2ps.1: Applied patch form Sebastian Eken
	(thanks, Sebastian!). New switches:
	-b # for a bottom margin of # inches
	-c   center image
	-l # for a left margin of # inches
	-r   rotate the image by 180 degrees
	New features merged with code for shrinking/overlapping.
	Previously added -c and -n switches (for overriding PS units) renamed
	in -x and -y respectively.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=200

	* html/man/*.html: Updated from actual manual pages.

2002-10-06  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: fixed problem with boolean defined with wrong
	size on windows.  Use #define boolean hack.  

	http://bugzilla.remotesensing.org/show_bug.cgi?id=188

	* libtiff/tiff.h: Don't do special type handling in tiff.h unless
	USING_VISUALAGE is defined.
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=39

2002-10-03  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tiff.h: added COMPRESSION_JP2000.

2002-10-02  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_dirread.c: Another fix for the fetching SBYTE arrays
	by the TIFFFetchByteArray() function. Should finally resolve
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=52
	
	* configure: Set -DPIXARLOG_SUPPORT option along with -DZIP_SUPPORT

	* html/Makefile.in: New targets added: html and groffhtml for
	producing HTML representations of the manual pages automatically.
	html target uses man2html tool, groffhtml uses groff tool.
	
2002-09-29  Frank Warmerdam  <warmerdam@pobox.com>

	* configure, libtiff/Makefile.in: Added SCO OpenServer 5.0.6 support
	from John H. DuBois III.  

2002-09-15  Andrey Kiselev  <dron@ak4719.spb.edu>

	* Makefile.in, /man/{raw2tiff.1, Makefile.in, libtiff.3}: Added
	manual page for raw2tiff(1) tool.
	
2002-09-12  Andrey Kiselev  <dron@ak4719.spb.edu>

	* /libtiff/{tiffio.h, tif_dir.h}: TIFFDataWidth() declaration moved to
	the tiffio.h header file.
	
	* Makefile.in, /man/{TIFFDataWidth.3t, Makefile.in, libtiff.3}: Added
	manual page for TIFFDataWidth() function

2002-09-08  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirread.c: Expand v[2] to v[4] in TIFFFetchShortPair()
	as per http://bugzilla.remotesensing.org/show_bug.cgi?id=196.

	* tools/tiff2ps.c: Don't emit BeginData/EndData DSC comments
	since we are unable to properly include the amount to skip. 
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=80

2002-09-02  Andrey Kiselev  <dron@ak4719.spb.edu>

	* /libtiff/tif_dirread.c: Fixed problem with SBYTE type data fetching
	in TIFFFetchByteArray(). Problem described at
	http://bugzilla.remotesensing.org/show_bug.cgi?id=52

2002-08-22  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* /libtiff/tif_dirinfo.c: Further additions to free custom fields
	in _TIFFSetupFieldInfo() function.
	See http://bugzilla.remotesensing.org/show_bug.cgi?id=169 for details.

	* /libtiff/tif_lzw.c: Additional consistency checking added in
	LZWDecode() and LZWDecodeCompat().
	Fixes http://bugzilla.remotesensing.org/show_bug.cgi?id=190
	and http://bugzilla.remotesensing.org/show_bug.cgi?id=100
	
	* /libtiff/tif_lzw.c:
	Added check for valid code lengths in LZWDecode() and
	LZWDecodeCompat(). Fixes
	http://bugzilla.remotesensing.org/show_bug.cgi?id=115

2002-08-16  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* /libtiff/{Makefile.vc, libtiff.def}:
	Missed declarations added.

2002-08-15  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_getimage.c: Ensure that TIFFRGBAImageBegin() returns the
	return code from the underlying pick function.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=177

	* tif_dir.h: changed FIELD_CODEC to 66 from 64 to avoid overlap 
	with FIELD_CUSTOM as mentioned in bug 169.

	* tif_close.c: added logic to free dynamically created anonymous
	field definitions to correct a small memory leak.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=169

2002-08-10  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* /tools/{raw2tiff.c, Makefile.in, Makefile.lcc, Makefile.vc}:
	New tool: raw2tiff --- raw images to TIFF converter. No manual page yet.

2002-07-31  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Fixed problem with setting of nrows in 
	JPEGDecode() as per bugzilla bug (issue 1):

	http://bugzilla.remotesensing.org/show_bug.cgi?id=129

	* libtiff/{tif_jpeg.c,tif_strip.c,tif_print.c}: Hacked tif_jpeg.c to
	fetch TIFFTAG_YCBCRSUBSAMPLING from the jpeg data stream if it isn't
	present in the tiff tags. 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=168

	* libtiff/tif_read.c, libtiff/tif_write.c: TIFFReadScanline() and
	TIFFWriteScanline() now set tif_row explicitly in case the codec has
	fooled with the value. 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=129

2002-06-22  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* /tools/tiff2ps.c: Added workaround for some software that may crash
	when last strip of image contains fewer number of scanlines than
	specified by the `/Height' variable. See
	http://bugzilla.remotesensing.org/show_bug.cgi?id=164
	for explanation.

2002-06-21  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps, man/tiff2ps.1: New functionality for tiff2ps utility:
	splitting long images in several pages. See
	http://bugzilla.remotesensing.org/show_bug.cgi?id=142 for explanation.
	Patch granted by John Williams <williams@morinda.com>.

2002-06-11  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/contrib/win95: renamed to contrib/win_dib.  Added new 
	Tiffile.cpp example of converting TIFF files into a DIB on Win32.  
	This one is described in:

	http://bugzilla.remotesensing.org/show_bug.cgi?id=143

	* libtiff/tif_ojpeg.c: Major upgrade from Scott.  See details at:

	http://bugzilla.remotesensing.org/show_bug.cgi?id=156

2002-05-10  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps: New commandline switches to override resolution
	units obtained from the input file. Closes
	http://bugzilla.remotesensing.org/show_bug.cgi?id=131

2002-04-26  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* libtiff/libtiff.def: Added missed declaration.
	
2002-04-22  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* tools/fax2tiff.c: Updated to reflect latest changes in libtiff.
	Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=125

2002-04-20  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* libtiff/tif_open.c: Pointers to custom procedures
	in TIFFClientOpen() are checked to be not NULL-pointers.
	
2002-04-18  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* libtiff/libtiff.def: Added missed declarations.

	* libtiff/tif_pixarlog.c: Updated for using tif_tagmethods structure.

2002-04-16  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_lzw.c: Additional checks for data integrity introduced.
	Should finally close
	http://bugzilla.remotesensing.org/show_bug.cgi?id=100
	
2002-04-10  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/tiff2ps: Division by zero fixed.
	Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=88

2002-04-09  Andrey Kiselev  <dron@ak4719.spb.edu>
	
	* libtiff/: tif_dirwrite.c, tif_write.c, tiffio.h:
	TIFFCheckpointDirectory() routine added.
	Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=124

	* man/: TIFFWriteDirectory.3t,  Makefile.in: Added description
	for the new function.

2002-04-08  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/: tif_codec.c, tif_compress.c, tiffiop.h: Introduced
	additional members tif->tif_decodestatus and tif->tif_encodestatus
	for correct handling of unconfigured codecs (we should not try to read
	data or to define data size without correct codecs).

	* libtiff/tif_getimage.c: The way of codecs checking in TIFFRGBAImageOK
	changed. Now it has used tif->tif_decodestatus and
	tif->tif_encodestatus.
	Should fix http://bugzilla.remotesensing.org/show_bug.cgi?id=119 (in
	case of __cvs_8.tif test image).

	* libtiff/: tif_dirinfo.c, tif_dirread.c: Somebody makes a bug in
	tif_dirread.c when TIFFCreateAnonFieldInfo was introduced.
	Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=119 in case
	of _cvs_00000-00.tif, _cvs_00000-01.tif and _cvs_00000-02.tif.

2002-04-04  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/: tif_lzw.c: Assertions in LZWDecode and LZWDecodeCompat
	replaced by warnings. Now libtiff should read corrupted LZW-compressed
	files by skipping bad strips.
	Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=100
	
2002-04-03  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirwrite.c: Removed some dead code.

	* libtiff/*: Cleanup some warnings.

	* libtiff/tif_dir.c: Fixed bug with count returned by TIFFGetField()
	for variable length FIELD_CUSTOM values.  Was int * but should be
	u_short *.

2002-04-01  Andrey Kiselev  <dron@ak4719.spb.edu>

	* tools/: tifcp.c: Added support for 'Orientation' tag in tiffcp
	utility (at cpStripToTile routine).

2002-03-27  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_dirread.c: avoid div-by-zero if rowbytes is zero in chop func.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=111

	* tif_print.c: Fixed so that ASCII FIELD_CUSTOM values with 
	passcount set FALSE can be printed (such as TIFFTAG_SOFTWARE).

	* libtiff/tif_dir.c,tif_dirinfo.c,tif_dir.h,tif_ojpeg.c: modified so 
	that TIFFTAG_SOFTWARE uses FIELD_CUSTOM as an example.

2002-03-26  Dwight Kelly  <dbmalloc@remotesensing.org>

	* libtiff/: tiff.h, tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
	tif_dirwrite.c: Added get/put code for new tag XMLPACKET as defined
	in Adobe XMP Technote. Added missing INKSET tag value from TIFF 6.0 spec 
	INKSET_MULTIINK (=2). Added missing tags from Adobe TIFF technotes: 
	CLIPPATH, XCLIPPATHUNITS, YCLIPPATHUNITS, OPIIMAGEID, OPIPROXY and
	INDEXED. Added PHOTOMETRIC tag value from TIFF technote 4 ICCLAB (=9).

2002-03-26  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/: tif_getimage.c: TIFFReadRGBAStrip and TIFFReadRGBATile
	now also uses TIFFRGBAImageOK before reading. This is additional fix
	for http://bugzilla.remotesensing.org/show_bug.cgi?id=110

2002-03-25  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/: tif_getimage.c: Additional check for supported
	codecs added in TIFFRGBAImageOK and TIFFReadRGBAImage now uses
	TIFFRGBAImageOK before reading.
	Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=110

2002-03-15  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/: tif_dir.c, tif_dir.h, tif_dirinfo.c, tif_dirread.c,
	tif_dirwrite.c: Added routine TIFFDataWidth for detrmining
	TIFFDataType sizes instead of working with tiffDataWidth array
	directly. Should prevent out-of-borders bugs in case of unknown or
	broken data types.  EstimateStripByteCounts routine modified, so it
	won't work when tags with uknown sizes founded.
	Closes http://bugzilla.remotesensing.org/show_bug.cgi?id=109

2002-03-13  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/tif_getimage.c: Added support for correct handling
	`Orientation' tag in gtTileContig. Should be added in other gt*
	functions as well, but I have not images for testing yet. Partially
	resolves http://bugzilla.remotesensing.org/show_bug.cgi?id=23

2002-03-10  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/: tif_dirinfo.c, tif_dirwrite.c: Added possibility to
	read broken TIFFs with LONG type used for TIFFTAG_COMPRESSION,
	TIFFTAG_BITSPERSAMPLE, TIFFTAG_PHOTOMETRIC.  Closes
	http://bugzilla.remotesensing.org/show_bug.cgi?id=99

2002-03-08  Andrey Kiselev  <dron@ak4719.spb.edu>

	* libtiff/Makefile.in, tools/Makefile.in: Shared library will not
	be stripped when installing, utility binaries will do.	Closes
	http://bugzilla.remotesensing.org/show_bug.cgi?id=93

2002-02-28  Frank Warmerdam  <warmerdam@pobox.com>

	* man/TIFFGetField: fixed type of TIFFTAG_COPYRIGHT.

	* man/libtiff.3t: added copyright tag info.

2002-02-11  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/{tiff.h,tif_fax3.c}: Add support for __arch64__.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=94

	* man/Makefile.in: Patch DESTDIR handling 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=95

	* configure: OpenBSD changes for Sparc64 and DSO version.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=96

2002-02-05  Frank Warmerdam  <warmerdam@pobox.com>

	* config.site/configure: added support for OJPEG=yes option to enable
	OJPEG support from config.site.

2002-01-27  Frank Warmerdam  <warmerdam@pobox.com>

	* html/document.html: fixed links for TIFf 6 docs.

2002-01-18  Frank Warmerdam  <warmerdam@pobox.com>

	* config.guess, config.sub: Updated from ftp.gnu.org/pub/config.

	* libtiff/tif_read.c: Fixed TIFFReadEncodedStrip() to fail if the
	decodestrip function returns anything not greater than zero as per
	http://bugzilla.remotesensing.org/show_bug.cgi?id=97

	* configure: Modify CheckForBigEndian so it can work in a cross
	compiled situation.

2002-01-16  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiffdump.c: include TIFFTAG_JPEGTABLES in tag list.

	* tools/tiffset.c: fix bug in error reporting.

	* tools/tiffcp.c: fix several warnings that show up with -Wall.

2002-01-04  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: fixed computation of segment_width for 
	tiles files to avoid error about it not matching the 
	cinfo.d.image_width values ("JPEGPreDecode: Improper JPEG strip/tile 
	size.") for ITIFF files.  Apparently the problem was incorporated since
	3.5.5, presumably during the OJPEG/JPEG work recently.

2001-12-15  Frank Warmerdam  <warmerdam@pobox.com>

	* configure, libtiff/Makefile.in: Changes for building on MacOS 10.1.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=94

	* libtiff/tif_getimage.c: If DEFAULT_EXTRASAMPLE_AS_ALPHA is 1 
	(defined in tiffconf.h - 1 by default) then the RGBA interface
	will assume that a fourth extra sample is ASSOCALPHA if the
	EXTRASAMPLE value isn't set for it.  This changes the behaviour of
	the library, but makes it work better with RGBA files produced by
	lots of applications that don't mark the alpha values properly.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=93
	http://bugzilla.remotesensing.org/show_bug.cgi?id=65

2001-12-12  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: allow jpeg data stream sampling values to 
	override those from tiff directory.  This makes this work with 
	ImageGear generated files. 

2001-12-07  Frank Warmerdam  <warmerdam@pobox.com>

	* html/Makefile.in: added missing images per bug 92.

	* port/Makefile.in: fixed clean target per bug 92.

2001-11-28  Frank Warmerdam  <warmerdam@pobox.com>

	* Reissue 3.5.7 release.

	* libtiff/mkversion.c: Fix output of TIFF_VERSION to be
	YYYYMMDD so that it is increasing over time. 

	* Makefile.in: Ensure that tiffvers.h is regenerated in the
	make release target.

	* Makefile.in: added libtiff/tiffvers.h to the release file list.

2001-11-23  Frank Warmerdam  <warmerdam@pobox.com>

	* added html/v3.5.7.html, updated html/index.html.

	* Makefile.in: added contrib/addtiffo/tif_ovrcache.{c,h}.

2001-11-15  Frank Warmerdam  <warmerdam@pobox.com>

	* configure: fixed test for -lm.

2001-11-02  Frank Warmerdam  <warmerdam@pobox.com>

	* Added PHOTOMETRIC_ITULAB as per bug 90.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=90

2001-10-10  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tiff.h: I have created COMPRESSION_CCITT_T4, 
	COMPRESSION_CCITT_T6, TIFFTAG_T4OPTIONS and TIFFTAG_T6OPTIONS aliases 
	in keeping with TIFF 6.0 standard in tiff.h

	http://bugzilla.remotesensing.org/show_bug.cgi?id=83

2001-09-26  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirwrite.c: added TIFFRewriteDirectory() function.
	Updated TIFFWriteDirectory man page to include TIFFRewriteDirectory.

2001-09-24  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_lzw.c: Avoid MS VC++ 5.0 optimization bug.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=78

	* libtiff/tif_lzw.c: added dummy LZWSetupEncode() to report an
	error about LZW not being available.

	* libtiff/tif_dir.c: propagate failure to initialize compression
	back from TIFFSetField() as an error status, so applications can 
	detect failure.

	* libtiff/tif_dir.c: removed the auto replacement of 
	COMPRESSION_LZW with COMPRESSION_NONE in _TIFFVSetField().

	* Removed Makefile, tools/Makefile, port/install.sh, man/Makefile
	from CVS as they are all supposed to be auto-generated by configure.

2001-09-22  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_ojpeg.c: new update from Scott. 

2001-09-09  Frank Warmerdam  <warmerdam@pobox.com>

	* libtif/tif_fax3.c: Removed #ifdef PURIFY logic, and modified to
	always use the "safe" version, even if there is a very slight
	cost in performance.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=54

	* libtiff/Makefile.in: Fixed @DSOSUB_VERSION to be @DSOSUF_VERSION@
	in two places.

	* libtiff/tif_getimage.c: Fixed problem with reading strips or
	tiles that don't start on a tile boundary.  Fix contributed by
	Josep Vallverdu (from HP), and further described in bug 47.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=47

	* tools/tiff2ps.c: added OJPEG YCbCr to RGB support. 

	* libtiff/tif_ojpeg.c: Applied substantial patch from Scott.

2001-09-06  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_packbits.c: fixed memory overrun error.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=77
	
2001-08-31  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c: relax handling of contig case where
	there are extra samples that are supposed to be ignored.  This
	should now work for 8bit greyscale or palletted images.  

	http://bugzilla.remotesensing.org/show_bug.cgi?id=75	

2001-08-28  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c: Don't complain for CMYK (separated)
	images with more than four samples per pixel.  See:

	http://bugzilla.remotesensing.org/show_bug.cgi?id=73

2001-08-10  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c: Use memmove() instead of TIFFmemcpy()
	in TIFFReadRGBATile() to avoid issues in cases of overlapping
	buffers.  See Bug 69 in Bugzilla. 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=69
	
	* tools/tiff2rgba.c: fixed getopt() call so that -b works again.

2001-08-09  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tiff.h, libtiff/tif_fax3.c: added check for __LP64__ 
	when checking for 64 bit architectures as per bugzilla bug 67.

2001-07-27  Frank Warmerdam  <warmerdam@pobox.com>

	* man/Makefile.in: add TIFFClientOpen link as per debian submitted
	bug 66.

2001-07-20  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_jpeg.c: Define HAVE_BOOLEAN on windows if RPCNDR.H 
	has been included.

2001-07-19  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_open.c: Seek back to zero after failed read,
	before writing header.

2001-07-18  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_ojpeg.c: updates from Scott.  Handles colors
	much better.  Now depends on having patched libjpeg as per
	patch in contrib/ojpeg/*. 

2001-07-17  Frank Warmerdam  <warmerdam@pobox.com>

	* */Makefile.in: added DESTDIR support. 

	http://bugzilla.remotesensing.org/show_bug.cgi?id=60

2001-07-16  Frank Warmerdam  <warmerdam@pobox.com>

	* configure, libtiff/Makefile.in: applied OpenBSD patches
	as per:
	
	http://bugzilla.remotesensing.org/show_bug.cgi?id=61

2001-06-28  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_getimage.c: Fixed so that failure is properly
	reported by gtTileContig, gtStripContig, gtTileSeparate and 
	gtStripSeparate.

	See http://bugzilla.remotesensing.org/show_bug.cgi?id=51

	* tiffcmp.c: Fixed multi samples per pixel support for ContigCompare.  
	Updated bug section of tiffcmp.1 to note tiled file issues.
	
	See http://bugzilla.remotesensing.org/show_bug.cgi?id=53

2001-06-22  Frank Warmerdam  <warmerdam@pobox.com>

	* configure: Changes for DSO generation on AIX provided by
	John Marquart <jomarqua@indiana.edu>.

	* configure, libtiff/Makeifle.in: Modified to build DSOs properly
	on Darwin thanks to Robert Krajewski (rpk@alum.mit.edu) and
	Keisuke Fujii (fujiik@jlcuxf.kek.jp).

2001-06-13  Frank Warmerdam  <warmerdam@pobox.com>

	* tools/tiff2rgba.c: added -n flag to avoid emitting alpha component.

	* man/tiff2rgba.1: new

2001-05-22  Frank Warmerdam  <warmerdam@pobox.com>

	* Added tiffset and tif_ojpeg to the dist lists in Makefile.in.

2001-05-13  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tools/thumbnail.c: changed default output compression
	to packbits from LZW since LZW isn't generally available.

2001-05-12  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_ojpeg.c: New.
	libtiff/tif_jpeg.c, tiffconf.h, tif_getimage.c: changes related
	to OJPEG support.

	Scott Marovich <marovich@hpl.hp.com> supplied OJPEG support.

2001-05-11  Frank Warmerdam  <warmerdam@pobox.com>

	* tiff.h: removed, it duplicates libtiff/tiff.h.

2001-05-08  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirinfo.c: moved pixar and copyright flags to 
	ensure everything is in order.

	* libtiff/libtiff.def: added TIFFCreateDirectory and 
	TIFFDefaultStripSize as per:

	  http://bugzilla.remotesensing.org/show_bug.cgi?id=46

2001-05-02  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirinfo.c: Modified the TIFF_BYTE definition for
	TIFFTAG_PHOTOSHOP to use a writecount of TIFF_VARIABLE2 (-3) to
	force use of uint32 counts instead of short counts. 

	* libtiff/tif_dirwrite.c: Added support for TIFF_VARIABLE2 in the
	case of writing TIFF_BYTE/TIFF_SBYTE fields.  

	http://bugzilla.remotesensing.org/show_bug.cgi?id=43

2001-05-01  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_dirinfo.c: removed duplicate TIFFTAG_PHOTOSHOP as per
	bug report http://bugzilla.remotesensing.org/show_bug.cgi?id=44

2001-04-05  Frank Warmerdam  <warmerdam@pobox.com>

	* tiffio.h: removed C++ style comment.

	* configure: fixed up SCRIPT_SH/SHELL handling.

	* Makefile.in: Fixed SCRIPT_SH/SHELL handling.

	* config.guess: documented more variables as per bug 40.

2001-04-03  Frank Warmerdam  <warmerdam@pobox.com>

	* configure, *Makefile.in: Various changes to improve configuration
	for HP/UX specifically, and also in general.  They include:
	 - Try to handle /usr/bin/sh instead of /bin/sh where necessary.
	 - Upgrade to HP/UX 10.x+ compiler, linker and dso options.
	 - Fixed mmap() test to avoid MMAP_FIXED ... it isn't available on HP
	 - Use -${MAKEFLAGS} in sub makes from makefiles.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=40

2001-04-02  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tiff.h: Applied hac to try and resolve the problem
	with the inttypes.h include file on AIX.

	See http://bugzilla.remotesensing.org/show_bug.cgi?id=39
	
	* VERSION: update to 3.5.7 beta in preparation for release.

	* configure/config.site: modified to check if -lm is needed for
	MACHDEPLIBS if not supplied by config.site.  Needed for Darwin.

	* config.guess: updated wholesale to an FSF version apparently 
	from 1998 (as opposed to 1994).  This is mainly inspired by 
	providing for MacOS X support.

2001-03-29  Frank Warmerdam  <warmerdam@pobox.com>

	* configure, Makefile.in, etc: added support for OPTIMIZER being
	set from config.site. 

2001-03-28  Frank Warmerdam  <warmerdam@pobox.com>

	* fax2ps.c: Helge (libtiff at oldach.net) submitted fix:

	Here's a fix for fax2ps that corrects behaviour for non-Letter paper
	sizes. It fixes two problems:

	Without	scaling (-S) the fax is now centered on the page size specified
	with -H	and/or -W. Before, fax2ps was using an obscure and practially
	useless algorithm to allocate the image relative to Letter sized paper
	which sometime sled to useless whitespace on the paper, while at the
	same time cutting of the faxes printable area at the opposite border.

	Second, scaling now preserves aspect ratio, which makes unusual faxes
	(in particular short ones) print properly.

	See http://bugzilla.remotesensing.org/show_bug.cgi?id=35
	
	* tiff2ps.c/tiff2ps.1: Substantial changes to tiff2ps by
	Bruce A. Mallett.  See check message for detailed information
	on all the changes, including a faster encoder, fixes for level
	2 PostScript, and support for the imagemask operator.

2001-03-27  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tiffio.h: Changed "#if LOGLUV_PUBLIC" to 
	"#ifdef LOGLUV_PUBLIC" so it will work with VisualAge on AIX.

	http://bugzilla.remotesensing.org/show_bug.cgi?id=39

2001-03-16  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_dirinfo.c: moved definition of copyright tag in field list.
	Apparently they have to be in sorted order by tag id.

2001-03-13  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_getimage.c: Added support for 16bit minisblack/miniswhite 
	images in RGBA interface.

2001-03-02  Frank Warmerdam  <warmerdam@pobox.com>

	* Added TIFFTAG_COPYRIGHT support.

2001-02-19  Frank Warmerdam  <warmerdam@pobox.com>

	* Brent Roman contributed updated tiffcp utility (and tiffcp.1)
	with support for extracting subimages with the ,n syntax, and also
	adding the -b bias removal flag. 

2001-02-16  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/libtiff.def: Brent Roman submitted new version adding
	serveral missing entry points. 

	* libtiff/tif_dirinfo.c: don't declare tiffFieldInfo static on VMS.
	Some sort of weird VMS thing.  

	http://bugzilla.remotesensing.org/show_bug.cgi?id=31

	* tif_luv.c/tiff.h/tiffio.h: 
	New version of TIFF LogLuv (SGILOG) modules contributed by Greg Ward 
	(greg@shutterfly.com).  He writes:

	1) I improved the gamut-mapping function in tif_luv.c for imaginary
	colors, because some images were being super-saturated on the input 
	side and this resulted in some strange color shifts in the output.

	2) I added a psuedotag in tiff.h to control random dithering during
	LogLuv encoding.  This is turned off by default for 32-bit LogLuv and 
	on for 24-bit LogLuv output.  Dithering improves the average color 
	accuracy over the image.

	3) I added a #define for LOG_LUV_PUBLIC, which is enabled by default in
	tiffio.h, to expose internal routines for converting between LogLuv and
	XYZ coordinates.  This is helpful for writing more efficient,
	specialized conversion routines, especially for reading LogLuv files.

	Changes applied with minor edits.

2001-01-23  Frank Warmerdam  <warmerdam@pobox.com>

	* tif_fax3.c: keep rw_mode flag internal to fax3 state to remember
	whether we are encoding or decoding.  This is to ensure graceful 
	recovery if TIFFClientOpen() discovers an attempt to open a compressed
	file for "r+" access, and subsequently close it, as it resets the 
	tif_mode flag to O_RDONLY in this case to avoid writes, confusing the
	compressor's concept of whether it is in encode or decode mode.

2001-01-08  Mike Welles <mike@bangstate.com> 

	* Makefile.in:  Now cleaning up after itself after creating the .tar.gz and .zip
	
2001-01-07  Frank Warmerdam  <warmerdam@pobox.com>

	* html/libtiff.html: Fixed arguments in example for TIFFRGBAImageGet()
	as per bug report by Patrick Connor. 

2000-12-28  Frank Warmerdam  <warmerdam@pobox.com>

	* Added RELEASE-DATE file to release file list.

	* Fixed libtiff/makefile.vc to make tiffvers.h not version.h.

2000-12-22  Mike Welles <mike@bangstate.com> 
        * added link to CVS mirror from index.html
	
	* updated html/internals.html to note that LZW compression is 
	  not supported by default. 
	
2000-12-22  Frank Warmerdam  <warmerdam@pobox.com>

	* updated html/libtiff.html to not point at Niles' old JPL web site
	for the man pages, point at www.libtiff.org.

2000-12-21  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/tif_apple.c: Applied "Carbon" support patches supplied by
	Leonard Rosenthol <leonardr@lazerware.com>.  May interfere
	with correct building on older systems.  If so, please let me know.

2000-12-19 Mike Welles <mike@bangsate.com>   

	* Took out LZW Encoding from tif_lzw.c 

	* Created HOWTO-RELEASE

	* Created html/v3.5.6.html

	* updated index.html
	
2000-12-01  Frank Warmerdam  <warmerdam@pobox.com>

	* Added patches for EOFB support in tif_fax3.c and tif_fax3.h. 
	Patches supplied by Frank Cringle <fdc@cliwe.ping.de>
	Example file at: ftp://ftp.remotesensing.org/pub/libtiff/eofb_396.tif

2000-11-24  Frank Warmerdam  <warmerdam@pobox.com>

	* libtiff/Makefile.in: Added an installPrivateHdrs and install-private
	target so that the private headers required by libgeotiff can be
	installed with the others.  They are not installed by default.

	* libtiff/Makefile.in: Added @MACHLIBDEPS@ to LINUXdso and GNULDdso
	targets so libtiff.so will be built with an explicit dependency
	on libm.so.

	* libtiff/Makefile.in: Use softlinks to link libtiff.so.3 to 
	libtiff.so.3.5.5.  

	* libtiff/Makefile.in & configure: Remove all references to the ALPHA 
	file, or ALPHA version logic.  Added stuff about DIST_POINT in 
	place of DIST_TYPE and the alpha release number stuff.

2000-11-22  Frank Warmerdam  <warmerdam@pobox.com>

	* I have applied a patch from Steffen Moeller <moeller@ebi.ac.uk> to
	the configure script so that it now accepts the --prefix, and 
	--exec-prefix directives. 

2000-11-13  Frank Warmerdam  <warmerda@cs46980-c>

	* I have made a variety of modifications in an effort to ensure the 
	TIFFLIB_VERSION macro is automatically generated from the RELEASE-DATE
	file which seems to be updated regularly.  

	 o mkversion.c now reads RELEASE-DATE and emits TIFFLIB_VERSION in 
	   version include file. 
	 o renamed version.h to tiffvers.h because we now have to install it 
	   with the public libtiff include files.  
	 o include tiffvers.h in tiffio.h. 
	 o updated tif_version.c to use tiffvers.h.
	 o Updated Makefile.in accordingly.

	* As per http://bugzilla.remotesensing.org/show_bug.cgi?id=25
	I have updated the win32 detection rules in tiffcomp.h.

2000-10-20  Frank Warmerdam  <warmerda@cs46980-c>

	* tif_getimage.c: Fixed RGBA translation for YCbCr images for which
	the strip/tile width and height aren't multiples of the sampling size.
	See http://bugzilla.remotesensing.org/show_bug.cgi?id=20
	Some patches from Rick LaMont of Dot C Software.

	* Modified tif_packbits.c encoder to avoid compressing more 
	data than provided if rowsize doesn't factor into provided data
	(such as occurs for YCbCr).

2000-10-19  Frank Warmerdam  <warmerda@cs46980-c>

	* tools/rgb2ycbcr.c: fixed output strip size to account for vertical 
	roundup if rows_per_strip not a multiple of vertical sample size.

2000-10-16  Frank Warmerdam  <warmerda@cs46980-c>

	* tif_dir.c: Clear TIFF_ISTILED flag in TIFFDefaultDirectory
	as per http://bugzilla.remotesensing.org/show_bug.cgi?id=18
	from 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 http://bugzilla.remotesensing.org/show_bug.cgi?id=18

2000-10-12  Frank Warmerdam  <warmerda@cs46980-c>

	* Modified tiff2bw to ensure portions add to 100%, and that
	white is properly recovered. 
	
	See bug http://bugzilla.remotesensing.org/show_bug.cgi?id=15
	Patch c/o Stanislav Brabec <utx@penguin.cz>

2000-09-30  Frank Warmerdam  <warmerda@cs46980-c>

	* Modified TIFFClientOpen() to emit an error on an attempt to
	open a comperessed 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 http://bugzilla.remotesensing.org/show_bug.cgi?id=13

2000-09-27  Frank Warmerdam  <warmerda@cs46980-c>

	* Added GNULDdso target an`d switched linux and freebsd to use it. 

2000-09-26  Frank Warmerdam  <warmerda@cs46980-c>

	* Applied patch for 0x0000 sequences in tif_fax3.h's definition
	of EXPAND1D() as per bug 11 (from Roman). 

2000-09-25  Frank Warmerdam  <warmerda@cs46980-c>
	* 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 
	http://bugzilla.remotesensing.org/show_bug.cgi?id=11

	* Fixed tif_getimage.c to fix overrun bug with YCbCr images without
	downsampling.  http://bugzilla.remotesensing.org/show_bug.cgi?id=10
	Thanks to Nick Lamb <njl98r@ecs.soton.ac.uk> for reporting the
	bug and proving the patch.
	
2000-09-18  Frank Warmerdam  <warmerda@cs46980-c>

	* Fixed tif_jpeg.c so avoid destroying the decompressor before
	we are done access data thanks to bug report from:
	Michael Eckstein <eckstein@gepro.cz>.

	* Reverted tif_flush change.

2000-09-14  Frank Warmerdam  <warmerda@cs46980-c>

	* tif_flush.c: Changed so that TIFFFlushData() doesn't return an
	error when TIFF_BEENWRITING is not set.  This ensures that the
	directory contents can still be flushed by TIFFFlush().

2000-08-14  Frank Warmerdam  <warmerda@rommel.atlsci.com>

	* 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.

2000-07-17  Frank Warmerdam  <warmerda@cs46980-c>

	* Tentatively added support for SAMPLEFORMAT_COMPLEXIEEEFP, and
	SAMPLEFORMAT_COMPLEXINT.

2000-07-13  Mike Welles <mike@onshore.com> 

	* index.html, bugs.html: added bugzilla info. 
	
2000-07-12  Frank Warmerdam  <warmerda@rommel.atlsci.com>

	* 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 <peters@serendipity-software.com.au>

2000-06-15  Frank Warmerdam  <warmerda@rommel.atlsci.com>

	* Modified tiffio.h logic with regard to including windows.h.  It
	won't include it when building with __CYGWIN__.

2000-05-11  Frank Warmerdam  <warmerda@cs46980-c>

	* README: update to mention www.libtiff.org, don't list Sam's old
	email address.

	* configure: Fixed DSO test for Linux as per patch from
	  Jan Van Buggenhout <chipzz@Ace.ULYSSIS.Student.KULeuven.Ac.Be>.

2000-04-21  Frank Warmerdam  <warmerda@rommel.atlsci.com>

	* 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. 

2000-04-18  Frank Warmerdam  <warmerda@rommel.atlsci.com>

	* contrib/addtiffo: Added "averaging" resampling option.

	* tools/tiffsplit.c: Copy TIFFTAG_SAMPLEFORMAT.

Tue Apr 18 16:18:08 2000  Frank Warmerdam  <warmerda@esabot.atlsci.com>

	* tools/Makefile.in: Modified to install properly on SGI.

2000-04-12  Mike Welles	     <mike@onshore.com>
	* configure:  Fixed stupid mistake in libc6 test on Linux

2000-04-04  Mike Welles	     <mike@onshore.com> 
	* tif_win32.c:  Applied patch to fix overreads and ovverwrites
	  caught by BoundsChecker.  From Arvan Pritchard 
	  <arvan.pritchard@infomatix.co.uk>  (untested). 
	
	* tif_getimage.c:  Applied patch to silence VC6 warnings.  From 
	  Arvan Pritchard <arvan.pritchard@informatix.co.uk>
	
	* tif_lzw.c:  Applied patch to silence VC6 warnings.  From 
	  Arvan Pritchard <arvan.pritchard@informatix.co.uk>
	
2000-03-28  Frank Warmerdam  <warmerda@cs46980-c>

	* Added contrib/stream (stream io) code submitted by Avi Bleiweiss.

2000-03-28  Frank Warmerdam  <warmerda@cs46980-c>    *** 3.5.5 release ***

	* fax2ps: Fixed mixup of width and height in bounding box statement
	as per submission by Nalin Dahyabhai <nalin@redhat.com>.

2000-03-27  Mike Welles	     <mike@onshore.com> 

	* fax2ps:  Modified printruns to take uint32 instead of uint16.  
	Patch courtesy of Bernt Herd <herd@herdsoft.com> 
	
2000-03-20  Mike Welles	     <mike@onshore.com> 

	* configure: added test for libc6 for linux targets.  Bug reported by 
        Stanislav Brabec <utx@k332.feld.cvut.cz>

	* Added 3.5 docs to html/Makefile.in.  
	Thanks to  Stanislav Brabec <utx@k332.feld.cvut.cz>

	* configure: fixed bugs in sed scripts 
	(applied sed script s:/@:s;@:;s:/s;;:;: to configure). 
	fix submitted to Stanislav Brabec <utx@k332.feld.cvut.cz>

	* tools/iptcutil was not in files list, and wasn't being 
	added to tar archive.  Updated Makefile.in.

2000-03-17  Frank Warmerdam  <warmerda@cs46980-c>

	* tif_fax3.c: Fixed serious bug introduced during the uint16->uint32
	conversion for the run arrays.  

2000-03-03  Frank Warmerdam  <warmerda@cs46980-c.mtnk1.on.wave.home.com>

	* Set td_sampleformat default to SAMPLEFORMAT_UINT instead of 
	SAMPLEFORMAT_VOID in TIFFDefaultDirectory() in tif_dir.c.

2000-03-02  Frank Warmerdam  <warmerda@cs46980-c.mtnk1.on.wave.home.com>

	* Added "GetDefaulted" support for TIFFTAG_SAMPLEFORMAT in tif_aux.c.

	* Patched tif_fax3.c so that dsp->runs is allocated a bit bigger
	to avoid overruns encountered with frle_bug.tif.

Tue Feb 15 22:01:05 2000  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Fixed tools/tiffcmp so that stopondiff testing works.
	  Patch care of Joseph Orost <joe@sanskrit.lz.att.com>.

2000-01-28    <warmerda@CS46980-B>

	* Modified tif_unix.c to support 2-4GB seeks if USE_64BIT_API is
	  set to 1, and added default (off) setting in tiffconf.h.  This
	  should eventually be set by the configure script somehow.

	  The original work on all these 2-4GB changes was done by 
	  Peter Smith (psmith@creo.com).

	* Modified tif_win32.c to support 2-4GB seeks.

	* tentatively changed toff_t to be unsigned instead of signed to
	  facilitate support for 2-4GB files. 

	* Updated a variety of files to use toff_t.  Fixed some mixups
	  between toff_t and tsize_t.

Fri Jan 28 10:13:49 2000  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Largely reimplemented contrib/addtiffo to avoid temp files, 
	updating the TIFF file in place.  Fixed a few other bugs to.

	* Set tif_rawdatasize to zero when freeing raw data buffer in
	TIFFWriteDirectory().

	* Enabled "REWRITE_HACK" in tif_write.c by default.

	* Fix bug in tif_write.c when switching between reading one directory
	and writing to another. 

	* Made TIFFWriteCheck() public, and added TIFFCreateDirectory()

Wed Jan  5 12:37:48 2000  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added TIFFmemory(3t) functions to libtiff.def.

Tue Jan  4 13:39:00 2000  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added libtiff/libtiff.def to TIFFILES distribution list.

Mon Dec 27 12:13:39 EST 1999  Mike Welles <mike@onshore.com> 

	* Created lzw compression kit, as a new module (libtiff-lzw-compression-kit). 

	* Altered descriptions in tools to reflect "by default" lzw not supported

	* Updated index.html to note lzw compression kit. 
	
Tue Dec 21 14:01:51 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added fax3sm_winnt.c to distribution list in Makefile.in. 

Tue Dec 21 11:04:45 EST 1999  Mike Welles <mike@onshore.com> *** 3.5.4 release ***
	
	* Aadded Pixar tag support.  Contributed by Phil Beffery <phil@pixar.com> 

	* Made one more change to tif_dir.c for removal of LZW compression. Also added notice 
	  when LZW compression invoked. 

	* Changed default compression in tools to TIFF_PACKBITS, and changed usage descriptions
	  in tools to reflect removal of LZW compression
	  
Mon Dec 20 18:39:02 EST 1999  Mike Welles  <mike@onshore.com>

        * Fixed bug that caused LZW (non) compression to segfault. Added 
	  warning about LZW compression removed being removed, and why. 

	* Added nostrip to install in tools/Makefile.in so that debugging 
	  symbols are kept. 
	
Tue Dec  7 12:04:47 EST 1999  Mike Welles  <mike@onshore.com>

	* Added patch from Ivo Penzar <ivo.penzar@infolink-software.com>, 
	  supporting Adobe ZIP deflate.  Untested. 
	
Sat Dec  4 15:47:11 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Made Packbits the default compression in tools/tiff2rgba.c instead
	of LZW.

Tue Nov 30 14:41:43 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>    *** 3.5.3. release ***

	* Added tif_luv to contrib/djgpp/Makefile.lib.

Tue Nov 30 14:15:32 EST 1999   Mike Welles <mike@onshore.com> 

        * Added zip creation to relase makefile target 

	* Added html for TIFFWriteTile.3t man page. 
	
Tue Nov 30 09:20:16 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added some changes to tif_write.c to support rewriting existing
	fixed sized tiles and strips.  Code mods disabled by default, only
	enabled if REWRITE_HACK is defined for now.

Mon Nov 29 11:43:42 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added TIFFWriteTile.3t man page.

Sun Nov 28 20:36:18 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added notes on use of makefile.vc in build.html, and fixed 
	email subscription address.

199-11-28  Mike Welles <mike@onshore.com> 

	*  Fixed apocalypse-inducing y2k bug in contrib/ras/ras2tiff.c 

	*  Did some casts cleaning up to reduce compiler warnings in tif_fax3.c,
	   from Bruce Carmeron <cameron@petris.com> -- modifications of 
	   changes made by Frank (sun cc still complained on cast). 

	*  Added tiffconf.h to install target per request from Bill
	   Radcliffe <billr@corbis.com>: "We need a way for ImageMagick to
 	   know features have been compiled into the TIFF library in order to
	   handle things properly".  
	
Sat Nov 27 16:49:21 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* fixed various VC++ warnings as suggested by Gilles Vollant
	<info@winimage.com>.  

Wed Nov 24 12:08:16 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Modified TIFFquery.3t man pages info on TIFFIsByteSwapped() to
	not imply applications are responsible for image data swapping.

1999-11-22  Mike Welles <mike@onshore.com>
	*  HTML-ized the man pages, added to html/man
	
	*  Removed LZW Compression to comply with Unisys patent extortion. 
	
1999-09-29  Mike Welles		<mike@onshore.com> 
	*  Corrected one remaining 16 -> 32 bit value in tif_fax3.c, 
	   From Ivo Penzar <ivo.penzar@infolink-software.com. 

	*  Added patch from Ivo Penzar to have TiffAdvanceDirectory handle
	   memory mapped files. <ivo.penzar@infolink-software.com>
	
1999-09-26  Mike Welles 	<mike@onshore.com>  *** 3.5.2 release ***
	* Corrected alpha versioning.  

	* Removed distinction between  alpha and release targets in Makefile.in. 

	* added release.stamp target, which tags cvs tree, and updates 
	  "RELEASE-DATE"

	* added releasediff target, which diffs tree with source as of 
	  date in "RELEASE-DATE"
	  
	* Ticked up version to 3.5.2 (alpha 01 -- but I think we'll moving 
	  away from alpha/non-alpha distinctions). 

	* updated html to reflect release 
	
1999-09-23    <warmerda@CS46980-B>

	* Set O_BINARY for tif_unix.c open() ... used on cygwin for instance.

	* Added CYGWIN case in configure.

Fri Sep 17 00:13:51 CEST 1999  Mike Welles <mike@onshore.com> 

	* Applied Francois Dagand's patch to handle fax decompression bug. 
	  (sizes >= 65536 were failing) 
	
Tue Sep 14 21:31:43 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Applied "a" mode fix to tif_win32.c/TIFFOpen() as suggested 
	  by Christopher Lawton <clawton@mathworks.com>

Wed Sep  8 08:19:18 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added IRIX/gcc, and OSF/1 4.x support on behalf of 
	  Albert Chin-A-Young <china@thewrittenword.com>

	* Added TIFFReassignTagToIgnore() API on behalf of 
	  Bruce Cameron <cameron@petris.com>.  Man page still pending.

Wed Aug 25 11:39:07 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added test target in Makefile, test_pics.sh script and pics/*.rpt 
	files to provide for a rudimentary testsuite.

	* Added contrib/tags back from old distribution ... fixed up a bit.

1999-08-16    <warmerda@CS46980-B>

	* Added simple makefile.vc makefiles for building with MS VC++
	on Windows NT/98/95 in console mode.  Stuff in contrib/win* make give 
	better solutions for some users.

Mon Aug 16 21:52:11 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* Added addtiffo (add overviews to a TIFF file) in contrib.  Didn't
	put it in tools since part of it is in C++.

1999-08-16  Michael L. Welles  <mike@kurtz.fake>

	* Updated html/index.html with anon CVS instructions. 

Mon Aug 16 13:18:41 1999  Frank Warmerdam  <warmerda@gdal.velocet.ca>

	* pre-remove so link before softlink in LINUXdso action in 
	libtiff/Makefile.in to avoid failure on LINUXdso builds other than
	the first.

	* Fixed problem with cvtcmap() in tif_getimage.c modifying the
	colormaps owned by the TIFF handle itself when trying to fixup wrong
	(eight bit) colormaps.  Corrected by maintaining a private copy of
	the colormap. 

	* Added TIFFReadRGBATile()/TIFFReadRGBAStrip() support in 
	tif_getimage.c.

	* CVS Repository placed at remotesensing.org.  ChangeLog added.
