https://pillow.readthedocs.io/en/stable/releasenotes/8.3.0.html
Changes
- Use snprintf instead of sprintf #5567 [@radarhere]
- Limit TIFF strip size when saving with LibTIFF #5514 [@kmilos]
- Allow ICNS save on all operating systems #4526 [@newpanjing]
- De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables #4989 [@gofr]
- Do not use background or transparency index for new color #5564 [@radarhere]
- Simplified code #5315 [@radarhere]
- Replaced xml.etree.ElementTree #5565 [@radarhere]
- Corrected border position for P mode in ImageOps.expand() #5562 [@radarhere]
- Moved CVE image to pillow-depends #5561 [@radarhere]
- Added tag data for IFD groups #5554 [@radarhere]
- Improved ImagePalette #5552 [@radarhere]
- Add DDS saving #5402 [@radarhere]
- Improved getxmp() #5455 [@radarhere]
- Convert to float for comparison with float in IFDRational eq #5412 [@radarhere]
- Allow getexif() to access TIFF tag_v2 data #5416 [@radarhere]
- Read FITS image mode and size #5405 [@radarhere]
- Merge parallel horizontal edges in ImagingDrawPolygon #5347 [@radarhere]
- Use transparency behind first GIF frame and when disposing to background #5557 [@radarhere]
- Fixed undefined variable in logging #5556 [@radarhere]
- Avoid unstable nature of qsort in Quant.c #5367 [@radarhere]
- Copy palette to new images in ImageOps expand #5551 [@radarhere]
- Ensure palette string matches RGB mode #5549 [@radarhere]
- Do not modify EXIF of original image instance in exif_transpose() #5547 [@radarhere]
- Fixed default numresolution for small JPEG2000 images #5540 [@radarhere]
- Fixed format warning #5535 [@radarhere]
- Updated declaration to match definition #5534 [@radarhere]
- Added DDS BC5 reading #5501 [@radarhere]
- Raise an error if ImageDraw.textbbox is used without a TrueType font #5510 [@radarhere]
- Added ICO saving in BMP format #5513 [@radarhere]
- Ensure PNG seeks to end of previous chunk at start of load_end #5493 [@radarhere]
- Do not allow TIFF to seek to a past frame #5473 [@radarhere]
- Avoid race condition when displaying images with eog #5507 [@mconst]
- Added specific error messages when ink has incorrect number of bands #5504 [@radarhere]
- Allow converting an image to a numpy array to raise errors #5379 [@radarhere]
- Use METH_NOARGS when no arguments are required #5488 [@radarhere]
- Fixed typo #5505 [@radarhere]
- Added CFAPattern, ExifVersion and FlashpixVersion UNDEFINED tags #5495 [@radarhere]
- Removed DPI rounding from BMP, JPEG and PNG loading #5476 [@radarhere]
- Removed WMF DPI rounding #5470 [@radarhere]
- Remove spikes when drawing thin pieslices #5460 [@xtsm]
- Updated default value for SAMPLESPERPIXEL TIFF tag #5452 [@radarhere]
- HTTP link is not valid (wrong redirect) #5481 [@homm]
- Removed TIFF DPI rounding #5446 [@radarhere]
- Include code in WebP error #5471 [@radarhere]
- Replaced uint16 and uint32 with uint16_t and uint32_t to resolve TIFF deprecations #5458 [@radarhere]
- Do not alter pixels outside mask when drawing text on an image with transparency #5434 [@radarhere]
- Reset handle when seeking backwards in TIFF #5443 [@radarhere]
- Fix build with libraqm < 0.7.0 #5462 [@adrian-the-git]
- Replace sys.stdout with sys.stdout.buffer when saving #5437 [@radarhere]
- Fixed UNDEFINED TIFF tag of length 0 being changed in roundtrip #5426 [@radarhere]
- Fixed bug when checking FreeType2 version if it is not installed #5445 [@radarhere]
- Do not round dimensions when saving PDF #5459 [@radarhere]
- Added ImageOps contain() #5417 [@radarhere]
- Clarified error message #5457 [@radarhere]
- Changed WebP default "method" value to 4 #5450 [@radarhere]
- Switched to saving 1-bit PDFs with DCTDecode #5430 [@radarhere]
- Use bpp from ICO header #5429 [@radarhere]
- Corrected JPEG APP14 transform value #5408 [@radarhere]
- Changed TIFF tag 33723 length to 1 #5425 [@radarhere]
- Changed ImageMorph incorrect mode errors to ValueError #5414 [@radarhere]
- Add EXIF tags specified in EXIF 2.32 #5419 [@gladiusglad]
- Treat previous contents of first GIF frame as transparent #5391 [@radarhere]
- Changed quantize and quantize2 to static #5374 [@radarhere]
- For special image modes, revert default resize resampling to NEAREST #5411 [@radarhere]
- Changed mode for TGA 16-bit palette to BGR;15 #5400 [@radarhere]
- TGA color map entry size is only 1 byte #5396 [@radarhere]
- JPEG2000: Support decoding subsampled RGB and YCbCr images #4996 [@nulano]
- Stop decoding BC1 punchthrough alpha in BC2&3 #4144 [@jansol]
- Added TransferFunction and ReferenceBlackWhite to core TIFF tags #5384 [@radarhere]
- Use zero if GIF background color index is missing #5390 [@radarhere]
- Fixed ensuring that GIF previous frame was loaded #5386 [@radarhere]
- Valgrind fixes #5397 [@wiredfool]
- Use python3 in shebang line #5395 [@radarhere]
- Round down the radius in rounded_rectangle #5382 [@radarhere]
- Fixed reading uncompressed RGB data from DDS #5383 [@radarhere]
- Changed register_open calls to be consistent #5380 [@radarhere]
Dependencies
- Updated libimagequant to 2.15.1 #5492 [@radarhere]
- Updated libimagequant to 2.15.0 #5479 [@radarhere]
- Updated harfbuzz to 2.8.1 #5464 [@radarhere]
- Updated libjpeg-turbo to 2.1.0 #5433 [@radarhere]
- Updated libtiff to 4.3.0 #5421 [@radarhere]
Documentation
- Added release notes #5566 [@radarhere]
- Add Twitter to PyPI project URLs #5563 [@hugovk]
- Modified docstring for GaussianBlur #5539 [@kdpenner]
- Copies of an image do not retain the format #5532 [@radarhere]
- Fix differing background colors in right sidebar in dark mode docs #5515 [@PH-KDX]
- Updated macOS tested Pillow versions #5521 [@radarhere]
- Build docs with sphinx_copybutton and sphinxext.opengraph #5498 [@hugovk]
- Updated badges for wheels #5483 [@radarhere]
- Use python3 #5477 [@radarhere]
- Corrected code references in docstring #5468 [@radarhere]
- Updated tested libtiff versions #5466 [@radarhere]
- Updated macOS tested Pillow versions #5427 [@radarhere]
- Added info about mode when saving ICO for Windows #5423 [@radarhere]
- Add Raspberry Pi OS to platform support #5424 [@thijstriemstra]
- Changed wording to avoid confusion with IMAGING_TYPE_SPECIAL #5410 [@radarhere]
- Fix PDF file format documentation #5399 [@cholojuanito]
Testing
- Corrected comments #5560 [@radarhere]
- Reverse test order for two CI jobs #5542 [@radarhere]
- Fixed errors when running tests in random order #5533 [@radarhere]
- Fix lcms2_static target for msbuild #5522 [@kmilos]
- Removed setuptools version requirement on GHA macOS and Windows #5496 [@radarhere]
- Removed GitHub Actions Ubuntu setuptools version requirement #5482 [@radarhere]
- Corrected errors in restoring sys.stdout in tests #5474 [@radarhere]
- Revert "Fixed Python 3.10 at alpha.7": use 3.10-dev #5456 [@hugovk]
- GHA: Update test-windows for 64-bit PyPy 7.3.4 release #5453 [@nulano]
- Fixed Python 3.10 at alpha.7 #5447 [@radarhere]
- Added Fedora 34 #5451 [@radarhere]
- Updated nasm to 2.15.05 in AppVeyor #5422 [@radarhere]
- Corrected test #5420 [@radarhere]
- Add test for CVE-2021-25292 ReDoS #5393 [@hugovk]
- Removed Fedora 32 docker job #5378 [@radarhere]