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 _safe_read 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 PILLOW_VERSION, 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]