<!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 v4.0.5 &#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 v4.0.4" href="v4.0.4.html" />
    <link rel="prev" title="Changes in TIFF v4.0.6" href="v4.0.6.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="v4.0.4.html" title="Changes in TIFF v4.0.4"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="v4.0.6.html" title="Changes in TIFF v4.0.6"
             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" accesskey="U">Release history</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">Changes in TIFF v4.0.5</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <section id="changes-in-tiff-v4-0-5">
<h1>Changes in TIFF v4.0.5<a class="headerlink" href="#changes-in-tiff-v4-0-5" title="Permalink to this heading">¶</a></h1>
<table class="docutils align-default" id="id2">
<caption><span class="caption-text">References</span><a class="headerlink" href="#id2" title="Permalink to this table">¶</a></caption>
<tbody>
<tr class="row-odd"><td><p>Current Version</p></td>
<td><p>v4.0.5 (<a class="reference external" href="https://gitlab.com/libtiff/libtiff/-/tags/Release-v4-0-5">tag Release-v4-0-5</a>)</p></td>
</tr>
<tr class="row-even"><td><p>Previous Version</p></td>
<td><p><a class="reference internal" href="v4.0.4.html"><span class="doc">v4.0.4</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="https://download.osgeo.org/libtiff/">https://download.osgeo.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>Support for configure/build using CMake.</p></li>
<li><p>Support for large (&gt; 2GB) files under Microsoft Windows.</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><code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> / CMake</p>
<ul>
<li><p>Configuration and building using CMake is now supported
under Microsoft Windows and on Unix-type systems.</p></li>
</ul>
</li>
<li><p><code class="file docutils literal notranslate"><span class="pre">configure.ac</span></code> / <strong class="program">configure</strong></p>
<ul>
<li><p>Test for and use <code class="xref c c-func docutils literal notranslate"><span class="pre">fseeko()</span></code> if it is available.  This allows
supporting large files on Unix-type systems with a 32-bit <span class="c-expr sig sig-inline c"><span class="kt">long</span></span>
type and a 64-bit <code class="xref c c-type docutils literal notranslate"><span class="pre">off_t</span></code> type.</p></li>
</ul>
</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">tiffiop.h</span></code>:</p>
<ul>
<li><p>Macros added to use 64-bit equivalents for all standard I/O
and POSIX APIs used by libtiff and its tools which are limited
to 2GB in Windows builds.  Note that these 64-bit equivalents
were introduced by the CRT provided with Visual Studio 2005 and
if the necessary CRT is not installed on the target computer,
the program will not run.  The wrapper macros will not be
activated unless the definition <code class="xref c c-macro docutils literal notranslate"><span class="pre">_MSC_VER</span></code> is at least 1400 or
:c:macro:<code class="docutils literal notranslate"><span class="pre">__MSVCRT_VERSION__</span></code> is at least <code class="docutils literal notranslate"><span class="pre">0x800</span></code>.</p></li>
</ul>
</li>
<li><p><code class="file docutils literal notranslate"><span class="pre">tif_unix.c</span></code>:</p>
<ul>
<li><p>Updated to support large files under Microsoft Windows.
This makes <code class="file docutils literal notranslate"><span class="pre">tif_unix.c</span></code> a completely viable candidate for use
under Windows (in spite of its name) if the CRT is modern
enough.  Please note that <code class="file docutils literal notranslate"><span class="pre">tif_win32.c</span></code> already supported large
files, but only <strong class="program">tiffinfo</strong> and <strong class="program">tiffdump</strong> made any provision to
support large files under Windows.</p></li>
<li><p><code class="xref c c-func docutils literal notranslate"><span class="pre">_tiffReadProc()</span></code> and <code class="xref c c-func docutils literal notranslate"><span class="pre">_tiffWriteProc()</span></code> are modified to chunk
I/O to a maximum size of 2GB for extremely large I/O
requests. This surmounts limitations in the Microsoft Windows
<code class="xref c c-func docutils literal notranslate"><span class="pre">read()</span></code> and <code class="xref c c-func docutils literal notranslate"><span class="pre">write()</span></code> APIs (which are limited to the range of a
32-bit <span class="c-expr sig sig-inline c"><span class="kt">int</span></span>), and may avoid poor behavior with extremely large
I/O requests on other systems.</p></li>
</ul>
</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>All tools</p>
<ul>
<li><p>Updated to use I/O wrapper macros from <code class="file docutils literal notranslate"><span class="pre">tiffiop.h</span></code> in order
to support large files under Microsoft Windows.</p></li>
</ul>
</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 v4.0.5</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="v4.0.6.html"
                          title="previous chapter">Changes in TIFF v4.0.6</a></p>
  </div>
  <div>
    <h4>Next topic</h4>
    <p class="topless"><a href="v4.0.4.html"
                          title="next chapter">Changes in TIFF v4.0.4</a></p>
  </div>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/releases/v4.0.5.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="v4.0.4.html" title="Changes in TIFF v4.0.4"
             >next</a> |</li>
        <li class="right" >
          <a href="v4.0.6.html" title="Changes in TIFF v4.0.6"
             >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-this"><a href="">Changes in TIFF v4.0.5</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>