10.2.0
github-actions
released this
02 Jan 09:38
·
1889 commits
to refs/heads/main
since this release
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
usingfunctools.lru_cache
#7657 [@hugovk] - Restricted environment keys for ImageMath.eval() #7655 [@radarhere]
- Optimise
ImageMode.getmode
usingfunctools.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
topyproject.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
Documentation
- Fix image URL in "Reading from URL" example #7674 [@nulano]
- Release notes: add
ImageColor
andImageMode
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
withpytest.fail()
#7546 [@hugovk] - Test Fedora 39 #7542 [@hugovk]
- Black and Ruff infer
target-version
fromrequires-python
inpyproject.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]