Prepare for 4.7.1 release

This commit is contained in:
Even Rouault
2025-09-11 12:57:46 +02:00
parent cbdd9d2125
commit 56dc5d3643
8 changed files with 1561 additions and 7 deletions

1279
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
20240911
20250911

View File

@@ -1 +1 @@
4.7.0
4.7.1

View File

@@ -25,7 +25,7 @@ dnl OF THIS SOFTWARE.
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_INIT([LibTIFF Software],[4.7.0],[tiff@lists.osgeo.org],[tiff])
AC_INIT([LibTIFF Software],[4.7.1],[tiff@lists.osgeo.org],[tiff])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR(m4)
AC_LANG(C)
@@ -41,7 +41,7 @@ dnl Versioning.
dnl Don't fill the ALPHA_VERSION field, if not applicable.
LIBTIFF_MAJOR_VERSION=4
LIBTIFF_MINOR_VERSION=7
LIBTIFF_MICRO_VERSION=0
LIBTIFF_MICRO_VERSION=1
LIBTIFF_ALPHA_VERSION=
LIBTIFF_VERSION=$LIBTIFF_MAJOR_VERSION.$LIBTIFF_MINOR_VERSION.$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION
dnl This (LIBTIFF_RELEASE_DATE) is used to set the #define TIFFLIB_VERSION in tiffvers.h.
@@ -77,9 +77,9 @@ dnl 5. If any interfaces have been added since the last public release, then
dnl increment age.
dnl 6. If any interfaces have been removed since the last public release,
dnl then set age to 0.
LIBTIFF_CURRENT=7
LIBTIFF_CURRENT=8
LIBTIFF_REVISION=0
LIBTIFF_AGE=1
LIBTIFF_AGE=2
LIBTIFF_VERSION_INFO=$LIBTIFF_CURRENT:$LIBTIFF_REVISION:$LIBTIFF_AGE
# This is a special hack for OpenBSD and MirOS systems. The dynamic linker

View File

@@ -124,6 +124,7 @@ rst_sources = \
releases/v4.5.1.rst \
releases/v4.6.0.rst \
releases/v4.7.0.rst \
releases/v4.7.1.rst \
rfcs/index.rst \
rfcs/rfc1_psc.rst \
rfcs/rfc2_restoring_needed_tools.rst \

View File

@@ -10,7 +10,7 @@ LibTIFF - TIFF Library and Utilities
===================== =====================================
Home Page #1 http://www.simplesystems.org/libtiff/
Home Page #2 https://libtiff.gitlab.io/libtiff/
Latest Stable Release v4.7.0
Latest Stable Release v4.7.1
Primary 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/

View File

@@ -7,6 +7,7 @@ LibTIFF releases.
:maxdepth: 1
:titlesonly:
v4.7.1
v4.7.0
v4.6.0
v4.5.1

273
doc/releases/v4.7.1.rst Normal file
View File

@@ -0,0 +1,273 @@
Changes in TIFF v4.7.1
======================
.. table:: References
:widths: auto
====================== ==========================================
Current Version v4.7.1 (:tag:`v4.7.1`)
Previous Version :doc:`v4.7.0 <v4.7.0>`
Primary Download Site `<https://download.osgeo.org/libtiff/>`_
Home HTTP Site #1 `<http://www.simplesystems.org/libtiff/>`_
Home HTTP Site #2 `<https://libtiff.gitlab.io/libtiff/>`_
====================== ==========================================
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
-------------
None
Software configuration changes
------------------------------
* Define HAVE_JPEGTURBO_DUAL_MODE_8_12 and LERC_STATIC in tif_config.h.
* CMake: define WORDS_BIGENDIAN via tif_config.h
* doc/CMakeLists.txt: remove useless cmake_minimum_required()
* CMake: fix build with LLVM/Clang 17 (fixes :issue:`651`)
* CMake: set CMP0074 new policy
* Set LINKER_LANGUAGE for C targets with C deps
* Export tiffxx cmake target (fixes :issue:`674`)
* autogen.sh: Enable verbose wget.
* configure.ac: Syntax updates for Autoconf 2.71
* autogen.sh: Re-implement based on autoreconf. Failure to update
config.guess/config.sub does not return error (fixes :issue:`672`)
* CMake: fix CMake 4.0 warning when minimum required version is < 3.10.
* CMake: Add build option tiff-static (fixes :issue:`709`)
Library changes
---------------
New/improved functionalities:
* Add TIFFOpenOptionsSetWarnAboutUnknownTags() for explicit control about
emitting warnings for unknown tags. No longer emit warnings about unknown
tags by default
* tif_predict.c: speed-up decompression in some cases.
API/ABI breaks:
* None
Bug fixes:
* tif_fax3: For fax group 3 data if no EOL is detected, reading is retried
without synchronisation for EOLs. (fixes :issue:`54`)
* Updating TIFFMergeFieldInfo() with read_count=write_count=0 for FIELD_IGNORE.
Updating TIFFMergeFieldInfo() with read_count=write_count=0 for FIELD_IGNORE.
Improving handling when field_name = NULL.
(fixes :issue:`532`)
* tiff.h: add COMPRESSION_JXL_DNG_1_7=52546 as used for JPEGXL compression in
the DNG 1.7 specification
* TIFFWriteDirectorySec: Increment string length for ASCII tags for codec tags
defined with FIELD_xxx bits, as it is done for FIELD_CUSTOM tags.
(fixes :issue:`648`)
* Do not error out on a tag whose tag count value is zero, just issue a warning.
Fix parsing a private tag 0x80a6 (fixes :issue:`647`)
* TIFFDefaultTransferFunction(): give up beyond td_bitspersample = 24
(Fixes https://github.com/OSGeo/gdal/issues/10875)
* tif_getimage.c: Remove unnecessary calls to TIFFRGBAImageOK()
(fixes :issue:`175`)
* Fix writing a Predictor=3 file with non-native endianness
* _TIFFVSetField(): fix potential use of unallocated memory (out-of-bounds
read / nullptr dereference) in case of out-of-memory situation when dealing
with custom tags (fixes :issue:`663`)
* tif_fax3.c: Error out for CCITT fax encoding if SamplesPerPixel is not equal
1 and PlanarConfiguration = Contiguous (fixes :issue:`26`)
* tif_fax3.c: error out after a number of times end-of-line or unexpected bad
code words have been reached. (fixes :issue:`670`)
* Fix memory leak in TIFFSetupStrips() (fixes :issue:`665`)
* tif_zip.c: Provide zlib allocation functions.
Otherwise for zlib built with -DZ_SOLO inflating will fail.
* Fix memory leak in _TIFFSetDefaultCompressionState. (fixes :issue:`676`)
* tif_predict.c: Dont overwrite input buffer of TIFFWriteScanline() if
"prediction" is enabled. Use extra working buffer in PredictorEncodeRow().
(fixes :issue:`5`)
* tif_getimage.c: update some integer overflow checks (fixes :issue:`79`)
* tif_getimage.c: Fix buffer underflow crash for less raster rows at
TIFFReadRGBAImageOriented() (fixes :issue:`704`)
* TIFFReadRGBAImage(): several fixes to avoid buffer overflows.
* Correct passing arguments to TIFFCvtIEEEFloatToNative() and
TIFFCvtIEEEDoubleToNative() if HAVE_IEEEFP is not defined. (fixes
:issue:`699`)
* LZWDecode(): avoid nullptr dereference when trying to read again after EOI
marker has been found with remaining output bytes (fixes :issue:`698`)
* TIFFSetSubDirectory(): check _TIFFCheckDirNumberAndOffset() return.
* TIFFUnlinkDirectory() and TIFFWriteDirectorySec(): clear tif_rawcp when
clearing tif_rawdata (fixes :issue:`711`)
* JPEGEncodeRaw(): error out if a previous scanline failed to be written, to
avoid out-of-bounds access (fixes :issue:`714`)
* tif_jpeg: Fix bug in JPEGDecodeRaw() if JPEG_LIB_MK1_OR_12BIT is defined for
8/12bit dual mode, introduced in libjpeg-turbo 2.2, which was actually
released as 3.0. (fixes :issue:`717`)
* add assert for TIFFReadCustomDirectory infoarray check.
Other changes:
* tif_jpeg.c: use JPEG_MAX_DIMENSION constant instead of hard-coded 65535 value
* tif_lzw.c / tif_packbits.c: use NULL instead of 0.
* Take into account PACKBITS_READ_ONLY, LZW_READ_ONLY, and LERC_READ_ONLY
macros to disable compiling write-support for those codecs.
* tif_lerc.c: add missing casts
* Merge several functions implemented twice in different modules.
(see :issue:`154`)
* Remove get_field_type form TIFFField structure because it is not used
anymore and rename other parameter to set_get_field_type
* Silence some Coverity Scan warnigs and mark already dismissed ones.
* References to codec libraries updated and missing codec compile defines
(tiffconf.h) added.
* Move mkg3states under libtiff/tools. (fixes :issue:`708`)
* tiff_itrunc(): don't use rand() to please Coverity Scan.
* tiffio.h: fix compilation with LOGLUV_PUBLIC=0
* LICENSE.md: Add BSD license for Lempel-Ziv & Welch compression (tif_lzw.c)
(fixes :issue:`431`)
Documentation
-------------
* TIFFRGBAImage.rst note added for incorrect saving of images with TIFF
orientation from 5 (LeftTop) to 8 (LeftBottom) in the raster.
* TIFFRGBAImage.rst note added about un-associated alpha handling
(fixes :issue:`67`)
* Update "Defining New TIFF Tags" description. (fixes :issue:`642`)
* Fix return type of TIFFReadEncodedTile()
* Update the documentation to reflect deprecated typedefs.
* TIFFWriteDirectory.rst: Clarify TIFFSetWriteOffset() only sets offset for
image data and not for IFD data.
* Update documentation on re-entrancy and thread safety.
* Remove dead links to no more existing Awaresystems web-site.
* Updating BigTIFF specification and some miscelaneous editions.
* Replace some last links and remove last todos.
* Added hints for correct allocation of TIFFYCbCrtoRGB structure and its
associated buffers. (fixes :issue:`681`)
* Added chapter to "Using the TIFF Library" with links to handling multi-page
TIFF and custom directories. (fixes :issue:`43`)
* update TIFFOpen.rst with the return values of mapproc and unmapproc.
(fixes :issue:`12`)
Tools changes
-------------
New/improved functionality:
* tiffinfo: add a -W switch to warn about unknown tags.
* tiffdither: process all pages in input TIFF file.
Bug fixes:
* ppm2tiff: Fix bug in `pack_words` trailing bytes, where last two bytes of
each line were written wrongly. (fixes :issue:`467`)
* fax2ps: fix regression of commit 28c38d648b64a66c3218778c4745225fe3e3a06d
where TIFFTAG_FAXFILLFUNC is being used rather than an output buffer
(fixes :issue:`649`)
* tiff2pdf: Check TIFFTAG_TILELENGTH and TIFFTAGTILEWIDTH (fixes :issue:`650`)
* tiff2pdf: check h_samp and v_samp for range 1 to 4 to avoid division by
zero. (fixes :issue:`654`)
* tiff2pdf: avoid null pointer dereference. (fixes :issue:`741`)
* Improve non-secure integer overflow check (comparison of division result
with multiplicant) at compiler optimisation in tiffcp, rgb2ycbcr and tiff2rgba. (fixes :issue:`546`)
* tiff2rgba: fix some "a partial expression can generate an overflow before it
is assigned to a broader type" warnings. (fixes :issue:`682`)
* tiffdither/tiffmedian: Don't skip the first line of the input image.
(fixes :issue:`703`)
* tiffdither: avoid out-of-bounds read identified in :issue:`733`
* tiffmedian: error out if TIFFReadScanline() fails (fixes :issue:`707`)
* tiffmedian: close input file. (fixes :issue:`735`)
* thumbail: avoid potential out of bounds access (fixes :issue:`715`)
* tiffcrop: close open TIFF files and release allocated buffers before exiting
in case of error to avoid memory leaks. (fixes :issue:`716`)
* tiffcrop: fix double-free and memory leak exposed by :issue:`721`
* tiffcrop: avoid buffer overflow. (fixes :issue:`740`)
* tiffcrop: avoid nullptr dereference. (fixes :issue:`734`)
* tiffdump: Fix coverity scan issue CID 1373365: Passing tainted expression
\*datamem to PrintData, which uses it as a divisor or modulus.
* tiff2ps: check return of TIFFGetFiled() for TIFFTAG_STRIPBYTECOUNTS and
TIFFTAG_TILEBYTECOUNTS to avoid NULL pointer dereference.
(fixes :issue:`718`)
* tiffcmp: fix memory leak when second file cannot be opened.
(fixes :issue:`718` and :issue:`729`)
* tiffcp: fix setting compression level for lossless codecs.
(fixes :issue:`730`)
* raw2tiff: close input file before exit (fixes :issue:`742`)
Changes to contributed and unsupported tools
--------------------------------------------
* addtiffo: Fixing MSVC compiler warnings
* Improved oss-fuzz fuzzer tiff_read_rgba_fuzzer.cc.
* oss-fuzz: fix memory leak in fuzz target.