Recent Releases of pillow

pillow - 11.3.0

https://pillow.readthedocs.io/en/stable/releasenotes/11.3.0.html

Deprecations

  • Deprecate fromarray mode argument #9018 [@radarhere]
  • Deprecate saving I mode images as PNG #9023 [@radarhere]

Documentation

  • Added release notes for #9041 #9042 [@radarhere]
  • Add release notes for #8912 and #8969 #9019 [@radarhere]
  • ImageFont does not handle multiline text #9000 [@radarhere]
  • Updated Ubuntu CI targets #8988 [@radarhere]
  • Update MinGW package names #8987 [@H4M5TER]
  • Updated docstring #8943 [@radarhere]
  • Mention that tobytes() with the raw encoder uses Pack.c #8878 [@radarhere]
  • Refactor docs Makefile #8933 [@hugovk]
  • Add template for quarterly release issue #8932 [@aclark4life]
  • Add list of third party plugins #8910 [@radarhere]
  • Update redirected URL #8919 [@radarhere]
  • Docs: use sentence case for headers #8914 [@hugovk]
  • Docs: remove unused Makefile targets #8917 [@hugovk]
  • Remove indentation from lists #8915 [@radarhere]
  • Python 3.13 is tested on Arch #8894 [@radarhere]
  • Move XV Thumbnails to read only section #8893 [@aclark4life]
  • Updated macOS tested Pillow versions #8890 [@radarhere]

Dependencies

  • Add AVIF to wheels using only aomenc and dav1d AVIF codecs for reduced size #8858 [@fdintino]
  • Use same AVIF URL when fetching dependency #8871 [@radarhere]
  • Update dependency mypy to v1.16.1 #9026 [@renovate[bot]]
  • Update libpng to 1.6.49 #9014 [@radarhere]
  • Update dependency cibuildwheel to v3 #9010 [@renovate[bot]]
  • Updated libjpeg-turbo to 3.1.1 #9009 [@radarhere]
  • Update dependency mypy to v1.16.0 #8991 [@renovate[bot]]
  • Updated libpng to 1.6.48 #8940 [@radarhere]
  • Updated Ghostscript to 10.5.1 #8939 [@radarhere]
  • Updated harfbuzz to 11.2.1 #8937 [@radarhere]
  • Updated libavif to 1.3.0 #8949 [@radarhere]
  • Update dependency cibuildwheel to v2.23.3 #8931 [@renovate[bot]]
  • Updated harfbuzz to 11.1.0 #8904 [@radarhere]

Testing

  • Add match parameter to pytest.warns() #9038 [@hugovk]
  • Increase pytest verbosity #9040 [@radarhere]
  • Improve SgiImagePlugin test coverage #8896 [@radarhere]
  • Update ruff pre-commit ID #8994 [@radarhere]
  • Only check DHT marker for libjpeg-turbo #9025 [@radarhere]
  • Improve BLP tests #9020 [@radarhere]
  • Fix warning #9016 [@radarhere]
  • Test Python 3.14t on macOS and Linux #9011 [@radarhere]
  • Only accept missing tkinter when building wheels on Windows #8981 [@radarhere]
  • Fix test #8996 [@radarhere]
  • Stop testing deprecated Windows Server 2019 runner image #8989 [@radarhere]
  • Run slow tests on valgrind, but without timeout #8975 [@radarhere]
  • Close file pointer earlier #8895 [@radarhere]
  • Added Fedora 42 #8899 [@radarhere]
  • Removed Fedora 40 #8887 [@radarhere]

Type hints

  • Assert palette is not None #8877 [@radarhere]
  • Do not import type checking #8854 [@radarhere]
  • Improve type hints #8883 [@radarhere]
  • Update dependency mypy to v1.16.0 #8991 [@renovate[bot]]

Other changes

  • Updated check script paths #9052 [@radarhere]
  • Raise FileNotFoundError when opening an empty path #9048 [@radarhere]
  • Handle IPTC TIFF tags with incorrect type #8925 [@radarhere]
  • Do not update palette for L mode GIF frame #8924 [@radarhere]
  • Use save parameters as encoderinfo defaults #9001 [@radarhere]
  • Add support for iOS #9030 [@freakboy3742]
  • Fix qtables and quality scaling #8879 [@Kyliroco]
  • Read 16-bit McIdas images into I;16B mode to allow for memory mapping #9046 [@radarhere]
  • Support ttb multiline text #8730 [@radarhere]
  • Use unpacking #9044 [@radarhere]
  • Fix saving MPO with more than one appended image #8979 [@radarhere]
  • Restore original encoderinfo after saving #8942 [@radarhere]
  • Return PixelAccess from first load of ICO and IPTC images #8922 [@radarhere]
  • Improve justifying text #8905 [@radarhere]
  • Set color table fourth channel to zero for 1 and L mode when saving BMP #8889 [@radarhere]
  • Improve reading XPM images #8874 [@radarhere]
  • Fix buffer overflow when saving compressed DDS images #9041 [@radarhere]
  • Use PEP 489 multi-phase initialization #8983 [@radarhere]
  • Support saving I;16L TIFF images #9015 [@radarhere]
  • Do not call sys.executable in ImageShow in PyInstaller application #9028 [@radarhere]
  • Search for libtiff library file first on Windows and macOS #9034 [@radarhere]
  • Fix libtiff cleanup #9002 [@radarhere]
  • Use percent formatting for _dbg calls #9035 [@radarhere]
  • Removed ImageCmsProfile._set method #9032 [@radarhere]
  • Added Python 3.14 macOS x86-64 wheels #9031 [@radarhere]
  • Support writing QOI images #9007 [@thisismypassport]
  • Simplify C error handling #9021 [@radarhere]
  • Add Python 3.14 beta wheels #9012 [@hugovk]
  • Remove padding between interleaved PCX palette data #9005 [@radarhere]
  • Start QOI decoding with a zero-initialized array of previously seen pixels #9008 [@radarhere]
  • Correct drawing I;16 horizontal lines #8985 [@radarhere]
  • Reduce number of bytes read for PCX header #9004 [@radarhere]
  • Handle XMP data from an UNDEFINED TIFF tag #8997 [@radarhere]
  • Do not decode bytes in PPM error message #8958 [@radarhere]
  • Parse XMP tag bytes without decoding to string #8960 [@radarhere]
  • Clear TIFF core image if memory mapping was used for last load #8962 [@radarhere]
  • Use mask in C when drawing wide polygon lines #8984 [@radarhere]
  • Simplify code #8863 [@radarhere]
  • Call startswith once with a tuple #8998 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8993 [@pre-commit-ci[bot]]
  • Use ImageFile.MAXBLOCK in tobytes() #8906 [@radarhere]
  • Removed unreachable code #8918 [@radarhere]
  • Valgrind Memory Leak Checking #8954 [@wiredfool]
  • Add parallel test target, using pytest-xdist #8972 [@wiredfool]
  • Add support for flat uint8 arrow arrays for multi channel images #8908 [@wiredfool]
  • Removed CMAKEPOLICYVERSION_MINIMUM=3.5 for libavif #8973 [@radarhere]
  • Reduced number of bytes read in WMF header #8964 [@radarhere]
  • Do not build against libavif < 1 #8969 [@radarhere]
  • Improved support for Python 3.14 #8948 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8944 [@pre-commit-ci[bot]]
  • Allow loading ImageFile state from Pillow < 11.2.1 #8938 [@radarhere]
  • Remove outdated comment #8929 [@radarhere]
  • Add support for Grim in Wayland sessions ImageGrab #8912 [@AdianKozlica]
  • Add make [-C docs] htmllive to rebuild and reload HTML files #8913 [@hugovk]
  • Build Windows arm64 wheels on arm64 runner #8898 [@radarhere]

- Python
Published by github-actions[bot] 8 months ago

pillow - 11.2.1

https://pillow.readthedocs.io/en/stable/releasenotes/11.2.1.html

Deprecations

  • Moved getchildimages() to ImageFile #8689 [@radarhere]

Documentation

  • Add 11.2.1 release notes #8885 [@radarhere]
  • Added avif to config settings #8875 [@radarhere]
  • Added release notes for #8330 #8853 [@radarhere]
  • Added release notes for #8781 and #8837 #8843 [@radarhere]
  • Added mediawhitepoint to ImageCms documentation #8829 [@radarhere]
  • Removed FIXME #8825 [@radarhere]
  • Updated comment #8822 [@radarhere]
  • Added release notes for #8807 #8824 [@radarhere]
  • DXT3 images are read in RGBA mode #8817 [@radarhere]
  • JPEG comments are from the COM marker #8788 [@radarhere]
  • Update Sphinx to 8.2 to remove nitpick ignore #8763 [@radarhere]
  • Updated AffineTransform docstring to mention it uses the inverse matrix #8735 [@radarhere]
  • Added MozJPEG documentation #8699 [@radarhere]
  • Added Sphinx configuration key #8691 [@radarhere]
  • Updated macOS tested Pillow versions #8654 [@radarhere]

Dependencies

  • Updated xz to 5.8.1 #8868 [@radarhere]
  • Updated harfbuzz to 11.0.1 #8870 [@radarhere]
  • Update scientific-python/upload-nightly-action action to v0.6.2 #8865 [@renovate[bot]]
  • Updated xz to 5.8.0 in macOS and Linux wheels, but not on manylinux2014 #8836 [@radarhere]
  • Update dependency cibuildwheel to v2.23.2 #8832 [@renovate[bot]]
  • Updated harfbuzz to 11.0.0 #8830 [@radarhere]
  • Update dependency cibuildwheel to v2.23.1 #8818 [@renovate[bot]]
  • Updated Ghostscript to 10.5.0 #8814 [@radarhere]
  • Updated libtiff to 4.7.0 #8812 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8795 [@pre-commit-ci[bot]]
  • Updated harfbuzz to 10.4.0 #8770 [@radarhere]
  • Update dependency mypy to v1.15.0 #8791 [@renovate[bot]]
  • Updated libpng to 1.6.47 #8764 [@radarhere]
  • Updated lcms2 to 2.17 #8742 [@radarhere]
  • Update dependency cibuildwheel to v2.23.0 #8785 [@renovate[bot]]
  • Updated zlib-ng to 2.2.4 #8745 [@radarhere]
  • Updated libimagequant to 4.3.4 on Windows #8744 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8729 [@pre-commit-ci[bot]]
  • Updated harfbuzz to 10.2.0 #8688 [@radarhere]
  • Updated xz to 5.6.4 #8711 [@radarhere]
  • Updated libpng to 1.6.46 #8712 [@radarhere]
  • Updated libimagequant to 4.3.4 #8710 [@radarhere]
  • Updated libpng to 1.6.45 #8670 [@radarhere]
  • Update cygwin/cygwin-install-action action to v5 #8675 [@renovate[bot]]
  • [pre-commit.ci] pre-commit autoupdate #8665 [@pre-commit-ci[bot]]
  • Updated freetype to 2.13.3 in macOS and Linux wheels #8653 [@radarhere]
  • Upgrade zlib-ng to 2.2.3 #8656 [@hugovk]

Testing

  • Fixed unclosed file warning #8847 [@radarhere]
  • Assert image type #8619 [@radarhere]
  • Parametrize tests #8838 [@radarhere]
  • Change back to actions/setup-python #8833 [@radarhere]
  • Simplified test code #8823 [@radarhere]
  • Improved FliImagePlugin test coverage #8806 [@radarhere]
  • Install libtiff-dev on Ubuntu GitHub Actions #8816 [@radarhere]
  • Test using _seek to skip frames #8804 [@radarhere]
  • Improved PcxImagePlugin test coverage #8797 [@radarhere]
  • Use match argument #8801 [@radarhere]
  • Improved BdfFontFile test coverage #8783 [@radarhere]
  • Revert "Do not install libimagequant" #8778 [@radarhere]
  • Improved FtexImagePlugin test coverage #8766 [@radarhere]
  • Improved FontFile test coverage #8771 [@radarhere]
  • Improved MpoImagePlugin test coverage #8765 [@radarhere]
  • Improved SunImagePlugin coverage #8762 [@radarhere]
  • Improve TarIO test coverage #8759 [@radarhere]
  • Improve type checking in tests #8618 [@radarhere]
  • Add PyPy3.11 to CI #8758 [@hugovk]
  • Don't call make clean or pip in tox #8754 [@hugovk]
  • Don't shadow builtin open #8756 [@radarhere]
  • Removed unused test code #8752 [@radarhere]
  • Use monkeypatch #8747 [@radarhere]
  • Do not install libimagequant on MinGW #8724 [@radarhere]
  • Use getpixel() instead of load() #8727 [@radarhere]
  • Revert "Ignore brew dependencies for libraqm on macOS 13" #8725 [@radarhere]
  • Fixed exceptions when closing AppendingTiffWriter #8723 [@radarhere]
  • Fixed unclosed file warnings #8705 [@radarhere]
  • Use monkeypatch #8707 [@radarhere]
  • Use Ubuntu 22.04 for 24.04 ppc64le and s390x #8713 [@radarhere]
  • Updated Ubuntu arm to 24.04 with arm64 runner #8700 [@radarhere]
  • Test oldest Python on 32-bit Windows 2019 and remove AppVeyor #8525 [@hugovk]
  • Corrected argument types #8681 [@radarhere]
  • Test Python 3.14 pre-release #8690 [@radarhere]
  • Skip test_embeddable if compiler cannot be initialized #8686 [@radarhere]
  • Improved test coverage #8679 [@radarhere]
  • Removed xfail for test_embeddable on Python 3.13 #8683 [@radarhere]
  • Use python-numpy and python-olefile instead of virtual python3 packages #8682 [@hugovk]
  • Use python-pip instead of python3-pip in MinGW #8678 [@radarhere]
  • Use ImageFile._Tile #8666 [@radarhere]
  • Improved SPIDER test coverage #8668 [@radarhere]
  • Removed unused image open #8649 [@radarhere]
  • PngImageFile text is a property #8648 [@radarhere]
  • Trigger wheel builds from changes in pyproject.toml #8674 [@radarhere]

Type hints

  • Added fromarrow type hints #8867 [@radarhere]
  • Assert image type #8619 [@radarhere]
  • Check that _fp type is not DeferredError before use #8640 [@radarhere]
  • Corrected type check #8760 [@radarhere]
  • Improve type checking in tests #8618 [@radarhere]
  • Corrected argument types #8681 [@radarhere]
  • Use ImageFile._Tile #8666 [@radarhere]
  • Added return types #8639 [@radarhere]
  • Add overloads for exif_transpose #8657 [@cdce8p]

Other changes

  • Do not include libavif in wheels #8876 [@radarhere]
  • Remove GPL v2 from FreeType license #8884 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8873 [@pre-commit-ci[bot]]
  • Replace deprecated classifier with licence expression (PEP 639) #8850 [@hugovk]
  • Fixed conversion of AVIF image rotation property to EXIF orientation #8866 [@fdintino]
  • Removed condition that is always true #8862 [@radarhere]
  • Use multibuild build_github #8861 [@radarhere]
  • Include filename in ImageFile state #8859 [@radarhere]
  • Add KDE Wayland support for ImageGrab #8842 [@AdianKozlica]
  • Only change readonly if saved filename matches opened filename #8852 [@radarhere]
  • Allow HWND to be passed to ImageGrab.grab() on Windows #8516 [@radarhere]
  • Allow cmake<4 when building libavif and libtiff #8851 [@radarhere]
  • Image -> Arrow support #8330 [@wiredfool]
  • Add AVIF plugin (decoder + encoder using libavif) #5201 [@fdintino]
  • Updated xz to 5.8.0 on manylinux2014 by removing po4a dependency #8848 [@radarhere]
  • Revert to zlib on macOS < 10.15 #8772 [@radarhere]
  • Close TarIO file handle on error #8846 [@radarhere]
  • Do not import TYPE_CHECKING #8844 [@radarhere]
  • Enable memory mapping on PyPy #8840 [@radarhere]
  • Corrected Palm P mode save #8685 [@radarhere]
  • Improved connecting discontiguous corners #8659 [@radarhere]
  • Only read until the offset of the next tile #8609 [@radarhere]
  • Added USERAWALPHA for BMP images #8602 [@radarhere]
  • Fixed orientation when opening YCbCr TIFF images #8556 [@radarhere]
  • Allow loading of EMF images at a given DPI #8536 [@radarhere]
  • Skip failing records when rendering WMF images #8506 [@radarhere]
  • If appendimages is populated, default saveall to True #8781 [@radarhere]
  • Added GimpPaletteFile frombytes() to allow for unlimited parsing #8826 [@radarhere]
  • Do not load image during save if file extension is unknown #8835 [@radarhere]
  • Do not convert BC1 LUT to UINT32 #8837 [@radarhere]
  • Start from zero index when reading GimpPaletteFile #8805 [@radarhere]
  • Support saving DDS images with pixel formats #8807 [@radarhere]
  • If every TIFF tile covers the image, only use the last offset #8820 [@radarhere]
  • Use docker/setup-qemu-action #8819 [@radarhere]
  • Replace deprecated Renovate schedule with cron syntax #8810 [@hugovk]
  • Allow coords to be sequence of lists #8800 [@radarhere]
  • Use ABCMeta in classes with abstractmethod #8803 [@radarhere]
  • Support reading grayscale JPEG2000 images with 4 channels #8786 [@radarhere]
  • Allow encoderconfig and encoderinfo to be set for appended TIFF images #8780 [@radarhere]
  • Call startswith/endswith once with a tuple, and range without start=0 #8799 [@hugovk]
  • Corrected exif_transpose error when XMP is tuple #8792 [@radarhere]
  • Fixed loading GD images #8793 [@radarhere]
  • Image.core.outline will no longer raise an AttributeError #8794 [@radarhere]
  • Removed ImageTk._show #8782 [@radarhere]
  • seekcheck already raises an EOFError #8773 [@radarhere]
  • Only set mode when necessary in FtexImagePlugin #8767 [@radarhere]
  • Build PyPy3.11 wheel for macOS 10.15 x86_64 #8789 [@hugovk]
  • Replace slice and comparison with startswith/endswith #8761 [@hugovk]
  • Use member names to initialize PyTypeObjects #8741 [@radarhere]
  • Pass CFLAGS to build_simple directly #8738 [@radarhere]
  • Only crop GIF frames when saving with disposal method 2 if transparency is present #8748 [@radarhere]
  • Update pythoncapi_compat.h to fix building with PyPy3.11 #8757 [@mgorny]
  • Rewrite the install_name of the ZLIB-NG library on macOS #8673 [@freakboy3742]
  • Remove debug Image._wedge #8755 [@hugovk]
  • Remove unused bdf_slant and bdf_spacing variables #8753 [@hugovk]
  • Use boolean format argument for irreversible #8739 [@radarhere]
  • Simplify Python code by receiving tuple from C #8740 [@radarhere]
  • Use member names to initialize modules #8734 [@radarhere]
  • Simplify Python code by passing tuples to C #8733 [@radarhere]
  • Removed redundant argument parsing #8732 [@radarhere]
  • Added "justify" align for multiline text #8721 [@radarhere]
  • Seek relative to current position #8709 [@radarhere]
  • Only use outside border of stroke in text() #8701 [@radarhere]
  • Support saving PNG cICP chunk #8704 [@radarhere]
  • Use PyRETURNNONE macro when possible #8717 [@radarhere]
  • Added ImageFile close() #8702 [@radarhere]
  • Use arm64 Linux runners for wheels #8698 [@radarhere]
  • Test Windows amd64 wheels with NumPy #8696 [@radarhere]
  • Added logging to TiffImagePlugin fixIFD() #8568 [@radarhere]
  • Removed miniconda CPPFLAGS #8695 [@radarhere]
  • Improved comment #8694 [@radarhere]
  • Only F mode starts with F #8684 [@radarhere]
  • Allow saving multiple frames as BigTIFF #8663 [@radarhere]
  • Simplified converting to char * #8662 [@radarhere]
  • Use namedtuple _replace #8652 [@radarhere]
  • Updated TIFF decode error message string #8660 [@HarmvandenBrand]
  • Added compile-time mozjpeg feature flag #8645 [@radarhere]
  • Improved Docker coverage reporting #8664 [@radarhere]
  • Removed giflib as webp dependency #8661 [@radarhere]
  • Corrected installing ImageMagick on cifuzz #8658 [@radarhere]

- Python
Published by github-actions[bot] 11 months ago

pillow - 11.1.0

https://pillow.readthedocs.io/en/stable/releasenotes/11.1.0.html

Documentation

  • Added release notes for writing XMP bytes to JPEG and MPO #8627 [@radarhere]
  • Added release notes for using zlib-ng instead of zlib #8599 [@radarhere]
  • Replace python-pillow.org with python-pillow.github.io #8586 [@hugovk]
  • ImageFile tile is never None #8582 [@radarhere]
  • Only use start year in copyright, remove end years #8577 [@hugovk]
  • Python 3.12 is tested on MinGW #8575 [@radarhere]
  • Use brew formula to install libraqm #8574 [@radarhere]
  • Added link to GitHub releases in CHANGES #8571 [@radarhere]
  • Release drafter: move removals, deprecations, documentation up, and uncategorised changes last #8570 [@hugovk]
  • Updated macOS tested Pillow versions #8538 [@radarhere]
  • Use test image filename #8534 [@radarhere]
  • Update Windows 11 Arm64 tested versions #8523 [@nulano]
  • Move MPO into "Fully supported formats" #8504 [@radarhere]
  • Update license to MIT-CMU #8490 [@radarhere]

Dependencies

  • Update dependency mypy to v1.14.1 #8643 [@renovate]
  • Update dependency mypy to v1.14.0 #8613 [@renovate]
  • Updated libwebp to 1.5.0 #8612 [@radarhere]
  • Updated libXau to 1.0.12 #8598 [@radarhere]
  • Updated libjpeg-turbo to 3.1.0 #8595 [@radarhere]
  • Updated harfbuzz to 10.1.0 #8533 [@radarhere]
  • Updated openjpeg to 2.5.3 #8591 [@radarhere]
  • Update dependency cibuildwheel to v2.22.0 #8580 [@renovate]
  • Update codecov/codecov-action action to v5 #8557 [@renovate]
  • Migrate renovate config #8527 [@renovate]
  • Update dependency mypy to v1.13.0 #8491 [@renovate]
  • Update dependency mypy to v1.12.1 #8487 [@renovate]

Testing

  • Added CentOS Stream 10 #8646 [@radarhere]
  • Use monkeypatch #8628 [@radarhere]
  • Pass file handle to ContainerIO #8625 [@radarhere]
  • Use register_handler #8499 [@radarhere]
  • Use monkeypatch #8626 [@radarhere]
  • Test libjpeg-turbo on macOS #8596 [@radarhere]
  • Test 3.13t (free-threaded) from Quansight-Labs/setup-python on Linux and macOS #8565 [@hugovk]
  • Run gcc problem matcher on Python 3.13 #8541 [@radarhere]
  • Add trove-classifiers>=2024.10.12 to 'tests' extra and use for Windows CI #8514 [@hugovk]
  • Apply security fixes to GitHub Actions #8526 [@hugovk]
  • Remove unused gcov: true for codecov-action@v4 #8521 [@hugovk]
  • Added Fedora 41 #8520 [@radarhere]
  • Do not repeatedly save to the same path #8512 [@radarhere]
  • Use fixture to re-open image for each JPEG2000 test #8484 [@radarhere]
  • Fixed catching warnings #8505 [@radarhere]
  • Updated test type hint #8482 [@radarhere]
  • Removed Fedora 39 #8466 [@radarhere]

Type hints

  • Pass file handle to ContainerIO #8625 [@radarhere]
  • Corrected loadImageSeries type hint #8624 [@radarhere]
  • Removed quotes after dropping support for Python 3.8 #8544 [@radarhere]
  • Fixed type hint #8532 [@radarhere]
  • Updated test type hint #8482 [@radarhere]

Other changes

  • Corrected BLP1 alpha depth handling #8651 [@radarhere]
  • Remove pre-C99 definitions #8644 [@radarhere]
  • Allow saving as BigTIFF #8642 [@radarhere]
  • Restored Makernote as a deprecated enum #8629 [@radarhere]
  • Use elif #8641 [@radarhere]
  • Add zizmor to pre-commit and fix potential cache-poisoning in wheels workflow #8638 [@hugovk]
  • Keep new IFDs when converting EXIF to bytes #8635 [@radarhere]
  • Added RGBX;16N to RGB unpacker #8637 [@radarhere]
  • Populate JPEG DPI from JFIF cm density #8633 [@radarhere]
  • Support saving CMYK JP2 images #8592 [@radarhere]
  • Added reading of J2K comments #8622 [@radarhere]
  • Removed variable #8631 [@radarhere]
  • Do not use temporary file in ImageGrab.grabclipboard() on macOS #8630 [@radarhere]
  • Fixed connecting discontiguous corners #8620 [@radarhere]
  • Do not create new image when exif_transpose() is used in place #8555 [@radarhere]
  • Added default values for _Tile offset and args #8553 [@radarhere]
  • Platform guessing affects more than just Linux #8551 [@radarhere]
  • Raise UnidentifiedImageError when opening TIFF without dimensions #8535 [@radarhere]
  • Pass IFDs to libtiff as TIFF_LONG8 #8529 [@radarhere]
  • Do not save XMP from JPEG info #8483 [@radarhere]
  • Include JpegImageFile layers in pickle state #8476 [@radarhere]
  • Fixed indentation #8623 [@radarhere]
  • Updated MakerNote capitalization #8615 [@radarhere]
  • Replace constants with EXIF enums #8611 [@radarhere]
  • Install libjpeg-turbo8-dev #8610 [@radarhere]
  • Raise ValueError when WMF inch is zero #8600 [@radarhere]
  • Extract tar files with "data" filter in Windows build scripts #8606 [@radarhere]
  • Updated libjpeg-turbo URL #8608 [@radarhere]
  • Derive dir from filename if root is the same in winbuild #8567 [@radarhere]
  • Updated libjpeg-turbo and harfbuzz URLs #8604 [@radarhere]
  • Do not describe raw data as a table #8579 [@radarhere]
  • Improved handling of RGBA palettes when saving GIF images #8494 [@radarhere]
  • Use .tar.gz zlib in Windows build to match macOS and Linux #8601 [@radarhere]
  • Use zlib-ng instead of zlib #8500 [@nulano]
  • Do not attempt to install cmake if it is already present #8593 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8578 [@pre-commit-ci]
  • Updated build option error messages #8576 [@radarhere]
  • Fix file position desync when calling into libtiff #8560 [@Knio]
  • Do not attempt to install cmake a second time when building macOS or Linux wheels #8566 [@radarhere]
  • Do not install Pyroma in MinGW, to use only system packages #8562 [@radarhere]
  • Isolate macOS wheel builds from Homebrew #8497 [@freakboy3742]
  • Removed use of os.path.realpath #8545 [@radarhere]
  • Allow linking to zlib import library on Windows #8519 [@cubanpit]
  • [pre-commit.ci] pre-commit autoupdate #8531 [@pre-commit-ci]
  • Detach PyQt6 QPixmap instance before returning #8509 [@radarhere]
  • Upgraded multibuild to remove openjpeg lib64 copy #8511 [@radarhere]
  • brew remove libdeflate #8502 [@radarhere]
  • Fix SEGFAULT from calling FTNewFace/FTDoneFace in multiple threads #8496 [@lysnikolaou]
  • Corrected EMF DPI #8485 [@radarhere]
  • Added filename placeholder in winbuild URL #8498 [@radarhere]
  • Fix IFDRational with a zero denominator #8474 [@renovate]
  • Fixed disabling a feature during install #8469 [@radarhere]
  • Skip PyPy3.9 wheels #8467 [@radarhere]
  • Removed unnecessary code #8465 [@radarhere]

- Python
Published by github-actions[bot] about 1 year ago

pillow - 11.0.0

https://pillow.readthedocs.io/en/stable/releasenotes/11.0.0.html

Changes

  • Do not create core image in TIFF seek() #8392 [@radarhere]
  • Removed custom build_openjpeg #8365 [@radarhere]
  • Support writing LONG8 offsets in AppendingTiffWriter #8417 [@radarhere]
  • Use ImageFile.MAXBLOCK when saving TIFF images #8461 [@radarhere]
  • Always raise warnings for deprecated feature checks #8459 [@radarhere]
  • Do not close provided file handles with libtiff when saving #8458 [@radarhere]
  • Revert "Skip QEMU-emulated wheels on workflow dispatch event" #8455 [@radarhere]
  • Support ImageFilter.BuiltinFilter for I;16* images #8438 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8448 [@pre-commit-ci]
  • Use ImagingCore.ptr instead of ImagingCore.id #8341 [@homm]
  • Simplified code #8445 [@radarhere]
  • Removed unused code #8447 [@radarhere]
  • Updated EPS mode when opening images without transparency #8281 [@Yay295]
  • Use transparency when combining P frames from APNGs #8443 [@radarhere]
  • Generate and upload attestations to PyPI #8441 [@hugovk]
  • Do not convert images unnecessarily in ImageEnhance #8431 [@radarhere]
  • Raise an error if path is compacted during mapping #8416 [@radarhere]
  • Support all resampling filters when resizing I;16* images #8422 [@radarhere]
  • Free memory on early return #8413 [@radarhere]
  • Cast int before potentially exceeding INT_MAX #8402 [@radarhere]
  • Prevent division by zero #8408 [@radarhere]
  • Check image value before use #8400 [@radarhere]
  • Use ruff check #8423 [@radarhere]
  • Change harfbuzz versions in wheels #8421 [@radarhere]
  • Use Capsule for WebP saving #8386 [@homm]
  • Fixed writing multiple StripOffsets to TIFF #8317 [@Yay295]
  • Updated macOS deployment target for PyPy on Intel to 10.15 #8414 [@radarhere]
  • Fix dereference before checking for NULL in ImagingTransformAffine #8398 [@PavlNekrasov]
  • Use transposed size after opening for TIFF images #8390 [@radarhere]
  • Improve ImageFont error messages #8338 [@yngvem]
  • Mention MAXTEXTCHUNK limit in PNG error message #8391 [@radarhere]
  • Cast Dib handle to int #8385 [@radarhere]
  • Updated macOS deployment target for Python >= 3.12 on Intel to 10.13 #8379 [@radarhere]
  • Removed unused ImagePath variable #8377 [@radarhere]
  • Change macos-14 to macos-latest #8376 [@radarhere]
  • Accept float stroke widths #8369 [@radarhere]
  • Remove comments #8370 [@radarhere]
  • Removed libffi-dev #8368 [@radarhere]
  • Improved handling of RGBA palettes when saving GIF images #8366 [@radarhere]
  • Support converting more modes to LAB by converting to RGBA first #8358 [@radarhere]
  • Optimize getbbox() and getextrema() routines #8194 [@homm]
  • Removed unused TiffImagePlugin IFDLEGACYAPI #8355 [@radarhere]
  • Handle duplicate EXIF header #8350 [@zakajd]
  • Use (void) for empty function parameters #8002 [@Yay295]
  • Return early from BoxBlur if either width or height is zero #8347 [@radarhere]
  • Check text is either string or bytes #8308 [@radarhere]
  • Added writing XMP bytes to JPEG #8286 [@radarhere]
  • Require font parameter in FreeTypeFont and truetype() #8261 [@radarhere]
  • Support JPEG2000 RGBA palettes #8256 [@radarhere]
  • Expand C image to match GIF frame image size #8237 [@radarhere]
  • Allow saving I;16 images as PPM #8231 [@radarhere]
  • When IFD is missing, connect get_ifd() dictionary to Exif #8230 [@radarhere]
  • Skip truncated ICO mask if LOADTRUNCATEDIMAGES is enabled #8180 [@radarhere]
  • Treat unknown JPEG2000 colorspace as unspecified #8343 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8342 [@pre-commit-ci]
  • Updated error message when saving WebP with invalid width or height #8322 [@radarhere]
  • Remove warning if NumPy failed to raise an error during conversion #8326 [@radarhere]
  • Move repeated code to private helper function #8310 [@Yay295]
  • Get IPTC info from tag_v2 #8315 [@radarhere]
  • Log value from tag_v2 instead of tag #8306 [@radarhere]
  • If left and right sides meet in ImageDraw.rounded_rectangle(), do not draw rectangle to fill gap #8304 [@radarhere]
  • Add missing TIFF CMYK;16B reader #8298 [@homm]
  • Fix undefined variable #8293 [@radarhere]
  • Enforce CSV names style for pytest.mark.parametrize #8295 [@akx]
  • Fixed sign comparison warning #8294 [@radarhere]
  • Move auxiliary mypy requirements to a requirements file #8289 [@akx]
  • Removed unused variable #8288 [@radarhere]
  • Improve ImageDraw2 shape methods #8265 [@radarhere]
  • Lock around usages of imaging memory arenas #8238 [@lysnikolaou]
  • Removed unused argument #8257 [@radarhere]
  • Do not run scheduled wheel jobs on forks #8254 [@Yay295]
  • Use local variable instead of casting every line #8248 [@Yay295]
  • Change AlignAfterOpenBracket in .clang-format to BlockIndent #8067 [@Yay295]
  • Move uploading nightly wheels to different job #8244 [@lysnikolaou]
  • Skip QEMU-emulated wheels on workflow dispatch event #8243 [@lysnikolaou]
  • Upload wheels to scientific-python-nightly-wheels index #8236 [@lysnikolaou]
  • Temporarily disable cifuzz #8239 [@radarhere]
  • Simplified code #8235 [@radarhere]
  • Move away from APIs that use borrowed references under the free-threaded build #8216 [@hugovk]
  • Build free-threaded wheels #8219 [@radarhere]
  • Group aarch64 wheel jobs #8206 [@radarhere]
  • Allow size argument to resize() to be a NumPy array #8201 [@radarhere]
  • Add support for Python 3.13 #8181 [@hugovk]
  • Removed Debian 11 #8185 [@radarhere]

Dependencies

  • Update dependency cibuildwheel to v2.21.3 #8453 [@renovate]
  • Update dependency cibuildwheel to v2.21.2 #8436 [@renovate]
  • Updated xz to 5.6.3 #8434 [@radarhere]
  • Update scientific-python/upload-nightly-action action to v0.6.1 #8430 [@renovate]
  • Update scientific-python/upload-nightly-action action to v0.6.0 #8425 [@renovate]
  • Updated harfbuzz to 10.0.1 in remaining wheels #8424 [@radarhere]
  • Improved copying imagequant libraries #8420 [@radarhere]
  • Updated fribidi to 1.0.16 #8419 [@radarhere]
  • Updated harfbuzz to 10.0.1 #8415 [@radarhere]
  • Updated harfbuzz to 10.0.0 #8411 [@radarhere]
  • Shared imagequant libraries may be located within usr/lib64 #8407 [@radarhere]
  • winbuild: Build freetype.vcxproj to fix passing in custom parameters #8403 [@nulano]
  • Updated raqm to 0.10.2 #8404 [@radarhere]
  • Updated Ghostscript to 10.4.0 #8395 [@radarhere]
  • Update dependency cibuildwheel to v2.21.1 #8388 [@renovate]
  • Updated libjpeg-turbo to 3.0.4 #8384 [@radarhere]
  • Update dependency cibuildwheel to v2.21.0 #8378 [@renovate]
  • Updated xz to 5.6.2 #7916 [@radarhere]
  • Updated libpng to 1.6.44 #8375 [@radarhere]
  • Updated harfbuzz to 9.0.0 in wheels, except for manylinux2014 #8361 [@radarhere]
  • Update deadsnakes/action action to v3.2.0 #8360 [@renovate]
  • Updated harfbuzz to 9.0.0 #8344 [@radarhere]
  • Updated libimagequant to 4.3.3 #8284 [@radarhere]
  • Updated freetype to 2.13.3 #8302 [@radarhere]
  • Update dependency mypy to v1.11.2 #8334 [@renovate]
  • [pre-commit.ci] pre-commit autoupdate #8287 [@pre-commit-ci]
  • Update dependency cibuildwheel to v2.20.0 #8282 [@renovate]
  • Update dependency mypy to v1.11.1 #8280 [@renovate]
  • Update dependency mypy to v1.11.0 #8252 [@renovate]
  • Update dependency cibuildwheel to v2.19.2 #8192 [@renovate]
  • [pre-commit.ci] pre-commit autoupdate #8188 [@pre-commit-ci]

Deprecations

  • Deprecate ICNS (width, height, scale) sizes in favour of load(scale) #8352 [@radarhere]
  • Deprecate isImageType #8364 [@radarhere]
  • Deprecate support for FreeType 2.9.0 #8356 [@hugovk]
  • Remove WebP support without anim, mux/demux, and with buggy alpha #8213 [@homm]
  • Deprecate JpegImageFile huffmanac and huffmandc #8274 [@radarhere]
  • Deprecate ImageMath lambdaeval and unsafeeval options argument #8242 [@radarhere]

Documentation

  • Update Python 3.13 release date #8463 [@hugovk]
  • Update licence to MIT-CMU #8460 [@hugovk]
  • Use CVE and CWE roles from Sphinx 8.1 #8457 [@hugovk]
  • Updated test environment documentation #8427 [@radarhere]
  • Updated macOS tested Pillow versions #8429 [@radarhere]
  • Updated link to OSS Fuzz issues #8399 [@radarhere]
  • Added release notes for #8379 #8381 [@radarhere]
  • Windows wheels are now grouped with the others #8371 [@radarhere]
  • Added release notes for #8199, #8213 and #8286 #8367 [@radarhere]
  • Restore exiv2.org links #8260 [@hugovk]
  • Add tutorial images #8246 [@aclark4life]
  • Updated macOS tested Pillow versions #8202 [@radarhere]
  • Updated CVE URL #8186 [@radarhere]

Removals

  • Drop support for EOL PyPy3.9 #8335 [@hugovk]
  • Remove all WITH_* flags from _imaging.c and other flags #8211 [@homm]
  • Remove unused util.isdirectory #8259 [@hugovk]
  • Drop support for Python 3.8 #8183 [@hugovk]
  • Remove PSFile, PyAccess and USECFFIACCESS #8182 [@hugovk]

Testing

  • Fixed unclosed file warning in test_imageshow.py #8446 [@radarhere]
  • Test Python 3.13 on AppVeyor #8442 [@hugovk]
  • Test cifuzz when wheel dependencies change #8435 [@radarhere]
  • Restore cifuzz #8428 [@radarhere]
  • Use common test scripts for more tests #8396 [@Yay295]
  • Lint: Run PT016 #8382 [@radarhere]
  • Test NumPy with musllinux wheels #8374 [@radarhere]
  • Install NumPy from PyPI when testing wheels #8373 [@lysnikolaou]
  • Install NumPy from PyPI for free threaded job #8372 [@radarhere]
  • Canonical type comparison #8349 [@AryazE]
  • Updated oss-fuzz to Python 3.10 #8297 [@radarhere]
  • Corrected GitHub Actions Windows Ghostscript path #8332 [@radarhere]
  • Catch defusedxml warnings #8325 [@radarhere]
  • Uninstall gradle and maven on macOS 13 #8318 [@radarhere]
  • Lint: run more flake8-pytest-style #8309 [@hugovk]
  • Parametrize some color_lut tests for DRYness #8290 [@akx]
  • Test 3.13 free-threaded build on CI #8200 [@hugovk]
  • Test NumPy on Python 3.13 #8189 [@hugovk]

Type hints

  • Added type hints to remaining ImageMath methods #8464 [@radarhere]
  • Conditionally define ImageCms type hint to avoid requiring core #8197 [@radarhere]
  • Added type hints #8354 [@radarhere]
  • Added type hints #8351 [@radarhere]
  • Added type hints #8339 [@radarhere]
  • Added type hints to ImageFile.init() #8336 [@radarhere]
  • Added type hints to Image.init() #8279 [@radarhere]
  • Added type hints #8331 [@radarhere]
  • Added type hints #8319 [@radarhere]
  • Added type hints #8285 [@radarhere]
  • Added type hints #8270 [@radarhere]
  • Added type hints #8268 [@radarhere]
  • Added type hints #8267 [@radarhere]
  • Added type hints #8263 [@radarhere]
  • Added type hints #8262 [@radarhere]
  • Added type hints #8250 [@radarhere]
  • Changed ContainerIO to subclass IO #8240 [@radarhere]
  • Added type hints #8234 [@radarhere]
  • Added type hints #8228 [@radarhere]
  • Added type hints #8214 [@radarhere]
  • Added type hint #8210 [@radarhere]
  • Added type hints to PdfParser #8207 [@radarhere]
  • Check test type hints #8208 [@radarhere]
  • Added type hints to tests #8203 [@radarhere]
  • Added type hints #8204 [@radarhere]
  • Added type hints #8191 [@radarhere]
  • Fix incompatibility with NumPy 1.20 #8187 [@neutrinoceros]

- Python
Published by github-actions[bot] over 1 year ago

pillow - 10.4.0

https://pillow.readthedocs.io/en/stable/releasenotes/10.4.0.html

Changes

  • Raise FileNotFoundError if show_file() path does not exist #8178 [@radarhere]
  • Improved reading 16-bit TGA images with colour #7965 [@Yay295]
  • Fixed processing multiple JPEG EXIF markers #8127 [@radarhere]
  • Do not preserve EXIFIFD tag by default when saving TIFF images #8110 [@radarhere]
  • Added ImageFont.loaddefaultimagefont() #8086 [@radarhere]
  • Added Image.WARNPOSSIBLEFORMATS #8063 [@radarhere]
  • Do not presume "xmp" info simply because "XML:com.adobe.xmp" info exists #8173 [@radarhere]
  • Remove zero-byte end padding when parsing any XMP data #8171 [@radarhere]
  • Do not detect Ultra HDR images as MPO #8056 [@radarhere]
  • Raise SyntaxError specific to JP2 #8146 [@Yay295]
  • Do not use first frame duration for other frames when saving APNG images #8104 [@radarhere]
  • Consider I;16 pixel size when using a 1 mode mask #8112 [@radarhere]
  • When saving multiple PNG frames, convert to mode rather than raw mode #8087 [@radarhere]
  • Added byte support to FreeTypeFont #8141 [@radarhere]
  • Allow float center for rotate operations #8114 [@radarhere]
  • Do not read layers immediately when opening PSD images #8039 [@radarhere]
  • Restore original thread state #8065 [@radarhere]
  • Read IM and TIFF images as RGB, rather than RGBX #7997 [@radarhere]
  • Only preserve TIFF IPTCNAACHUNK tag if type is BYTE or UNDEFINED #7948 [@radarhere]
  • Prevent extra EPS header validations #8144 [@Yay295]
  • Clarify ImageDraw2 error message when size is missing #8165 [@radarhere]
  • Support unpacking more rawmodes to RGBA palettes #7966 [@radarhere]
  • Removed support for Qt 5 #8159 [@radarhere]
  • Improve ImageFont.freetype support for XDG directories on Linux #8135 [@mamg22]
  • Improved consistency of XMP handling #8069 [@radarhere]
  • Use pkg-config to help find libwebp and raqm #8142 [@radarhere]
  • Renamed C transform2 to transform #8113 [@radarhere]
  • Updated nasm to 2.16.03 #7990 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8100 [@pre-commit-ci]
  • Updated ImageCms.createProfile colorTemp default and docstring #8096 [@radarhere]
  • Added ImageDraw circle() #8085 [@void4]
  • Don't reuse variable name #8082 [@Yay295]
  • Use functools.cached_property in GifImagePlugin #8037 [@radarhere]
  • Add mypy target to Makefile #8077 [@Yay295]
  • Added Python 3.13 beta wheels #8071 [@radarhere]
  • Parse _version contents instead of using exec() #8050 [@radarhere]
  • Lint fixes #8068 [@radarhere]
  • Fix type errors #8064 [@radarhere]
  • Added MPEG accept function #7999 [@radarhere]
  • Added more modes to Image.MODES #7984 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #8044 [@pre-commit-ci]
  • Do not use percent format in strings #8045 [@radarhere]
  • Changed string formatting to f-strings #8043 [@mrKazzila]
  • Removed direct invocation of setup.py #8027 [@radarhere]
  • Update ExifTags.py #8020 [@CTimmerman]
  • Fix ImagingAccess for I;16N on big-endian #7921 [@Yay295]
  • Combined conditions #8011 [@radarhere]
  • Simplified RGB to I;16, I;16L and I;16B conversion #8008 [@radarhere]
  • Extract band count check #8006 [@Yay295]
  • Remove unused variable #8005 [@Yay295]
  • Remove semicolon after function definition #8004 [@Yay295]
  • Support reading P mode TIFF images with padding #7996 [@radarhere]
  • Corrected ImageShow UnixViewer command #7987 [@radarhere]
  • Removed CentOS Stream 8 #7977 [@radarhere]
  • Removed CentOS 7 #7976 [@radarhere]
  • dist directory is no longer created #7974 [@radarhere]
  • Add support for reading BITMAPV2INFOHEADER and BITMAPV3INFOHEADER #7956 [@Cirras]
  • Update make release-test: no more eggs #7957 [@hugovk]
  • Make ModeDescriptor a NamedTuple #7951 [@Yay295]
  • Support reading CMYK JPEG2000 images #7947 [@radarhere]
  • Remove unused CMS properties and fix documentation #7931 [@Yay295]
  • [pre-commit.ci] pre-commit autoupdate #7932 [@pre-commit-ci]

Dependencies

  • Update dependency mypy to v1.10.1 #8177 [@renovate]
  • Update dependency cibuildwheel to v2.19.1 #8143 [@renovate]
  • Update dependency cibuildwheel to v2.19.0 #8131 [@renovate]
  • Updated libjpeg-turbo to 3.0.3 #8048 [@radarhere]
  • Updated fribidi to 1.0.15 #8014 [@radarhere]
  • Updated libwebp to 1.4.0 #7973 [@radarhere]
  • Updated libxcb and xcb-proto to 1.17.0 #7982 [@radarhere]
  • Updated libimagequant to 4.3.1 #8025 [@radarhere]
  • Updated harfbuzz to 8.5.0 #8059 [@radarhere]
  • Updated Ghostscript to 10.3.1 #8078 [@radarhere]
  • chore(deps): update dependency cibuildwheel to v2.18.1 #8070 [@renovate]
  • chore(deps): update dependency cibuildwheel to v2.18.0 #8054 [@renovate]
  • Update dependency mypy to v1.10.0 #8013 [@renovate]

Deprecations

  • Deprecate non-image ImageCms modes #8031 [@radarhere]
  • Deprecate ImageDraw.getdraw hints parameter #8124 [@radarhere]
  • Deprecate BGR;15, BGR;16 and BGR;24 modes #7978 [@radarhere]
  • Deprecate support for libtiff < 4 #7998 [@radarhere]

Documentation

  • Converted example images to WebP #7963 [@radarhere]
  • Use latest Ubuntu on Read The Docs #8136 [@radarhere]
  • Use Sphinx long options in Makefile #8109 [@hugovk]
  • Removed documentation of unused argument #8079 [@radarhere]
  • Updated CI targets table #8028 [@radarhere]
  • Automatically add dates to release notes #8001 [@hugovk]
  • Remove sphinx-removed-in, now Sphinx 7.3 adds versionremoved #7988 [@hugovk]
  • Removed nitpick_ignore by updating Sphinx to 7.3 #7985 [@radarhere]
  • Updated installation links #7981 [@radarhere]
  • Corrected packer comments #7964 [@Yay295]
  • Release checklist: inline the 'Source and Binary Distributions' step #7959 [@hugovk]
  • Removed outdated comment #7955 [@radarhere]
  • Document that QoiImagePlugin uses Python for decoding #7937 [@radarhere]
  • Updated macOS tested Pillow versions #7934 [@radarhere]
  • Fix ImageMath documentation parameter names #7933 [@jbjd]

Testing

  • Use more specific error #8168 [@radarhere]
  • Ignore brew dependencies for libraqm on macOS 13 #8140 [@radarhere]
  • Corrected AppVeyor Ghostscript path #8138 [@radarhere]
  • Accept 't' suffix for libtiff version #8129 [@radarhere]
  • Accept 't' suffix for libtiff version #8126 [@radarhere]
  • Add ClangFormat to pre-commit #8015 [@hugovk]
  • Removed helper.py modes #8053 [@radarhere]
  • Updated codecov/codecov-action to v4 #8041 [@radarhere]
  • Added Ubuntu 24.04 #8023 [@radarhere]
  • Corrected big-endian check #8022 [@radarhere]
  • Use LAB hopper file if conversion is not supported #7979 [@radarhere]
  • Removed Fedora 38 and added Fedora 40 #8012 [@radarhere]
  • Update tests to allow for zlib-ng #8009 [@radarhere]
  • GitHub Actions: use macos-13 or macos-14 instead of macos-latest #8010 [@hugovk]
  • Corrected check for libtiff feature #8000 [@radarhere]
  • Corrected check for libtiff feature #7975 [@radarhere]
  • Fix test error message grammar #7967 [@Yay295]
  • Replace ImageMath.eval with ImageMath.lambda_eval in selftest.py #7960 [@radarhere]
  • Rename testroundtrip() to testmode() #7950 [@Yay295]
  • Updated pattern for skipping builds based on file changes #7938 [@radarhere]
  • Corrected ImageCms test #7930 [@radarhere]

Type hints

  • Simplified casts #8169 [@radarhere]
  • Added type hints #8167 [@radarhere]
  • Added type hints for PixelAccess related methods and others #8032 [@nulano]
  • Added type hints to additional tests #8163 [@radarhere]
  • Updated type hints #8153 [@radarhere]
  • Added type hints to ImageFilter #8156 [@radarhere]
  • Added type hints to ImageDraw shape methods #8151 [@radarhere]
  • Added type hints to Image #8150 [@radarhere]
  • Added type hints #8134 [@radarhere]
  • Added type hints to additional tests #8118 [@radarhere]
  • Added type hints #8132 [@radarhere]
  • Added type hints to GifImagePlugin #8128 [@radarhere]
  • Added type hints #8125 [@radarhere]
  • Added type hints #8117 [@radarhere]
  • Added type hints #8108 [@radarhere]
  • Added type hints to ImageColor #8115 [@radarhere]
  • Add various type annotations #8046 [@srittau]
  • Added type hints #8107 [@radarhere]
  • Added type hints #8105 [@radarhere]
  • Added type hints #8066 [@radarhere]
  • Added type hints #8099 [@radarhere]
  • Corrected type hint #8098 [@radarhere]
  • Updated type hints for tests #8095 [@radarhere]
  • Added type hints to additional tests #8093 [@radarhere]
  • Added type hints to additional tests #8091 [@radarhere]
  • Added type hints to additional tests #8090 [@radarhere]
  • Added type hints #8061 [@radarhere]
  • Added type hints #8055 [@radarhere]
  • Added type hints #8051 [@radarhere]
  • Added type hints #8042 [@radarhere]
  • Added type hints #8030 [@radarhere]
  • Removed type hint ignores #7989 [@radarhere]
  • fromarray: add type hints #7936 [@adamjstewart]
  • Use functools.cached_property in ImageStat #7952 [@nulano]
  • Add type hints for Image.open, Image.init, and Image.Image.save #7944 [@nulano]

- Python
Published by github-actions[bot] over 1 year ago

pillow - 10.3.0

https://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html

Changes

  • CVE-2024-28219: Use strncpy to avoid buffer overflow #7928 [@hugovk]
  • Use functools.lru_cache for hopper() #7912 [@hugovk]
  • Raise ValueError if seeking to greater than offset-sized integer in TIFF #7883 [@radarhere]
  • Improve speed of loading QOI images #7925 [@radarhere]
  • Added RGB to I;16N conversion #7920 [@radarhere]
  • Add --report argument to main.py to omit supported formats #7818 [@nulano]
  • Added RGB to I;16, I;16L and I;16B conversion #7918 [@radarhere]
  • Fix editable installation with custom build backend and configuration options #7658 [@nulano]
  • Fix putdata() for I;16N on big-endian #7209 [@Yay295]
  • Determine MPO size from markers, not EXIF data #7884 [@radarhere]
  • Improved conversion from RGB to RGBa, LA and La #7888 [@radarhere]
  • Support FITS images with GZIP_1 compression #7894 [@radarhere]
  • Use I;16 mode for 9-bit JPEG 2000 images #7900 [@scaramallion]
  • Raise ValueError if kmeans is negative #7891 [@radarhere]
  • Remove TIFF tag OSUBFILETYPE when saving using libtiff #7893 [@radarhere]
  • Raise ValueError for negative values when loading P1-P3 PPM images #7882 [@radarhere]
  • Added reading of JPEG2000 palettes #7870 [@radarhere]
  • Added alpha_quality argument when saving WebP images #7872 [@radarhere]
  • Fixed joined corners for ImageDraw rounded_rectangle() non-integer dimensions #7881 [@radarhere]
  • Removed Python and NumPy pinning on Cygwin #7880 [@radarhere]
  • Update UnidentifiedImageError and version imports #7644 [@radarhere]
  • Stop reading EPS image at EOF marker #7753 [@radarhere]
  • PSD layer co-ordinates may be negative #7706 [@radarhere]
  • Use subprocess with CREATENOWINDOW flag in ImageShow WindowsViewer #7791 [@radarhere]
  • When saving GIF frame that restores to background color, do not fill identical pixels #7788 [@radarhere]
  • Fixed reading PNG iCCP compression method #7823 [@radarhere]
  • Allow writing IFDRational to UNDEFINED tag #7840 [@radarhere]
  • Fix logged tag name when loading Exif data #7842 [@radarhere]
  • Use maximum frame size in IHDR chunk when saving APNG images #7821 [@radarhere]
  • Prevent opening P TGA images without a palette #7797 [@radarhere]
  • Use palette when loading ICO images #7798 [@radarhere]
  • Use consistent arguments for loadread and loadseek #7713 [@radarhere]
  • Turn off nullability warnings for macOS SDK #7827 [@radarhere]
  • Fix shift-sign issue in Convert.c #7838 [@r-barnes]
  • winbuild: Refactor dependency versions into constants #7843 [@hugovk]
  • Build macOS arm64 wheels natively #7852 [@radarhere]
  • Fixed typo #7855 [@radarhere]
  • Open 16-bit grayscale PNGs as I;16 #7849 [@radarhere]
  • Handle truncated chunks at the end of PNG images #7709 [@lajiyuan]
  • Match mask size to pasted image size in GifImagePlugin #7779 [@radarhere]
  • Changed SupportsGetMesh protocol to be public #7841 [@radarhere]
  • Release GIL while calling WebPAnimDecoderGetNext #7782 [@evanmiller]
  • Fixed reading FLI/FLC images with a prefix chunk #7804 [@twolife]
  • Updated package name for Tidelift #7810 [@radarhere]
  • Removed unused code #7744 [@radarhere]
  • Lint fix #7783 [@radarhere]
  • Update wl-paste handling and return None for some errors in grabclipboard() on Linux #7745 [@nik012003]
  • Fixed libXau error in wheels for macOS 10.10 #7764 [@radarhere]
  • Changed name of first _Tile parameter #7772 [@radarhere]
  • Remove execute bit from setup.py #7760 [@hugovk]
  • Changed ImageMath.ops to be static #7721 [@radarhere]
  • Fix APNG info after seeking backwards more than twice #7701 [@esoma]
  • Removed PPM loop to read header tokens #7698 [@radarhere]
  • Added PerspectiveTransform #7699 [@radarhere]
  • Add support for reading and writing grayscale PFM images #7696 [@nulano]
  • Add LCMS2 flags to ImageCms #7676 [@nulano]
  • Rename x64 to AMD64 in winbuild #7693 [@nulano]
  • Build QEMU-emulated Linux aarch64 wheels on GitHub Actions instead of Travis CI #7690 [@hugovk]
  • Simplify FreeTypeFont.getmask2() #7645 [@nulano]
  • Updated Linux and macOS wheels matrix variable name #7691 [@radarhere]
  • Skip PyPy3.8 Windows wheel #7682 [@radarhere]

Deprecations

  • Deprecate eval(), replacing it with lambdaeval() and unsafeeval() #7927 [@hugovk]
  • Deprecate ImageCms constants and versions() function #7702 [@nulano]

Documentation

  • Add type hints to release notes #7923 [@hugovk]
  • Corrected exiv2.org links #7856 [@radarhere]
  • Removed references to the "current version" #7905 [@radarhere]
  • Added release notes for #7872, #7882 and #7891 #7904 [@radarhere]
  • Clean up authors and contributors #7895 [@aclark4life]
  • Update release notes #7885 [@hugovk]
  • Backfill release notes with security fix details #7877 [@aclark4life]
  • Describe difference between font size and bbox #7806 [@radarhere]
  • Decoders and encoders subclass PyDecoder and PyEncoder #7801 [@radarhere]
  • Update CI targets on GitHub Actions #7862 [@hugovk]
  • Update "What about PIL?" section #7861 [@aclark4life]
  • Update installation docs #7858 [@hugovk]
  • Move installation.rst to installation/*.rst #7832 [@aclark4life]
  • Removed references to Twitter #7836 [@radarhere]
  • Consistently place versionremoved under heading #7829 [@radarhere]
  • Remove outdated installation warnings #7814 [@hugovk]
  • PyPI project page URL is now lowercase #7703 [@nulano]
  • Use "non-zero" consistently #7695 [@radarhere]
  • Improve ImageTransform documentation #7684 [@nulano]
  • If ImageGrab.grab() bbox is omitted, screenshot is taken at 2x on Retina screens #7688 [@radarhere]
  • Updated macOS tested Pillow versions #7689 [@radarhere]
  • Update Windows 11 tested versions #7685 [@nulano]
  • ImageGrab.grab() bbox on macOS is not 2x on retina screens #7678 [@radarhere]
  • Package name is now lowercase in wheel filenames #7681 [@radarhere]

Type hints

  • Add type hints for ImageCms #7913 [@nulano]
  • Add type hints to Image.py #7924 [@hugovk]
  • Add type hints to release notes #7923 [@hugovk]
  • Added py.typed and Typing :: Typed to support type checking #7822 [@radarhere]
  • Added remaining type hints to Tests/testimage*.py #7793 [@radarhere]
  • Added type hints for ImageShow #7712 [@radarhere]
  • Added type hints to additional tests #7754 [@radarhere]
  • Added type hints to additional tests #7755 [@radarhere]
  • Added type hints to additional tests #7769 [@radarhere]
  • Added type hints to additional tests #7784 [@radarhere]
  • Added type hints to additional tests #7794 [@radarhere]
  • Added type hints to additional tests #7807 [@radarhere]
  • Added type hints to additional tests #7816 [@radarhere]
  • Added type hints to additional tests #7846 [@radarhere]
  • Added type hints to FitsImagePlugin #7714 [@radarhere]
  • Added type hints to GdImageFile #7727 [@radarhere]
  • Added type hints to ImageMath #7707 [@radarhere]
  • Added type hints to ImageMorph #7708 [@radarhere]
  • Added type hints to ImageOps #7786 [@radarhere]
  • Added type hints to ImtImagePlugin #7720 [@radarhere]
  • Added type hints to MpegImagePlugin #7728 [@radarhere]
  • Added type hints to MspImagePlugin #7719 [@radarhere]
  • Added type hints to OSS Fuzz scripts #7731 [@radarhere]
  • Added type hints to PpmImagePlugin #7726 [@radarhere]
  • Added type hints to seven plugins #7716 [@radarhere]
  • Added type hints to SgiImagePlugin #7724 [@radarhere]
  • Added type hints to Tests/check_*.py #7732 [@radarhere]
  • Added type hints to Tests/conftest.py #7740 [@radarhere]
  • Added type hints to Tests/helper.py #7733 [@radarhere]
  • Added type hints to Tests/testfont*.py #7743 [@radarhere]
  • Added type hints to TgaImagePlugin #7725 [@radarhere]
  • Autotype tests #7756 [@hugovk]
  • Decoders and encoders subclass PyDecoder and PyEncoder #7801 [@radarhere]
  • Removed mypy excludes #7808 [@radarhere]
  • Removed mypy excludes, except for olefile-related files #7790 [@radarhere]
  • Replace io.BytesIO in type hints #7750 [@hugovk]
  • Type hints: Add PYI (flake8-pyi) to Ruff and fix errors #7897 [@hugovk]
  • Use IO[bytes] in type hints #7795 [@radarhere]

Dependencies

  • [pre-commit.ci] pre-commit autoupdate and fix deprecations #7780 [@pre-commit-ci]
  • Install mypy from requirements file #7813 [@hugovk]
  • Pin codecov/codecov-action to v3.1.5 #7776 [@hugovk]
  • Update actions/cache action to v4 #7735 [@renovate]
  • Update dependency cibuildwheel to v2.16.4 #7758 [@renovate]
  • Update dependency cibuildwheel to v2.16.5 #7767 [@renovate]
  • Update dependency cibuildwheel to v2.17.0 #7869 [@renovate]
  • Update dependency mypy to v1.8.0 #7851 [@renovate]
  • Update dependency mypy to v1.9.0 #7866 [@renovate]
  • Update github-actions to v4 #7770 [@renovate]
  • Update release-drafter/release-drafter action to v6 #7774 [@renovate]
  • Updated Ghostscript to 10.3.0 #7887 [@radarhere]
  • Updated giflib on macOS to 5.2.2 #7815 [@radarhere]
  • Updated harfbuzz to 8.3.1 #7886 [@radarhere]
  • Updated harfbuzz to 8.4.0 #7917 [@radarhere]
  • Updated libimagequant to 4.3.0 #7749 [@radarhere]
  • Updated libjpeg-turbo to 3.0.2 #7752 [@radarhere]
  • Updated libpng to 1.6.43 #7768 [@radarhere]
  • Updated libxcb to 1.16.1 #7853 [@radarhere]
  • Updated openjpeg to 2.5.2 #7837 [@radarhere]
  • Updated xorgproto to 2024.1 #7907 [@radarhere]
  • Updated zlib to 1.3.1 #7746 [@radarhere]

  • Testing

  • Use setup_module() to open images so they aren't opened if skipped #7911 [@Yay295]

  • Skip AppVeyor builds for irrelevant files #7909 [@hugovk]

  • Revert "Pin Python 3.13 on Windows to a3" #7878 [@radarhere]

  • Restored testing of non-TrueType default font #7748 [@radarhere]

  • Parametrize testseekmode functions #7847 [@Yay295]

  • Do not use packaged MinGW pip #7844 [@radarhere]

  • Parametrize testpfromrgbrgba() #7835 [@Yay295]

  • Require coverage.py 7.4.2+ for COVERAGE_CORE: sysmon #7825 [@hugovk]

  • Set COVERAGE_CORE: sysmon for faster tests on 3.12+ #7820 [@hugovk]

  • Build docs for Python changes #7819 [@nulano]

  • Install mypy from requirements file #7813 [@hugovk]

  • Pin Python 3.13 on Windows to a3 #7805 [@radarhere]

  • Removed platform argument from setup-cygwin action #7775 [@radarhere]

  • Pin to Python 3.9.16-1 #7762 [@radarhere]

  • Test on macOS M1 where available #7766 [@hugovk]

  • CI: Cache libimagequant on Linux builds #7741 [@hugovk]

  • Do not support using test-image-results to upload images after test failures #7739 [@radarhere]

  • Sort imports in Tests/ #7736 [@hugovk]

  • Skip non-wheel CI runs for tags: Windows #7692 [@hugovk]

- Python
Published by github-actions[bot] almost 2 years ago

pillow - 10.2.0

https://pillow.readthedocs.io/en/stable/releasenotes/10.2.0.html

Changes

  • Add keep_rgb option when saving JPEG to prevent conversion of RGB colorspace #7553 [@bgilbert]
  • Trim negative glyph offsets in ImageFont.getmask() #7672 [@nulano]
  • Removed unnecessary "pragma: no cover" #7668 [@radarhere]
  • Trim glyph size in ImageFont.getmask() #7669 [@radarhere]
  • Fix loading IPTC images and update test #7667 [@nulano]
  • Allow uncompressed TIFF images to be saved in chunks #7650 [@radarhere]
  • Concatenate multiple JPEG EXIF markers #7496 [@radarhere]
  • Changed IPTC tile tuple to match other plugins #7661 [@radarhere]
  • Do not assign new fp attribute when exiting context manager #7566 [@radarhere]
  • Support arbitrary masks for uncompressed RGB DDS images #7589 [@radarhere]
  • Support setting ROWSPERSTRIP tag #7654 [@radarhere]
  • Apply ImageFont.MAXSTRINGLENGTH to ImageFont.getmask() #7662 [@radarhere]
  • Optimise ImageColor using functools.lru_cache #7657 [@hugovk]
  • Restricted environment keys for ImageMath.eval() #7655 [@radarhere]
  • Optimise ImageMode.getmode using functools.lru_cache #7641 [@hugovk]
  • Added trusted PyPI publishing #7616 [@radarhere]
  • Compile FriBiDi for Windows ARM64 #7629 [@nulano]
  • Fix incorrect color blending for overlapping glyphs #7497 [@ZachNagengast]
  • Add .git-blame-ignore-revs file #7528 [@akx]
  • Attempt memory mapping when tile args is a string #7565 [@radarhere]
  • Fill identical pixels with transparency in subsequent frames when saving GIF #7568 [@radarhere]
  • Removed unnecessary string length check #7560 [@radarhere]
  • Determine mask mode in Python instead of C #7548 [@radarhere]
  • Corrected duration when combining multiple GIF frames into single frame #7521 [@radarhere]
  • Handle disposing GIF background from outside palette #7515 [@radarhere]
  • Seek past the data when skipping a PSD layer #7483 [@radarhere]
  • ImageMath: Inline isinstance check #7623 [@hugovk]
  • Update actions/upload-artifact action to v4 #7619 [@radarhere]
  • Import plugins relative to the module #7576 [@deliangyang]
  • Translate encoder error codes to strings; deprecate ImageFile.raise_oserror() #7609 [@bgilbert]
  • Updated readthedocs to latest version of Python #7611 [@radarhere]
  • Support reading BC4U and DX10 BC1 images #6486 [@REDxEYE]
  • Optimize ImageStat.Stat.extrema #7593 [@florath]
  • Handle pathlib.Path in FreeTypeFont #7578 [@radarhere]
  • Use list comprehensions to create transformed lists #7597 [@hugovk]
  • Added support for reading DX10 BC4 DDS images #7603 [@sambvfx]
  • Optimized ImageStat.Stat.count #7599 [@florath]
  • Moved error from truetype() to FreeTypeFont #7587 [@radarhere]
  • Correct PDF palette size when saving #7555 [@radarhere]
  • Fixed closing file pointer with olefile 0.47 #7594 [@radarhere]
  • ruff: Minor optimizations of list comprehensions, x in set, etc. #7524 [@cclauss]
  • Build Windows wheels using cibuildwheel #7580 [@nulano]
  • Raise ValueError when TrueType font size is zero or less #7584 [@akx]
  • Install cibuildwheel from requirements file #7581 [@hugovk]
  • List optional dependencies in pyproject (apart from docs and tests) #7563 [@radarhere]
  • Use cibuildwheel #7552 [@radarhere]
  • "optimize" default when saving GIF images #7570 [@radarhere]
  • If absent, do not try to close fp when closing image #7557 [@RaphaelVRossi]
  • Windows arm64 dependency cross-compilation fixes #7559 [@nulano]
  • Allow configuring JPEG restart marker interval on save #7488 [@bgilbert]
  • Decrement reference count for PyObject #7549 [@radarhere]
  • Release automation: create sdist on CI #7544 [@hugovk]
  • Fix for Python 3.13: explicitly include unistd.h #7535 [@hugovk]
  • Remove old commented-out code #7527 [@akx]
  • Implement streamtype=1 option for tables-only JPEG encoding #7491 [@bgilbert]
  • DOC: Add missing sections to FREETYPE2.txt #7507 [@stefan6419846]
  • If save_all PNG only has one frame, do not create animated image #7522 [@radarhere]
  • Fixed frombytes() for images with a zero dimension #7493 [@radarhere]
  • Update Travis CI to Python 3.12 and Ubuntu 22.04 Jammy Jellyfish #7501 [@hugovk]
  • Simplified code #7499 [@radarhere]
  • Switched from direct setup.py invocation to "pip install ." #7498 [@radarhere]
  • Add mode to ImageOps._lut() error message #7490 [@Yay295]
  • Move config from setup.cfg to pyproject.toml #7484 [@hugovk]
  • Use "gray" more consistently #7481 [@radarhere]
  • Added messages to errors #7480 [@radarhere]

Dependencies

  • [pre-commit.ci] pre-commit autoupdate #7675 [@pre-commit-ci]
  • Update github-actions #7607 [@renovate]
  • [pre-commit.ci] pre-commit autoupdate #7602 [@pre-commit-ci]
  • Updated lcms2 to 2.16 #7598 [@radarhere]
  • Updated harfbuzz to 8.3.0 #7475 [@radarhere]
  • Updated xz to 5.4.5 #7513 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #7525 [@pre-commit-ci]
  • Updated libjpeg-turbo to 3.0.1 #7472 [@radarhere]

Deprecations

  • Deprecate IptcImagePlugin helpers #7664 [@nulano]

Documentation

  • Fix image URL in "Reading from URL" example #7674 [@nulano]
  • Release notes: add ImageColor and ImageMode optimisations, and type hints #7665 [@hugovk]
  • Added release notes for #7589 and #7654 #7670 [@radarhere]
  • Updated copyright year #7663 [@radarhere]
  • Updated RELEASING now that Trusted PyPI publishing is in use #7652 [@radarhere]
  • Add 'Type hints' as a release note category #7653 [@hugovk]
  • Document JPEG 2000 support for writing YCbCr and reading subsampled color #7636 [@bgilbert]
  • Clarify default anchor alignment #7600 [@nulano]
  • Added release notes #7608 [@radarhere]
  • Added release notes for #7599 and #7593 #7605 [@radarhere]
  • Document JPEG streamtype option #7601 [@bgilbert]
  • Update Windows wheels info #7590 [@radarhere]
  • Docs: Activate tabs based on browser's operating system #7579 [@hugovk]
  • Updated wheels README after cibuildwheel integration #7572 [@radarhere]
  • Use --config-settings in external libraries list in installation.rst #7564 [@nulano]
  • Docs: tcl/tk is no longer a build dependency #7562 [@radarhere]
  • Add Windows 11 tested Pillow versions #7558 [@nulano]
  • Docs: link exceptions to Python docs #7512 [@hugovk]
  • Add CVE-2023-44271 to release notes #7520 [@hugovk]
  • Mention defusedxml and olefile in installation instructions #7509 [@radarhere]
  • Docs: Add pypi Sphinx role #7505 [@hugovk]
  • Improved olefile documentation and testing #7503 [@radarhere]
  • Add Python 3.12 support to Pillow 10.1.0 release notes #7466 [@hugovk]
  • Updated macOS tested Pillow versions #7470 [@radarhere]
  • Fix typos in ImageOps.rst and tutorial.rst #7469 [@nulano]
  • Update release checklist: macOS/Linux artifact is called 'wheels' #7467 [@hugovk]

Testing

  • Coverage: add more exclusions #7666 [@hugovk]
  • Add gcc problem matcher to test.yml #7585 [@nulano]
  • Restored testing of ImageFont class #7647 [@radarhere]
  • Check types with mypy #7622 [@hugovk]
  • Update pre-commit to fix Sphinx Lint #7615 [@hugovk]
  • Fix up most noqas #7526 [@akx]
  • Tests: Replace assert False with pytest.fail() #7546 [@hugovk]
  • Test Fedora 39 #7542 [@hugovk]
  • Black and Ruff infer target-version from requires-python in pyproject.toml #7530 [@hugovk]
  • Move linting to ruff #6966 [@akx]
  • Removed Fedora 37 #7516 [@radarhere]
  • Updated AppVeyor to Python 3.12 #7508 [@radarhere]
  • Improved olefile documentation and testing #7503 [@radarhere]
  • Skip non-wheel CI runs for tags #7468 [@hugovk]

Type hints

  • Added type hints to ImageTransform #7671 [@radarhere]
  • Add type hints to _util #7642 [@nulano]
  • Add type hints to _binary #7659 [@nulano]
  • Add type hints to ContainerIO #7656 [@nulano]
  • Removed __future__ import from fuzzfont.py and fuzzpillow.py #7649 [@radarhere]
  • Added type hints to FontFile and subclasses #7643 [@radarhere]
  • Added type hints to selftest.py, docs/conf.py and docs/example/anchors.py #7640 [@radarhere]
  • Added TarIO type hints #7638 [@radarhere]
  • Moved __future__ import to beginning of file #7637 [@radarhere]
  • Added type hints to ImageSequence #7635 [@radarhere]
  • Add type hints for ImageMode #7633 [@hugovk]
  • Add from __future__ import annotations using Ruff/isort #7631 [@hugovk]
  • Check types with mypy #7622 [@hugovk]
  • Added type hints for format and format_description #7624 [@radarhere]
  • Added type hints to ImageChops #7617 [@radarhere]

- Python
Published by github-actions[bot] about 2 years ago

pillow - 10.1.0

https://pillow.readthedocs.io/en/stable/releasenotes/10.1.0.html

Changes

  • Added TrueType default font to allow for different sizes #7354 [@radarhere]
  • Fixed invalid argument warning #7442 [@radarhere]
  • Fixed "may be used uninitialized" warning #7444 [@radarhere]
  • Added ImageOps cover method #7412 [@radarhere]
  • Catch struct.error from truncated EXIF when reading JPEG DPI #7458 [@radarhere]
  • Consider default image when selecting mode for PNG save_all #7437 [@radarhere]
  • Use new() instead of Image()._new() #7460 [@radarhere]
  • Fix libbrotli build for Windows wheels #7453 [@nulano]
  • Allow custom builds to be triggered in Travis CI #7449 [@radarhere]
  • Support BGR;15, BGR;16 and BGR;24 access, unpacking and putdata #7303 [@radarhere]
  • Added CMYK to RGB unpacker #7310 [@radarhere]
  • Improved flexibility of XMP parsing #7274 [@radarhere]
  • Support reading 8-bit YCbCr TIFF images #7415 [@radarhere]
  • Allow saving I;16B images as PNG #7302 [@radarhere]
  • Corrected drawing I;16 points and writing I;16 text #7257 [@radarhere]
  • Set blue channel to 128 for BC5S #7413 [@radarhere]
  • Increase flexibility when reading IPTC fields #7319 [@radarhere]
  • Set C palette to be empty by default #7289 [@radarhere]
  • Moved getmask2 MAXIMAGEPIXELS check to Python #7247 [@radarhere]
  • Added gs_binary to control Ghostscript use on all platforms #7392 [@radarhere]
  • Updated multibuild to include Python 3.12.0 #7440 [@radarhere]
  • Don't run normal tests on changes to wheel-building files #7436 [@hugovk]
  • Move code from pillow-wheels #7418 [@radarhere]
  • Removed unused code #7434 [@radarhere]
  • Read bounding box information from the trailer of EPS files if specified #7382 [@nopperl]
  • Added reading 8-bit color DDS images #7426 [@radarhere]
  • Added hastransparencydata #7420 [@radarhere]
  • Revert #7311: "Read WebP duration after opening" #7406 [@radarhere]
  • Fixed bug when reading BC5S DDS images #7401 [@radarhere]

Dependencies

  • Updated libimagequant to 4.2.2 #7463 [@radarhere]
  • Updated libtiff to 4.6.0 #7452 [@radarhere]
  • Updated brotli to 1.1.0 #7451 [@radarhere]
  • Updated harfbuzz to 8.2.1 #7409 [@radarhere]
  • Updated PyPy to 7.3.13 #7439 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #7438 [@pre-commit-ci]

Documentation

  • Describe how to populate mode and size when writing a plugin #7465 [@radarhere]
  • Updated redirected links #7448 [@radarhere]
  • Add warning to docs: Pillow > 9.5.0 no longer includes 32-bit wheels #7447 [@aclark4life]
  • Added release notes for #7336, #7355, #7358 and #7392 #7446 [@radarhere]
  • Corrected macOS version name #7431 [@radarhere]
  • Updated macOS tested Pillow versions #7430 [@radarhere]
  • Improved init(), preinit() and register_mime() documentation #7399 [@radarhere]
  • Updated macOS tested Pillow versions #7400 [@radarhere]

Testing

  • Test Python 3.12 final in GitHub Actions #7441 [@radarhere]
  • Add checks to pre-commit #7421 [@hugovk]
  • AppVeyor: don't download huge pillow-depends.zip #7407 [@hugovk]
  • NumPy now supports Python 3.12 #7403 [@radarhere]

- Python
Published by github-actions[bot] over 2 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/10.0.1.html

Changes

  • Updated libwebp to 1.3.2 #7395 [@radarhere]
  • Updated zlib to 1.3 #7344 [@radarhere]

- Python
Published by radarhere over 2 years ago

pillow - 10.0.0

https://pillow.readthedocs.io/en/stable/releasenotes/10.0.0.html

Changes

  • Fixed deallocating mask images #7246 [@radarhere]
  • Added ImageFont.MAXSTRINGLENGTH #7244 [@radarhere]
  • Fix Windows build with pyproject.toml #7230 [@nulano]
  • Do not close provided file handles with libtiff #7199 [@radarhere]
  • Convert to HSV if mode is HSV in getcolor() #7226 [@radarhere]
  • Added alpha_only argument to getbbox() #7123 [@radarhere]
  • Prioritise speed in reprpng_ #7242 [@radarhere]
  • Limit size even if one dimension is zero in decompression bomb check #7235 [@radarhere]
  • Restored 32-bit support #7234 [@radarhere]
  • Removed deleted file from codecov.yml and increased coverage threshold #7232 [@radarhere]
  • Removed support for 32-bit #7228 [@radarhere]
  • Use --config-settings instead of deprecated --global-option #7171 [@radarhere]
  • Better C integer definitions #6645 [@Yay295]
  • Fixed finding dependencies on Cygwin #7175 [@radarhere]
  • Improved checks in font_render #7218 [@radarhere]
  • Change grabclipboard() to use PNG compression on macOS #7219 [@abey79]
  • Added PyPy 3.10 and removed PyPy 3.8 #7216 [@radarhere]
  • Added inplace argument to ImageOps.exiftranspose() #7092 [@radarhere]
  • Corrected error code #7177 [@radarhere]
  • Use "not in" #7174 [@radarhere]
  • Only call text_layout once in getmask2 #7206 [@radarhere]
  • Fixed calling putpalette() on L and LA images before load() #7187 [@radarhere]
  • Removed unused INT64 definition #7180 [@radarhere]
  • Updated xz to 5.4.3 #7136 [@radarhere]
  • Fixed saving TIFF multiframe images with LONG8 tag types #7078 [@radarhere]
  • Do not set size unnecessarily if image fails to open #7056 [@radarhere]
  • Removed unused code #7210 [@radarhere]
  • Removed unused variables #7205 [@radarhere]
  • Fixed signedness comparison warning #7203 [@radarhere]
  • Fixed combining single duration across duplicate APNG frames #7146 [@radarhere]
  • Remove temporary file when error is raised #7148 [@radarhere]
  • Do not use temporary file when grabbing clipboard on Linux #7200 [@radarhere]
  • If the clipboard fails to open on Windows, wait and try again #7141 [@radarhere]
  • Fixed saving multiple 1 mode frames to GIF #7181 [@radarhere]
  • Replaced absolute PIL import with relative import #7173 [@radarhere]
  • Removed files and types override #7194 [@radarhere]
  • Removed duplicate config #7193 [@radarhere]
  • Replaced deprecated Py_FileSystemDefaultEncoding for Python >= 3.12 #7192 [@radarhere]
  • Improved wl-paste mimetype handling in ImageGrab #7094 [@rrcgat]
  • Updated redirected URLs #7178 [@radarhere]
  • Added reprjpeg() for IPython displayjpeg #7135 [@n3011]
  • Use "/sbin/ldconfig" if ldconfig is not found #7068 [@radarhere]
  • Prefer screenshots using XCB over gnome-screenshot #7143 [@nulano]
  • Fixed joined corners for ImageDraw rounded_rectangle() odd dimensions #7151 [@radarhere]
  • Support reading signed 8-bit TIFF images #7111 [@radarhere]
  • Added width argument to ImageDraw regular_polygon #7132 [@radarhere]
  • Support I mode for ImageFilter.BuiltinFilter #7108 [@radarhere]
  • Raise error from stderr of Linux ImageGrab.grabclipboard() command #7112 [@radarhere]
  • Updated libimagequant to 4.2.0 #7128 [@radarhere]
  • Added unpacker from I;16B to I;16 #7125 [@radarhere]
  • Use stdlib for setuptools on MinGW #7131 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #7129 [@pre-commit-ci]
  • Support float font sizes #7107 [@radarhere]
  • Use later value for duplicate xref entries in PdfParser #7102 [@radarhere]
  • Load before getting size in getstate #7105 [@bigcat88]
  • Added Fedora 38 #7109 [@radarhere]
  • Removed duplicate code #7106 [@radarhere]
  • Remove use of deprecated OpenJPEG "bpp" member #7090 [@radarhere]
  • Select Python version in Cygwin #7091 [@radarhere]
  • Updated nasm to 2.16.01 #7089 [@radarhere]
  • Update vendored Raqm to 0.10.1 #7087 [@nulano]
  • 10.0.0.dev0 version bump #7057 [@radarhere]
  • Fixed type handling for include and lib directories #7069 [@adisbladis]
  • Do not install PyQt6-Qt6 6.5.0 #7081 [@radarhere]
  • Removed FIXME comment #7072 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #7063 [@pre-commit-ci]

Dependencies

  • Updated libtiff to 4.5.1 #7233 [@radarhere]
  • Updated libwebp to 1.3.1 #7238 [@radarhere]
  • Updated freetype to 2.13.1 #7231 [@radarhere]
  • Updated fribidi to 1.0.13 #7166 [@radarhere]
  • Updated harfbuzz to 7.3.0 #7152 [@radarhere]
  • Updated harfbuzz to 7.2.0 #7118 [@radarhere]
  • Update cygwin/cygwin-install-action action to v4 #7099 [@renovate]
  • Updated raqm to 0.10.1 #7088 [@radarhere]

Deprecations

  • Do not use CFFI access by default on PyPy #7236 [@radarhere]

Documentation

  • Added release notes for #7123 #7243 [@radarhere]
  • Image.open() seeks to the start of file objects #7097 [@radarhere]
  • Added release notes for #7235 #7239 [@radarhere]
  • Update Image.show docs to list all viewers used on Linux #7229 [@RoziePlaysPython]
  • Document how to install on MinGW when setuptools >= 60 #7224 [@radarhere]
  • Clarify that the changelog should not be updated in PRs #7220 [@radarhere]
  • Moved QOI from Write-Only to Read-Only #7212 [@radarhere]
  • Improved documention of "corners" argument for rounded_rectangle #7211 [@radarhere]
  • Removed rectangle example from co-ordinate system documentation #7169 [@radarhere]
  • Document order of kernel weights #7204 [@radarhere]
  • Build only PDF in addition to default html #7164 [@hugovk]
  • ImageGrab grabclipboard() is supported on Linux #7160 [@radarhere]
  • Clarify that line() and polygon() include xy pixels #7142 [@radarhere]
  • Updated redirected URL #7157 [@radarhere]
  • Updated ImagePath tolist() default #7138 [@radarhere]
  • Added release notes for #7132 #7134 [@radarhere]
  • Build all readthedocs formats #7116 [@radarhere]
  • Updated macOS tested Pillow versions #7103 [@radarhere]
  • Fix typo #7101 [@hugovk]
  • Release refinement #7074 [@hugovk]
  • Improve ImageEnhance factor documentation #7065 [@radarhere]

Removals

  • Remove deprecated ImageFont.getsize and related functions for Pillow 10.0.0 #7080 [@radarhere]
  • Remove deprecations for Pillow 10.0.0 #7059 [@hugovk]
  • Drop support for soon-EOL Python 3.7 #7058 [@hugovk]

Testing

  • benchcffiaccess print formatting #7227 [@Yay295]
  • Add Debian 12 Bookworm #7208 [@hugovk]
  • Fix Python 3.12 failures #7188 [@radarhere]
  • Test lists and tuples #6949 [@Yay295]
  • Test both lists and tuples as qtables arguments #6900 [@Yay295]
  • More ImagePath tests #6904 [@Yay295]
  • Removed Ubuntu 18.04 docker image #7115 [@radarhere]
  • Removed Fedora 36 #7098 [@radarhere]
  • Fix codecov after they deleted the Python package from PyPI #7085 [@hugovk]
  • Install libxcb-cursor0 #7083 [@radarhere]
  • Add release check to make sure no TODOs remain in release notes #7075 [@hugovk]

- Python
Published by github-actions[bot] over 2 years ago

pillow - 9.5.0

https://pillow.readthedocs.io/en/stable/releasenotes/9.5.0.html

Changes

  • Refactor EpsImagePlugin and deprecate PSFile #6879 [@Yay295]
  • Do not discard error message if _imagingft fails to import #7047 [@nulano]
  • Added ImageSourceData to TAGS_V2 #7053 [@radarhere]
  • Clear PPM half token after use #7052 [@radarhere]
  • Do not render text if image has zero width or height #7021 [@radarhere]
  • Removed unnecessary silencing of stderr #7046 [@radarhere]
  • Fixed compilation warnings #7050 [@radarhere]
  • Handle failure from PyDictNew or PyListNew #6999 [@radarhere]
  • Removed absolute path to ldconfig #7044 [@radarhere]
  • Windows: compile xz with CMake #6947 [@nulano]
  • Support custom comments and PLT markers when saving JPEG2000 images #6903 [@joshware]
  • Load before getting size in array_interface #7034 [@radarhere]
  • Support creating BGR;15, BGR;16 and BGR;24 images, but drop support for BGR;32 #7010 [@radarhere]
  • Consider transparency when applying APNG blend mask #7018 [@radarhere]
  • Round duration when saving animated WebP images #6996 [@radarhere]
  • Added reading of JPEG2000 comments #6909 [@radarhere]
  • Decrement reference count #7003 [@radarhere]
  • Allow libtiffsupportcustom_tags to be missing #7020 [@radarhere]
  • Updated xz to 5.4.2 #7026 [@radarhere]
  • Improved I;16N support #6834 [@radarhere]
  • Added QOI reading #6852 [@radarhere]
  • Added saving RGBA images as PDFs #6925 [@radarhere]
  • Do not raise an error if os.environ does not contain PATH #6935 [@radarhere]
  • Close OleFileIO instance when closing or exiting FPX or MIC #7005 [@radarhere]
  • Added int to IFDRational for Python >= 3.11 #6998 [@radarhere]
  • Move potential error earlier #7002 [@radarhere]
  • Remove redundant default values #6914 [@radarhere]
  • Added memoryview support to Dib.frombytes() #6988 [@radarhere]
  • Close file pointer copy in the libtiff encoder if still open #6986 [@fcarron]
  • Removed unused profile_fromstring method #6987 [@radarhere]
  • Release buffer #6976 [@radarhere]
  • Raise an error if ImageDraw co-ordinates are incorrectly ordered #6978 [@radarhere]
  • Added "corners" argument to ImageDraw rounded_rectangle() #6954 [@radarhere]
  • Clarify some local variable names #6971 [@akx]
  • Added memoryview support to frombytes() #6974 [@radarhere]
  • Allow comments in FITS images #6973 [@radarhere]
  • Relax roundtrip check #6970 [@radarhere]
  • Support saving PDF with different X and Y resolutions #6961 [@jvanderneutstulen]
  • Relax roundtrip check #6967 [@radarhere]
  • Fixed writing int as UNDEFINED tag #6950 [@radarhere]
  • Update HPND wording in LICENSE file #6936 [@mtelka]
  • Relaxed child images check to allow for libjpeg #6853 [@radarhere]
  • Raise an error if EXIF data is too long when saving JPEG #6939 [@radarhere]
  • Fixed typo #6940 [@radarhere]
  • Sort dependencies #6922 [@radarhere]
  • Handle more than one directory returned by pkg-config #6896 [@sebastic]
  • Relax ImageQt roundtrip check #6915 [@radarhere]
  • Prevent register_open from adding duplicates to ID #6917 [@radarhere]
  • Do not retry past formats when loading all formats for the first time #6902 [@radarhere]
  • Handling for deprecations to be removed in Pillow 11 #6905 [@hugovk]
  • Do not retry specified formats if they failed when opening #6893 [@radarhere]
  • Do not unintentionally load TIFF format at first #6892 [@radarhere]
  • Stop reading when EPS line becomes too long #6897 [@radarhere]
  • Allow writing IFDRational to BYTE tag #6890 [@radarhere]
  • Raise ValueError for BoxBlur filter with negative radius #6874 [@hugovk]
  • Only read when necessary in EpsImagePlugin #6880 [@radarhere]
  • Simplify isinstance, key in dict, enumerate #6869 [@hugovk]
  • Support arbitrary number of loaded modules on Windows #6761 [@javidcf]

Dependencies

  • Install Ghostscript using Chocolatey #7036 [@radarhere]
  • Update actions/stale action to v8 #7035 [@renovate]
  • Updated libimagequant to 4.1.1 #7000 [@radarhere]
  • Updated harfbuzz to 7.1.0 #6983 [@radarhere]
  • Updated lcms2 to 2.15 #6981 [@radarhere]
  • Updated harfbuzz to 7.0.1 #6959 [@radarhere]
  • Updated harfbuzz to 7.0.0 #6946 [@radarhere]
  • Updated freetype to 2.13 #6931 [@radarhere]
  • Updated libjpeg-turbo to 2.1.5.1 #6929 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #6928 [@pre-commit-ci]
  • Updated libjpeg-turbo to 2.1.5 #6923 [@radarhere]
  • pre-commit autoupdate #6920 [@radarhere]
  • Updated libimagequant to 4.1.0 #6906 [@radarhere]
  • Updated libimagequant to 4.0.5 #6901 [@radarhere]
  • Updated libwebp to 1.3.0 #6889 [@radarhere]
  • Updated raqm to 0.10.0 #6884 [@radarhere]
  • Updated xz to 5.4.1 #6883 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #6855 [@pre-commit-ci]

Documentation

  • Removed unused sections in release notes #7054 [@radarhere]
  • Add missing word #7051 [@Yay295]
  • Document handling of modes when converting to or from NumPy #7049 [@radarhere]
  • Document how to create universal2 wheels #6912 [@radarhere]
  • Docs: Replace dependency sphinx-issues with builtin sphinx.ext.extlinks #7016 [@hugovk]
  • Minor improvement made to cextensiondebugging.rst #7017 [@Lucas-C]
  • Restored deleted docstring #7027 [@radarhere]
  • Removed incorrect docstring #7025 [@Auto-5]
  • Fix order of arguments in docstring #7024 [@Auto-5]
  • Restore link anchor #6993 [@nulano]
  • Removed missing anchor from link #6992 [@radarhere]
  • Added release notes for #6961 and #6954 #6990 [@radarhere]
  • Replace Python code-blocks with double colons #6958 [@radarhere]
  • Highlight code example #6969 [@radarhere]
  • Corrected documented WebP quality range #6952 [@jzern]
  • image-file-formats.rst: document WebP 'xmp' option #6951 [@jzern]
  • Add description for getexif() and Exif #6930 [@greatvovan]
  • Specify correct description for mode L #6907 [@Pehat]
  • Alex Clark -> Jeffrey A. Clark (Alex) #6895 [@aclark4life]
  • Updated macOS tested Pillow versions #6885 [@radarhere]
  • Verify the Mastodon docs link #6881 [@hugovk]
  • List Raqm build options in installation documentation #6876 [@nulano]
  • Refer to Resampling enum #6868 [@radarhere]
  • LOADTRUNCATEDIMAGES may allow PNG images to open #6856 [@radarhere]
  • Announce releases on Mastodon #6861 [@radarhere]

Testing

  • Added Amazon Linux 2023 docker image #7029 [@radarhere]
  • Remove EOL Debian 10 Buster from CI #7014 [@hugovk]
  • Moved tests that require libtiff #6919 [@radarhere]
  • Moved conversion test to test_imagecms #6866 [@radarhere]
  • Run CIFuzz tests when GitHub Actions file changes #6994 [@radarhere]
  • Build docs in own workflow #6991 [@hugovk]
  • Log expected & actual color in image access tests #6899 [@Yay295]
  • Fix up some pytest style issues #6968 [@akx]
  • Enable gcov support for codecov/codecov-action #6944 [@hugovk]
  • Test Python 3.12-dev #6943 [@hugovk]
  • Replace SVN with Git for installing extra test images #6918 [@hugovk]
  • Parametrize testfiletar::test_sanity() #6898 [@Yay295]
  • Only install python-pyqt6 package on 64-bit #6886 [@radarhere]
  • Tests: Convert internal check() functions to use parametrize #6870 [@hugovk]
  • Clean up tests (simplified) #6865 [@Yay295]
  • NotImplementedError will not be raised by grapclipboard if xclip is available on Linux #6859 [@radarhere]
  • array tobytes() always exists in Python >= 3.2 #6854 [@radarhere]

- Python
Published by github-actions[bot] almost 3 years ago

pillow - 9.4.0

https://pillow.readthedocs.io/en/stable/releasenotes/9.4.0.html

Changes

  • Updated copyright year #6845 [@radarhere]
  • Fixed null pointer dereference crash with malformed font #6846 [@radarhere]
  • Return from ImagingFill early if image has a zero dimension #6842 [@radarhere]
  • Reversed deprecations for Image constants, except for duplicate Resampling attributes #6830 [@radarhere]
  • Improve exception traceback readability #6836 [@hugovk]
  • Fix version mismatch #6841 [@smb123w64gb]
  • Do not attempt to read IFD1 if absent #6840 [@radarhere]
  • Fixed writing int as ASCII tag #6800 [@radarhere]
  • If available, use wl-paste or xclip for grabclipboard() on Linux #6783 [@radarhere]
  • Added signed option when saving JPEG2000 images #6709 [@radarhere]
  • Patch OpenJPEG to include ARM64 fix #6718 [@radarhere]
  • Added support for I;16 modes in putdata() #6825 [@radarhere]
  • Added conversion from RGBa to RGB #6708 [@radarhere]
  • Added DDS support for uncompressed L and LA images #6820 [@radarhere]
  • Added LightSource tag values to ExifTags #6749 [@radarhere]
  • Updated libtiff shared library name #6826 [@radarhere]
  • Fixed PyAccess after changing ICO size #6821 [@radarhere]
  • Do not use EXIF from info when saving PNG images #6819 [@radarhere]
  • Fixed saving EXIF data to MPO #6817 [@radarhere]
  • Added Exif hide_offsets() #6762 [@radarhere]
  • Only compare to previous frame when checking for duplicate GIF frames while saving #6787 [@radarhere]
  • Always initialize all plugins in registered_extensions() #6811 [@radarhere]
  • Initialize unsigned char variables #6818 [@radarhere]
  • Updated deprecated NumPy alias #6814 [@radarhere]
  • Ignore non-opaque WebP background when saving as GIF #6792 [@radarhere]
  • Only set tile in ImageFile setstate #6793 [@radarhere]
  • Fixed BytesWarnings #6816 [@radarhere]
  • When reading BLP, do not trust JPEG decoder to determine image is CMYK #6767 [@radarhere]
  • Updated xz to 5.4.0 #6802 [@radarhere]
  • Added IFD enum to ExifTags #6748 [@radarhere]
  • Fixed bug combining GIF frame durations #6779 [@radarhere]
  • Remove unnecessary Pipfile #6790 [@hugovk]
  • Support saving JPEG comments #6774 [@smason]
  • Add support for PyPy3.9, drop PyPy3.7 #6782 [@hugovk]
  • [pre-commit.ci] pre-commit autoupdate #6780 [@pre-commit-ci]
  • Use compilepythonfuzzer #6775 [@radarhere]
  • Remove specific number of jobs from comment #6772 [@radarhere]
  • Fix WebP dealloc method definitions #6763 [@Yay295]
  • Added getxmp() to WebPImagePlugin #6758 [@radarhere]
  • Use stdlib for setuptools on Cygwin #6760 [@radarhere]
  • Added "exact" option when saving WebP #6747 [@ashafaei]
  • Use fractional coordinates when drawing text #6722 [@radarhere]
  • Fixed writing int as BYTE tag #6740 [@radarhere]
  • Remove Tidelift alignment action and badge #6739 [@aclark4life]
  • Updated xz to 5.2.8 #6738 [@radarhere]
  • Added MP Format Version when saving MPO #6735 [@radarhere]
  • Remove ImagingAccessInit line() method #6736 [@Yay295]
  • Update to Python 3.11 in GitHub Actions #6726 [@radarhere]
  • Added Interop to ExifTags #6724 [@radarhere]
  • CVE-2007-4559 patch when building on Windows #6704 [@nulano]
  • [pre-commit.ci] pre-commit autoupdate #6721 [@pre-commit-ci]
  • Fix compiler warning: accessing 64 bytes in a region of size 48 #6714 [@wiredfool]
  • Use verbose flag for pip install #6713 [@wiredfool]
  • Replaced IOError with OSError #6715 [@radarhere]
  • Disable __CxxFrameHandler4 when compiling HarfBuzz #6702 [@nulano]

Dependencies

  • Updated libtiff to 4.5.0 #6822 [@radarhere]
  • Update actions/stale action to v7 #6813 [@renovate]
  • Updated harfbuzz to 6.0.0 #6810 [@radarhere]
  • Update egor-tensin/cleanup-path action to v3 #6806 [@renovate]
  • Update cygwin/cygwin-install-action action to v3 #6776 [@renovate]
  • Updated xz to 5.2.9 #6770 [@radarhere]
  • Updated libpng to 1.6.39 #6752 [@radarhere]
  • Updated lcms2 to 2.14 #6711 [@radarhere]

Documentation

  • Updated size parameter descriptions #6851 [@radarhere]
  • Added release notes for #6842 and #6846 #6850 [@radarhere]
  • Document the meaning of "premultiplied alpha" #6838 [@radarhere]
  • Document "transparency" info key #6831 [@radarhere]
  • Clarify apply_transparency() docstring #6798 [@radarhere]
  • Improved mode range documentation #6795 [@radarhere]
  • Added releases notes for #6774 #6784 [@radarhere]
  • Use Sphinx Inline Tabs to organise installation per OS #6764 [@hugovk]
  • Document how to install Pillow from a directory #6756 [@radarhere]
  • Add oss-fuzz badge #6717 [@wiredfool]
  • Updated macOS tested Pillow versions #6734 [@radarhere]

Testing

  • Removed Python 3.7 on Cygwin #6815 [@radarhere]
  • Run Bandit on CI via pre-commit #6805 [@hugovk]
  • Add allowlist_externals=make to fix tox 4 #6801 [@hugovk]
  • Added Fedora 37 #6742 [@radarhere]
  • Revert "Install NumPy with OpenBLAS" #6727 [@radarhere]
  • Updated AppVeyor to Python 3.11 #6723 [@radarhere]
  • Added file to list of partially supported BMPs #6719 [@radarhere]
  • XCB will not be used by default on Linux if gnome-screenshot is present #6712 [@radarhere]
  • Removed Fedora 35 #6705 [@radarhere]
  • Add xfail mark to TestEmbeddable #6703 [@nulano]

- Python
Published by github-actions[bot] about 3 years ago

pillow - 9.3.0

https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html

Changes

  • Initialize libtiff buffer when saving #6699 [@radarhere]
  • Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [@wiredfool]
  • Inline fname2char to fix memory leak #6329 [@nulano]
  • Fix memory leaks related to text features #6330 [@nulano]
  • Use double quotes for version check on old CPython on Windows #6695 [@hugovk]
  • GHA: replace deprecated set-output command with GITHUB_OUTPUT file #6697 [@nulano]
  • Remove backup implementation of Round for Windows platforms #6693 [@cgohlke]
  • Upload fribidi.dll to GitHub Actions #6532 [@nulano]
  • Fixed setvariationby_name offset #6445 [@radarhere]
  • Windows build improvements #6562 [@nulano]
  • Fix malloc in imagingft.c:fontsetvaraxes #6690 [@cgohlke]
  • Only use ASCII characters in C source file #6691 [@cgohlke]
  • Release Python GIL when converting images using matrix operations #6418 [@hmaarrfk]
  • Added ExifTags enums #6630 [@radarhere]
  • Do not modify previous frame when calculating delta in PNG #6683 [@radarhere]
  • Added support for reading BMP images with RLE4 compression #6674 [@npjg]
  • Decode JPEG compressed BLP1 data in original mode #6678 [@radarhere]
  • pylint warnings #6659 [@marksmayo]
  • Added GPS TIFF tag info #6661 [@radarhere]
  • Added conversion between RGB/RGBA/RGBX and LAB #6647 [@radarhere]
  • Do not attempt normalization if mode is already normal #6644 [@radarhere]
  • Fixed seeking to an L frame in a GIF #6576 [@radarhere]
  • Consider all frames when selecting mode for PNG save_all #6610 [@radarhere]
  • Don't reassign crc on ChunkStream close #6627 [@radarhere]
  • Raise a warning if NumPy failed to raise an error during conversion #6594 [@radarhere]
  • Only read a maximum of 100 bytes at a time in IMT header #6623 [@radarhere]
  • Show all frames in ImageShow #6611 [@radarhere]
  • Allow FLI palette chunk to not be first #6626 [@radarhere]
  • If first GIF frame has transparency for RGB_ALWAYS loading strategy, use RGBA mode #6592 [@radarhere]
  • Round box position to integer when pasting embedded color #6517 [@radarhere]
  • Removed EXIF prefix when saving WebP #6582 [@radarhere]
  • Pad IM palette to 768 bytes when saving #6579 [@radarhere]
  • Added DDS BC6H reading #6449 [@ShadelessFox]
  • Added support for opening WhiteIsZero 16-bit integer TIFF images #6642 [@JayWiz]
  • Raise an error when allocating translucent color to RGB palette #6654 [@jsbueno]
  • Moved mode check outside of loops #6650 [@radarhere]
  • Added reading of TIFF child images #6569 [@radarhere]
  • Improved ImageOps palette handling #6596 [@PososikTeam]
  • Defer parsing of palette into colors #6567 [@radarhere]
  • Apply transparency to P images in ImageTk.PhotoImage #6559 [@radarhere]
  • Use rounding in ImageOps contain() and pad() #6522 [@bibinhashley]
  • Fixed GIF remapping to palette with duplicate entries #6548 [@radarhere]
  • Allow remap_palette() to return an image with less than 256 palette entries #6543 [@radarhere]
  • Corrected BMP and TGA palette size when saving #6500 [@radarhere]
  • Move some static config to setup.cfg #6570 [@hugovk]
  • Do not call load() before draft() in Image.thumbnail #6539 [@radarhere]
  • Use constants in TiffImagePlugin #6552 [@radarhere]
  • Copy palette when converting from P to PA #6497 [@radarhere]
  • Allow RGB and RGBA values for PA image putpixel #6504 [@radarhere]
  • Removed support for tkinter in PyPy before Python 3.6 #6551 [@nulano]
  • Do not use CCITTFaxDecode filter if libtiff is not available #6518 [@radarhere]
  • Fallback to not using mmap if buffer is not large enough #6510 [@radarhere]
  • Fixed writing bytes as ASCII tag #6493 [@radarhere]
  • Open 1 bit EPS in mode 1 #6499 [@radarhere]
  • Removed support for tkinter before Python 1.5.2 #6549 [@radarhere]
  • Fixed typo #6542 [@radarhere]
  • NumPy now supports Python 3.11 #6538 [@radarhere]
  • Build lcms2 VC2022 #6529 [@radarhere]
  • Added direct conversion from PA to P #6509 [@radarhere]
  • Allow default ImageDraw font to be set #6484 [@radarhere]
  • Save 1 mode PDF using CCITTFaxDecode filter #6470 [@radarhere]
  • Added support for RGBA PSD images #6481 [@radarhere]
  • Parse orientation from XMP tag contents #6463 [@bigcat88]
  • Added support for reading ATI1/ATI2 (BC4/BC5) DDS images #6457 [@REDxEYE]
  • Do not clear GIF tile when checking number of frames #6455 [@radarhere]
  • Support saving multiple MPO frames #6444 [@radarhere]
  • Moved tile encoding into separate function #6456 [@radarhere]
  • Do not double quote Pillow version for setuptools >= 60 #6450 [@radarhere]
  • 3.11: Add Trove classifier and to tox.ini and update setup.py version check #6441 [@hugovk]
  • Added ABGR BMP mask mode #6436 [@radarhere]
  • Fixed PSDraw rectangle #6429 [@radarhere]
  • Raise ValueError if PNG sRGB chunk is truncated #6431 [@radarhere]
  • Handle missing Python executable in ImageShow on macOS #6416 [@bryant1410]

Dependencies

  • Updated harfbuzz to 5.3.1 #6669 [@radarhere]
  • Updated zlib to 1.2.13 #6664 [@radarhere]
  • Updated harfbuzz to 5.3.0 #6651 [@radarhere]
  • Update github-actions #6616 [@renovate]
  • Updated Ghostscript to 10.0.0 #6609 [@radarhere]
  • Fix Renovate config #6599 [@hugovk]
  • Configure Renovate #6564 [@renovate]
  • Updated harfbuzz to 5.2.0 #6591 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #6560 [@pre-commit-ci]
  • Updated libimagequant to 4.0.4 #6535 [@radarhere]
  • Updated libimagequant to 4.0.2 #6523 [@radarhere]
  • Updated libwebp to 1.2.4 #6483 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #6472 [@pre-commit-ci]
  • Updated harfbuzz to 5.1.0 #6466 [@radarhere]
  • Updated libimagequant to 4.0.1 #6451 [@radarhere]
  • Updated libwebp to 1.2.3 #6442 [@radarhere]

Documentation

  • Update release notes for 9.3.0 #6696 [@hugovk]
  • Document ImageDraw attributes #6533 [@nulano]
  • Added release notes for #6630 #6685 [@radarhere]
  • Document when BLP1 JPEG data started being loaded incorrectly #6682 [@radarhere]
  • Added release notes for #6678 #6680 [@radarhere]
  • Added release notes for #6449 and #6611 #6668 [@radarhere]
  • Image channel is used when converting PA with an RGBA palette #6662 [@radarhere]
  • High bit depth multichannel images are not yet supported #6638 [@radarhere]
  • Improved layout_engine documentation #6633 [@radarhere]
  • Improved documentation of ImageDraw return values #6556 [@radarhere]
  • Added headings before listing options #6632 [@radarhere]
  • Improve documentation for ImageDraw.rectangle and rounded_rectangle #6625 [@d0sboots]
  • Ensure dependencies are installed when building docs #6612 [@radarhere]
  • Fixed broken URLs #6617 [@radarhere]
  • Updated redirected URLs #6613 [@radarhere]
  • Add OpenSSF Best Practices badge #6597 [@hugovk]
  • Corrected dictionary name #6593 [@radarhere]
  • Simplified enum references #6557 [@radarhere]
  • Documented TGA save keyword arguments #6546 [@radarhere]
  • Updated tested Windows environment list #6550 [@radarhere]
  • DOC: fix image-file-formats.rst #6513 [@cgohlke]
  • Ubuntu dependencies also apply to Jammy #6511 [@radarhere]
  • Orientation data is removed by exif_transpose() #6476 [@radarhere]
  • Note to Windows users that FreeType will keep the font file open #6485 [@radarhere]
  • Switch to GitHub Actions artifacts for Windows wheels #6458 [@radarhere]
  • Added release notes for #6457 #6465 [@radarhere]
  • Docs: Replace version tables with RST csv-table and add 3.11 #6433 [@hugovk]
  • Fix simple typo #6443 [@timgates42]
  • Docs: Allow setting Python interpreter via command line #6440 [@hugovk]
  • Updated links #6427 [@radarhere]
  • Updated macOS tested Pillow versions #6425 [@radarhere]
  • Document where to find other codecs #6415 [@radarhere]

Testing

  • GitHub Actions: Test Python 3.11.0 final #6686 [@hugovk]
  • Consistently write in binary format in PPM tests #6677 [@radarhere]
  • Removed print statement from tests #6660 [@radarhere]
  • Parametrized tests #6634 [@radarhere]
  • Do not import PIL.Image #6635 [@radarhere]
  • Add "concurrency" to GitHub Actions #6621 [@Yay295]
  • Updated codecov action to v3 #6281 [@radarhere]
  • Use fixtures instead of classes in test_imagefont #6534 [@nulano]
  • Parametrize more tests #6531 [@Yay295]
  • [pre-commit.ci] pre-commit autoupdate #6560 [@pre-commit-ci]
  • Updated tested Windows environment list #6550 [@radarhere]
  • Set top-level permissions for remaining GitHub Actions #6541 [@radarhere]
  • Parametrized tests #6526 [@radarhere]
  • Parametrize Tests/testimagepaste.py #6519 [@Yay295]
  • Temporarily skip valgrind failure #6524 [@radarhere]
  • Do not install test-image-results on GitHub Actions #6501 [@radarhere]
  • Updated libjpeg-turbo to 2.1.4 #6498 [@radarhere]
  • Increased test tolerance to allow for libtiff with libjpeg-turbo #6477 [@radarhere]
  • Updated Valgrind job to Jammy #6473 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #6472 [@pre-commit-ci]
  • Install libxcb-shape0 #6438 [@radarhere]
  • Set permissions for GitHub actions #6413 [@neilnaveen]

- Python
Published by github-actions[bot] over 3 years ago

pillow - 9.2.0

https://pillow.readthedocs.io/en/stable/releasenotes/9.2.0.html

Changes

  • Fixed null check for fribidiversioninfo in FriBiDi shim #6376 [@nulano]
  • Added GIF decompression bomb check #6402 [@radarhere]
  • Handle PCF fonts files with less than 256 characters #6386 [@dawidcrivelli]
  • Improved GIF optimize condition #6378 [@raygard]
  • Reverted to array_interface with the release of NumPy 1.23 #6394 [@radarhere]
  • Pad PCX palette to 768 bytes when saving #6391 [@radarhere]
  • Fixed bug with rounding pixels to palette colors #6377 [@btrekkie]
  • Use gnome-screenshot on Linux if available #6361 [@radarhere]
  • Fixed loading L mode BMP RLE8 images #6384 [@radarhere]
  • Fixed incorrect operator in ImageCms error #6370 [@LostBenjamin]
  • Limit FPX tile size to avoid extending outside image #6368 [@radarhere]
  • Added support for decoding plain PPM formats #5242 [@Piolie]
  • Added apply_transparency() #6352 [@radarhere]
  • Fixed behaviour change from endian fix #6197 [@radarhere]
  • Use python3 #6222 [@radarhere]
  • Allow remapping P images with RGBA palettes #6350 [@radarhere]
  • Revert "Skip testreallocoverflow unless libtiff 4.0.4 or higher" #6354 [@radarhere]
  • [pre-commit.ci] pre-commit autoupdate #6353 [@pre-commit-ci]
  • Only import ImageFont in ImageDraw when necessary #6341 [@radarhere]
  • Fixed drawing translucent 1px high polygons #6278 [@radarhere]
  • Pad COLORMAP to 768 items when saving TIFF #6232 [@radarhere]
  • Fix P -> PA conversion #6337 [@RedShy]
  • Once exif data is parsed, do not reload unless it changes #6335 [@radarhere]
  • Only try to connect discontiguous corners at the end of edges #6303 [@radarhere]
  • Improve transparency handling when saving GIF images #6176 [@radarhere]
  • Do not update GIF frame position until local image is found #6219 [@radarhere]
  • Netscape GIF extension belongs after the global color table #6211 [@radarhere]
  • Only write GIF comments at the beginning of the file #6300 [@raygard]
  • Separate multiple GIF comment blocks with newlines #6294 [@raygard]
  • Always use GIF89a for comments #6292 [@raygard]
  • Ignore compression value from BMP info dictionary when saving as TIFF #6231 [@radarhere]
  • If font is file-like object, do not re-read from object to get variant #6234 [@radarhere]
  • Raise ValueError when trying to access internal fp after close #6213 [@radarhere]
  • Support more affine expression forms in im.point() #6254 [@benrg]
  • Include 'twine check' in 'make sdist' #6305 [@hugovk]
  • Ensure that furthest v is set in quantize2 #6256 [@radarhere]

Dependencies

  • Updated harfbuzz to 4.4.1 #6401 [@radarhere]
  • Updated harfbuzz to 4.4.0 #6397 [@radarhere]
  • Use SourceForge auto mirror capability #6345 [@raygard]
  • Updated libtiff to 4.4.0 #6339 [@radarhere]
  • Updated harfbuzz to 4.3.0 #6315 [@radarhere]

Deprecations

  • Deprecate ImageFont.getsize and related functions #6381 [@nulano]

Documentation

  • Install furo if it is not available #6408 [@radarhere]
  • Added release notes for #6402 #6403 [@radarhere]
  • Docs: remove redundant search page from table of contents #6399 [@hugovk]
  • Added pytest-timeout to test dependencies #6301 [@radarhere]
  • Fix Sphinx 5 warning by setting docs language #6347 [@hugovk]
  • Include #6178 in release notes #6346 [@radarhere]
  • Updated macOS tested Pillow versions #6316 [@radarhere]
  • Add Sphinx Lint to pre-commit and fix RST bug #6340 [@hugovk]
  • Added EMF and SUN to list of supported file formats #6338 [@radarhere]
  • Once a GIF comment is loaded, it is kept for subsequent frames #6325 [@radarhere]
  • Link to GitHub discussions in CONTRIBUTING #6333 [@radarhere]
  • Improved image file formats documentation #6313 [@radarhere]

Testing

  • Add Sphinx Lint to pre-commit and fix RST bug #6340 [@hugovk]
  • pre-commit autoupdate #6223 [@radarhere]
  • Upgrade non-amd64 Ubuntu jobs to Jammy #6306 [@radarhere]

- Python
Published by github-actions[bot] over 3 years ago

pillow - 9.1.1

This release addresses several security problems.

CVE-2022-30595: When reading a TGA file with RLE packets that cross scan lines, Pillow reads the information past the end of the first line without deducting that from the length of the remaining file data. This vulnerability was introduced in Pillow 9.1.0, and can cause a heap buffer overflow.

Opening an image with a zero or negative height has been found to bypass a decompression bomb check. This will now raise a SyntaxError instead, in turn raising a PIL.UnidentifiedImageError.

- Python
Published by hugovk almost 4 years ago

pillow - 9.1.0

https://pillow.readthedocs.io/en/stable/releasenotes/9.1.0.html

Changes

  • Add support for multiple component transformation to JPEG2000 #5500 [@scaramallion]
  • Fix loading FriBiDi on Alpine #6165 [@nulano]
  • Added setting for converting GIF P frames to RGB #6150 [@radarhere]
  • Allow 1 mode images to be inverted #6034 [@radarhere]
  • Raise ValueError when trying to save empty JPEG #6159 [@radarhere]
  • Always save TIFF with contiguous planar configuration #5973 [@radarhere]
  • Connected discontiguous polygon corners #5980 [@radarhere]
  • Corrected memory allocation #5958 [@radarhere]
  • Ensure Tkinter hook is activated for getimage() #6032 [@radarhere]
  • Fixed comparison warnings #5970 [@radarhere]
  • Use screencapture arguments to crop on macOS #6152 [@radarhere]
  • Do not mark L mode JPEG as 1 bit in PDF #6151 [@radarhere]
  • Fixed saving L mode GIF with background as WebP #6147 [@radarhere]
  • Do not expand GIF during n_frames #6148 [@radarhere]
  • Added support for reading I;16R TIFF images #6132 [@radarhere]
  • If an error occurs after creating a file, remove the file #6134 [@radarhere]
  • decode() should return -1 when finished #6130 [@radarhere]
  • Fixed calling DisplayViewer or XVViewer without a title #6136 [@radarhere]
  • Retain RGBA transparency when saving multiple GIF frames #6128 [@radarhere]
  • Save additional ICO frames with other bit depths if supplied #6122 [@radarhere]
  • Handle EXIF data truncated to just the header #6124 [@radarhere]
  • Added support for reading BMP images with RLE8 compression #6102 [@radarhere]
  • Support Python distributions where _tkinter is compiled in #6006 [@lukegb]
  • Added WebP default duration of zero when saving #6140 [@radarhere]
  • Added support for PPM arbitrary maxval #6119 [@radarhere]
  • Removed unused variable #6137 [@radarhere]
  • libwebp 1.2.2 fixed endian bugs #5984 [@radarhere]
  • Added BigTIFF reading #6097 [@radarhere]
  • GIF seek performance improvements #6077 [@radarhere]
  • Removed loadprepare nearly identical to ImageFile loadprepare #6116 [@radarhere]
  • When converting, clip I;16 to be unsigned, not signed #6112 [@radarhere]
  • Check if self.im is not None #6108 [@radarhere]
  • Fixed loading L mode GIF with transparency #6086 [@radarhere]
  • Ensure cleanup() is called for PyEncoders #6096 [@radarhere]
  • Various _accept changes #6092 [@radarhere]
  • Improved handling of PPM header #5121 [@Piolie]
  • Reset size when seeking away from "Large Thumbnail" MPO frame #6101 [@radarhere]
  • Replace requirements.txt with extras #6072 [@hugovk]
  • Added PyEncoder and support BLP saving #6069 [@radarhere]
  • Handle TGA images with packets that cross scan lines #6087 [@radarhere]
  • Added FITS reading #6056 [@radarhere]
  • Added rawmode argument to Image.getpalette() #6061 [@radarhere]
  • Fixed BUFR, GRIB and HDF5 stub saving #6071 [@radarhere]
  • Changed quantize default dither to FLOYDSTEINBERG #6068 [@radarhere]
  • Do not automatically remove temporary ImageShow files on Unix #6045 [@radarhere]
  • Correctly read JPEG compressed BLP images #4685 [@Meithal]
  • Merged MODECONV typ into ImageMode as typestr #6057 [@radarhere]
  • Consider palette size when converting and in getpalette() #6060 [@radarhere]
  • Added enums #5954 [@radarhere]
  • Ensure image is opaque after converting P to PA with RGB palette #6052 [@radarhere]
  • Replaced absolute PIL import with relative import #6058 [@radarhere]
  • Attach RGBA palettes from putpalette() when suitable #6054 [@radarhere]
  • Simplified code #6053 [@radarhere]
  • Clarify code and comments #6042 [@radarhere]
  • Added getphotoshopblocks() to parse Photoshop TIFF tag #6030 [@radarhere]
  • Drop excess values in BITSPERSAMPLE #6041 [@mikhail-iurkov]
  • Issue warning if Raqm layout is requested, but Raqm is not available #6035 [@nulano]
  • Added unpacker from RGBA;15 to RGB #6031 [@radarhere]

Dependencies

  • Updated freetype to 2.12 #6169 [@radarhere]
  • Updated harfbuzz to 4.2.0 #6164 [@radarhere]
  • Updated zlib to 1.2.12 #6160 [@radarhere]
  • Updated harfbuzz to 4.1.0 #6153 [@radarhere]
  • Updated harfbuzz to 4.0.1 #6125 [@radarhere]
  • Updated harfbuzz to 4.0.0 #6104 [@radarhere]
  • Updated harfbuzz to 3.4.0 #6048 [@radarhere]
  • Updated lcms2 to 2.13.1 #6017 [@radarhere]
  • Updated harfbuzz to 3.3.2 #6029 [@radarhere]
  • Updated libimagequant to 4.0.0 #6014 [@radarhere]

Documentation

  • Add musllinux wheels to 9.1.0 release notes #6168 [@hugovk]
  • Document "keep" for JPEG save quality option #6135 [@carandraug]
  • Document support for RLE8 reading in BMP #6155 [@radarhere]
  • Removed period before colon #6143 [@radarhere]
  • Added merging images example #6129 [@radarhere]
  • decode() should return -1 when finished #6117 [@radarhere]
  • Improved codec documentation #6094 [@radarhere]
  • Document alternatives to accessing individual pixels #6099 [@radarhere]
  • Document that histogram() uses 256 bins per channel #6106 [@radarhere]
  • Added release notes for #6069 #6095 [@radarhere]
  • Improved ImageShow documentation #6078 [@radarhere]
  • Corrected docstring #6081 [@radarhere]
  • Corrected JPEG subsampling documentation #6067 [@radarhere]
  • Use --no-binary when installing from source #6066 [@radarhere]
  • macOS: 'brew install openjpeg' for JPEG2000 support #6065 [@hugovk]
  • Updated comment #6063 [@radarhere]
  • Updated macOS tested Pillow versions #6038 [@radarhere]
  • Fix return in docs #6040 [@hugovk]
  • Corrected sentence #6016 [@radarhere]

Testing

  • Added pytest-timeout to AppVeyor #6157 [@radarhere]
  • Do not always require ctypes in tests #6141 [@radarhere]
  • Updated setup-python, checkout and upload-artifact actions to v3 #6111 [@radarhere]
  • pre-commit autoupdate --freeze #6109 [@radarhere]
  • Updated Python for doccheck to 3.10 #6098 [@radarhere]
  • Updated libjpeg-turbo to 2.1.3 #6091 [@radarhere]
  • Enable heap verification without gflags #6089 [@radarhere]
  • Test that nframes and isanimated do not change GIF #6080 [@radarhere]
  • Added Gentoo to Docker jobs #6088 [@radarhere]
  • Removed duplicate test #6082 [@radarhere]
  • Updated checks that no warnings were raised #6076 [@radarhere]
  • Updated comment #6063 [@radarhere]
  • Replaced test image to avoid copyrighted color space #6062 [@radarhere]
  • Only skip test if libimagequant is earlier than 4 on ppc64le #6050 [@radarhere]
  • Added CentOS Stream 9 #6036 [@radarhere]
  • Upgraded AppVeyor Python 3.10 image to Visual Studio 2022 #6026 [@radarhere]

- Python
Published by github-actions[bot] almost 4 years ago

pillow - 9.0.1

https://pillow.readthedocs.io/en/stable/releasenotes/9.0.1.html

Changes

  • In show_file, use os.remove to remove temporary images. CVE-2022-24303 #6010 [@radarhere, @hugovk]
  • Restrict builtins within lambdas for ImageMath.eval. CVE-2022-22817 #6009 [radarhere]

- Python
Published by radarhere about 4 years ago

pillow - 9.0.0

https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html

Changes

  • Restrict builtins for ImageMath.eval() #5923 [@radarhere]
  • Ensure JpegImagePlugin stops at the end of a truncated file #5921 [@radarhere]
  • Fixed ImagePath.Path array handling #5920 [@radarhere]
  • Remove consecutive duplicate tiles that only differ by their offset #5919 [@radarhere]
  • Removed redundant part of condition #5915 [@radarhere]
  • Explicitly enable strip chopping for large uncompressed TIFFs #5517 [@kmilos]
  • Use the Windows method to get TCL functions on Cygwin #5807 [@DWesl]
  • Changed error type to allow for incremental WebP parsing #5404 [@radarhere]
  • Improved I;16 operations on big endian #5901 [@radarhere]
  • Ensure that BMP pixel data offset does not ignore palette #5899 [@radarhere]
  • Limit quantized palette to number of colors #5879 [@radarhere]
  • Use latin1 encoding to decode bytes #5870 [@radarhere]
  • Fixed palette index for zeroed color in FASTOCTREE quantize #5869 [@radarhere]
  • When saving RGBA to GIF, make use of first transparent palette entry #5859 [@radarhere]
  • Pass SAMPLEFORMAT to libtiff #5848 [@radarhere]
  • Added rounding when converting P and PA #5824 [@radarhere]
  • Improved putdata() documentation and data handling #5910 [@radarhere]
  • Exclude carriage return in PDF regex to help prevent ReDoS #5912 [@radarhere]
  • Image.NONE is only used for resampling and dithers #5908 [@radarhere]
  • Fixed freeing pointer in ImageDraw.Outline.transform #5909 [@radarhere]
  • Add Tidelift alignment action and badge #5763 [@aclark4life]
  • Replaced further direct invocations of setup.py #5906 [@radarhere]
  • Added ImageShow support for xdg-open #5897 [@m-shinder]
  • Fixed typo #5902 [@radarhere]
  • Switched from deprecated "setup.py install" to "pip install ." #5896 [@radarhere]
  • Support 16-bit grayscale ImageQt conversion #5856 [@cmbruns]
  • Fixed raising OSError in saferead when size is greater than SAFEBLOCK #5872 [@radarhere]
  • Convert subsequent GIF frames to RGB or RGBA #5857 [@radarhere]
  • WebP: Fix memory leak during decoding on failure #5798 [@ilai-deutel]
  • Do not prematurely return in ImageFile when saving to stdout #5665 [@infmagic2047]
  • Added support for top right and bottom right TGA orientations #5829 [@radarhere]
  • Corrected ICNS file length in header #5845 [@radarhere]
  • Block tile TIFF tags when saving #5839 [@radarhere]
  • Added line width argument to ImageDraw polygon #5694 [@radarhere]
  • Do not redeclare class each time when converting to NumPy #5844 [@radarhere]
  • Only prevent repeated polygon pixels when drawing with transparency #5835 [@radarhere]
  • Fix pushes_fd method signature #5833 [@hoodmane]
  • Add support for pickling TrueType fonts #5826 [@hugovk]
  • Only prefer command line tools SDK on macOS over default MacOSX SDK #5828 [@radarhere]
  • Fix compilation on 64-bit Termux #5793 [@landfillbaby]
  • Replace 'setup.py sdist' with '-m build --sdist' #5785 [@hugovk]
  • Use declarative package configuration #5784 [@hugovk]
  • Use title for display in ImageShow #5788 [@radarhere]
  • Fix for PyQt6 #5775 [@hugovk]
  • Rename master to main #5770 [@hugovk]

Dependencies

  • Updated winbuild libimagequant to 2.17.0 #5916 [@radarhere]
  • Updated harfbuzz to 3.2.0 #5883 [@radarhere]
  • Updated libimagequant to 2.17.0 #5876 [@radarhere]
  • Updated freetype to 2.11.1 #5867 [@radarhere]
  • Updated harfbuzz to 3.1.2 #5853 [@radarhere]
  • Updated harfbuzz to 3.1.1 #5820 [@radarhere]
  • Updated harfbuzz to 3.1.0 #5808 [@radarhere]

Documentation

  • CVEs TBD #5924 [@radarhere]
  • Added release notes for #5919, #5920 and #5921 #5922 [@radarhere]
  • Updated copyright year #5918 [@radarhere]
  • Added release notes for pillow-wheels#237 #5917 [@radarhere]
  • Added release notes for #5897 #5905 [@radarhere]
  • Added PIL + pathlib Tutorial #5862 [@kolibril13]
  • Dedicate the next release to Fredrik Lundh #5885 [@hugovk]
  • Added release notes for #5857 #5874 [@radarhere]
  • Improved example code #5866 [@radarhere]
  • Improved explanation of fromarray "mode" parameter #5849 [@radarhere]
  • Documentation for #5829 and #5694 #5847 [@radarhere]
  • Updated macOS tested Pillow versions #5822 [@radarhere]
  • Docs: Remove docutils pin #5821 [@hugovk]
  • Changed URLs to https #5796 [@radarhere]
  • Added release notes for #5788 #5792 [@radarhere]
  • Update expected Pillow 10 release date: 2023-07-01 #5779 [@hugovk]
  • Document #5788: "Use title for display" #5790 [@nulano]
  • Improved image lifecycle documentation #5773 [@radarhere]
  • Docs: No security updates in 8.4.0 #5767 [@hugovk]

Removals

  • Drop support for soon-EOL Python 3.6 #5768 [@hugovk]
  • Remove support for FreeType 2.7 and older #5777 [@hugovk]
  • Removed deprecated PILLOWVERSION, Image.show command parameter, Image.showxv and ImageFile.raise_ioerror #5776 [@radarhere]

Testing

  • Added sys import #5913 [@radarhere]
  • Do not compare properties to themselves #5907 [@radarhere]
  • GHA: Still use macos-latest for non-PyPy builds #5888 [@radarhere]
  • GHA: Use macos-10.15 to fix build #5886 [@hugovk]
  • GHA: Add workflow_dispatch to enable manually triggering builds #5861 [@hugovk]
  • Added context managers #5851 [@radarhere]
  • Updated libjpeg-turbo to 2.1.2 #5841 [@radarhere]
  • GHA: Use actions/setup-python's pip cache #5840 [@hugovk]
  • Removed setuptools install from AppVeyor #5823 [@radarhere]
  • Added Fedora 35 #5806 [@radarhere]
  • Test Python 3.10.0 final on AppVeyor #5805 [@hugovk]
  • Test PyPy3.8 #5778 [@hugovk]
  • CI: Install pytest-timeout for MinGW CI #5780 [@hugovk]
  • Removed Fedora 33 docker job #5766 [@radarhere]

- Python
Published by github-actions[bot] about 4 years ago

pillow - 8.4.0

https://pillow.readthedocs.io/en/stable/releasenotes/8.4.0.html

Changes

  • Don't use bitmap glyphs when drawing text with stroker #5761 [@nulano]
  • Make TIFF strip size configurable #5744 [@kmilos]
  • Fixed Python errors when saving a (0, 0) TIFF image #5750 [@radarhere]
  • Prefer global transparency in GIF when replacing with background color #5756 [@radarhere]
  • Update winbuild libimagequant to 2.16.0 #5727 [@nulano]
  • Accept methods cleanup #5724 [@radarhere]
  • Remove raqm.cmake #5722 [@nulano]
  • Moved _info function into docstring #5710 [@radarhere]
  • Added "exif" keyword argument to TIFF saving #5575 [@radarhere]
  • Copy Python palette to new image in quantize() #5696 [@radarhere]
  • Read ICO AND mask from end #5667 [@radarhere]
  • Actually check the framesize in FliDecode.c #5659 [@wiredfool]

Dependencies

  • Upgrade Raqm to 0.7.2 #5736 [@nulano]
  • Updated Ghostscript to 9.55.0 #5735 [@radarhere]
  • Updated fribidi to 1.0.11 #5732 [@radarhere]
  • Updated libimagequant to 2.16.0 #5726 [@radarhere]
  • Updated harfbuzz to 3.0.0 #5720 [@radarhere]
  • Updated harfbuzz to 2.9.1 #5705 [@radarhere]

Documentation

  • Updated capitalization #5746 [@radarhere]
  • Updated macOS tested Pillow versions #5737 [@radarhere]
  • Updated macOS tested Pillow versions #5719 [@radarhere]
  • Docs: Update CI targets table #5713 [@hugovk]
  • Updated docstring #5708 [@radarhere]
  • Docs: Temporarily pin docutils to fix bullets in sphinxrtdtheme #5704 [@hugovk]

Testing

  • Delete tidelift.yml #5765 [@hugovk]
  • Test Python 3.10.0 final on GitHub Actions #5748 [@hugovk]
  • [pre-commit.ci] pre-commit autoupdate #5747 [@pre-commit-ci]
  • Add CentOS Stream 8 #5714 [@hugovk]
  • Improve the fuzzer wrt. the current atheris version #5688 [@Google-Autofuzz]
  • CI: Split MINGW to own workflow, remove redundant job #5709 [@hugovk]
  • Install numpy on Python 3.10 #5702 [@radarhere]

- Python
Published by github-actions[bot] over 4 years ago

pillow - 8.3.2

https://pillow.readthedocs.io/en/stable/releasenotes/8.3.2.html

Security

  • CVE-2021-23437 Raise ValueError if color specifier is too long [hugovk, radarhere]

  • Fix 6-byte OOB read in FliDecode [wiredfool]

Python 3.10 wheels

  • Add support for Python 3.10 #5569, #5570 [hugovk, radarhere]

Fixed regressions

  • Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression #5588 [kmilos, radarhere]

  • Updates for ImagePalette channel order #5599 [radarhere]

  • Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library #5651 [nulano]

- Python
Published by hugovk over 4 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/8.3.1.html

Changes

  • Catch OSError when checking if fp is sys.stdout #5585 [@radarhere]
  • Handle removing orientation from alternate types of EXIF data #5584 [@radarhere]
  • Make Image.array take optional dtype argument #5572 [@t-vi]

- Python
Published by radarhere over 4 years ago

pillow - 8.3.0

https://pillow.readthedocs.io/en/stable/releasenotes/8.3.0.html

Changes

  • Use snprintf instead of sprintf #5567 [@radarhere]
  • Limit TIFF strip size when saving with LibTIFF #5514 [@kmilos]
  • Allow ICNS save on all operating systems #4526 [@newpanjing]
  • De-zigzag JPEG's DQT when loading; deprecate convertdictqtables #4989 [@gofr]
  • Do not use background or transparency index for new color #5564 [@radarhere]
  • Simplified code #5315 [@radarhere]
  • Replaced xml.etree.ElementTree #5565 [@radarhere]
  • Corrected border position for P mode in ImageOps.expand() #5562 [@radarhere]
  • Moved CVE image to pillow-depends #5561 [@radarhere]
  • Added tag data for IFD groups #5554 [@radarhere]
  • Improved ImagePalette #5552 [@radarhere]
  • Add DDS saving #5402 [@radarhere]
  • Improved getxmp() #5455 [@radarhere]
  • Convert to float for comparison with float in IFDRational eq #5412 [@radarhere]
  • Allow getexif() to access TIFF tag_v2 data #5416 [@radarhere]
  • Read FITS image mode and size #5405 [@radarhere]
  • Merge parallel horizontal edges in ImagingDrawPolygon #5347 [@radarhere]
  • Use transparency behind first GIF frame and when disposing to background #5557 [@radarhere]
  • Fixed undefined variable in logging #5556 [@radarhere]
  • Avoid unstable nature of qsort in Quant.c #5367 [@radarhere]
  • Copy palette to new images in ImageOps expand #5551 [@radarhere]
  • Ensure palette string matches RGB mode #5549 [@radarhere]
  • Do not modify EXIF of original image instance in exif_transpose() #5547 [@radarhere]
  • Fixed default numresolution for small JPEG2000 images #5540 [@radarhere]
  • Fixed format warning #5535 [@radarhere]
  • Updated declaration to match definition #5534 [@radarhere]
  • Added DDS BC5 reading #5501 [@radarhere]
  • Raise an error if ImageDraw.textbbox is used without a TrueType font #5510 [@radarhere]
  • Added ICO saving in BMP format #5513 [@radarhere]
  • Ensure PNG seeks to end of previous chunk at start of load_end #5493 [@radarhere]
  • Do not allow TIFF to seek to a past frame #5473 [@radarhere]
  • Avoid race condition when displaying images with eog #5507 [@mconst]
  • Added specific error messages when ink has incorrect number of bands #5504 [@radarhere]
  • Allow converting an image to a numpy array to raise errors #5379 [@radarhere]
  • Use METH_NOARGS when no arguments are required #5488 [@radarhere]
  • Fixed typo #5505 [@radarhere]
  • Added CFAPattern, ExifVersion and FlashpixVersion UNDEFINED tags #5495 [@radarhere]
  • Removed DPI rounding from BMP, JPEG and PNG loading #5476 [@radarhere]
  • Removed WMF DPI rounding #5470 [@radarhere]
  • Remove spikes when drawing thin pieslices #5460 [@xtsm]
  • Updated default value for SAMPLESPERPIXEL TIFF tag #5452 [@radarhere]
  • HTTP link is not valid (wrong redirect) #5481 [@homm]
  • Removed TIFF DPI rounding #5446 [@radarhere]
  • Include code in WebP error #5471 [@radarhere]
  • Replaced uint16 and uint32 with uint16t and uint32t to resolve TIFF deprecations #5458 [@radarhere]
  • Do not alter pixels outside mask when drawing text on an image with transparency #5434 [@radarhere]
  • Reset handle when seeking backwards in TIFF #5443 [@radarhere]
  • Fix build with libraqm < 0.7.0 #5462 [@adrian-the-git]
  • Replace sys.stdout with sys.stdout.buffer when saving #5437 [@radarhere]
  • Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip #5426 [@radarhere]
  • Fixed bug when checking FreeType2 version if it is not installed #5445 [@radarhere]
  • Do not round dimensions when saving PDF #5459 [@radarhere]
  • Added ImageOps contain() #5417 [@radarhere]
  • Clarified error message #5457 [@radarhere]
  • Changed WebP default "method" value to 4 #5450 [@radarhere]
  • Switched to saving 1-bit PDFs with DCTDecode #5430 [@radarhere]
  • Use bpp from ICO header #5429 [@radarhere]
  • Corrected JPEG APP14 transform value #5408 [@radarhere]
  • Changed TIFF tag 33723 length to 1 #5425 [@radarhere]
  • Changed ImageMorph incorrect mode errors to ValueError #5414 [@radarhere]
  • Add EXIF tags specified in EXIF 2.32 #5419 [@gladiusglad]
  • Treat previous contents of first GIF frame as transparent #5391 [@radarhere]
  • Changed quantize and quantize2 to static #5374 [@radarhere]
  • For special image modes, revert default resize resampling to NEAREST #5411 [@radarhere]
  • Changed mode for TGA 16-bit palette to BGR;15 #5400 [@radarhere]
  • TGA color map entry size is only 1 byte #5396 [@radarhere]
  • JPEG2000: Support decoding subsampled RGB and YCbCr images #4996 [@nulano]
  • Stop decoding BC1 punchthrough alpha in BC2&3 #4144 [@jansol]
  • Added TransferFunction and ReferenceBlackWhite to core TIFF tags #5384 [@radarhere]
  • Use zero if GIF background color index is missing #5390 [@radarhere]
  • Fixed ensuring that GIF previous frame was loaded #5386 [@radarhere]
  • Valgrind fixes #5397 [@wiredfool]
  • Use python3 in shebang line #5395 [@radarhere]
  • Round down the radius in rounded_rectangle #5382 [@radarhere]
  • Fixed reading uncompressed RGB data from DDS #5383 [@radarhere]
  • Changed register_open calls to be consistent #5380 [@radarhere]

Dependencies

  • Updated libimagequant to 2.15.1 #5492 [@radarhere]
  • Updated libimagequant to 2.15.0 #5479 [@radarhere]
  • Updated harfbuzz to 2.8.1 #5464 [@radarhere]
  • Updated libjpeg-turbo to 2.1.0 #5433 [@radarhere]
  • Updated libtiff to 4.3.0 #5421 [@radarhere]

Documentation

  • Added release notes #5566 [@radarhere]
  • Add Twitter to PyPI project URLs #5563 [@hugovk]
  • Modified docstring for GaussianBlur #5539 [@kdpenner]
  • Copies of an image do not retain the format #5532 [@radarhere]
  • Fix differing background colors in right sidebar in dark mode docs #5515 [@PH-KDX]
  • Updated macOS tested Pillow versions #5521 [@radarhere]
  • Build docs with sphinx_copybutton and sphinxext.opengraph #5498 [@hugovk]
  • Updated badges for wheels #5483 [@radarhere]
  • Use python3 #5477 [@radarhere]
  • Corrected code references in docstring #5468 [@radarhere]
  • Updated tested libtiff versions #5466 [@radarhere]
  • Updated macOS tested Pillow versions #5427 [@radarhere]
  • Added info about mode when saving ICO for Windows #5423 [@radarhere]
  • Add Raspberry Pi OS to platform support #5424 [@thijstriemstra]
  • Changed wording to avoid confusion with IMAGINGTYPESPECIAL #5410 [@radarhere]
  • Fix PDF file format documentation #5399 [@cholojuanito]

Testing

  • Corrected comments #5560 [@radarhere]
  • Reverse test order for two CI jobs #5542 [@radarhere]
  • Fixed errors when running tests in random order #5533 [@radarhere]
  • Fix lcms2_static target for msbuild #5522 [@kmilos]
  • Removed setuptools version requirement on GHA macOS and Windows #5496 [@radarhere]
  • Removed GitHub Actions Ubuntu setuptools version requirement #5482 [@radarhere]
  • Corrected errors in restoring sys.stdout in tests #5474 [@radarhere]
  • Revert "Fixed Python 3.10 at alpha.7": use 3.10-dev #5456 [@hugovk]
  • GHA: Update test-windows for 64-bit PyPy 7.3.4 release #5453 [@nulano]
  • Fixed Python 3.10 at alpha.7 #5447 [@radarhere]
  • Added Fedora 34 #5451 [@radarhere]
  • Updated nasm to 2.15.05 in AppVeyor #5422 [@radarhere]
  • Corrected test #5420 [@radarhere]
  • Add test for CVE-2021-25292 ReDoS #5393 [@hugovk]
  • Removed Fedora 32 docker job #5378 [@radarhere]

- Python
Published by github-actions[bot] over 4 years ago

pillow - 8.2.0

https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html

Changes

  • Security fixes for 8.2.0 #5377 [@hugovk]
  • Move getxmp() to JpegImageFile #5376 [@radarhere]
  • Added getxmp() method #5144 [@UrielMaD]
  • Compile LibTIFF with CMake on Windows #5359 [@nulano]
  • Add ImageShow support for GraphicsMagick #5349 [@latosha-maltba]
  • Tiff crash fixes in TiffDecode.c #5372 [@wiredfool]
  • Remove redundant check (addition to #5364) #5366 [@kkopachev]
  • Do not load transparent pixels from subsequent GIF frames #5333 [@radarhere]
  • Use LZW encoding when saving GIF images #5291 [@raygard]
  • Set all transparent colors to be equal in quantize() #5282 [@radarhere]
  • Allow PixelAccess to use Python int when parsing x and y #5206 [@radarhere]
  • Removed Image._MODEINFO #5316 [@radarhere]
  • Add preserve_tone option to autocontrast #5350 [@elejke]
  • Only import numpy when necessary #5323 [@radarhere]
  • Fixed lineargradient and radialgradient I and F modes #5274 [@radarhere]
  • Add support for reading TIFFs with PlanarConfiguration=2 #5364 [@wiredfool]
  • More OSS-Fuzz support #5328 [@wiredfool]
  • Do not premultiply alpha when resizing with Image.NEAREST resampling #5304 [@nulano]
  • Use quantization method attributes #5353 [@radarhere]
  • Dynamically link FriBiDi instead of Raqm #5062 [@nulano]
  • Removed builddistancetables return value #5363 [@radarhere]
  • Allow fewer PNG palette entries than the bit depth maximum when saving #5330 [@radarhere]
  • Use duration from info dictionary when saving WebP #5338 [@radarhere]
  • Improved efficiency when creating GIF disposal images #5326 [@radarhere]
  • Stop flattening EXIF IFD into getexif() #4947 [@radarhere]
  • Replaced tiffdeflate with tiffadobe_deflate compression when saving TIFF images #5343 [@radarhere]
  • Save ICC profile from TIFF encoderinfo #5321 [@radarhere]
  • Moved RGB fix inside ImageQt class #5268 [@radarhere]
  • Fix -Wformat error in TiffDecode #5305 [@lukegb]
  • Allow alpha_composite destination to be negative #5313 [@radarhere]
  • Ensure file is closed if it is opened by ImageQt.ImageQt #5260 [@radarhere]
  • Added ImageDraw rounded_rectangle method #5208 [@radarhere]
  • Added IPythonViewer #5289 [@radarhere]
  • Only draw each rectangle outline pixel once #5183 [@radarhere]
  • Use mmap instead of built-in Win32 mapper #5224 [@radarhere]
  • Handle PCX images with an odd stride #5214 [@radarhere]
  • Only read different sizes for "Large Thumbnail" MPO frames #5168 [@radarhere]

Dependencies

  • Updated harfbuzz to 2.8.0 #5334 [@radarhere]

Deprecations

  • Deprecated categories #5351 [@radarhere]

Documentation

  • Docs: Fix link in release notes #5371 [@hugovk]
  • Corrected grammar #5332 [@radarhere]
  • Document Raqm/FriBiDi linking changes #5365 [@nulano]
  • Deprecated categories #5351 [@radarhere]
  • Document quantize method defaults and mode support #5352 [@radarhere]
  • Document prerequisites and Python development libraries for Alpine #5361 [@radarhere]
  • Listed Debian packages #5360 [@radarhere]
  • Contributing docs: Include release notes as needed or appropriate #5357 [@hugovk]
  • Updated macOS tested Pillow versions #5354 [@radarhere]
  • Added release notes for #4947 #5344 [@radarhere]
  • Updated list of TIFF compression methods #5336 [@radarhere]
  • Document #5321 #5327 [@radarhere]
  • Added link to class and function in release notes #5318 [@radarhere]
  • Document license for several fonts #5215 [@radarhere]

Testing

  • Fix pytest valgrind warnings #5373 [@wiredfool]
  • Updated Ghostscript to 9.54.0 #5368 [@radarhere]
  • Increased use of assertimageequal_tofile #5345 [@radarhere]
  • Added test for saving PNG with bits keyword #5331 [@radarhere]
  • Updated harfbuzz to 2.8.0 #5334 [@radarhere]
  • Add pytest-timeout to CI and requirements.txt #5329 [@wiredfool]
  • Fixed unclosed file warning #5325 [@radarhere]
  • Updated shell for mkdir commands #5219 [@radarhere]
  • Document and add tests for SBIX color font support #5155 [@nulano]

- Python
Published by github-actions[bot] almost 5 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/8.1.2.html

- Python
Published by radarhere almost 5 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html

- Python
Published by radarhere almost 5 years ago

pillow - 8.1.0

https://pillow.readthedocs.io/en/stable/releasenotes/8.1.0.html

Changes

  • Fix TIFF OOB Write error #5175 [@radarhere]
  • Fix for Buffer Read Overrun in PCX Decoding #5174 [@radarhere]
  • Fix for SGI Decode buffer overrun #5173 [@radarhere]
  • Fix OOB Read when saving GIF of xsize=1 #5149 [@wiredfool]
  • Add support for PySide6 #5161 [@hugovk]
  • Moved QApplication into one test #5167 [@radarhere]
  • Use disposal settings from previous frame in APNG #5126 [@radarhere]
  • Revert "skip wheels on 3.10-dev due to wheel#354" #5163 [@radarhere]
  • Better _binary module use #5156 [@radarhere]
  • Added exception explaining that reprpng_ saves to PNG #5139 [@radarhere]
  • Use previous disposal method in GIF load_end #5125 [@radarhere]
  • Do not catch a ValueError only to raise another #5090 [@radarhere]
  • Allow putpalette to accept 1024 integers to include alpha values #5089 [@radarhere]
  • Fix OOB Read when writing TIFF with custom Metadata #5148 [@wiredfool]
  • Removed unused variable #5140 [@radarhere]
  • Fix dereferencing of potential null pointers #5111 [@cgohlke]
  • Fixed warnings assigning to "unsigned char *" from "char *" #5127 [@radarhere]
  • Add append_images support for ICO #4568 [@ziplantil]
  • Fixed comparison warnings #5122 [@radarhere]
  • Block TIFFTAG_SUBIFD #5120 [@radarhere]
  • Fix dereferencing potential null pointer #5108 [@cgohlke]
  • Replaced PyErrNoMemory with ImagingErrorMemoryError #5113 [@radarhere]
  • Remove duplicate code #5109 [@cgohlke]
  • Moved warning to end of execution #4965 [@radarhere]
  • Removed unused fromstring and tostring C methods #5026 [@radarhere]
  • init() if one of the formats is unrecognised #5037 [@radarhere]

Dependencies

  • Updated libtiff to 4.2.0 #5153 [@radarhere]
  • Updated openjpeg to 2.4.0 #5151 [@radarhere]
  • Updated harfbuzz to 2.7.4 #5138 [@radarhere]
  • Updated harfbuzz to 2.7.3 #5128 [@radarhere]
  • Updated libraqm to 0.7.1 #5070 [@radarhere]
  • Updated libimagequant to 2.13.1 #5065 [@radarhere]
  • Update FriBiDi to 1.0.10 #5064 [@nulano]
  • Updated libraqm to 0.7.1 #5063 [@radarhere]
  • Updated libjpeg-turbo to 2.0.6 #5044 [@radarhere]

Deprecations

  • Makefile updates #5159 [@wiredfool]
  • Deprecate FreeType 2.7 #5098 [@hugovk]
  • Document when deprecations will be removed #5085 [@hugovk]

Documentation

  • Document CVE fixes #5176 [@radarhere]
  • Add #5159 to the release notes #5171 [@radarhere]
  • Added release notes for #5149 #5172 [@radarhere]
  • Document #5161 in release notes #5170 [@radarhere]
  • Updated copyright year #5166 [@radarhere]
  • Added #5148 to the release notes #5154 [@radarhere]
  • Document limited number of characters in FontFile #5137 [@radarhere]
  • OpenJPEG has been updated in pillow-wheels #5152 [@radarhere]
  • Document addition of PyPy3.7 wheels #5133 [@radarhere]
  • Added release notes for #4568 #5129 [@radarhere]
  • Updated macOS tested Pillow versions #5131 [@radarhere]
  • Added versioning documentation #5117 [@radarhere]
  • Don't add light mode bg to 3rd and 4th level menu items #5056 [@hugovk]
  • Fix use of a versus an in ImageCms.rst #5115 [@HollowMan6]
  • Update some doc code blocks to the 'pycon' lexer #5112 [@jdufresne]
  • Docs: Add 'Release notes' and 'Changelog' links to PyPI #5074 [@hugovk]
  • Document when deprecations will be removed #5085 [@hugovk]
  • Add categories to Release Drafter #5081 [@hugovk]
  • Update CHANGES.rst #5078 [@aclark4life]
  • Corrected documentation syntax #5068 [@radarhere]
  • Updated macOS tested Pillow versions #5067 [@radarhere]
  • Updated instructions now that draft releases may exist #5066 [@radarhere]
  • Add Release Drafter to draft releases #5058 [@hugovk]
  • Docs: add logo with text to menu #5055 [@hugovk]
  • Fixed link formatting #5040 [@radarhere]
  • PNG supports append_images #5031 [@radarhere]
  • Link directly to pilfont script #5030 [@radarhere]
  • Document FreeMono license #5002 [@radarhere]
  • Refer to "HPND License" instead of "PIL Software License" #5025 [@radarhere]
  • Added Fedora 33 to CI targets #5024 [@radarhere]
  • Update Travis CI links for .com #5022 [@hugovk]
  • Invoke pip using Python #5019 [@radarhere]
  • Updated CI targets #5018 [@radarhere]
  • Describe effect of WebP save_all #5016 [@radarhere]
  • Updated CI targets #5013 [@radarhere]
  • Clarified that "text" must be a string #5007 [@radarhere]
  • Releasing: Add a 'git push' to point release, adjust MD formatting #5006 [@hugovk]
  • Updated macOS tested Pillow versions #5004 [@radarhere]

Testing

  • Corrected argument #5162 [@radarhere]
  • Releasing: Replace viewdoc with markdown2 and twine check #4983 [@hugovk]
  • Update isort URL: timothycrosley/isort → PyCQA/isort #5110 [@jdufresne]
  • Add tests for ImagePath.Path #5102 [@hugovk]
  • Remove unused Travis CI config #5107 [@hugovk]
  • Added packaging #5106 [@hugovk]
  • Move non-x86 tests to GHA #5088 [@nulano]
  • GHA: Add PyPy3.7 #5099 [@nulano]
  • Mark new test failures on non-x86 as xfail #5091 [@nulano]
  • Disable Travis CI from automerge requirements #5087 [@hugovk]
  • CI: Remove soon-EOL Amazon Linux 1 and CentOS 6 #5060 [@hugovk]
  • GHA: Install Raqm on macOS #5061 [@nulano]
  • GHA: Make windows cache depend on VS version #5057 [@nulano]
  • Add line breaks in test-windows #5052 [@nulano]
  • Remove excess Travis CI jobs #5029 [@hugovk]
  • Updated extra test images list #5027 [@radarhere]
  • GHA: Add 3.10-dev #4980 [@nulano]
  • Updated Python for diffcover and doccheck to 3.9 #5023 [@radarhere]
  • Add Fedora 33 #5021 [@hugovk]
  • Invoke pip using Python #5019 [@radarhere]
  • AppVeyor: Test on Python 3.9 final #5014 [@hugovk]
  • Travis CI: Test on Python 3.9 final #5010 [@hugovk]
  • CI: Replace test images from pillow-depends #5001 [@nulano]

- Python
Published by github-actions[bot] about 5 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/8.0.1.html

- Python
Published by hugovk over 5 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/8.0.0.html

- Python
Published by hugovk over 5 years ago

pillow - 7.2.0

https://pillow.readthedocs.io/en/stable/releasenotes/7.2.0.html

- Python
Published by radarhere over 5 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/7.1.2.html

- Python
Published by hugovk almost 6 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/7.1.1.html

- Python
Published by hugovk almost 6 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/7.1.0.html

- Python
Published by hugovk almost 6 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/7.0.0.html

- Python
Published by radarhere about 6 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html

- Python
Published by radarhere about 6 years ago

pillow -

https://pillow.readthedocs.io/en/stable/releasenotes/6.2.1.html

- Python
Published by hugovk over 6 years ago

pillow - 6.2.0

https://pillow.readthedocs.io/en/stable/releasenotes/6.2.0.html

- Python
Published by radarhere over 6 years ago

pillow - 6.1.0

https://pillow.readthedocs.io/en/stable/releasenotes/6.1.0.html

- Python
Published by hugovk over 6 years ago

pillow - 6.0.0

- Python
Published by radarhere almost 7 years ago

pillow - 5.4.1

- Python
Published by hugovk about 7 years ago

pillow - 5.4.0

- Python
Published by hugovk about 7 years ago

pillow - 5.3.0

- Python
Published by radarhere over 7 years ago

pillow - 5.2.0

- Python
Published by radarhere over 7 years ago

pillow - 5.1.0

- Python
Published by wiredfool almost 8 years ago

pillow - 5.0.0

- Python
Published by wiredfool about 8 years ago

pillow -

- Python
Published by wiredfool over 8 years ago

pillow - 4.2.1

- Python
Published by wiredfool over 8 years ago

pillow -

- Python
Published by wiredfool over 8 years ago

pillow - 4.1.1

- Python
Published by wiredfool almost 9 years ago

pillow -

- Python
Published by wiredfool almost 9 years ago

pillow - 4.0.0

4.0.0 tag had a typo in the version in setup.py, hence 4.0.0a

- Python
Published by wiredfool about 9 years ago

pillow - 3.4.2

- Python
Published by wiredfool over 9 years ago

pillow -

- Python
Published by wiredfool over 9 years ago

pillow -

- Python
Published by wiredfool over 9 years ago

pillow -

- Python
Published by wiredfool over 9 years ago

pillow -

- Python
Published by wiredfool over 9 years ago

pillow -

- Python
Published by wiredfool over 9 years ago

pillow - 3.3.0

- Python
Published by wiredfool over 9 years ago

pillow - 3.2.0

- Python
Published by hugovk over 9 years ago

pillow - 3.1.0

- Python
Published by wiredfool about 10 years ago

pillow - 3.0.0

- Python
Published by aclark4life over 10 years ago