summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2022-12-09 15:54:08 +0100
committerEven Rouault <even.rouault@spatialys.com>2022-12-09 15:54:08 +0100
commitc83c038d357d61ea7e6b4ad6a6c4384ab6c457ee (patch)
treeca6a7bc41be02f9f3b1d64e27945df772b3a348e
parentcbb492c27959402604d652c7ee857cf361e48fd1 (diff)
downloadlibtiff-git-c83c038d357d61ea7e6b4ad6a6c4384ab6c457ee.tar.gz
Prepare v4.5.0 release
-rw-r--r--ChangeLog1373
-rw-r--r--HOWTO-RELEASE12
-rw-r--r--RELEASE-DATE2
-rw-r--r--VERSION2
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/index.rst2
-rw-r--r--doc/releases/index.rst1
-rw-r--r--doc/releases/v4.5.0.rst128
-rw-r--r--libtiff/tiffvers.h4
9 files changed, 1515 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index bab7c008..52f78081 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1376 @@
+2022-12-09 Even Rouault <even.rouault@spatialys.com>
+
+ libtiff v4.5.0 released
+
+2022-12-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'reformat' into 'master'
+ Whole code-base reformatting
+
+ See merge request libtiff/libtiff!431
+
+2022-12-08 Even Rouault <even.rouault@spatialys.com>
+
+ Add .git-blame-ignore-revs.
+
+ tiffcrop: remove version_id and rev_date.
+
+2022-12-08 pre-commit run by Even Rouault <even.rouault-bot@spatialys.com>
+
+ Reformatting in all other directories using 'pre-commit run'
+
+ Reformatting in test/ using 'pre-commit run'
+
+ Reformatting in tools/ using 'pre-commit run'
+
+ Reformatting in libtiff/ using 'pre-commit run'
+
+2022-12-08 Even Rouault <even.rouault@spatialys.com>
+
+ Add .clang-format, .pre-commit-config.yaml and CONTRIBUTING.md.
+
+ Remove vim/emacs formatting footers.
+
+2022-11-29 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_489' into 'master'
+ TIFFWriteRawStrip(): restore capabilities to append data in the current strip (fixes #489)
+
+ Closes #489
+
+ See merge request libtiff/libtiff!430
+
+2022-11-29 Even Rouault <even.rouault@spatialys.com>
+
+ Add test case for scenario of issue #489.
+
+ TIFFWriteRawStrip(): restore capabilities to append data in the current strip (fixes #489)
+ This fixes a regression of libtiff 4.4.0
+
+2022-11-29 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'manpage_re-entrant_error_handler' into 'master'
+ manpage update for re-entrant error handler TIFFErrorExtR(), TIFFOpenExt() and...
+
+ See merge request libtiff/libtiff!427
+
+2022-11-29 Su Laus <sulau@freenet.de>
+
+ manpage update for re-entrant error handler TIFFErrorExtR(), TIFFOpenExt() and...
+
+2022-11-27 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_fix_#169' into 'master'
+ tiffcrop: Add check if (bps != 1) in writeSingleSection() for...
+
+ Closes #169
+
+ See merge request libtiff/libtiff!429
+
+2022-11-27 Su Laus <sulau@freenet.de>
+
+ tiffcrop: Add check if (bps != 1) in writeSingleSection() for...
+
+2022-11-26 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'TIFFErrorExtR_fix_missing_calls' into 'master'
+ TIFFErrorExt() was not replaced with TIFFErrorExtR() everywhere in libtiff....
+
+ See merge request libtiff/libtiff!428
+
+2022-11-26 Su Laus <sulau@freenet.de>
+
+ TIFFErrorExt() was not replaced with TIFFErrorExtR() everywhere in libtiff....
+
+2022-11-25 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tif_jpeg_build_fix' into 'master'
+ tif_jpeg.c: fix compilation with MSVC (fixes commit 0fd1a81d3547acb8f5be50bbbc3e44bde01c014b)
+
+ See merge request libtiff/libtiff!426
+
+2022-11-25 Even Rouault <even.rouault@spatialys.com>
+
+ tif_jpeg.c: fix compilation with MSVC (fixes commit 0fd1a81d3547acb8f5be50bbbc3e44bde01c014b)
+
+2022-11-25 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_0fd1a81d3547acb8f5be50bbbc3e44bde01c014b' into 'master'
+ JPEGEncode(): fix wrong pointer data type with libjpeg-turbo 2.2dev in 12-bit mode
+
+ See merge request libtiff/libtiff!425
+
+2022-11-25 Even Rouault <even.rouault@spatialys.com>
+
+ JPEGEncode(): fix wrong pointer data type with libjpeg-turbo 2.2dev in 12-bit mode
+ (fixes commit 0fd1a81d3547acb8f5be50bbbc3e44bde01c014b)
+
+2022-11-25 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'libjpegturbo_dual' into 'master'
+ Add support for libjpeg-turbo 2.2-dev 8/12 bit dual mode
+
+ See merge request libtiff/libtiff!422
+
+2022-11-25 Even Rouault <even.rouault@spatialys.com>
+
+ Add support for libjpeg-turbo 2.2-dev 8/12 bit dual mode.
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'windows-fix' into 'master'
+ libtiff: Fix TIFFOpen* for the Windows platform in tif_unix.c
+
+ See merge request libtiff/libtiff!424
+
+2022-11-23 Francois Bleibel <fbleibel@gmail.com>
+
+ libtiff: Fix TIFFOpen* for the Windows platform in tif_unix.c.
+ I'm not sure where this change was made, but it must have been in a recent update. TIFFOpenWEx is now TIFFOpenWExt, and _TIFFgetMode takes additional arguments.
+
+ Verified: Tested libtiff on a local Windows build.
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_signed_vs_unsigned' into 'master'
+ tiffcrop.c: fix warning about signed vs unsigned comparison
+
+ See merge request libtiff/libtiff!423
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ tiffcrop.c: fix warning about signed vs unsigned comparison.
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'TIFFClientOpenExt_warning_fix' into 'master'
+ TIFFClientOpenExt(): fix warning on 32-bit platforms (master only)
+
+ See merge request libtiff/libtiff!421
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFClientOpenExt(): fix warning on 32-bit platforms (master only)
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcp_TIFFOpenOptionsFree_memleak_fix' into 'master'
+ tiffcp: fix leak of TIFFOpenOptionsAlloc() introduced in latest commit (master only)
+
+ See merge request libtiff/libtiff!420
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ tiffcp: fix leak of TIFFOpenOptionsAlloc() introduced in latest commit (master only)
+ Fixes Coverity CID 1517032
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'TIFFOpenOptionsSetMaxSingleMemAlloc' into 'master'
+ Add TIFFOpenOptionsSetMaxSingleMemAlloc() to define a limit in bytes for a single memory allocation done by libtiff
+
+ See merge request libtiff/libtiff!419
+
+2022-11-23 Even Rouault <even.rouault@spatialys.com>
+
+ Emit explicit error message when tif_max_single_mem_alloc is exceeded.
+
+ test_open_options: test TIFFOpenOptionsSetMaxSingleMemAlloc()
+
+ Rename test_error_handlers to test_open_options.
+
+ tiffinfo, tiffcp, tiffcrop, tiffsplit, tiff2rgba, tiff2ps: use TIFFOpenOptionsSetMaxSingleMemAlloc()
+
+ Convert uses of _TIFFmalloc/realloc/calloc/free to the Ext functions.
+
+2022-11-22 Even Rouault <even.rouault@spatialys.com>
+
+ Add TIFFOpenOptionsSetMaxSingleMemAlloc()
+ to define a limit in bytes for a single memory allocation done by libtiff.
+
+ Also add internal functions used in replacement of the non Ext ones:
+ void* _TIFFmallocExt(TIFF* tif, tmsize_t s);
+ void* _TIFFcallocExt(TIFF* tif, tmsize_t nmemb, tmsize_t siz);
+ void* _TIFFreallocExt(TIFF* tif, void* p, tmsize_t s);
+ void _TIFFfreeExt(TIFF* tif, void* p);
+
+2022-11-22 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'TIFFOpenEx' into 'master'
+ Add TIFFOpenExt(), TIFFOpenWExt() and TIFFFdOpenExt() with re-entrant error handlers
+
+ See merge request libtiff/libtiff!413
+
+2022-11-21 Even Rouault <even.rouault@spatialys.com>
+
+ Remove TIFFSetErrorHandlerExtR() and TIFFSetWarningHandlerExtR() that were temporarily added in master
+
+ Add a _TIFFErrorEarly() function to be able to use the re-entrant error handler, even before TIFF* is valid
+
+ Rework TIFFOpenExt() and similar to use an opaque TIFFOpenOptions* opts argument, with alloc, free and setters
+
+ Document TIFFOpenExt, TIFFOpenWExt, TIFFFdOpenExt, TIFFClientOpenExt, TIFFSetErrorHandlerExtR, TIFFSetWarningHandlerExtR
+
+2022-11-21 Even Rouault <even.rouault@spatialys.com>
+
+ Add TIFFOpenExt(), TIFFOpenWExt() and TIFFFdOpenExt() with re-entrant error handlers
+ Rename TIFFClientOpenEx() to TIFFClientOpenExt()
+
+ Rework signature of the re-entrant error handlers and of
+ TIFFSetWarningHandlerExt() and TIFFSetErrorHandlerExt()
+
+ Use structures that can be extended as extra argument.
+
+ Leverages and ammends https://gitlab.com/libtiff/libtiff/-/merge_requests/409
+
+2022-11-21 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'manpage_fix485_file-descriptor_clientdata' into 'master'
+ manpage: Correct description of file handle/descriptors tif_fd and tif_clientdata. Closes #485.
+
+ Closes #485
+
+ See merge request libtiff/libtiff!418
+
+2022-11-21 Su Laus <sulau@freenet.de>
+
+ manpage: Correct description of file handle/descriptors tif_fd and tif_clientdata. Closes #485.
+
+2022-11-20 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'manpage_fix440_fix28_TIFFOpen_SubIFD_update' into 'master'
+ manpage: fix28, fix440, update TIFFOpen and SubIFD
+
+ Closes #440 et #28
+
+ See merge request libtiff/libtiff!417
+
+2022-11-20 Su Laus <sulau@freenet.de>
+
+ manpage: fix28, fix440, update TIFFOpen and SubIFD.
+
+2022-11-17 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'cmake_tiff_install_warning' into 'master'
+ CMakeLists.txt: fix warning with -Wdev
+
+ See merge request libtiff/libtiff!416
+
+2022-11-13 Even Rouault <even.rouault@spatialys.com>
+
+ CMakeLists.txt: fix warning with -Wdev.
+ ```
+ CMake Warning (dev) at CMakeLists.txt:62 (option):
+ Policy CMP0077 is not set: option() honors normal variables. Run "cmake
+ --help-policy CMP0077" for policy details. Use the cmake_policy command to
+ set the policy and suppress this warning.
+
+ For compatibility with older versions of CMake, option is clearing the
+ normal variable 'tiff-install'.
+ This warning is for project developers. Use -Wno-dev to suppress it.
+ ```
+
+2022-11-12 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_479' into 'master'
+ _TIFFReadEncodedTileAndAllocBuffer(): avoid excessive memory allocation on...
+
+ See merge request libtiff/libtiff!412
+
+2022-11-12 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'typo_fix' into 'master'
+ tif_dirread.c: fix typo in comment
+
+ See merge request libtiff/libtiff!414
+
+2022-11-12 Even Rouault <even.rouault@spatialys.com>
+
+ tif_dirread.c: fix typo in comment.
+
+2022-11-11 Even Rouault <even.rouault@spatialys.com>
+
+ _TIFFReadEncodedTileAndAllocBuffer(): avoid excessive memory allocation on broken files (fixes #479)
+
+2022-11-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'bugfix/tiff2pdf-stdout' into 'master'
+ tiff2pdf Don't try to seek into stdout.
+
+ See merge request libtiff/libtiff!367
+
+2022-11-10 Claus-Justus Heine <himself@claus-justus-heine.de>
+
+ tiff2pdf: Don't try to seek into stdout.
+ Fixes #441
+
+2022-11-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_coverity_1516759' into 'master'
+ TIFFErrorExtR(): fix Dereference after null check (CID 1516759)
+
+ See merge request libtiff/libtiff!411
+
+2022-11-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_ossfuzz_53137' into 'master'
+ TIFFReadRGBATileExt(): fix (unsigned) integer overflow on strips/tiles > 2 GB
+
+ See merge request libtiff/libtiff!410
+
+2022-11-08 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFErrorExtR(): fix Dereference after null check (CID 1516759)
+
+2022-11-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'no_sprintf' into 'master'
+ Replace sprintf calls with snprintf
+
+ See merge request libtiff/libtiff!408
+
+2022-11-08 Mark Mentovai <mark@chromium.org>
+
+ Replace sprintf calls with snprintf.
+ This makes it possible to build libtiff without warnings using the macOS
+ 13 SDK. Calls to sprintf are replaced with snprintf, passing appropriate
+ buffer sizes.
+
+ It doesn’t appear that any of the changed uses of sprintf were actually
+ unsafe, so no behavior change is expected aside from SDK compatibility.
+
+ The macOS 13 SDK deprecates sprintf as it’s difficult to use safely. The
+ deprecation warning message is visible when building C++, but it is not
+ normally visible when building plain C code due to a quirk in how
+ sprintf is declared in the SDK. However, the deprecation message is
+ visible when building plain C under Address Sanitizer
+ (-fsanitize=address). This discrepancy was discovered at
+ https://crbug.com/1381706 and reported to Apple with a copy at
+ https://openradar.appspot.com/FB11761475.
+
+ The macOS 13 SDK is packaged in Xcode 14.1, released on 2022-11-01. This
+ also affects the iOS 16 SDK and other 2022-era Apple OS SDKs packaged in
+ Xcode 14.0, released on 2022-09-12.
+
+ libtiff is visible to the Chromium build via PDFium, and this change is
+ needed to allow Chromium to move forward to the macOS 13 SDK.
+
+ This change is limited to the libtiff directory. Other uses of sprintf
+ were found in contrib, test, and tools.
+
+2022-11-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'reentrant' into 'master'
+ Add reentrant error functions
+
+ See merge request libtiff/libtiff!409
+
+2022-11-08 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFReadRGBATileExt(): fix (unsigned) integer overflow on strips/tiles > 2 GB
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53137
+
+2022-11-08 Laramie Leavitt <lar@google.com>
+
+ Add reentrant error functions.
+ Prior to this change, libtiff relied on global error handlers,
+ which is problematic when libtiff used by multiple independent
+ libraries from within the same process, as they may unwittingly
+ clobber the error handling, introduce race conditions when setting
+ handlers, or otherwise have unintended side effects.
+
+ This change adds error handlers to the TIFF struct, which are
+ used preferentially when available. The error handlers are invoked
+ when the re-entrant error functions are called:
+
+ void TIFFErrorExtR(TIFF*, const char* module, const char* fmt, ...)
+ void TIFFWarningExtR(TIFF*, const char* module, const char* fmt, ...)
+
+ The handlers have a similar signature to the existing extended
+ handlers, additionally returning an int:
+
+ int TIFFErrorHandlerExtR(thandle_t, const char*, const char*, va_list)
+
+ thandle_t is the userdata passed to TIFFOpen
+ When the handler returns 1, the global handlers are not called.
+
+ Custom error/warning handlers may be installed on a per-file
+ basis by calling the Set functions:
+
+ TIFF* tif = TIFFOpen(...);
+ TIFFSetErrorHandlerExtR(tif, MyErrorHandler);
+ TIFFSetWarningHandlerExtR(tif, MyWarningHandler);
+
+ Additionally, the callsites to TIFFErrorExt and TIFFWarningExt
+ have been updated to call the reentrant versions.
+
+2022-11-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_fix_CoverityScan_tmsize_issue' into 'master'
+ tiffcrop: should fix some Coverity Scan issues OVERFLOW_BEFORE_WIDEN
+
+ See merge request libtiff/libtiff!403
+
+2022-11-08 Su Laus <sulau@freenet.de>
+
+ tiffcrop: should fix some Coverity Scan issues OVERFLOW_BEFORE_WIDEN.
+
+2022-11-02 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'typo_fix' into 'master'
+ tif_dirread.c: fix typo in comment
+
+ See merge request libtiff/libtiff!407
+
+2022-11-02 Even Rouault <even.rouault@spatialys.com>
+
+ tif_dirread.c: fix typo in comment.
+
+2022-10-23 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_formatting_fix' into 'master'
+ tiffcrop: add casts in TIFFError() to fix compiler warnings
+
+ See merge request libtiff/libtiff!406
+
+2022-10-23 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_482' into 'master'
+ CMake: correctly set default value of 'lzma' option when liblzma is detected (fixes #482)
+
+ Closes #482
+
+ See merge request libtiff/libtiff!404
+
+2022-10-23 Even Rouault <even.rouault@spatialys.com>
+
+ tiffcrop: add casts in TIFFError() to fix compiler warnings.
+
+ CMake: correctly set default value of 'lzma' option when liblzma is detected (fixes #482)
+
+2022-10-20 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_480' into 'master'
+ Fix incorrect printf() formatters introduced in recent commits (fixes #480)
+
+ Closes #480
+
+ See merge request libtiff/libtiff!401
+
+2022-10-19 Even Rouault <even.rouault@spatialys.com>
+
+ Fix incorrect printf() formatters introduced in recent commits (fixes #480)
+
+2022-10-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'CLIPPATH_tags_corrected' into 'master'
+ CLIPPATH tags defined twice but differently and also wrongly (#439) - corrected
+
+ Closes #439
+
+ See merge request libtiff/libtiff!366
+
+2022-10-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'FIELD_IGNORE_warning-messages' into 'master'
+ Warning messages for FIELD_IGNORE tags for writing and for TIFF_SETGET_UNDEFINED for reading added. (#438)
+
+ Closes #438
+
+ See merge request libtiff/libtiff!365
+
+2022-10-13 Su Laus <sulau@freenet.de>
+
+ Warning messages for FIELD_IGNORE tags for writing and for TIFF_SETGET_UNDEFINED for reading added. (#438)
+
+2022-10-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tag-def_COMPRESSION_corrected' into 'master'
+ tif_dirinfo.c TIFFTAG_COMPRESSION and _BITSPERSAMPLE definition corrected
+
+ See merge request libtiff/libtiff!364
+
+2022-10-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_getopt_included_twice' into 'master'
+ Fix including module getopt.c twice with CMake and HAVE_GETOPT=false
+
+ See merge request libtiff/libtiff!381
+
+2022-10-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_CoverityScan_fix_PRINTF_ARGS' into 'master'
+ tiffcrop: fix Coverity Scan issues about PRINTF_ARGS.
+
+ See merge request libtiff/libtiff!400
+
+2022-10-13 Su_Laus <sulau@freenet.de>
+
+ tiffcrop fix Coverity Scan issues about PRINTF_ARGS.
+
+2022-10-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_fix_#450_too-many-mode-options' into 'master'
+ tiffcrop: fix #450 too many 'mode' options on command line.
+
+ Closes #470 et #450
+
+ See merge request libtiff/libtiff!384
+
+2022-10-13 Su Laus <sulau@freenet.de>
+
+ tiffcrop: fix #450 too many 'mode' options on command line.
+
+2022-10-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_fix_#435' into 'master'
+ tiffcrop subroutines require a larger buffer (fixes #271, #381, #386, #388, #389, #435)
+
+ Closes #465, #464, #435, #389, #388, #386, #381 et #271
+
+ See merge request libtiff/libtiff!382
+
+2022-10-13 Su Laus <sulau@freenet.de>
+
+ tiffcrop subroutines require a larger buffer (fixes #271, #381, #386, #388, #389, #435)
+
+2022-10-12 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'InkNames_NumberOfInks_handling_revised' into 'master'
+ Revised handling of TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value (fixes #149, #150, #152, #168, #250, #269, #398 and #456)
+
+ Closes #474, #463, #387, #456, #398, #269, #250, #168, #152, #150 et #149
+
+ See merge request libtiff/libtiff!385
+
+2022-10-12 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_fix_#411_#413' into 'master'
+ tiffcrop: disable incompatibility of -Z, -X, -Y, -z options with any PAGE_MODE_x option (fixes #411, #413 and #426)
+
+ Closes #426, #413 et #411
+
+ See merge request libtiff/libtiff!383
+
+2022-10-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'TIFFAdvanceDirectory_mapped_uio' into 'master'
+ TIFFAdvanceDirectory(): fix unsigned-integer-overflow in mapped case
+
+ See merge request libtiff/libtiff!398
+
+2022-10-10 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFAdvanceDirectory(): fix unsigned-integer-overflow in mapped case.
+ Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52309
+
+2022-10-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffinfo_parse_SubIFDs' into 'master'
+ tiffinfo: Updated to parse through SubIFDs and show their tags.
+
+ See merge request libtiff/libtiff!396
+
+2022-10-08 Su Laus <sulau@freenet.de>
+
+ tiffinfo: Updated to parse through SubIFDs and show their tags.
+
+2022-10-07 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'master' into 'master'
+ Moved linking of CMath::CMath into CMath_LIBRARY check
+
+ See merge request libtiff/libtiff!397
+
+2022-10-07 Frei Herr <herr.frei@googlemail.com>
+
+ Moved linking of CMath::CMath into CMath_LIBRARY check.
+
+2022-10-06 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'rational_precision2double_coverity-fix' into 'master'
+ rational_precision2double.c: Fix issue from Coverity Scan.
+
+ See merge request libtiff/libtiff!395
+
+2022-10-06 Su_Laus <sulau@freenet.de>
+
+ rational_precision2double.c: Fix issue from Coverity Scan.
+
+ Fix including module getopt.c twice with CMake and HAVE_GETOPT=false.
+ The "make-files" for the tools- and test- programmes include the module getopt.c once directly as additional source and then again by including port.lib.
+ This can be avoided by including getopt.c as source in port.lib within port\CMakeLists.txt not with PUBLIC but with PRIVATE.
+
+2022-10-06 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix-455_Improved-IFD-loop-handling' into 'master'
+ Improved IFD-Loop Handling (fixes #455)
+
+ Closes #455
+
+ See merge request libtiff/libtiff!386
+
+2022-10-06 Su Laus <sulau@freenet.de>
+
+ Improved IFD-Loop Handling (fixes #455)
+ IFD infinite looping was not fixed by MR 20 (see #455).
+ An improved IFD loop handling is proposed.
+
+ Basic approach:
+
+ - The order in the entire chain must be checked, and not only whether an offset has already been read once.
+ - To do this, pairs of directory number and offset are stored and checked.
+ - The offset of a directory number can change.
+ - TIFFAdvanceDirectory() must also perform an IFD loop check.
+ - TIFFCheckDirOffset() is replaced by _TIFFCheckDirNumberAndOffset().
+
+ Rules for the check:
+
+ - If an offset is already in the list, it must have the same IFD number. Otherwise it is an IDF loop.
+ - If the offset is not in the list and the IFD number is greater than there are list entries, a new list entry is added.
+ - Otherwise, the offset of the IFD number is updated.
+
+ Reference is also made to old bugzilla bug 2772 and MR 20, which did not solve the general issue.
+ This MR closes #455
+
+2022-10-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'fix-cmake-subproject' into 'master'
+ Fix CMake build to be compatible with FetchContent
+
+ See merge request libtiff/libtiff!394
+
+2022-10-04 Timothy Lyanguzov <theta682@gmail.com>
+
+ Apply 9 suggestion(s) to 3 file(s)
+
+2022-10-04 Jeremy Maitin-Shepard <jbms@google.com>
+
+ Fix CMake build to be compatible with FetchContent.
+ Recent versions of CMake have improved support for including
+ dependencies, using the FetchContent module, which allows a dependency
+ to be imported as a subproject and then later found automatically by
+ calls to `find_package`.
+
+ This change makes libtiff's CMake better behaved when used as a
+ sub-project:
+
+ - CMake has a single global namespace for all target names in all
+ sub-projects. This commit renames the following CMake targets:
+
+ - port -> tiff_port
+ - mkg3states -> tiff_mkg3states
+ - faxtable -> tiff_faxtable
+ - release -> tiff_release
+
+ - When building TIFF as a sub-project, it is not normally useful to
+ create install rules for its targets. This commit adds a
+ `tiff-install` option that controls whether the install rules are
+ added and defaults to OFF when libtiff is included as a sub-project.
+
+ - Previously, libtiff set `BUILD_SHARED_LIBS` to ON by default. With
+ this commit, that default is only set if libtiff is the top-level
+ project.
+
+ - When using `find_package(TIFF)`, the targets `TIFF::TIFF` and
+ `TIFF::CXX` are defined. This commit makes libtiff itself define
+ those targets as aliases, to allow other cmake projects to use
+ either `find_package` or `FetchContent` interchangeably.
+
+ - Adds ZSTD_HAVE_DECOMPRESS_STREAM variable which may be set to bypass
+ `check_symbol_exists` call. Fixes
+ https://gitlab.com/libtiff/libtiff/-/issues/472.
+
+2022-09-27 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'getimage_overflow' into 'master'
+ Update getimage to support reading large raster images
+
+ See merge request libtiff/libtiff!389
+
+2022-09-26 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'MinGW-warnings_ipctutil' into 'master'
+ Fix #458: MinGW Windows 64: warning because 'long' is a 32 bits type in...
+
+ Closes #458
+
+ See merge request libtiff/libtiff!391
+
+2022-09-26 Su Laus <sulau@freenet.de>
+
+ Fix #458: MinGW Windows 64: warning because 'long' is a 32 bits type in...
+
+2022-09-16 Eric Siegel <siegel.eric@gmail.com>
+
+ Update getimage to support large raster images.
+
+2022-09-08 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'typo_fix' into 'master'
+ tif_lzw.c: fix typo in code comment
+
+ See merge request libtiff/libtiff!387
+
+2022-09-08 Even Rouault <even.rouault@spatialys.com>
+
+ tif_lzw.c: fix typo in code comment.
+
+2022-08-30 Su_Laus <sulau@freenet.de>
+
+ Revised handling of TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value
+ In order to solve the buffer overflow issues related to TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value, a revised handling of those tags within LibTiff is proposed:
+
+ Behaviour for writing:
+ `NumberOfInks` MUST fit to the number of inks in the `InkNames` string.
+ `NumberOfInks` is automatically set when `InkNames` is set.
+ If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued.
+ If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued.
+
+ Behaviour for reading:
+ When reading `InkNames` from a TIFF file, the `NumberOfInks` will be set automatically to the number of inks in `InkNames` string.
+ If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued.
+ If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued.
+
+ This allows the safe use of the NumberOfInks value to read out the InkNames without buffer overflow
+
+ This MR will close the following issues: #149, #150, #152, #168 (to be checked), #250, #269, #398 and #456.
+
+ It also fixes the old bug at http://bugzilla.maptools.org/show_bug.cgi?id=2599, for which the limitation of `NumberOfInks = SPP` was introduced, which is in my opinion not necessary and does not solve the general issue.
+
+2022-08-25 Su_Laus <sulau@freenet.de>
+
+ tiffcrop: disable incompatibility of -Z, -X, -Y, -z options with any PAGE_MODE_x option (fixes #411 and #413)
+ tiffcrop does not support –Z, -z, -X and –Y options together with any other PAGE_MODE_x options like -H, -V, -P, -J, -K or –S.
+
+ Code analysis:
+
+ With the options –Z, -z, the crop.selections are set to a value > 0. Within main(), this triggers the call of processCropSelections(), which copies the sections from the read_buff into seg_buffs[].
+ In the following code in main(), the only supported step, where that seg_buffs are further handled are within an if-clause with if (page.mode == PAGE_MODE_NONE) .
+
+ Execution of the else-clause often leads to buffer-overflows.
+
+ Therefore, the above option combination is not supported and will be disabled to prevent those buffer-overflows.
+
+ The MR solves issues #411 and #413.
+
+2022-08-21 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tiffcrop_S-option_mutually_exclusive' into 'master'
+ tiffcrop: -S option mutually exclusive (fixes #349, #414, #422, #423, #424)
+
+ Closes #424, #423, #422, #414 et #349
+
+ See merge request libtiff/libtiff!378
+
+2022-08-20 Su_Laus <sulau@freenet.de>
+
+ tiffcrop -S option: Make decision simpler.
+
+2022-08-20 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'remove_death_commented_code' into 'master'
+ Remove dead code from tif_dirread.c, tif_dirwrite.c and tif_getimage.c
+
+ See merge request libtiff/libtiff!380
+
+2022-08-20 Su Laus <sulau@freenet.de>
+
+ Remove dead code from tif_dirread.c, tif_dirwrite.c and tif_getimage.c.
+
+2022-08-16 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'coverity_fixes' into 'master'
+ Silence Coverity Scan false positive warnings about out-of-bounds access
+
+ See merge request libtiff/libtiff!379
+
+2022-08-16 Even Rouault <even.rouault@spatialys.com>
+
+ tif_zip.c: silence Coverity Scan false positive warnings about out-of-bounds access (CID 1491190, 1491197, 1491201)
+
+ tif_dirread.c: silence Coverity Scan false positive warnings about out-of-bounds access (CID 1491182, 1491186)
+
+2022-08-16 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'default_tag_values_extended' into 'master'
+ Presetting of default tag values extended (e.g. PlanarConfig). (fixes #449)
+
+ Closes #449
+
+ See merge request libtiff/libtiff!377
+
+2022-08-16 Su Laus <sulau@freenet.de>
+
+ Presetting of default tag values extended (e.g. PlanarConfig). (fixes #449)
+
+2022-08-15 Su_Laus <sulau@freenet.de>
+
+ According to Richard Nolde https://gitlab.com/libtiff/libtiff/-/issues/401#note_877637400 the tiffcrop option „-S“ is also mutually exclusive to the other crop options (-X|-Y), -Z and -z.
+ This is now checked and ends tiffcrop if those arguments are not mutually exclusive.
+
+ This MR will fix the following tiffcrop issues: #349, #414, #422, #423, #424
+
+2022-08-09 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'warning_fix' into 'master'
+ Fix warning about shadowing
+
+ See merge request libtiff/libtiff!376
+
+2022-08-09 Even Rouault <even.rouault@spatialys.com>
+
+ Fix warning about shadowing.
+
+2022-08-09 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_225' into 'master'
+ Deal with RichTIFFIPTC tag written with LONG type (fixes #225)
+
+ Closes #225
+
+ See merge request libtiff/libtiff!374
+
+2022-08-09 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'Writing_IFD8_to_ClassicTIFF_bugfix' into 'master'
+ Correcting defects reported by Coverity Scan for MR !369
+
+ See merge request libtiff/libtiff!375
+
+2022-08-09 Su Laus <sulau@freenet.de>
+
+ Correcting defects reported by Coverity Scan for MR !369.
+
+2022-08-09 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_442_Writing_IFD8_to_ClassicTIFF' into 'master'
+ TIFFSetValue(): Writing IFD8 & LONG8 tags to ClassicTIFF corrected (fixes #442)
+
+ Closes #442
+
+ See merge request libtiff/libtiff!369
+
+2022-08-09 Su Laus <sulau@freenet.de>
+
+ TIFFSetValue(): Writing IFD8 & LONG8 tags to ClassicTIFF corrected (fixes #442)
+
+2022-08-09 Even Rouault <even.rouault@spatialys.com>
+
+ Deal with RichTIFFIPTC tag written with LONG type (fixes #225)
+
+2022-08-07 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'manpage-functions-added' into 'master'
+ doc: Missing public functions added to TIFF documentation in Sphinx
+
+ See merge request libtiff/libtiff!372
+
+2022-08-07 Su Laus <sulau@freenet.de>
+
+ doc: Missing public functions added to TIFF documentation in Sphinx.
+
+2022-07-29 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tifjpeg_version_check' into 'master'
+ tif_jpeg.c: allow to pass -DEXPECTED_JPEG_LIB_VERSION=number to do optional...
+
+ See merge request libtiff/libtiff!373
+
+2022-07-29 Even Rouault <even.rouault@spatialys.com>
+
+ tif_jpeg.c: allow to pass -DEXPECTED_JPEG_LIB_VERSION=number to do optional compile-time version check
+
+2022-07-21 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'TIFFReadFromUserBuffer_fix' into 'master'
+ TIFFReadFromUserBuffer(): fix clearing of TIFF_CODERSETUP flag that could...
+
+ See merge request libtiff/libtiff!371
+
+2022-07-21 Even Rouault <even.rouault@spatialys.com>
+
+ TIFFReadFromUserBuffer(): fix clearing of TIFF_CODERSETUP flag that could cause issues with reading JPEG compressed files
+
+2022-07-21 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'vs2022-fixes' into 'master'
+ cmake: Correct duplicate definition of _CRT_SECURE_NO_WARNINGS
+
+ Closes #443
+
+ See merge request libtiff/libtiff!370
+
+2022-07-13 Roger Leigh <rleigh@codelibre.net>
+
+ cmake: Correct duplicate definition of _CRT_SECURE_NO_WARNINGS.
+
+2022-07-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'vs2022-fixes' into 'master'
+ cmake: Fixes for Visual Studio 2022
+
+ See merge request libtiff/libtiff!368
+
+2022-07-13 Roger Leigh <rleigh@codelibre.net>
+
+ cmake: Fixes for Visual Studio 2022.
+
+2022-07-03 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'elf-symbol-export' into 'master'
+ Explicit export of versioned ELF symbols
+
+ Closes #437
+
+ See merge request libtiff/libtiff!361
+
+2022-07-03 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'fix_433' into 'master'
+ _TIFFCheckFieldIsValidForCodec(): return FALSE when passed a codec-specific...
+
+ Closes #433
+
+ See merge request libtiff/libtiff!363
+
+2022-07-01 Su_Laus <sulau@freenet.de>
+
+ CLIPPATH tags defined twice but differently and also wrongly.
+ In tif_dirinfo.c the tags for clippath are wrongly defined and the tag TIFFTAG_XCLIPPATHUNITS is even different twice. Therefore, those tags cannot be written / read correctly and may even lead to buffer overflow.
+ E.g.: In the case of TIFFSetField(YCLIPPATHUNITS), a 1 byte storage space is allocated because of TIFF_SETGET_UNDEFINED, in which an int32_t value should be stored because of TIFF_SLONG type definition. Then, an int32_t value is read from that 1 byte storage location.
+
+ The current definition is:
+
+ { TIFFTAG_CLIPPATH, -1, -3, TIFF_BYTE, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ClipPath", NULL },
+ { TIFFTAG_XCLIPPATHUNITS, 1, 1, TIFF_SLONG, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "XClipPathUnits", NULL },
+ { TIFFTAG_XCLIPPATHUNITS, 1, 1, TIFF_SBYTE, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "XClipPathUnits", NULL },
+ { TIFFTAG_YCLIPPATHUNITS, 1, 1, TIFF_SLONG, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "YClipPathUnits", NULL },
+
+ Whereas the correct definition according to TIFF Specification Supplement 1 (https://www.awaresystems.be/imaging/tiff/specification/TIFFPM6.pdf) should be:
+
+ { TIFFTAG_CLIPPATH, -3, -3, TIFF_BYTE, 0, TIFF_SETGET_C32_UINT8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 1, "ClipPath", NULL },
+ { TIFFTAG_XCLIPPATHUNITS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "XClipPathUnits", NULL },
+ { TIFFTAG_YCLIPPATHUNITS, 1, 1, TIFF_LONG, 0, TIFF_SETGET_UINT32, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "YClipPathUnits", NULL },
+
+ Also the set_get_field of the following tag should be corrected from
+
+ { TIFFTAG_INTEROPERABILITYIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_UNDEFINED, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "InteroperabilityIFDOffset", NULL },
+ to
+ { TIFFTAG_INTEROPERABILITYIFD, 1, 1, TIFF_IFD8, 0, TIFF_SETGET_IFD8, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "InteroperabilityIFDOffset", NULL },
+
+ However, if those tags schould not be handled by LibTiff because they are deamed as abandoned or unwanted tags, those tags need to be defined with FIELD_IGNORE instead of FIELD_CUSTOM and keeping set_field_type = TIFF_SETGET_UNDEFINED
+
+2022-07-01 Su_Laus <sulau@freenet.de>
+
+ In tif_dirinfo.c the definition for TIFFTAG_COMPRESSION has different settings of field_readcount=TIFF_VARIABLE (-1) and field_writecount=1. The tag is defined with Count=1, thus field_readcount is wrong and should also be 1. Although TIFFTAG_BITSPERSAMPLE is defined with Count:N=SamplesPerPixel, only ONE uint16_t value is passed with TIFFSetField() and TIFFGetField(). However, an array with N=SamplesPerPixel equal values is written into the TIFF file. Shouldn't field_readcount = field_writecount = 1 then? The behaviour of TiffLib does not change, because the handling is coded directly.
+
+2022-06-27 Even Rouault <even.rouault@spatialys.com>
+
+ _TIFFCheckFieldIsValidForCodec(): return FALSE when passed a codec-specific tag and the codec is not configured (fixes #433)
+ This avoids crashes when querying such tags
+
+2022-06-27 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch '16bit_cielab' into 'master'
+ add basic 16bit-cielab support
+
+ See merge request libtiff/libtiff!336
+
+2022-06-27 Caolán McNamara <caolan@skynet.ie>
+
+ Add basic 16bit-cielab support.
+ just a copy of putcontig8bitCIELab that reads 16bit vals but divide l by
+ 257, a and b by 256 before passing to TIFFCIELabToXYZ
+
+ motivation: https://bugs.documentfoundation.org/show_bug.cgi?id=131199
+ the "clavijo16bitlab.tiff" example where tiffinfo says:
+ ```
+ Image Width: 2601 Image Length: 3503
+ Resolution: 96, 96 pixels/inch
+ Bits/Sample: 16
+ Compression Scheme: AdobeDeflate
+ Photometric Interpretation: CIE L*a*b*
+ Orientation: row 0 top, col 0 lhs
+ Samples/Pixel: 3
+ Rows/Strip: 1
+ Planar Configuration: single image plane
+ DateTime: 2020:03:07 10:20:42
+ ```
+
+2022-06-24 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'manpage-fixes' into 'master'
+ Sphinx documentation fixes
+
+ See merge request libtiff/libtiff!362
+
+2022-06-24 Roger Leigh <rleigh@codelibre.net>
+
+ doc: Correct types and cross-references.
+
+ doc: Correct manual page path.
+
+ build: Make rational2double static only for automake.
+ This copies the same logic as used by CMake.
+
+ build: Update autoconf version to 4.5.0 and soname to 6.0.0.
+
+ build: Update autoconf ld-version-script default.
+
+ libtiff: Correct version script for changes since v4.4.0.
+
+ libtiff: Update version script documentation.
+
+ libtiff: Add symbol versioning of all exported symbols.
+
+2022-06-24 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'webp_mem_improvements' into 'master'
+ WEBP codec: avoid temporary buffer and memcpy() on whole tile/strip decoding
+
+ See merge request libtiff/libtiff!360
+
+2022-06-24 Roger Leigh <rleigh@codelibre.net>
+
+ build: Enable symbol versioning by default.
+
+2022-06-24 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'sphinx-manpages' into 'master'
+ doc: Add Sphinx conversion of all manpages
+
+ Closes #361
+
+ See merge request libtiff/libtiff!356
+
+2022-06-24 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'remove-wince' into 'master'
+ Remove obsolete WinCE source file
+
+ See merge request libtiff/libtiff!357
+
+2022-06-23 Even Rouault <even.rouault@spatialys.com>
+
+ WEBP codec: avoid temporary buffer and memcpy() on whole tile/strip decoding
+
+2022-06-22 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'horAcc8_fix' into 'master'
+ tif_predict.c: make horAcc8() work with icc (ICC) 2021.6.0 20220226 -O2
+
+ See merge request libtiff/libtiff!359
+
+2022-06-22 Even Rouault <even.rouault@spatialys.com>
+
+ tif_predict.c: make horAcc8() work with icc (ICC) 2021.6.0 20220226 -O2.
+ For a reason I don't understand, recent ICC generates wrong code in -O2
+ mode for the stride = 3 and 4 cases. The modified code is more
+ straightfoward, so go for it.
+
+2022-06-19 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'ci-restore-old' into 'master'
+ ci: Restore testing with Ubuntu 20.04
+
+ See merge request libtiff/libtiff!358
+
+2022-06-19 Roger Leigh <rleigh@codelibre.net>
+
+ ci: Restore testing with Ubuntu 20.04.
+
+ Remove obsolete WinCE source file.
+
+ doc: Add missing punctuation.
+
+ doc: Remove semicolon from c:function definition.
+
+ doc: Remove remaining HTML entities.
+
+ doc: Improve the build page.
+
+2022-06-18 Roger Leigh <rleigh@codelibre.net>
+
+ doc: Add Sphinx conversion of all manpages.
+
+2022-06-18 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'dist-html' into 'master'
+ build: Distribute and install HTML documentation
+
+ See merge request libtiff/libtiff!352
+
+2022-06-13 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'pkgconfig' into 'master'
+ Adding Requires.private generation
+
+ See merge request libtiff/libtiff!355
+
+2022-06-13 Yishen Miao <mys721tx@gmail.com>
+
+ Adding Requires.private generation.
+ Adds Requires.private generation so that pkg-config can correctly find
+ the dependencies of libtiff.
+
+2022-06-11 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'ci-dist' into 'master'
+ ci: Archive distribution tar and zip files
+
+ See merge request libtiff/libtiff!354
+
+2022-06-11 Roger Leigh <rleigh@codelibre.net>
+
+ ci: Archive distribution tar and zip files.
+
+2022-06-11 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'export_TIFFClampDoubleToUInt32' into 'master'
+ libtiff.def: export _TIFFClampDoubleToUInt32
+
+ See merge request libtiff/libtiff!353
+
+2022-06-11 Even Rouault <even.rouault@spatialys.com>
+
+ libtiff.def: export _TIFFClampDoubleToUInt32.
+
+2022-06-11 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'issue-415+427+428' into 'master'
+ fix the FPE in tiffcrop (#415, #427, and #428)
+
+ Closes #428, #427 et #415
+
+ See merge request libtiff/libtiff!346
+
+2022-06-11 4ugustus <wangdw.augustus@qq.com>
+
+ fix the FPE in tiffcrop (#415, #427, and #428)
+
+2022-06-11 Roger Leigh <rleigh@codelibre.net>
+
+ build: Distribute and install HTML documentation.
+
+2022-06-10 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'tif_jpeg_warning_fix' into 'master'
+ tif_jpeg.c: fix error message
+
+ See merge request libtiff/libtiff!351
+
+2022-06-10 Even Rouault <even.rouault@spatialys.com>
+
+ tif_jpeg.c: fix error message.
+
+2022-06-10 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'android_libm' into 'master'
+ Fix dependency on libm on Android
+
+ See merge request libtiff/libtiff!350
+
+2022-06-09 Matthias Kuhn <matthias@opengis.ch>
+
+ Always link to libm if available.
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'vasyl5-master-patch-97651' into 'master'
+ libtoolize: command not found on macOS.
+
+ See merge request libtiff/libtiff!289
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'rst-docs' into 'master'
+ Convert HTML documentation to Sphinx RST
+
+ See merge request libtiff/libtiff!349
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge remote-tracking branch 'origin/master' into rst-docs.
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'cmake-xc-faxtable' into 'master'
+ cmake: Do not build faxtable target when cross-compiling
+
+ See merge request libtiff/libtiff!342
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'cmake-disable-options' into 'master'
+ Add options for disabling tools, tests, contrib and docs
+
+ See merge request libtiff/libtiff!343
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'cmake-msvc-options' into 'master'
+ cmake: Add MSVC options when building all libraries and executables
+
+ See merge request libtiff/libtiff!344
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'cmake-win32-libtiffxx-static' into 'master'
+ cmake: libtiffxx is static on win32
+
+ See merge request libtiff/libtiff!338
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'licence-file' into 'master'
+ Rename COPYRIGHT to LICENSE.md
+
+ See merge request libtiff/libtiff!345
+
+2022-06-05 Roger Leigh <rleigh@codelibre.net>
+
+ Rename COPYRIGHT to LICENSE.md.
+
+ doc: Fix make distcheck.
+
+ doc: Update automake configuration.
+
+ doc: Do not pass srcdir and builddir to sphinx-build.
+
+ doc: Additional top-level tidying.
+
+ doc: Tidy top-level index.
+
+ doc: Move bugs to project.
+
+ doc: Move misc to project.
+
+ doc: Move all BigTIFF documentation into specification directory.
+ * Remove the BigTIFF proposal since this has long been completed
+ * Update the BigTIFF PR to note completion of the work and replace
+ present with past tense.
+
+ doc: Split release history.
+ This permits the newer releases to be included in the top-level
+ toctree without polluting it with dozens of old releases.
+
+ doc: Correct accents.
+
+ doc: BigTIFF design markup improvements.
+
+ Add doc/_static.
+
+ doc: Move TIFF specification and design notes into subdirectory.
+
+ doc: Move releases into subdirectory.
+
+ doc: Mark up TIFF tech note 2.
+
+ doc: Use sphinxdox theme.
+ The sphix_rtd_theme formats complex tables badly.
+
+ doc: Clean up HTML tags.
+
+2022-06-04 Roger Leigh <rleigh@codelibre.net>
+
+ ci: Install Sphinx manual for use by GitLab pages.
+
+ doc: Use sphinx_rtd_theme.
+
+ Convert HTML documentation to Sphinx RST.
+ * Add CMake build logic
+ * Add Autotools build logic
+ * Move from html/ to doc/
+ * Manual pages are still generated HTML for the time being
+
+ git: Ignore common IDE build files.
+
+2022-06-04 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'ci-ubuntu-22.04' into 'master'
+ ci: Update to use Ubuntu 22.04 CI images
+
+ Closes #429
+
+ See merge request libtiff/libtiff!348
+
+2022-06-04 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'opengl-option' into 'master'
+ cmake: Add tiff-opengl option
+
+ See merge request libtiff/libtiff!340
+
+2022-06-04 Roger Leigh <rleigh@codelibre.net>
+
+ tiffdump: Avoid overflow warning when reading.
+
+ ci: Update to use Ubuntu 22.04 CI images.
+
+2022-06-04 Even Rouault <even.rouault@spatialys.com>
+
+ Merge branch 'master' into 'master'
+ Include stdlib.h in tif_lzw.c.
+
+ See merge request libtiff/libtiff!347
+
+2022-06-04 Brian Ledger <brian.peter.ledger@gmail.com>
+
+ Merge branch 'master' of https://gitlab.com/libtiff/libtiff.
+
+2022-06-04 Brian Ledger <brian.peter.ledger@gmail.com>
+
+ Include stdlib.h in tif_lzw.c.
+ In `tif_lzw.c`, a call is made to `_byteswap_uint64`. This is declared in `stdlib.h`. `stdlib.h` is not included in `tib_lzw.c`, so a name error may occur.
+
+ This change adds `#include stdlib.h` to `tif_lzw.c`, to prevent a name error from occuring when `stdlib.h` is not included.
+
+2022-05-29 Roger Leigh <rleigh@codelibre.net>
+
+ Add options for disabling tools, tests, contrib and docs.
+
+ cmake: Add MSVC options when building all libraries and executables.
+
+ cmake: Do not build faxtable target when cross-compiling.
+
+ cmake: Use add_compile_definitions and add_compile_options.
+ It seems that some CMake versions can't export targets using PRIVATE
+ linking, even though the private target is never used.
+
+ Merge remote-tracking branch 'origin/master' into cmake-msvc-options.
+
+ Merge remote-tracking branch 'origin/master' into cmake-win32-libtiffxx-static
+
+2022-05-29 Roger Leigh <rleigh@codelibre.net>
+
+ Merge branch 'ci-x64' into 'master'
+ ci: Remove arm64 temporarily
+
+ See merge request libtiff/libtiff!341
+
+2022-05-29 Roger Leigh <rleigh@codelibre.net>
+
+ ci: Remove arm64 temporarily.
+
+ autoconf: Add --disable-opengl option.
+
+ cmake: Add tiff-opengl option.
+
+ cmake: Add MSVC options when building all libraries and executables.
+
+ cmake: libtiffxx is static on win32.
+
+2022-05-22 Even Rouault <even.rouault@spatialys.com>
+
+ html/Makefile.am: add v4.4.0.html to docfiles.
+
+2022-05-20 Even Rouault <even.rouault@spatialys.com>
+
+ Update HOWTO-RELEASE with .tar.xz.
+
+ Prepare for release 4.4.0.
+
2022-05-16 Even Rouault <even.rouault@spatialys.com>
libtiff v4.4.0 released
diff --git a/HOWTO-RELEASE b/HOWTO-RELEASE
index 8abb103b..5728d852 100644
--- a/HOWTO-RELEASE
+++ b/HOWTO-RELEASE
@@ -41,14 +41,14 @@ Notes on releasing.
mv ChangeLog.new ChangeLog
rm ChangeLog.added
-3. Create html/vX.X.html and add it to git with 'git add html/vX.X.html'.
- Take ChangeLog entries and html-ify in there.
- Easist thing to do is take html/vX.(X-1).html and use it as a template.
+3. Create doc/releases/vX.X.rst and add it to git with 'git add doc/releases/vX.X.rst'.
+ Update doc/releases/index.rst to point to the new file
+ Take ChangeLog entries and rst-ify in there.
+ Easist thing to do is take doc/releases/vX.(X-1).rst and use it as a template.
-4. Add vX.X.html file to the list of 'docfiles' files in the html/Makefile.am.
+4. Add vX.X.rst file to the list of 'rst_sources' files in the doc/Makefile.am.
-5. Update html/index.html to refer to this new page as the current release,
- and update date at the bottom of the page
+5. Update "Latest Stable Release" in doc/index.rst.
6. Increment the release version in configure.ac. Put 'alpha' or
'beta' after the version, if applicable. For example:
diff --git a/RELEASE-DATE b/RELEASE-DATE
index dc35e227..6f787fd2 100644
--- a/RELEASE-DATE
+++ b/RELEASE-DATE
@@ -1 +1 @@
-20220520
+20221209
diff --git a/VERSION b/VERSION
index fdc66988..a84947d6 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.4.0
+4.5.0
diff --git a/doc/Makefile.am b/doc/Makefile.am
index e4460c4f..1449cec8 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -192,6 +192,7 @@ rst_sources = \
releases/v3.5.3.rst \
releases/v4.0.4.rst \
releases/v3.7.2.rst \
+ releases/v4.5.0.rst \
functions.rst \
tools.rst \
terms.rst \
@@ -220,6 +221,7 @@ rst_sources = \
functions/TIFFFieldReadCount.rst \
functions/TIFFError.rst \
functions/TIFFOpen.rst \
+ functions/TIFFOpenOptions.rst \
functions/TIFFcodec.rst \
functions/TIFFFlush.rst \
functions/TIFFDataWidth.rst \
diff --git a/doc/index.rst b/doc/index.rst
index ff844959..b33cdd1f 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -11,7 +11,7 @@ LibTIFF - TIFF Library and Utilities
Home Page #1 http://www.simplesystems.org/libtiff/
Home Page #2 https://libtiff.gitlab.io/libtiff/
Home Page #3 http://libtiff.maptools.org/
- Latest Stable Release v4.4.0
+ Latest Stable Release v4.5.0
Master Download Site `download.osgeo.org <https://download.osgeo.org/libtiff/>`_
Mailing List `tiff@lists.osgeo.org <tiff@lists.osgeo.org>`_
List subscription http://lists.osgeo.org/mailman/listinfo/tiff/
diff --git a/doc/releases/index.rst b/doc/releases/index.rst
index acd076f0..a1a34908 100644
--- a/doc/releases/index.rst
+++ b/doc/releases/index.rst
@@ -7,6 +7,7 @@ LibTIFF releases.
:maxdepth: 1
:titlesonly:
+ v4.5.0
v4.4.0
v4.3.0
v4.2.0
diff --git a/doc/releases/v4.5.0.rst b/doc/releases/v4.5.0.rst
new file mode 100644
index 00000000..74dc0487
--- /dev/null
+++ b/doc/releases/v4.5.0.rst
@@ -0,0 +1,128 @@
+Changes in TIFF v4.5.0
+======================
+
+.. table:: References
+ :widths: auto
+
+ ====================== ==========================================
+ Current Version v4.5.0 (:tag:`v4.5.0`)
+ Previous Version :doc:`v4.4.0 <v4.4.0>`
+ Master Download Site `<https://download.osgeo.org/libtiff/>`_
+ Master HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
+ Master HTTP Site #2 `<https://libtiff.gitlab.io/libtiff/>`_
+ Master HTTP Site #3 `<http://libtiff.maptools.org/>`_
+ ====================== ==========================================
+
+This document provides a summary of significant changes made to the
+software between the *previous* and *current* versions (see
+above). A fully-detailed change summary is provided by the :file:`ChangeLog` file
+included in the release package and by the Git commit history:
+
+Major changes
+-------------
+
+* Whole code base reformatting of .c/.h files using new .clang-format format
+* Documentation changed from static HTML and man pages to Restructured Text
+ (rst). HTML and man pages are now build artifacts.
+
+Software configuration changes
+------------------------------
+
+* SONAME version bumped to 6 due to changes in symbol versioning.
+* autoconf/cmake: detect (not yet released) libjpeg-turbo 2.2 to take into
+ its capability of handling both 8-bit JPEG and 12-bit JPEG in a single build.
+* autoconf/cmake: detect sphinx-build to build HTML and man pages
+* CMakeLists.txt: fix warning with -Wdev
+* CMake: correctly set default value of 'lzma' option when liblzma is detected
+ (:issue:`482`)
+* CMake: Moved linking of CMath::CMath into CMath_LIBRARY check.
+* Fix CMake build to be compatible with FetchContent.
+* cmake: Correct duplicate definition of _CRT_SECURE_NO_WARNINGS (:issue:`443`)
+* cmake: Fixes for Visual Studio 2022.
+* Adds Requires.private generation so that pkg-config can correctly find
+ the dependencies of libtiff.
+* Fix dependency on libm on Android
+* cmake: libtiffxx is static on win32
+* Fix build in tif_lzw.c
+* CMake: Add options for disabling tools, tests, contrib and docs.
+
+Library changes
+---------------
+
+New/improved functionalities:
+
+* Addition of an open option concept with the new functions
+ :c:func:`TIFFOpenExt`, :c:func:`TIFFOpenWExt`, :c:func:`TIFFFdOpenExt`,
+ :c:func:`TIFFClientOpenExt`, :c:func:`TIFFOpenOptionsAlloc`,
+ :c:func:`TIFFOpenOptionsFree`
+* Leveraging above mentioned open option concept, addition of a new capability
+ to limit the size of a single dynamic memory allocation done
+ by the library with :c:func:`TIFFOpenOptionsSetMaxSingleMemAlloc`
+* Leveraging above mentioned open option concept, addition of a new capability
+ to specify per-TIFF handle re-entrant error and warning callbacks
+ with :c:func:`TIFFOpenOptionsSetErrorHandlerExtR` and
+ :c:func:`TIFFOpenOptionsSetWarningHandlerExtR`
+
+Bug fixes:
+
+* TIFFWriteRawStrip(): restore capabilities to append data in the current strip
+ (:issue:`489`)
+* _TIFFReadEncodedTileAndAllocBuffer(): avoid excessive memory allocation on
+ broken files (:issue:`479`)
+* TIFFReadRGBATileExt(): fix (unsigned) integer overflow on strips/tiles > 2 GB
+ (oss-fuzz #53137)
+* Replace sprintf calls with snprintf to fix warnings on macOS 13 SDK
+* Added warning messages for FIELD_IGNORE tags for writing and for
+ TIFF_SETGET_UNDEFINED for reading added. (:issue:`438`)
+* tif_dirinfo.c: fix TIFFTAG_CLIPPATH tag declaration (:issue:`439`)
+* tif_dirinfo.c: fix TIFFTAG_COMPRESSION and _BITSPERSAMPLE tag declaration
+ (:issue:`364`)
+* Revised handling of TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value
+ (:issue:`149`, :issue:`150`, :issue:`152`, :issue:`168`, :issue:`250`,
+ :issue:`269`,:issue:`398`, :issue:`456`)
+* TIFFAdvanceDirectory(): fix unsigned-integer-overflow in mapped case
+ (oss-fuzz #52309)
+* Improved/fixes IFD-Loop Handling (:issue:`455`)
+* Update getimage to support large raster images.
+* Presetting of default tag values extended (e.g. PlanarConfig). (:issue:`449`)
+* Deal with RichTIFFIPTC tag written with LONG type (:issue:`225`)
+* TIFFSetValue(): Writing IFD8 & LONG8 tags to ClassicTIFF corrected
+ (:issue:`442`)
+* tif_jpeg.c: allow to pass -DEXPECTED_JPEG_LIB_VERSION=number to do optional
+ compile-time version check
+* TIFFReadFromUserBuffer(): fix clearing of TIFF_CODERSETUP flag that could
+ cause issues with reading JPEG compressed files
+* _TIFFCheckFieldIsValidForCodec(): return FALSE when passed a codec-specific
+ tag and the codec is not configured (:issue:`433`)
+* Add basic 16 bit cielab support.
+* WEBP codec: avoid temporary buffer and memcpy() on whole tile/strip decoding
+* tif_predict.c: make horAcc8() work with icc (ICC) 2021.6.0 20220226 -O2
+
+Tools changes
+-------------
+
+New/improved functionality:
+
+* :program:`tiffinfo`: Updated to parse through SubIFDs and show their tags.
+
+Bug fixes:
+
+* :program:`tiffcrop`: add check if (bps != 1) in writeSingleSection()
+ (:issue:`169`)
+* :program:`tiffcrop`: Fix too many 'mode' options on command line
+ (:issue:`470` and :issue:`450`)
+* :program:`tiffcrop`: Fix memory allocation to require a larger buffer
+ (:issue:`271`, :issue:`381`, :issue:`386`, :issue:`388`, :issue:`389`,
+ :issue:`435`)
+* :program:`tiffcrop`: disable incompatibility of -Z, -X, -Y, -z options with
+ any PAGE_MODE_x option (:issue:`411`, :issue:`413`)
+* :program:`tiffcrop`: -S option mutually exclusive (:issue:`349`,
+ :issue:`414`, :issue:`422`, :issue:`423`, :issue:`424`)
+* :program:`tiffcrop`: fix floating-point exception (:issue:`415`,
+ :issue:`427`, :issue:`428`)
+* :program:`tiff2pdf`: Don't try to seek into stdout (:issue:`441`)
+
+Contributed software changes
+----------------------------
+
+None
diff --git a/libtiff/tiffvers.h b/libtiff/tiffvers.h
index cbeec2c9..ad21a413 100644
--- a/libtiff/tiffvers.h
+++ b/libtiff/tiffvers.h
@@ -1,5 +1,5 @@
#define TIFFLIB_VERSION_STR \
- "LIBTIFF, Version 4.4.0\nCopyright (c) 1988-1996 Sam Leffler\nCopyright " \
+ "LIBTIFF, Version 4.5.0\nCopyright (c) 1988-1996 Sam Leffler\nCopyright " \
"(c) 1991-1996 Silicon Graphics, Inc."
/*
* This define can be used in code that requires
@@ -8,4 +8,4 @@
* version checking should be done based on the
* string returned by TIFFGetVersion.
*/
-#define TIFFLIB_VERSION 20220520
+#define TIFFLIB_VERSION 20221209