Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update pillow to 10.3.0 #7167

Open
wants to merge 1 commit into
base: rewrite
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Apr 1, 2024

This PR updates pillow from 10.1.0 to 10.3.0.

Changelog

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant