Software Open Access

python-pillow/Pillow: 9.3.0

Andrew Murray; Hugo van Kemenade; wiredfool; Jeffrey A Clark (Alex); Alexander Karpinsky; Ondrej Baranovič; Christoph Gohlke; Jon Dufresne; DWesl; David Schmidt; Konstantin Kopachev; Alastair Houghton; Sandro Mani; Steve Landey; vashek; Josh Ware; Piolie; Jason Douglas; Stanislau T.; David Caro; Uriel Martinez; Steve Kossouho; Riley Lahd; Antony Lee; Eric W. Brown; Oliver Tonnhofer; Mickael Bonfill; Max Base

https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html

Changes
  • Initialize libtiff buffer when saving #6699 [@hugovk]
  • Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [@hugovk]
  • 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]
Files (51.2 MB)
Name Size
python-pillow/Pillow-9.3.0.zip
md5:1779a7832d242824225cd98c3d2f4a1b
51.2 MB Download
54,818
5,811
views
downloads
All versions This version
Views 54,8181,263
Downloads 5,81138
Data volume 206.6 GB1.9 GB
Unique views 47,8021,157
Unique downloads 3,41737

Share

Cite as