<!DOCTYPE html> <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>4.0.0 — Pillow (PIL Fork) 5.4.1 documentation</title> <script type="text/javascript" src="../_static/js/modernizr.min.js"></script> <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/language_data.js"></script> <script type="text/javascript" src="../_static/js/script.js"></script> <script type="text/javascript" src="../_static/js/theme.js"></script> <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <link rel="author" title="About these documents" href="../about.html" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="3.4.0" href="3.4.0.html" /> <link rel="prev" title="4.1.0" href="4.1.0.html" /> </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" > <a href="../index.html" class="icon icon-home"> Pillow (PIL Fork) </a> <div class="version"> 5.4.1 </div> <div role="search"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <input type="text" name="q" placeholder="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div> <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li> <li class="toctree-l1"><a class="reference internal" href="../handbook/index.html">Handbook</a></li> <li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li> <li class="toctree-l1"><a class="reference internal" href="../porting.html">Porting</a></li> <li class="toctree-l1"><a class="reference internal" href="../about.html">About</a></li> <li class="toctree-l1 current"><a class="reference internal" href="index.html">Release Notes</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="5.4.1.html">5.4.1</a></li> <li class="toctree-l2"><a class="reference internal" href="5.4.0.html">5.4.0</a></li> <li class="toctree-l2"><a class="reference internal" href="5.3.0.html">5.3.0</a></li> <li class="toctree-l2"><a class="reference internal" href="5.2.0.html">5.2.0</a></li> <li class="toctree-l2"><a class="reference internal" href="5.1.0.html">5.1.0</a></li> <li class="toctree-l2"><a class="reference internal" href="5.0.0.html">5.0.0</a></li> <li class="toctree-l2"><a class="reference internal" href="4.3.0.html">4.3.0</a></li> <li class="toctree-l2"><a class="reference internal" href="4.2.1.html">4.2.1</a></li> <li class="toctree-l2"><a class="reference internal" href="4.2.0.html">4.2.0</a></li> <li class="toctree-l2"><a class="reference internal" href="4.1.1.html">4.1.1</a></li> <li class="toctree-l2"><a class="reference internal" href="4.1.0.html">4.1.0</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">4.0.0</a><ul> <li class="toctree-l3"><a class="reference internal" href="#python-2-6-and-3-2-dropped">Python 2.6 and 3.2 Dropped</a></li> <li class="toctree-l3"><a class="reference internal" href="#support-added-for-python-3-6">Support added for Python 3.6</a></li> <li class="toctree-l3"><a class="reference internal" href="#olefileio-py">OleFileIO.py</a></li> <li class="toctree-l3"><a class="reference internal" href="#sgi-image-save">SGI image save</a></li> <li class="toctree-l3"><a class="reference internal" href="#zero-sized-images">Zero sized images</a></li> <li class="toctree-l3"><a class="reference internal" href="#internal-handles-eof-flag">Internal handles_eof flag</a></li> <li class="toctree-l3"><a class="reference internal" href="#image-core-stretch-removed">Image.core.stretch removed</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="3.4.0.html">3.4.0</a></li> <li class="toctree-l2"><a class="reference internal" href="3.3.2.html">3.3.2</a></li> <li class="toctree-l2"><a class="reference internal" href="3.3.0.html">3.3.0</a></li> <li class="toctree-l2"><a class="reference internal" href="3.2.0.html">3.2.0</a></li> <li class="toctree-l2"><a class="reference internal" href="3.1.2.html">3.1.2</a></li> <li class="toctree-l2"><a class="reference internal" href="3.1.1.html">3.1.1</a></li> <li class="toctree-l2"><a class="reference internal" href="3.1.0.html">3.1.0</a></li> <li class="toctree-l2"><a class="reference internal" href="3.0.0.html">3.0.0</a></li> <li class="toctree-l2"><a class="reference internal" href="2.8.0.html">2.8.0</a></li> <li class="toctree-l2"><a class="reference internal" href="2.7.0.html">2.7.0</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../deprecations.html">Deprecations and removals</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> <nav class="wy-nav-top" aria-label="top navigation"> <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="../index.html">Pillow (PIL Fork)</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="breadcrumbs navigation"> <ul class="wy-breadcrumbs"> <li><a href="../index.html">Docs</a> »</li> <li><a href="index.html">Release Notes</a> »</li> <li>4.0.0</li> <li class="wy-breadcrumbs-aside"> <a href="../_sources/releasenotes/4.0.0.rst.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <div class="section" id="id1"> <h1>4.0.0<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h1> <div class="section" id="python-2-6-and-3-2-dropped"> <h2>Python 2.6 and 3.2 Dropped<a class="headerlink" href="#python-2-6-and-3-2-dropped" title="Permalink to this headline">¶</a></h2> <p>Pillow 4.0 no longer supports Python 2.6 and 3.2. We will not be creating binaries, testing, or retaining compatibility with these releases. This release removes some workarounds for those Python releases, so the final working version of Pillow on 2.6 or 3.2 is 3.4.2.</p> </div> <div class="section" id="support-added-for-python-3-6"> <h2>Support added for Python 3.6<a class="headerlink" href="#support-added-for-python-3-6" title="Permalink to this headline">¶</a></h2> <p>Pillow 4.0 supports Python 3.6.</p> </div> <div class="section" id="olefileio-py"> <h2>OleFileIO.py<a class="headerlink" href="#olefileio-py" title="Permalink to this headline">¶</a></h2> <p>OleFileIO.py has been removed as a vendored file and is now installed from the upstream olefile pypi package. All internal dependencies are redirected to the olefile package. Direct accesses to <code class="docutils literal notranslate"><span class="pre">PIL.OlefileIO</span></code> raises a deprecation warning, then patches the upstream olefile into <code class="docutils literal notranslate"><span class="pre">sys.modules</span></code> in its place.</p> </div> <div class="section" id="sgi-image-save"> <h2>SGI image save<a class="headerlink" href="#sgi-image-save" title="Permalink to this headline">¶</a></h2> <p>It is now possible to save images in modes <code class="docutils literal notranslate"><span class="pre">L</span></code>, <code class="docutils literal notranslate"><span class="pre">RGB</span></code>, and <code class="docutils literal notranslate"><span class="pre">RGBA</span></code> to the uncompressed SGI image format.</p> </div> <div class="section" id="zero-sized-images"> <h2>Zero sized images<a class="headerlink" href="#zero-sized-images" title="Permalink to this headline">¶</a></h2> <p>Pillow 3.4.0 removed support for creating images with (0,0) size. This has been reenabled, restoring pre 3.4 behavior.</p> </div> <div class="section" id="internal-handles-eof-flag"> <h2>Internal handles_eof flag<a class="headerlink" href="#internal-handles-eof-flag" title="Permalink to this headline">¶</a></h2> <p>The <code class="docutils literal notranslate"><span class="pre">handles_eof</span> <span class="pre">flag</span></code> for decoding images has been removed, as there were no internal users of the flag. Anyone maintaining image decoders outside of the Pillow source tree should consider using the cleanup function pointers instead.</p> </div> <div class="section" id="image-core-stretch-removed"> <h2>Image.core.stretch removed<a class="headerlink" href="#image-core-stretch-removed" title="Permalink to this headline">¶</a></h2> <p>The stretch function on the core image object has been removed. This used to be for enlarging the image, but has been aliased to resize recently.</p> </div> </div> </div> </div> <footer> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <a href="3.4.0.html" class="btn btn-neutral float-right" title="3.4.0" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a> <a href="4.1.0.html" class="btn btn-neutral float-left" title="4.1.0" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> <hr/> <div role="contentinfo"> <p> © Copyright 1995-2011 Fredrik Lundh, 2010-2018 Alex Clark and Contributors </p> </div> Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script type="text/javascript"> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>