GraphicsMagick: 21 new changesets

GraphicsMagick Commits <[email protected]> Wed, 10 Jan 2024 09:57:01 -0600
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.1656.1704902237.19238.graphicsmagick-commit@lists.sourceforge.net>
changeset 4c91b5aa3973 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=4c91b5aa3973
summary: JXL: Improve JXL reader/writer exception information.

changeset 4a5d4a4dd19d in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=4a5d4a4dd19d
summary: configure.ac: Check libheif for heif_context_set_maximum_image_size_limit()

changeset b090984fe621 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=b090984fe621
summary: HEIF: Support setting image width limit

changeset 825bf7c4cfa1 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=825bf7c4cfa1
summary: Update libtiff to 4.5.1

changeset ba9f79d141b6 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=ba9f79d141b6
summary: tiff/ Update libtiff to 4.5.1.

changeset 4c352d61deca in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=4c352d61deca
summary: Fix LFS check for autoconf-2.72 (ac_cv_sys_file_offset_bits deprecated/removed).

changeset 75981441177c in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=75981441177c
summary: NEWS.txt: Update the news as of December 28, 2023

changeset 3013ed441d4c in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=3013ed441d4c
summary: magick/resource.c: Add a resource 'highwater' value which is updated to the maximum resources used for that resource type. Trace the highwater values when resource tracing is enabled.

changeset 923480791c9f in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=923480791c9f
summary: magick/resource-private.h: New header file to contain private definitions pertaining to resource allocation

changeset 0fe9c8a472f6 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=0fe9c8a472f6
summary: _UpdateMagickResourceHighwater(): New private function to support updating highwater values where it otherwise does not naturally happen.

changeset f12841f47ab3 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=f12841f47ab3
summary: Remove curl bandwidth submission limit.

changeset ad2c4fc5c8a8 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=ad2c4fc5c8a8
summary: Change Coverity email address to one which works.

changeset 775ef3aa3a0d in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=775ef3aa3a0d
summary: tiff/libtiff/tiffconf.h: Fix path to webp/types.h

changeset 89f0991bd3eb in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=89f0991bd3eb
summary: Exclude more tiff/port files

changeset 79c00a3ccfc8 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=79c00a3ccfc8
summary: VisualMagick/tiff/LIBRARY.txt: Exclude more tiff/port files

changeset 10e3c1d29e02 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=10e3c1d29e02
summary: coders/wpg.c Make two functions "EnsureNextImage()" and "LoadPaletteRec()" static.

changeset b5a66dcf5800 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=b5a66dcf5800
summary: coders/tiff.c Last changes pushed.

changeset 26624e875cdb in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=26624e875cdb
summary: coders/tiff.c Extract EXIFIFD part from EXIF profile.

changeset 5ce6abd67588 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=5ce6abd67588
summary: coders/tiff.c Fix TIFF_RATIONAL fix for zero denominator.

changeset cc77e897acde in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=cc77e897acde
summary: fuzzing/oss-fuzz-build.sh: Skip missing libheif optional dependencies in oss-fuzz build.

changeset 2751bfeaf95d in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=2751bfeaf95d
summary: TIFF: Change EXPERIMENTAL_EXIF_TAGS to a simple boolean.

diffstat:

 ChangeLog                                                              |     84 +
 Makefile.am                                                            |      4 +-
 Makefile.in                                                            |      5 +-
 NEWS.txt                                                               |     17 +-
 VisualMagick/installer/inc/version.isx                                 |      4 +-
 VisualMagick/tiff/LIBRARY.txt                                          |      2 +
 coders/heif.c                                                          |     15 +
 coders/jxl.c                                                           |     42 +-
 coders/tiff.c                                                          |    258 +-
 coders/wpg.c                                                           |      4 +-
 configure                                                              |      4 +-
 configure.ac                                                           |      4 +-
 fuzzing/oss-fuzz-build.sh                                              |    139 +-
 locale/C.mgk                                                           |      6 +
 magick/Makefile.am                                                     |      1 +
 magick/blob.c                                                          |     10 +
 magick/gm_messages.mc                                                  |     12 +
 magick/locale_c.h                                                      |   2240 +-
 magick/magick_config.h.in                                              |      4 +
 magick/resource-private.h                                              |     21 +
 magick/resource.c                                                      |    194 +-
 magick/resource.h                                                      |      6 +-
 magick/version.h                                                       |      4 +-
 tiff/CMakeLists.txt                                                    |      4 +-
 tiff/COPYRIGHT                                                         |     21 -
 tiff/ChangeLog                                                         |    664 +
 tiff/Makefile.vc                                                       |     57 -
 tiff/RELEASE-DATE                                                      |      2 +-
 tiff/SConstruct                                                        |    169 -
 tiff/VERSION                                                           |      2 +-
 tiff/cmake/FindDeflate.cmake                                           |     15 +-
 tiff/cmake/FindJBIG.cmake                                              |      2 +-
 tiff/cmake/FindLERC.cmake                                              |     18 +-
 tiff/cmake/FindLibLZMA.cmake                                           |     28 +-
 tiff/cmake/FindWebP.cmake                                              |     20 +-
 tiff/cmake/FindZSTD.cmake                                              |      2 +-
 tiff/cmake/LZMACodec.cmake                                             |      3 +-
 tiff/cmake/PkgConfig.cmake                                             |     10 +-
 tiff/cmake/ProcessorChecks.cmake                                       |     11 -
 tiff/cmake/TiffConfig.cmake.in                                         |      6 +
 tiff/cmake/ZSTDCodec.cmake                                             |      8 +
 tiff/config/config.guess                                               |      6 +-
 tiff/config/config.h.in                                                |      3 -
 tiff/config/config.sub                                                 |      8 +-
 tiff/configure                                                         |     44 +-
 tiff/configure.ac                                                      |     22 +-
 tiff/configure.com                                                     |   1356 -
 tiff/contrib/addtiffo/tif_ovrcache.c                                   |      9 +-
 tiff/doc/Makefile.am                                                   |      1 +
 tiff/doc/Makefile.in                                                   |      3 +-
 tiff/doc/addingtags.rst                                                |     20 +-
 tiff/doc/functions/TIFFOpen.rst                                        |     24 +-
 tiff/doc/functions/TIFFReadDirectory.rst                               |      1 +
 tiff/doc/functions/TIFFSetDirectory.rst                                |     24 +-
 tiff/doc/functions/TIFFSetTagExtender.rst                              |      6 +
 tiff/doc/functions/TIFFWriteDirectory.rst                              |     10 +-
 tiff/doc/functions/libtiff.rst                                         |    327 +-
 tiff/doc/html-prebuilt/.buildinfo                                      |      2 +-
 tiff/doc/html-prebuilt/_sources/addingtags.rst.txt                     |     20 +-
 tiff/doc/html-prebuilt/_sources/functions/TIFFOpen.rst.txt             |     24 +-
 tiff/doc/html-prebuilt/_sources/functions/TIFFReadDirectory.rst.txt    |      1 +
 tiff/doc/html-prebuilt/_sources/functions/TIFFSetDirectory.rst.txt     |     24 +-
 tiff/doc/html-prebuilt/_sources/functions/TIFFSetTagExtender.rst.txt   |      6 +
 tiff/doc/html-prebuilt/_sources/functions/TIFFWriteDirectory.rst.txt   |     10 +-
 tiff/doc/html-prebuilt/_sources/functions/libtiff.rst.txt              |    327 +-
 tiff/doc/html-prebuilt/_sources/index.rst.txt                          |     13 +-
 tiff/doc/html-prebuilt/_sources/internals.rst.txt                      |      8 +-
 tiff/doc/html-prebuilt/_sources/multi_page.rst.txt                     |    213 +
 tiff/doc/html-prebuilt/_sources/releases/index.rst.txt                 |      1 +
 tiff/doc/html-prebuilt/_sources/releases/v4.5.1.rst.txt                |    177 +
 tiff/doc/html-prebuilt/_sources/specification/coverage.rst.txt         |   1217 +-
 tiff/doc/html-prebuilt/_sources/terms.rst.txt                          |     25 +
 tiff/doc/html-prebuilt/_static/_sphinx_javascript_frameworks_compat.js |    134 -
 tiff/doc/html-prebuilt/_static/basic.css                               |     52 +-
 tiff/doc/html-prebuilt/_static/doctools.js                             |      2 +-
 tiff/doc/html-prebuilt/_static/documentation_options.js                |      2 +-
 tiff/doc/html-prebuilt/_static/jquery-3.6.0.js                         |  10881 ----------
 tiff/doc/html-prebuilt/_static/jquery.js                               |      2 -
 tiff/doc/html-prebuilt/_static/language_data.js                        |      2 +-
 tiff/doc/html-prebuilt/_static/searchtools.js                          |      2 +-
 tiff/doc/html-prebuilt/_static/sphinxdoc.css                           |      5 +-
 tiff/doc/html-prebuilt/_static/underscore-1.13.1.js                    |   2042 -
 tiff/doc/html-prebuilt/_static/underscore.js                           |      6 -
 tiff/doc/html-prebuilt/addingtags.html                                 |    171 +-
 tiff/doc/html-prebuilt/build.html                                      |    225 +-
 tiff/doc/html-prebuilt/contrib.html                                    |     25 +-
 tiff/doc/html-prebuilt/functions.html                                  |     29 +-
 tiff/doc/html-prebuilt/functions/TIFFAccessTagMethods.html             |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFClientInfo.html                   |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFClose.html                        |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFCreateDirectory.html              |     41 +-
 tiff/doc/html-prebuilt/functions/TIFFCustomDirectory.html              |     77 +-
 tiff/doc/html-prebuilt/functions/TIFFCustomTagList.html                |     41 +-
 tiff/doc/html-prebuilt/functions/TIFFDataWidth.html                    |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFDeferStrileArrayWriting.html      |     57 +-
 tiff/doc/html-prebuilt/functions/TIFFError.html                        |     43 +-
 tiff/doc/html-prebuilt/functions/TIFFFieldDataType.html                |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFFieldName.html                    |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFFieldPassCount.html               |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFFieldQuery.html                   |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFFieldReadCount.html               |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFFieldTag.html                     |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFFieldWriteCount.html              |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFFlush.html                        |     41 +-
 tiff/doc/html-prebuilt/functions/TIFFGetField.html                     |     69 +-
 tiff/doc/html-prebuilt/functions/TIFFMergeFieldInfo.html               |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFOpen.html                         |     69 +-
 tiff/doc/html-prebuilt/functions/TIFFOpenOptions.html                  |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFPrintDirectory.html               |     50 +-
 tiff/doc/html-prebuilt/functions/TIFFProcFunctions.html                |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFRGBAImage.html                    |     87 +-
 tiff/doc/html-prebuilt/functions/TIFFReadDirectory.html                |     46 +-
 tiff/doc/html-prebuilt/functions/TIFFReadEncodedStrip.html             |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFReadEncodedTile.html              |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFReadFromUserBuffer.html           |     41 +-
 tiff/doc/html-prebuilt/functions/TIFFReadRGBAImage.html                |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFReadRGBAStrip.html                |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFReadRGBATile.html                 |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFReadRawStrip.html                 |     41 +-
 tiff/doc/html-prebuilt/functions/TIFFReadRawTile.html                  |     41 +-
 tiff/doc/html-prebuilt/functions/TIFFReadScanline.html                 |     49 +-
 tiff/doc/html-prebuilt/functions/TIFFReadTile.html                     |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFSetDirectory.html                 |     64 +-
 tiff/doc/html-prebuilt/functions/TIFFSetField.html                     |     59 +-
 tiff/doc/html-prebuilt/functions/TIFFSetTagExtender.html               |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFStrileQuery.html                  |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFWarning.html                      |     43 +-
 tiff/doc/html-prebuilt/functions/TIFFWriteDirectory.html               |     51 +-
 tiff/doc/html-prebuilt/functions/TIFFWriteEncodedStrip.html            |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFWriteEncodedTile.html             |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFWriteRawStrip.html                |     45 +-
 tiff/doc/html-prebuilt/functions/TIFFWriteRawTile.html                 |     41 +-
 tiff/doc/html-prebuilt/functions/TIFFWriteScanline.html                |     49 +-
 tiff/doc/html-prebuilt/functions/TIFFWriteTile.html                    |     41 +-
 tiff/doc/html-prebuilt/functions/TIFFbuffer.html                       |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFcodec.html                        |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFcolor.html                        |    243 +-
 tiff/doc/html-prebuilt/functions/TIFFmemory.html                       |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFquery.html                        |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFsize.html                         |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFstrip.html                        |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFswab.html                         |     37 +-
 tiff/doc/html-prebuilt/functions/TIFFtile.html                         |     37 +-
 tiff/doc/html-prebuilt/functions/_TIFFRewriteField.html                |     37 +-
 tiff/doc/html-prebuilt/functions/_TIFFauxiliary.html                   |     33 +-
 tiff/doc/html-prebuilt/functions/libtiff.html                          |    495 +-
 tiff/doc/html-prebuilt/genindex.html                                   |    116 +-
 tiff/doc/html-prebuilt/images.html                                     |     19 +-
 tiff/doc/html-prebuilt/index.html                                      |     35 +-
 tiff/doc/html-prebuilt/internals.html                                  |    111 +-
 tiff/doc/html-prebuilt/libtiff.html                                    |    469 +-
 tiff/doc/html-prebuilt/multi_page.html                                 |    311 +
 tiff/doc/html-prebuilt/objects.inv                                     |    Bin 
 tiff/doc/html-prebuilt/project/acknowledgements.html                   |     31 +-
 tiff/doc/html-prebuilt/project/bugs.html                               |     31 +-
 tiff/doc/html-prebuilt/project/index.html                              |     19 +-
 tiff/doc/html-prebuilt/project/license.html                            |     19 +-
 tiff/doc/html-prebuilt/project/mailinglist.html                        |     31 +-
 tiff/doc/html-prebuilt/releases/historical.html                        |     19 +-
 tiff/doc/html-prebuilt/releases/index.html                             |     30 +-
 tiff/doc/html-prebuilt/releases/v3.4beta007.html                       |     37 +-
 tiff/doc/html-prebuilt/releases/v3.4beta016.html                       |     41 +-
 tiff/doc/html-prebuilt/releases/v3.4beta018.html                       |     33 +-
 tiff/doc/html-prebuilt/releases/v3.4beta024.html                       |     41 +-
 tiff/doc/html-prebuilt/releases/v3.4beta028.html                       |     49 +-
 tiff/doc/html-prebuilt/releases/v3.4beta029.html                       |     33 +-
 tiff/doc/html-prebuilt/releases/v3.4beta031.html                       |     33 +-
 tiff/doc/html-prebuilt/releases/v3.4beta032.html                       |     37 +-
 tiff/doc/html-prebuilt/releases/v3.4beta033.html                       |     37 +-
 tiff/doc/html-prebuilt/releases/v3.4beta034.html                       |     29 +-
 tiff/doc/html-prebuilt/releases/v3.4beta035.html                       |     29 +-
 tiff/doc/html-prebuilt/releases/v3.4beta036.html                       |     33 +-
 tiff/doc/html-prebuilt/releases/v3.5.1.html                            |     33 +-
 tiff/doc/html-prebuilt/releases/v3.5.2.html                            |     33 +-
 tiff/doc/html-prebuilt/releases/v3.5.3.html                            |     37 +-
 tiff/doc/html-prebuilt/releases/v3.5.4.html                            |     33 +-
 tiff/doc/html-prebuilt/releases/v3.5.5.html                            |     37 +-
 tiff/doc/html-prebuilt/releases/v3.5.6beta.html                        |     41 +-
 tiff/doc/html-prebuilt/releases/v3.5.7.html                            |     43 +-
 tiff/doc/html-prebuilt/releases/v3.6.0.html                            |     49 +-
 tiff/doc/html-prebuilt/releases/v3.6.1.html                            |     45 +-
 tiff/doc/html-prebuilt/releases/v3.7.0.html                            |     45 +-
 tiff/doc/html-prebuilt/releases/v3.7.0alpha.html                       |     45 +-
 tiff/doc/html-prebuilt/releases/v3.7.0beta.html                        |     45 +-
 tiff/doc/html-prebuilt/releases/v3.7.0beta2.html                       |     45 +-
 tiff/doc/html-prebuilt/releases/v3.7.1.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.7.2.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.7.3.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.7.4.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.8.0.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.8.1.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.8.2.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.9.0.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.9.0beta.html                        |     41 +-
 tiff/doc/html-prebuilt/releases/v3.9.1.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.9.2.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.9.3.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.9.4.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v3.9.5.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.0.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.1.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.10.html                           |     45 +-
 tiff/doc/html-prebuilt/releases/v4.0.2.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.3.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.4.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.4beta.html                        |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.5.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.6.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.7.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.8.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.0.9.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.1.0.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.2.0.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.3.0.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.4.0.html                            |     41 +-
 tiff/doc/html-prebuilt/releases/v4.5.0.html                            |     51 +-
 tiff/doc/html-prebuilt/releases/v4.5.1.html                            |    271 +
 tiff/doc/html-prebuilt/search.html                                     |     12 +-
 tiff/doc/html-prebuilt/searchindex.js                                  |      2 +-
 tiff/doc/html-prebuilt/specification/bigtiff.html                      |     43 +-
 tiff/doc/html-prebuilt/specification/coverage-bigtiff.html             |     25 +-
 tiff/doc/html-prebuilt/specification/coverage.html                     |   1315 +-
 tiff/doc/html-prebuilt/specification/index.html                        |     19 +-
 tiff/doc/html-prebuilt/specification/technote2.html                    |     83 +-
 tiff/doc/html-prebuilt/terms.html                                      |     41 +-
 tiff/doc/html-prebuilt/tools.html                                      |     43 +-
 tiff/doc/html-prebuilt/tools/fax2ps.html                               |     53 +-
 tiff/doc/html-prebuilt/tools/fax2tiff.html                             |     85 +-
 tiff/doc/html-prebuilt/tools/pal2rgb.html                              |     45 +-
 tiff/doc/html-prebuilt/tools/ppm2tiff.html                             |     31 +-
 tiff/doc/html-prebuilt/tools/raw2tiff.html                             |     59 +-
 tiff/doc/html-prebuilt/tools/rgb2ycbcr.html                            |     35 +-
 tiff/doc/html-prebuilt/tools/thumbnail.html                            |     43 +-
 tiff/doc/html-prebuilt/tools/tiff2bw.html                              |     39 +-
 tiff/doc/html-prebuilt/tools/tiff2pdf.html                             |     51 +-
 tiff/doc/html-prebuilt/tools/tiff2ps.html                              |     61 +-
 tiff/doc/html-prebuilt/tools/tiff2rgba.html                            |     37 +-
 tiff/doc/html-prebuilt/tools/tiffcmp.html                              |     39 +-
 tiff/doc/html-prebuilt/tools/tiffcp.html                               |     67 +-
 tiff/doc/html-prebuilt/tools/tiffcrop.html                             |    141 +-
 tiff/doc/html-prebuilt/tools/tiffdither.html                           |     43 +-
 tiff/doc/html-prebuilt/tools/tiffdump.html                             |     35 +-
 tiff/doc/html-prebuilt/tools/tiffgt.html                               |     51 +-
 tiff/doc/html-prebuilt/tools/tiffinfo.html                             |     45 +-
 tiff/doc/html-prebuilt/tools/tiffmedian.html                           |     39 +-
 tiff/doc/html-prebuilt/tools/tiffset.html                              |     51 +-
 tiff/doc/html-prebuilt/tools/tiffsplit.html                            |     43 +-
 tiff/doc/index.rst                                                     |     13 +-
 tiff/doc/internals.rst                                                 |      8 +-
 tiff/doc/man-prebuilt/TIFFAccessTagMethods.3tiff                       |      6 +-
 tiff/doc/man-prebuilt/TIFFClientInfo.3tiff                             |      6 +-
 tiff/doc/man-prebuilt/TIFFClose.3tiff                                  |      6 +-
 tiff/doc/man-prebuilt/TIFFCreateDirectory.3tiff                        |      6 +-
 tiff/doc/man-prebuilt/TIFFCustomDirectory.3tiff                        |      6 +-
 tiff/doc/man-prebuilt/TIFFCustomTagList.3tiff                          |      6 +-
 tiff/doc/man-prebuilt/TIFFDataWidth.3tiff                              |      6 +-
 tiff/doc/man-prebuilt/TIFFDeferStrileArrayWriting.3tiff                |      6 +-
 tiff/doc/man-prebuilt/TIFFError.3tiff                                  |      6 +-
 tiff/doc/man-prebuilt/TIFFFieldDataType.3tiff                          |      6 +-
 tiff/doc/man-prebuilt/TIFFFieldName.3tiff                              |      6 +-
 tiff/doc/man-prebuilt/TIFFFieldPassCount.3tiff                         |      6 +-
 tiff/doc/man-prebuilt/TIFFFieldQuery.3tiff                             |      6 +-
 tiff/doc/man-prebuilt/TIFFFieldReadCount.3tiff                         |      6 +-
 tiff/doc/man-prebuilt/TIFFFieldTag.3tiff                               |      6 +-
 tiff/doc/man-prebuilt/TIFFFieldWriteCount.3tiff                        |      6 +-
 tiff/doc/man-prebuilt/TIFFFlush.3tiff                                  |      6 +-
 tiff/doc/man-prebuilt/TIFFGetField.3tiff                               |     10 +-
 tiff/doc/man-prebuilt/TIFFMergeFieldInfo.3tiff                         |      6 +-
 tiff/doc/man-prebuilt/TIFFOpen.3tiff                                   |     43 +-
 tiff/doc/man-prebuilt/TIFFPrintDirectory.3tiff                         |      6 +-
 tiff/doc/man-prebuilt/TIFFProcFunctions.3tiff                          |      6 +-
 tiff/doc/man-prebuilt/TIFFRGBAImage.3tiff                              |     30 +-
 tiff/doc/man-prebuilt/TIFFReadDirectory.3tiff                          |     31 +-
 tiff/doc/man-prebuilt/TIFFReadEncodedStrip.3tiff                       |      6 +-
 tiff/doc/man-prebuilt/TIFFReadEncodedTile.3tiff                        |      6 +-
 tiff/doc/man-prebuilt/TIFFReadFromUserBuffer.3tiff                     |      6 +-
 tiff/doc/man-prebuilt/TIFFReadRGBAImage.3tiff                          |     30 +-
 tiff/doc/man-prebuilt/TIFFReadRGBAStrip.3tiff                          |     30 +-
 tiff/doc/man-prebuilt/TIFFReadRGBATile.3tiff                           |     30 +-
 tiff/doc/man-prebuilt/TIFFReadRawStrip.3tiff                           |      6 +-
 tiff/doc/man-prebuilt/TIFFReadRawTile.3tiff                            |      6 +-
 tiff/doc/man-prebuilt/TIFFReadScanline.3tiff                           |      8 +-
 tiff/doc/man-prebuilt/TIFFReadTile.3tiff                               |      6 +-
 tiff/doc/man-prebuilt/TIFFSetDirectory.3tiff                           |     35 +-
 tiff/doc/man-prebuilt/TIFFSetField.3tiff                               |     12 +-
 tiff/doc/man-prebuilt/TIFFSetTagExtender.3tiff                         |     15 +-
 tiff/doc/man-prebuilt/TIFFStrileQuery.3tiff                            |      6 +-
 tiff/doc/man-prebuilt/TIFFWarning.3tiff                                |      6 +-
 tiff/doc/man-prebuilt/TIFFWriteDirectory.3tiff                         |     36 +-
 tiff/doc/man-prebuilt/TIFFWriteEncodedStrip.3tiff                      |     12 +-
 tiff/doc/man-prebuilt/TIFFWriteEncodedTile.3tiff                       |     12 +-
 tiff/doc/man-prebuilt/TIFFWriteRawStrip.3tiff                          |     12 +-
 tiff/doc/man-prebuilt/TIFFWriteRawTile.3tiff                           |     10 +-
 tiff/doc/man-prebuilt/TIFFWriteScanline.3tiff                          |     18 +-
 tiff/doc/man-prebuilt/TIFFWriteTile.3tiff                              |      6 +-
 tiff/doc/man-prebuilt/TIFFbuffer.3tiff                                 |      6 +-
 tiff/doc/man-prebuilt/TIFFcodec.3tiff                                  |      6 +-
 tiff/doc/man-prebuilt/TIFFcolor.3tiff                                  |     18 +-
 tiff/doc/man-prebuilt/TIFFmemory.3tiff                                 |      6 +-
 tiff/doc/man-prebuilt/TIFFquery.3tiff                                  |      6 +-
 tiff/doc/man-prebuilt/TIFFsize.3tiff                                   |      6 +-
 tiff/doc/man-prebuilt/TIFFstrip.3tiff                                  |      6 +-
 tiff/doc/man-prebuilt/TIFFswab.3tiff                                   |      6 +-
 tiff/doc/man-prebuilt/TIFFtile.3tiff                                   |      6 +-
 tiff/doc/man-prebuilt/_TIFFRewriteField.3tiff                          |      6 +-
 tiff/doc/man-prebuilt/_TIFFauxiliary.3tiff                             |      6 +-
 tiff/doc/man-prebuilt/fax2ps.1                                         |      8 +-
 tiff/doc/man-prebuilt/fax2tiff.1                                       |     32 +-
 tiff/doc/man-prebuilt/libtiff.3tiff                                    |    749 +-
 tiff/doc/man-prebuilt/pal2rgb.1                                        |      8 +-
 tiff/doc/man-prebuilt/ppm2tiff.1                                       |      6 +-
 tiff/doc/man-prebuilt/raw2tiff.1                                       |     10 +-
 tiff/doc/man-prebuilt/rgb2ycbcr.1                                      |      6 +-
 tiff/doc/man-prebuilt/thumbnail.1                                      |      8 +-
 tiff/doc/man-prebuilt/tiff2bw.1                                        |      6 +-
 tiff/doc/man-prebuilt/tiff2pdf.1                                       |     10 +-
 tiff/doc/man-prebuilt/tiff2ps.1                                        |      6 +-
 tiff/doc/man-prebuilt/tiff2rgba.1                                      |      6 +-
 tiff/doc/man-prebuilt/tiffcmp.1                                        |      6 +-
 tiff/doc/man-prebuilt/tiffcp.1                                         |      8 +-
 tiff/doc/man-prebuilt/tiffcrop.1                                       |      8 +-
 tiff/doc/man-prebuilt/tiffdither.1                                     |      6 +-
 tiff/doc/man-prebuilt/tiffdump.1                                       |      8 +-
 tiff/doc/man-prebuilt/tiffgt.1                                         |      8 +-
 tiff/doc/man-prebuilt/tiffinfo.1                                       |      6 +-
 tiff/doc/man-prebuilt/tiffmedian.1                                     |     10 +-
 tiff/doc/man-prebuilt/tiffset.1                                        |      6 +-
 tiff/doc/man-prebuilt/tiffsplit.1                                      |     10 +-
 tiff/doc/releases/index.rst                                            |      1 +
 tiff/doc/releases/v4.5.1.rst                                           |    177 +
 tiff/doc/specification/coverage.rst                                    |   1217 +-
 tiff/doc/terms.rst                                                     |     25 +
 tiff/libtiff/CMakeLists.txt                                            |     26 +-
 tiff/libtiff/Makefile.am                                               |      3 +-
 tiff/libtiff/Makefile.in                                               |      4 +-
 tiff/libtiff/tif_close.c                                               |     32 +-
 tiff/libtiff/tif_config.h                                              |      2 +-
 tiff/libtiff/tif_config.h.cmake.in                                     |      8 +
 tiff/libtiff/tif_config.h.in                                           |      8 +
 tiff/libtiff/tif_dir.c                                                 |    129 +-
 tiff/libtiff/tif_dir.h                                                 |     12 +-
 tiff/libtiff/tif_dirinfo.c                                             |    983 +-
 tiff/libtiff/tif_dirread.c                                             |    213 +-
 tiff/libtiff/tif_dirwrite.c                                            |     13 +-
 tiff/libtiff/tif_fax3.c                                                |      3 +-
 tiff/libtiff/tif_fax3sm.c                                              |      1 -
 tiff/libtiff/tif_getimage.c                                            |      4 +-
 tiff/libtiff/tif_hash_set.c                                            |     29 +-
 tiff/libtiff/tif_hash_set.h                                            |      4 +-
 tiff/libtiff/tif_lerc.c                                                |      2 +-
 tiff/libtiff/tif_luv.c                                                 |      7 +
 tiff/libtiff/tif_lzw.c                                                 |     14 +-
 tiff/libtiff/tif_ojpeg.c                                               |      3 +
 tiff/libtiff/tif_open.c                                                |      8 +-
 tiff/libtiff/tif_win32.c                                               |      4 +-
 tiff/libtiff/tif_win32_versioninfo.rc                                  |     51 +
 tiff/libtiff/tiff.h                                                    |   1037 +-
 tiff/libtiff/tiffconf.h                                                |      3 +
 tiff/libtiff/tiffconf.h.cmake.in                                       |     21 +-
 tiff/libtiff/tiffconf.h.in                                             |     21 +-
 tiff/libtiff/tiffio.h                                                  |      6 +
 tiff/libtiff/tiffiop.h                                                 |     15 +-
 tiff/libtiff/tiffvers.h                                                |      6 +-
 tiff/port/Makefile.vc                                                  |     43 -
 tiff/port/libport.h                                                    |      2 +-
 tiff/port/libport_config.h                                             |     12 -
 tiff/test/CMakeLists.txt                                               |    159 +-
 tiff/test/Makefile.am                                                  |     13 +-
 tiff/test/Makefile.in                                                  |    314 +-
 tiff/test/custom_dir_EXIF_231.c                                        |      2 +-
 tiff/test/images/test_ifd_loop_subifd.tif                              |    Bin 
 tiff/test/images/testfax3_bug_513.tiff                                 |    Bin 
 tiff/test/rational_precision2double.c                                  |      2 +-
 tiff/test/refs/o-testfax3_bug_513.tiff                                 |    Bin 
 tiff/test/test_directory.c                                             |    884 +-
 tiff/test/test_ifd_loop_detection.c                                    |    169 +-
 tiff/test/test_open_options.c                                          |     22 +-
 tiff/test/testfax3_bug_513.sh                                          |     24 +
 tiff/tools/CMakeLists.txt                                              |     48 +-
 tiff/tools/Makefile.am                                                 |      3 +-
 tiff/tools/Makefile.in                                                 |      3 +-
 tiff/tools/fax2ps.c                                                    |      6 +-
 tiff/tools/tif_tools_versioninfo.rc                                    |     51 +
 tiff/tools/tiffcrop.c                                                  |    261 +-
 tiff/tools/tiffmedian.c                                                |      7 +-
 tiff/tools/tiffset.c                                                   |     84 +-
 www/Changelog.html                                                     |     93 +
 www/NEWS.html                                                          |     16 +-
 www/api/resource.html                                                  |      4 +-
 389 files changed, 14686 insertions(+), 24518 deletions(-)

diffs (truncated from 58604 to 500 lines):

diff -r 6b7dcae6cc61 -r 2751bfeaf95d ChangeLog
--- a/ChangeLog	Wed Dec 20 13:33:20 2023 -0600
+++ b/ChangeLog	Wed Jan 10 09:56:37 2024 -0600
@@ -1,3 +1,87 @@
+2024-01-10  Bob Friesenhahn  <[email protected]>
+
+	* coders/tiff.c (EXPERIMENTAL_EXIF_TAGS): Change
+	EXPERIMENTAL_EXIF_TAGS to a simple boolean (rather than an ifdef)
+	and default it to 0.  This needs to be in place until the TIFF
+	writer no longer crashes.
+
+	* fuzzing/oss-fuzz-build.sh: Skip missing libheif optional
+	dependencies in oss-fuzz build.
+
+2024-01-07  Fojtik Jaroslav  <[email protected]>
+
+	coders/tiff.c Fix TIFF_RATIONAL - Two LONGs: the first represents
+	the numerator of a fraction, the second the denominator.
+
+2024-01-06  Fojtik Jaroslav  <[email protected]>
+
+	coders/tiff.c Extract EXIFIFD part from EXIF profile.
+
+2024-01-03  Fojtik Jaroslav  <[email protected]>
+
+	coders/wpg.c Make two functions "EnsureNextImage()" and
+	"LoadPaletteRec()" static.
+
+2024-01-02  Fojtik Jaroslav  <[email protected]>
+
+	* VisualMagick/tiff/LIBRARY.txt: Exclude more tiff/port files.
+
+2024-01-01  Fojtik Jaroslav  <[email protected]>
+
+	* tiff/libtiff/tiffconf.h: Fix path to webp/types.h.
+
+2023-12-30  Bob Friesenhahn  <[email protected]>
+
+	* NEWS.txt: Update the news as of December 30, 2023.
+
+	* magick/resource.c (_UpdateMagickResourceHighwater): New private
+	function to support updating highwater values where it otherwise
+	does not naturally happen.  The highwater values represent the
+	result of successful requests so they may be used to evaluate the
+	resource limit requirements of a particular request.
+
+	* magick/resource-private.h: New header file to contain private
+	definitions pertaining to resource allocation.
+
+2023-12-29  Bob Friesenhahn  <[email protected]>
+
+	* magick/resource.c: Add a resource 'highwater' value which is
+	updated to the maximum resources used for that resource type.
+	This value is currently only reliably updated for SummationLimit
+	LimitType.  Trace the highwater values when resource tracing is
+	enabled.
+
+2023-12-28  Bob Friesenhahn  <[email protected]>
+
+	* NEWS.txt: Update the news as of December 28, 2023.
+
+	* configure.ac: fixup LFS check for autoconf-2.72. Patch by Sam
+	James <[email protected]>
+
+	For the 'other' case, we were using the value of
+	ac_cv_sys_file_offset_bits for -D_FILE_OFFSET_BITS to pass down
+	into the Perl module build, but autoconf-2.72 drops the use of
+	ac_cv_sys_file_offset_bits in
+	cf09f48841b66fe76f606dd6018bb3a93242a7c9, so this ends up defining
+	'-D_FILE_OFFSET_BITS=' which then breaks the build.
+
+	I've just added a hack to preserve the old behaviour to avoid
+	passing a blank value.
+
+2023-12-27  Fojtik Jaroslav  <[email protected]>
+
+	* tiff/ Update libtiff to 4.5.1.
+
+2023-12-21  Bob Friesenhahn  <[email protected]>
+
+	* coders/heif.c (ReadHEIFImage): Support setting image width
+	limit.
+
+	* configure.ac: Check libheif for
+	heif_context_set_maximum_image_size_limit().
+
+	* coders/jxl.c: Improve JXL reader/writer exception information.
+
 2023-12-20  Bob Friesenhahn  <[email protected]>
 
 	* NEWS.txt: Update with news since the last release.
diff -r 6b7dcae6cc61 -r 2751bfeaf95d Makefile.am
--- a/Makefile.am	Wed Dec 20 13:33:20 2023 -0600
+++ b/Makefile.am	Wed Jan 10 09:56:37 2024 -0600
@@ -32,7 +32,7 @@
 # FIXME: Could use info from /etc/os-release, or output from
 # lsb_release.
 # New URL is https://scan.coverity.com/projects/graphicsmagick?tab=overview
[email protected]
[email protected]
 COVERITY_TARBALL=GraphicsMagick.xz
 COVERITY_VERSION=snapshot-@PACKAGE_CHANGE_DATE@
 COVERITY_DESCRIPTION='Ubuntu Q@QuantumDepth@'
@@ -447,7 +447,7 @@
 	$(RM) -rf $(COVERITY_COV_INT)
 	cov-build --dir $(COVERITY_COV_INT) $(MAKE)
 	tar caf $(COVERITY_TARBALL) cov-int
-	curl --limit-rate 34K \
+	curl \
 	--form token=`cat $$HOME/.coverity_key_gm` \
 	--form email=$(COVERITY_EMAIL) \
 	--form file=@$(COVERITY_TARBALL) \
diff -r 6b7dcae6cc61 -r 2751bfeaf95d Makefile.in
--- a/Makefile.in	Wed Dec 20 13:33:20 2023 -0600
+++ b/Makefile.in	Wed Jan 10 09:56:37 2024 -0600
@@ -2790,7 +2790,7 @@
 # FIXME: Could use info from /etc/os-release, or output from
 # lsb_release.
 # New URL is https://scan.coverity.com/projects/graphicsmagick?tab=overview
-COVERITY_EMAIL = [email protected]
+COVERITY_EMAIL = [email protected]
 COVERITY_TARBALL = GraphicsMagick.xz
 COVERITY_VERSION = snapshot-@PACKAGE_CHANGE_DATE@
 COVERITY_DESCRIPTION = 'Ubuntu Q@QuantumDepth@'
@@ -4088,6 +4088,7 @@
 	magick/random-private.h \
 	magick/registry-private.h \
 	magick/render-private.h \
+	magick/resource-private.h \
 	magick/semaphore.h \
 	magick/spinlock.h \
 	magick/static.h \
@@ -11600,7 +11601,7 @@
 	$(RM) -rf $(COVERITY_COV_INT)
 	cov-build --dir $(COVERITY_COV_INT) $(MAKE)
 	tar caf $(COVERITY_TARBALL) cov-int
-	curl --limit-rate 34K \
+	curl \
 	--form token=`cat $$HOME/.coverity_key_gm` \
 	--form email=$(COVERITY_EMAIL) \
 	--form file=@$(COVERITY_TARBALL) \
diff -r 6b7dcae6cc61 -r 2751bfeaf95d NEWS.txt
--- a/NEWS.txt	Wed Dec 20 13:33:20 2023 -0600
+++ b/NEWS.txt	Wed Jan 10 09:56:37 2024 -0600
@@ -19,7 +19,7 @@
 .. contents::
   :local:
 
-1.3.43 (??? ???, 202?)
+1.3.43 (??? ???, 2024)
 ===========================
 
 Special Issues:
@@ -68,13 +68,22 @@
   uncompressed bytes written.  The behavior when the limit is hit is
   similar to an unexpected write error, as if the disk is full.
 
+* Resource limit highwater: Resource highwater values are maintained
+  for successful resource requests and final values are traced
+  via -debug resource' at the end of program execution.  These values
+  may be used to understand the most restrictive resource limits which
+  may be applied while still achieving successful operation.
+
 * BMP: Support BI_PNG compression (PNG inside BMP).
 
 * BMP: Support reading 64 bits-per-pixel.
 
 * BMP: Support reading 48 bits-per-pixel.
 
-* HEIF: Call heif_init() and heif_deinit() if they are available.
+* HEIF: Call heif_init() and heif_deinit() if they are
+  available. Support setting image width limit.
+
+* JXL: Improve JXL reader/writer exception information.
 
 * TIFF: Remove miniswhite/minisblack prohibitions when using Group3
   and Group4 compression in order to allow using inverted photometric
@@ -87,7 +96,7 @@
 
 Windows Delegate Updates/Additions:
 
-* None.
+* libtiff: Update bundled libtiff sources to version 4.5.1.
 
 Build Changes:
 
@@ -116,6 +125,8 @@
 * Autotools-based build: No longer search for (and use) libtrio by
   default.  The user now needs to request using it.
 
+* Autotools-based build: Fixes for autoconf-2.72.
+
 * oss-fuzz build: The fuzzing/oss-fuzz-build.sh is re-written in order
   to support almost all possible dependency libraries.  For example,
   JXL and HEIF (with HEIC and AVIF reader support) are now included in
diff -r 6b7dcae6cc61 -r 2751bfeaf95d VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Wed Dec 20 13:33:20 2023 -0600
+++ b/VisualMagick/installer/inc/version.isx	Wed Jan 10 09:56:37 2024 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020231220"
-#define public MagickPackageReleaseDate "snapshot-20231220"
+#define public MagickPackageVersionAddendum ".020240110"
+#define public MagickPackageReleaseDate "snapshot-20240110"
diff -r 6b7dcae6cc61 -r 2751bfeaf95d VisualMagick/tiff/LIBRARY.txt
--- a/VisualMagick/tiff/LIBRARY.txt	Wed Dec 20 13:33:20 2023 -0600
+++ b/VisualMagick/tiff/LIBRARY.txt	Wed Jan 10 09:56:37 2024 -0600
@@ -39,3 +39,5 @@
 EXCLUDE = strtoll.c
 EXCLUDE = strtoul.c
 EXCLUDE = strtoull.c
+EXCLUDE = snprintf.c
+EXCLUDE = tif_win32_versioninfo.rc
diff -r 6b7dcae6cc61 -r 2751bfeaf95d coders/heif.c
--- a/coders/heif.c	Wed Dec 20 13:33:20 2023 -0600
+++ b/coders/heif.c	Wed Jan 10 09:56:37 2024 -0600
@@ -30,6 +30,7 @@
 #include "magick/monitor.h"
 #include "magick/pixel_cache.h"
 #include "magick/profile.h"
+#include "magick/resource.h"
 #include "magick/utility.h"
 #include "magick/resource.h"
 
@@ -540,6 +541,20 @@
   /* Init HEIF-Decoder handles */
   heif=heif_context_alloc();
 
+#if defined(HAVE_HEIF_CONTEXT_SET_MAXIMUM_IMAGE_SIZE_LIMIT)
+  {
+    /* Add an image size limit */
+    magick_int64_t width_limit = GetMagickResourceLimit(WidthResource);
+    if (MagickResourceInfinity != width_limit)
+      {
+        if (width_limit > INT_MAX)
+          width_limit =  INT_MAX;
+        heif_context_set_maximum_image_size_limit(heif, (int) width_limit);
+      }
+  }
+#endif /* if defined(HAVE_HEIF_CONTEXT_SET_MAXIMUM_IMAGE_SIZE_LIMIT) */
+
+  /* FIXME: DEPRECATED: use heif_context_read_from_memory_without_copy() instead. */
   heif_status=heif_context_read_from_memory(heif, in_buf, in_len, NULL);
   if (heif_status.code == heif_error_Unsupported_filetype
       || heif_status.code == heif_error_Unsupported_feature)
diff -r 6b7dcae6cc61 -r 2751bfeaf95d coders/jxl.c
--- a/coders/jxl.c	Wed Dec 20 13:33:20 2023 -0600
+++ b/coders/jxl.c	Wed Jan 10 09:56:37 2024 -0600
@@ -445,7 +445,7 @@
       if (image->logging)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                               "JxlDecoderCreate() failed");
-      ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,image);
+      ThrowReaderException(CoderError,JXLDecoderAPIFailure,image);
     }
 
   /* Deliver image as-is. We provide autoOrient function if user requires it */
@@ -454,7 +454,7 @@
       if (image->logging)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                               "JxlDecoderSetKeepOrientation() failed");
-      ThrowJXLReaderException(ResourceLimitError,MemoryAllocationFailed,image);
+      ThrowJXLReaderException(CoderError,JXLDecoderAPIFailure,image);
     }
 
   /* Apply any pre-multiplied alpha for us so we don't need to do it. */
@@ -463,7 +463,7 @@
       if (image->logging)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                               "JxlDecoderSetUnpremultiplyAlpha() failed");
-      ThrowJXLReaderException(ResourceLimitError,MemoryAllocationFailed,image);
+      ThrowJXLReaderException(CoderError,JXLDecoderAPIFailure,image);
     }
 
   if(!image_info->ping)
@@ -476,7 +476,7 @@
             (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                   "JxlThreadParallelRunnerCreate() failed (%"MAGICK_SIZE_T_F"u threads)",
                                   num_worker_threads);
-          ThrowJXLReaderException(ResourceLimitError,MemoryAllocationFailed,image);
+          ThrowJXLReaderException(CoderError,JXLDecoderAPIFailure,image);
         }
       if (JxlDecoderSetParallelRunner(jxl_decoder, JxlThreadParallelRunner, jxl_thread_runner)
           != JXL_DEC_SUCCESS)
@@ -485,7 +485,7 @@
             (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                   "JxlDecoderSetParallelRunner() failed (%"MAGICK_SIZE_T_F"u) threads",
                                   num_worker_threads);
-          ThrowJXLReaderException(ResourceLimitError,MemoryAllocationFailed,image);
+          ThrowJXLReaderException(CoderError,JXLDecoderAPIFailure,image);
         }
     }
 
@@ -502,7 +502,7 @@
       if (image->logging)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                               "JxlDecoderSubscribeEvents() failed");
-      ThrowJXLReaderException(ResourceLimitError,MemoryAllocationFailed,image);
+      ThrowJXLReaderException(CoderError,JXLDecoderAPIFailure,image);
     }
 
   in_buf=MagickAllocateResourceLimitedArray(unsigned char *,in_len,sizeof(*in_buf));
@@ -1248,7 +1248,7 @@
       if (image->logging)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                               "JxlEncoderCreate() failure");
-      ThrowWriterException(ResourceLimitError,MemoryAllocationFailed,image);
+      ThrowWriterException(CoderError,JXLEncoderAPIFailure,image);
     }
 
   /* Use the same number of threads as used for OpenMP */
@@ -1262,7 +1262,7 @@
           (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                 "JxlThreadParallelRunnerCreate() failed (%"MAGICK_SIZE_T_F"u) threads",
                                 num_worker_threads);
-        ThrowJXLWriterException(ResourceLimitError,MemoryAllocationFailed,image);
+        ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
       }
     if (JxlEncoderSetParallelRunner(jxl_encoder, JxlThreadParallelRunner, jxl_thread_runner)
         != JXL_ENC_SUCCESS)
@@ -1271,7 +1271,7 @@
           (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                 "JxlDecoderSetParallelRunner() failed (%"MAGICK_SIZE_T_F"u) threads",
                                 num_worker_threads);
-        ThrowJXLWriterException(ResourceLimitError,MemoryAllocationFailed,image);
+        ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
       }
   }
 
@@ -1377,14 +1377,14 @@
     {
       /* TODO better error codes */
       if (jxl_status == JXL_ENC_ERROR)
-        ThrowJXLWriterException(CoderError,NoDataReturned,image);
+        ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
 #if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0)
       /* JXL_ENC_NOT_SUPPORTED was removed for 0.9.0, although API docs still mention it. */
       else if (jxl_status == JXL_ENC_NOT_SUPPORTED)
         ThrowJXLWriterException(CoderError,UnsupportedBitsPerSample,image);
 #endif /* if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0) */
       else
-        ThrowJXLWriterException(CoderFatalError,Default,image);
+        ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
     }
 
   /* Set expected input colorspace */
@@ -1396,7 +1396,7 @@
       if (image->logging)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                               "JxlEncoderSetColorEncoding() failed");
-      ThrowJXLWriterException(CoderFatalError,Default,image);
+      ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
     }
 
   frame_settings = JxlEncoderFrameSettingsCreate(jxl_encoder, NULL);
@@ -1407,7 +1407,7 @@
           if (image->logging)
             (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                   "JxlEncoderSetFrameLossless() failed");
-          ThrowJXLWriterException(CoderFatalError,Default,image);
+          ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
         }
     }
   else
@@ -1422,7 +1422,7 @@
               if (image->logging)
                 (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                       "JxlEncoderSetFrameDistance() failed");
-              ThrowJXLWriterException(CoderFatalError,Default,image);
+              ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
             }
         }
       else
@@ -1434,7 +1434,7 @@
               if (image->logging)
                 (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                       "JxlEncoderSetFrameDistance() failed");
-              ThrowJXLWriterException(CoderFatalError,Default,image);
+              ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
             }
         }
     }
@@ -1613,8 +1613,12 @@
 
         p += export_info.bytes_exported;
       }
+    /*
+      This error is totally bogus but ExportImagePixelArea() should
+      have already set a more useful error.
+    */
     if (status == MagickFail)
-      ThrowJXLWriterException(ResourceLimitError,MemoryAllocationFailed,image);
+      ThrowJXLWriterException(CoderError,ImageTypeNotSupported,image);
   }
 
   /* real encode */
@@ -1624,8 +1628,7 @@
       if (image->logging)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                               "JxlEncoderAddImageFrame() failed");
-      /* TODO Better Error-code? */
-      ThrowJXLWriterException(CoderError,NoDataReturned,image);
+      ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
     }
 
   /* Close any input to the encoder. No further input of any kind may
@@ -1662,8 +1665,7 @@
       if (image->logging)
         (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                               "JxlEncoderProcessOutput() failure");
-      /* TODO Better Error-code? */
-      ThrowJXLWriterException(CoderError,NoDataReturned,image);
+      ThrowJXLWriterException(CoderError,JXLEncoderAPIFailure,image);
     }
 
   status &= CloseBlob(image);
diff -r 6b7dcae6cc61 -r 2751bfeaf95d coders/tiff.c
--- a/coders/tiff.c	Wed Dec 20 13:33:20 2023 -0600
+++ b/coders/tiff.c	Wed Jan 10 09:56:37 2024 -0600
@@ -72,6 +72,10 @@
 #    include "zstd.h"
 #  endif /* if defined(COMPRESSION_ZSTD) && defined(HasZSTD) */
 
+#if !defined(EXPERIMENTAL_EXIF_TAGS)
+#  define EXPERIMENTAL_EXIF_TAGS 0
+#endif /* if !defined(EXPERIMENTAL_EXIF_TAGS) */
+
 /*
   JPEG headers are needed in order to obtain BITS_IN_JSAMPLE
 */
@@ -4399,9 +4403,13 @@
 
 #if defined(HasTIFF)
 
-#if defined(EXPERIMENTAL_EXIF_TAGS)
+#if EXPERIMENTAL_EXIF_TAGS
 #if TIFFLIB_VERSION >= 20120922
 
+#define FLAG_EXIF	1
+#define FLAG_GPS	2
+#define FLAG_BASE	4
+
 /*
 static TIFFField customFields[] = {
     {544, -1, -1, TIFF_LONG, 0, TIFF_SETGET_UINT32,
@@ -4445,17 +4453,113 @@
 }
 
 
-static int AddExifFields(TIFF *tiff, const unsigned char *profile_data, size_t profile_length, MagickBool logging)
+static int AddIFDExifFields(TIFF *tiff, const unsigned char *profile_data, const unsigned char *IFD_data, size_t profile_length, MagickBool logging, uint16_t Flags)
 {
-const char EXIF[6] = {'E','x','i','f',0,0};
-uint32_t IFDpos;
+uint32_t(*LD_UINT32)(const unsigned char *Mem);
+uint16_t(*LD_UINT16)(const unsigned char *Mem);
+const TIFFField *fip;
 uint16_t EntryNum;
 uint16_t Tag, Field;
 uint32_t Long2, Value;
 int FieldCount = 0;
-uint32_t(*LD_UINT32)(const unsigned char *Mem);
-uint16_t(*LD_UINT16)(const unsigned char *Mem);
-const TIFFField *fip;
+
+  if(*profile_data=='M')
+  {
+    LD_UINT32 = LD_UINT32_HI;
+    LD_UINT16 = LD_UINT16_HI;
+  }
+  else
+  {
+    if(*profile_data!='I') return 0;
+    LD_UINT32 = LD_UINT32_LO;
+    LD_UINT16 = LD_UINT16_LO;
+
+  }
+
+  do
+  {
+    if(profile_length-(IFD_data-profile_data) < 2) return 0;
+    EntryNum = LD_UINT16(IFD_data);
+    profile_length-=2;
+    if(profile_length-(IFD_data-profile_data) < EntryNum*12) return 0;
+    IFD_data+=2;
+
+    while(EntryNum>0)
+    {
+      Tag = LD_UINT16(IFD_data);
+      Field = LD_UINT16(IFD_data+2);
+      Long2 = LD_UINT32(IFD_data+4);
+      Value = LD_UINT32(IFD_data+8);
+
+      fip = TIFFFindField(tiff, Tag, TIFF_ANY);
+      if(logging)
+        (void)LogMagickEvent(CoderEvent,GetMagickModule(),"Extracted tag from EXIF %xh, Field %d, Long2 %d, val %d %s",
+                           Tag, Field, Long2, Value, FipFieldName(fip));
+