Pillow

Latest version: v10.3.0

Safety actively analyzes 619599 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 10

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 CREATE_NO_WINDOW 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 load_read and load_seek 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 lambda_eval() and unsafe_eval() 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/test_image_*.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/test_font_*.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 test_seek_mode functions 7847 [Yay295]
- Do not use packaged MinGW pip 7844 [radarhere]
- Parametrize test_p_from_rgb_rgba() 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]

10.2.0

Not secure
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.MAX_STRING_LENGTH 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 fuzz_font.py and fuzz_pillow.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]

10.1.0

Not secure
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 MAX_IMAGE_PIXELS 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 has_transparency_data 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]

10.0.1

Not secure
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]

10.0.0

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

Changes

- Fixed deallocating mask images 7246 [radarhere]
- Added ImageFont.MAX_STRING_LENGTH 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 _repr_png_ 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 in_place argument to ImageOps.exif_transpose() 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 _repr_jpeg_() for IPython display_jpeg 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

- bench_cffi_access 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]

9.5.0

Not secure
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 PyDict_New or PyList_New 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 libtiff_support_custom_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 c_extension_debugging.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]
- LOAD_TRUNCATED_IMAGES 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 test_file_tar::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]

Page 1 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.