9.3.0
github-actions
released this
29 Oct 14:17
·
4860 commits
to refs/heads/main
since this release
https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html
Changes
- Initialize libtiff buffer when saving #6699 [@radarhere]
- Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [@wiredfool]
- Inline fname2char to fix memory leak #6329 [@nulano]
- Fix memory leaks related to text features #6330 [@nulano]
- Use double quotes for version check on old CPython on Windows #6695 [@hugovk]
- GHA: replace deprecated set-output command with GITHUB_OUTPUT file #6697 [@nulano]
- Remove backup implementation of Round for Windows platforms #6693 [@cgohlke]
- Upload fribidi.dll to GitHub Actions #6532 [@nulano]
- Fixed set_variation_by_name offset #6445 [@radarhere]
- Windows build improvements #6562 [@nulano]
- Fix malloc in _imagingft.c:font_setvaraxes #6690 [@cgohlke]
- Only use ASCII characters in C source file #6691 [@cgohlke]
- Release Python GIL when converting images using matrix operations #6418 [@hmaarrfk]
- Added ExifTags enums #6630 [@radarhere]
- Do not modify previous frame when calculating delta in PNG #6683 [@radarhere]
- Added support for reading BMP images with RLE4 compression #6674 [@npjg]
- Decode JPEG compressed BLP1 data in original mode #6678 [@radarhere]
- pylint warnings #6659 [@marksmayo]
- Added GPS TIFF tag info #6661 [@radarhere]
- Added conversion between RGB/RGBA/RGBX and LAB #6647 [@radarhere]
- Do not attempt normalization if mode is already normal #6644 [@radarhere]
- Fixed seeking to an L frame in a GIF #6576 [@radarhere]
- Consider all frames when selecting mode for PNG save_all #6610 [@radarhere]
- Don't reassign crc on ChunkStream close #6627 [@radarhere]
- Raise a warning if NumPy failed to raise an error during conversion #6594 [@radarhere]
- Only read a maximum of 100 bytes at a time in IMT header #6623 [@radarhere]
- Show all frames in ImageShow #6611 [@radarhere]
- Allow FLI palette chunk to not be first #6626 [@radarhere]
- If first GIF frame has transparency for RGB_ALWAYS loading strategy, use RGBA mode #6592 [@radarhere]
- Round box position to integer when pasting embedded color #6517 [@radarhere]
- Removed EXIF prefix when saving WebP #6582 [@radarhere]
- Pad IM palette to 768 bytes when saving #6579 [@radarhere]
- Added DDS BC6H reading #6449 [@ShadelessFox]
- Added support for opening WhiteIsZero 16-bit integer TIFF images #6642 [@JayWiz]
- Raise an error when allocating translucent color to RGB palette #6654 [@jsbueno]
- Moved mode check outside of loops #6650 [@radarhere]
- Added reading of TIFF child images #6569 [@radarhere]
- Improved ImageOps palette handling #6596 [@PososikTeam]
- Defer parsing of palette into colors #6567 [@radarhere]
- Apply transparency to P images in ImageTk.PhotoImage #6559 [@radarhere]
- Use rounding in ImageOps contain() and pad() #6522 [@bibinhashley]
- Fixed GIF remapping to palette with duplicate entries #6548 [@radarhere]
- Allow remap_palette() to return an image with less than 256 palette entries #6543 [@radarhere]
- Corrected BMP and TGA palette size when saving #6500 [@radarhere]
- Move some static config to setup.cfg #6570 [@hugovk]
- Do not call load() before draft() in Image.thumbnail #6539 [@radarhere]
- Use constants in TiffImagePlugin #6552 [@radarhere]
- Copy palette when converting from P to PA #6497 [@radarhere]
- Allow RGB and RGBA values for PA image putpixel #6504 [@radarhere]
- Removed support for tkinter in PyPy before Python 3.6 #6551 [@nulano]
- Do not use CCITTFaxDecode filter if libtiff is not available #6518 [@radarhere]
- Fallback to not using mmap if buffer is not large enough #6510 [@radarhere]
- Fixed writing bytes as ASCII tag #6493 [@radarhere]
- Open 1 bit EPS in mode 1 #6499 [@radarhere]
- Removed support for tkinter before Python 1.5.2 #6549 [@radarhere]
- Fixed typo #6542 [@radarhere]
- NumPy now supports Python 3.11 #6538 [@radarhere]
- Build lcms2 VC2022 #6529 [@radarhere]
- Added direct conversion from PA to P #6509 [@radarhere]
- Allow default ImageDraw font to be set #6484 [@radarhere]
- Save 1 mode PDF using CCITTFaxDecode filter #6470 [@radarhere]
- Added support for RGBA PSD images #6481 [@radarhere]
- Parse orientation from XMP tag contents #6463 [@bigcat88]
- Added support for reading ATI1/ATI2 (BC4/BC5) DDS images #6457 [@REDxEYE]
- Do not clear GIF tile when checking number of frames #6455 [@radarhere]
- Support saving multiple MPO frames #6444 [@radarhere]
- Moved tile encoding into separate function #6456 [@radarhere]
- Do not double quote Pillow version for setuptools >= 60 #6450 [@radarhere]
- 3.11: Add Trove classifier and to tox.ini and update setup.py version check #6441 [@hugovk]
- Added ABGR BMP mask mode #6436 [@radarhere]
- Fixed PSDraw rectangle #6429 [@radarhere]
- Raise ValueError if PNG sRGB chunk is truncated #6431 [@radarhere]
- Handle missing Python executable in ImageShow on macOS #6416 [@bryant1410]
Dependencies
- Updated harfbuzz to 5.3.1 #6669 [@radarhere]
- Updated zlib to 1.2.13 #6664 [@radarhere]
- Updated harfbuzz to 5.3.0 #6651 [@radarhere]
- Update github-actions #6616 [@renovate]
- Updated Ghostscript to 10.0.0 #6609 [@radarhere]
- Fix Renovate config #6599 [@hugovk]
- Configure Renovate #6564 [@renovate]
- Updated harfbuzz to 5.2.0 #6591 [@radarhere]
- [pre-commit.ci] pre-commit autoupdate #6560 [@pre-commit-ci]
- Updated libimagequant to 4.0.4 #6535 [@radarhere]
- Updated libimagequant to 4.0.2 #6523 [@radarhere]
- Updated libwebp to 1.2.4 #6483 [@radarhere]
- [pre-commit.ci] pre-commit autoupdate #6472 [@pre-commit-ci]
- Updated harfbuzz to 5.1.0 #6466 [@radarhere]
- Updated libimagequant to 4.0.1 #6451 [@radarhere]
- Updated libwebp to 1.2.3 #6442 [@radarhere]
Documentation
- Update release notes for 9.3.0 #6696 [@hugovk]
- Document ImageDraw attributes #6533 [@nulano]
- Added release notes for #6630 #6685 [@radarhere]
- Document when BLP1 JPEG data started being loaded incorrectly #6682 [@radarhere]
- Added release notes for #6678 #6680 [@radarhere]
- Added release notes for #6449 and #6611 #6668 [@radarhere]
- Image channel is used when converting PA with an RGBA palette #6662 [@radarhere]
- High bit depth multichannel images are not yet supported #6638 [@radarhere]
- Improved layout_engine documentation #6633 [@radarhere]
- Improved documentation of ImageDraw return values #6556 [@radarhere]
- Added headings before listing options #6632 [@radarhere]
- Improve documentation for ImageDraw.rectangle and rounded_rectangle #6625 [@d0sboots]
- Ensure dependencies are installed when building docs #6612 [@radarhere]
- Fixed broken URLs #6617 [@radarhere]
- Updated redirected URLs #6613 [@radarhere]
- Add OpenSSF Best Practices badge #6597 [@hugovk]
- Corrected dictionary name #6593 [@radarhere]
- Simplified enum references #6557 [@radarhere]
- Documented TGA save keyword arguments #6546 [@radarhere]
- Updated tested Windows environment list #6550 [@radarhere]
- DOC: fix image-file-formats.rst #6513 [@cgohlke]
- Ubuntu dependencies also apply to Jammy #6511 [@radarhere]
- Orientation data is removed by exif_transpose() #6476 [@radarhere]
- Note to Windows users that FreeType will keep the font file open #6485 [@radarhere]
- Switch to GitHub Actions artifacts for Windows wheels #6458 [@radarhere]
- Added release notes for #6457 #6465 [@radarhere]
- Docs: Replace version tables with RST csv-table and add 3.11 #6433 [@hugovk]
- Fix simple typo #6443 [@timgates42]
- Docs: Allow setting Python interpreter via command line #6440 [@hugovk]
- Updated links #6427 [@radarhere]
- Updated macOS tested Pillow versions #6425 [@radarhere]
- Document where to find other codecs #6415 [@radarhere]
Testing
- GitHub Actions: Test Python 3.11.0 final #6686 [@hugovk]
- Consistently write in binary format in PPM tests #6677 [@radarhere]
- Removed print statement from tests #6660 [@radarhere]
- Parametrized tests #6634 [@radarhere]
- Do not import PIL.Image #6635 [@radarhere]
- Add "concurrency" to GitHub Actions #6621 [@Yay295]
- Updated codecov action to v3 #6281 [@radarhere]
- Use fixtures instead of classes in test_imagefont #6534 [@nulano]
- Parametrize more tests #6531 [@Yay295]
- [pre-commit.ci] pre-commit autoupdate #6560 [@pre-commit-ci]
- Updated tested Windows environment list #6550 [@radarhere]
- Set top-level permissions for remaining GitHub Actions #6541 [@radarhere]
- Parametrized tests #6526 [@radarhere]
- Parametrize Tests/test_image_paste.py #6519 [@Yay295]
- Temporarily skip valgrind failure #6524 [@radarhere]
- Do not install test-image-results on GitHub Actions #6501 [@radarhere]
- Updated libjpeg-turbo to 2.1.4 #6498 [@radarhere]
- Increased test tolerance to allow for libtiff with libjpeg-turbo #6477 [@radarhere]
- Updated Valgrind job to Jammy #6473 [@radarhere]
- [pre-commit.ci] pre-commit autoupdate #6472 [@pre-commit-ci]
- Install libxcb-shape0 #6438 [@radarhere]
- Set permissions for GitHub actions #6413 [@neilnaveen]