There is a newer version of the record available.

Published January 2, 2024 | Version 10.2.0
Software Open

python-pillow/Pillow: 10.2.0

  • 1. Nord Software
  • 2. ACLARK.NET, LLC
  • 3. Uploadcare
  • 4. Pioneer Valley Books
  • 5. London Interdisciplinary School
  • 6. @voxmedia
  • 7. @apple
  • 8. @sourcepole
  • 9. Asana, but not on this account
  • 10. @valohai
  • 11. Healius Pathology Pty Ltd
  • 12. Step Mobile
  • 13. You-i Lab
  • 14. Dawan

Description

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]

Files

python-pillow/Pillow-10.2.0.zip

Files (47.1 MB)

Name Size Download all
md5:f35180f4235fad6169ebcf65ae7b68d2
47.1 MB Preview Download

Additional details

Related works