1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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
|