<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

    <title>Changes in TIFF v3.8.1 &#8212; LibTIFF 4.7.1 documentation</title>
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b849a4e9" />
    <link rel="stylesheet" type="text/css" href="../_static/sphinxdoc.css?v=0a676766" />
    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=3b5d5a7b"></script>
    <script src="../_static/doctools.js?v=888ff710"></script>
    <script src="../_static/sphinx_highlight.js?v=4825356b"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Changes in TIFF v3.8.0" href="v3.8.0.html" />
    <link rel="prev" title="Changes in TIFF v3.8.2" href="v3.8.2.html" /> 
  </head><body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="v3.8.0.html" title="Changes in TIFF v3.8.0"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="v3.8.2.html" title="Changes in TIFF v3.8.2"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html">LibTIFF 4.7.1 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="index.html" >Release history</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="historical.html" accesskey="U">Old release history</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">Changes in TIFF v3.8.1</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <section id="changes-in-tiff-v3-8-1">
<h1>Changes in TIFF v3.8.1<a class="headerlink" href="#changes-in-tiff-v3-8-1" title="Permalink to this heading">¶</a></h1>
<table class="docutils align-default" id="id1">
<caption><span class="caption-text">References</span><a class="headerlink" href="#id1" title="Permalink to this table">¶</a></caption>
<tbody>
<tr class="row-odd"><td><p>Current Version</p></td>
<td><p>v3.8.1 (<a class="reference external" href="https://gitlab.com/libtiff/libtiff/-/tags/Release-v3-8-1">tag Release-v3-8-1</a>)</p></td>
</tr>
<tr class="row-even"><td><p>Previous Version</p></td>
<td><p><a class="reference internal" href="v3.8.0.html"><span class="doc">v3.8.0</span></a></p></td>
</tr>
<tr class="row-odd"><td><p>Master Download Site</p></td>
<td><p><a class="reference external" href="https://download.osgeo.org/libtiff/">https://download.osgeo.org/libtiff/</a></p></td>
</tr>
<tr class="row-even"><td><p>Master HTTP Site</p></td>
<td><p><a class="reference external" href="http://www.simplesystems.org/libtiff/">http://www.simplesystems.org/libtiff/</a></p></td>
</tr>
</tbody>
</table>
<p>This document describes the changes made to the software between the
<em>previous</em> and <em>current</em> versions (see above).
If you don't find something listed here, then it was not done in this
timeframe, or it was not considered important enough to be mentioned.
The following information is located here:</p>
<section id="major-changes">
<h2>Major changes<a class="headerlink" href="#major-changes" title="Permalink to this heading">¶</a></h2>
<ul class="simple">
<li><p>Bug-fix release.</p></li>
</ul>
</section>
<section id="software-configuration-changes">
<h2>Software configuration changes<a class="headerlink" href="#software-configuration-changes" title="Permalink to this heading">¶</a></h2>
<ul class="simple">
<li><p>libtool related stuff updated from the 2.1a branch.</p></li>
<li><p>Fix <code class="docutils literal notranslate"><span class="pre">with_default_strip_size</span></code> comparison as reported by
Norihiko Murase.</p></li>
</ul>
</section>
<section id="library-changes">
<h2>Library changes<a class="headerlink" href="#library-changes" title="Permalink to this heading">¶</a></h2>
<ul class="simple">
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_dirread.c</span></code>: Fixed error reporting in <code class="xref c c-func docutils literal notranslate"><span class="pre">TIFFFetchAnyArray()</span></code>
function as per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1102">Remote Sensing bugzilla #1102 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_jpeg.c</span></code>, <code class="file docutils literal notranslate"><span class="pre">tif_pixarlog.c</span></code>, <code class="file docutils literal notranslate"><span class="pre">tif_fax3.c</span></code>, <code class="file docutils literal notranslate"><span class="pre">tif_zip.c</span></code>:
Properly restore <code class="docutils literal notranslate"><span class="pre">setfield</span></code>/<code class="docutils literal notranslate"><span class="pre">getfield</span></code> methods in cleanup functions. As
per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1102">Remote Sensing bugzilla #1102 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_lzw.c</span></code>, <code class="file docutils literal notranslate"><span class="pre">tif_pixarlog.c</span></code>, <code class="file docutils literal notranslate"><span class="pre">tif_zip.c</span></code>: Use
<code class="xref c c-func docutils literal notranslate"><span class="pre">TIFFPredictorCleanup()</span></code> in codec cleanup methods. As per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1102">Remote Sensing bugzilla #1102 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_predict.c</span></code>, <code class="file docutils literal notranslate"><span class="pre">tif_predict.h</span></code>: Added new function
<code class="xref c c-func docutils literal notranslate"><span class="pre">TIFFPredictorCleanup()</span></code> to restore parent decode/encode/field methods.</p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_dirread.c</span></code>: Fixed integer overflow condition in
<code class="xref c c-func docutils literal notranslate"><span class="pre">TIFFFetchData()</span></code> function. As per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1102">Remote Sensing bugzilla #1102 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_ojpeg.c</span></code>: Set the <code class="docutils literal notranslate"><span class="pre">ReferenceBlackWhite</span></code> with the
<a class="reference internal" href="../functions/TIFFSetField.html#c.TIFFSetField" title="TIFFSetField"><code class="xref c c-func docutils literal notranslate"><span class="pre">TIFFSetField()</span></code></a> method, not directly. As per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1043">Remote Sensing bugzilla #1043 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_write.c</span></code>: Small code rearrangement in <a class="reference internal" href="../functions/TIFFWriteScanline.html#c.TIFFWriteScanline" title="TIFFWriteScanline"><code class="xref c c-func docutils literal notranslate"><span class="pre">TIFFWriteScanline()</span></code></a>
to avoid crash as per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1081">Remote Sensing bugzilla #1081 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_dirwrite.c</span></code>: Properly write <code class="docutils literal notranslate"><span class="pre">TIFFTAG_DOTRANGE</span></code> tag as per
bug <a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1088">Remote Sensing bugzilla #1088 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_print.c</span></code>: Properly read <code class="xref c c-macro docutils literal notranslate"><span class="pre">TIFFTAG_PAGENUMBER</span></code>,
<code class="xref c c-macro docutils literal notranslate"><span class="pre">TIFFTAG_HALFTONEHINTS</span></code>, <code class="xref c c-macro docutils literal notranslate"><span class="pre">TIFFTAG_YCBCRSUBSAMPLING</span></code>
and <code class="xref c c-macro docutils literal notranslate"><span class="pre">TIFFTAG_DOTRANGE</span></code> tags as per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1088">Remote Sensing bugzilla #1088 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_tile.c</span></code>: Fix error reporting in <a class="reference internal" href="../functions/TIFFtile.html#c.TIFFCheckTile" title="TIFFCheckTile"><code class="xref c c-func docutils literal notranslate"><span class="pre">TIFFCheckTile()</span></code></a> as per
bug <a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1063">Remote Sensing bugzilla #1063 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_color.c</span></code>: Avoid overflow in case of wrong input as per
bug <a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1065">Remote Sensing bugzilla #1065 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_dirinfo.c</span></code>: Use <code class="xref c c-enumerator docutils literal notranslate"><span class="pre">TIFF_NOTYPE</span></code> instead of 0 when
appropriate. As per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1033">Remote Sensing bugzilla #1033 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_aux.c</span></code>: Fixed type of temporary variable in
<a class="reference internal" href="../functions/TIFFmemory.html#c._TIFFCheckMalloc" title="_TIFFCheckMalloc"><code class="xref c c-func docutils literal notranslate"><span class="pre">_TIFFCheckMalloc()</span></code></a> as per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=103">Remote Sensing bugzilla #103 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_aux.c</span></code>: Return static array when fetching default
<code class="docutils literal notranslate"><span class="pre">YCbCrCoefficients</span></code> (another problem, reported a the
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1029">Remote Sensing bugzilla #1029 [no longer available]</a>
entry).</p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_dir.c</span></code>: Special handling for <code class="docutils literal notranslate"><span class="pre">PageNumber</span></code>, <code class="docutils literal notranslate"><span class="pre">HalftoneHints</span></code>,
<code class="docutils literal notranslate"><span class="pre">YCbCrSubsampling</span></code> and <code class="docutils literal notranslate"><span class="pre">DotRange</span></code> tags as per bugs
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1029">Remote Sensing bugzilla #1029 [no longer available]</a>
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1034">Remote Sensing bugzilla #1034 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_dirread.c</span></code>: Use <code class="xref c c-func docutils literal notranslate"><span class="pre">_TIFFGetExifFieldInfo()</span></code> instead of
<code class="xref c c-func docutils literal notranslate"><span class="pre">_TIFFGetFieldInfo()</span></code> in <a class="reference internal" href="../functions/TIFFCustomDirectory.html#c.TIFFReadEXIFDirectory" title="TIFFReadEXIFDirectory"><code class="xref c c-func docutils literal notranslate"><span class="pre">TIFFReadEXIFDirectory()</span></code></a> call as per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1026">Remote Sensing bugzilla #1026 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_dirinfo.c</span></code>: Change definitions for <code class="xref c c-macro docutils literal notranslate"><span class="pre">TIFFTAG_ICCPROFILE</span></code>,
<code class="xref c c-macro docutils literal notranslate"><span class="pre">TIFFTAG_PHOTOSHOP</span></code>, <code class="xref c c-macro docutils literal notranslate"><span class="pre">TIFFTAG_RICHTIFFIPTC</span></code>,
<code class="xref c c-macro docutils literal notranslate"><span class="pre">TIFFTAG_XMLPACKET</span></code>: readcount should be <code class="xref c c-type docutils literal notranslate"><span class="pre">uint32</span></code> value.</p></li>
</ul>
</section>
<section id="tools-changes">
<h2>Tools changes<a class="headerlink" href="#tools-changes" title="Permalink to this heading">¶</a></h2>
<ul class="simple">
<li><p><code class="file docutils literal notranslate"><span class="pre">ppm2tiff.c</span></code>: Added support for PBM files as per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1044">Remote Sensing bugzilla #1044 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tiff2pdf.c</span></code>: Functions <code class="xref c c-func docutils literal notranslate"><span class="pre">t2p_sample_rgbaa_to_rgb()</span></code> and
<code class="xref c c-func docutils literal notranslate"><span class="pre">t2p_sample_rgba_to_rgb()</span></code> was used in place of each other, that was
resulted in problems with RGBA images with associated alpha.
As per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1097">Remote Sensing bugzilla #1097 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tiff2ps.c</span></code>: Properly scale all the pages when converting
multipage TIFF with /width/height/center options set. As per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1080">Remote Sensing bugzilla #1080 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tiff2pdf.c</span></code>: Do not create output file until all option checks
will be done. As per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1072">Remote Sensing bugzilla #1072 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">bmp2tiff.c</span></code>: Added ability to create multipage TIFFs from the
list of input files as per bug
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1077">Remote Sensing bugzilla #1077 [no longer available]</a></p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tiffgt.c</span></code>: Avoid crashing in case of image unsupported by
TIFFRGBAImage interface.</p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tiff2pdf.c</span></code>: Fixed support for non-YCbCr encoded JPEG
compressed TIFF files, per submission from Dan Cobra.</p></li>
<li><p><strong class="program">bmp2tiff</strong>, <strong class="program">pal2rgb</strong>, <strong class="program">ppm2tiff</strong>, <strong class="program">ras2tiff</strong>,
<strong class="program">raw2tiff</strong>, <strong class="program">sgi2tiff</strong>, <strong class="program">tiff2bw</strong>, <strong class="program">tiffcp</strong>:
Fixed jpeg option processing so <code class="docutils literal notranslate"><span class="pre">-c</span> <span class="pre">jpeg:r:50</span></code> works
properly as per bug:
<a class="reference external" href="http://bugzilla.remotesensing.org/show_bug.cgi?id=1025">Remote Sensing bugzilla #1025 [no longer available]</a></p></li>
</ul>
</section>
<section id="contributed-software-changes">
<h2>Contributed software changes<a class="headerlink" href="#contributed-software-changes" title="Permalink to this heading">¶</a></h2>
<p>None.</p>
</section>
</section>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <div>
    <h3><a href="../index.html">Table of Contents</a></h3>
    <ul>
<li><a class="reference internal" href="#">Changes in TIFF v3.8.1</a><ul>
<li><a class="reference internal" href="#major-changes">Major changes</a></li>
<li><a class="reference internal" href="#software-configuration-changes">Software configuration changes</a></li>
<li><a class="reference internal" href="#library-changes">Library changes</a></li>
<li><a class="reference internal" href="#tools-changes">Tools changes</a></li>
<li><a class="reference internal" href="#contributed-software-changes">Contributed software changes</a></li>
</ul>
</li>
</ul>

  </div>
  <div>
    <h4>Previous topic</h4>
    <p class="topless"><a href="v3.8.2.html"
                          title="previous chapter">Changes in TIFF v3.8.2</a></p>
  </div>
  <div>
    <h4>Next topic</h4>
    <p class="topless"><a href="v3.8.0.html"
                          title="next chapter">Changes in TIFF v3.8.0</a></p>
  </div>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/releases/v3.8.1.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="v3.8.0.html" title="Changes in TIFF v3.8.0"
             >next</a> |</li>
        <li class="right" >
          <a href="v3.8.2.html" title="Changes in TIFF v3.8.2"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html">LibTIFF 4.7.1 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="index.html" >Release history</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="historical.html" >Old release history</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">Changes in TIFF v3.8.1</a></li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
    &#169; Copyright 1988-2025, LibTIFF contributors.
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.1.2.
    </div>
  </body>
</html>