pillow v9.1.0 Release Notes

Release Date: 2022-04-01 // about 2 years ago
    • โž• Add support for multiple component transformation to JPEG2000 #5500 [scaramallion, radarhere, hugovk]

    • ๐Ÿ›  Fix loading FriBiDi on Alpine #6165 [nulano]

    • โž• Added setting for converting GIF P frames to RGB #6150 [radarhere]

    • ๐Ÿ‘ Allow 1 mode images to be inverted #6034 [radarhere]

    • Raise ValueError when trying to save empty JPEG #6159 [radarhere]

    • ๐Ÿ”ง Always save TIFF with contiguous planar configuration #5973 [radarhere]

    • Connected discontiguous polygon corners #5980 [radarhere]

    • Ensure Tkinter hook is activated for getimage() #6032 [radarhere]

    • ๐ŸŽ Use screencapture arguments to crop on macOS #6152 [radarhere]

    • Do not mark L mode JPEG as 1 bit in PDF #6151 [radarhere]

    • โž• Added support for reading I;16R TIFF images #6132 [radarhere]

    • ๐Ÿšš If an error occurs after creating a file, remove the file #6134 [radarhere]

    • ๐Ÿ›  Fixed calling DisplayViewer or XVViewer without a title #6136 [radarhere]

    • Retain RGBA transparency when saving multiple GIF frames #6128 [radarhere]

    • ๐Ÿ’พ Save additional ICO frames with other bit depths if supplied #6122 [radarhere]

    • ๐Ÿ– Handle EXIF data truncated to just the header #6124 [radarhere]

    • โž• Added support for reading BMP images with RLE8 compression #6102 [radarhere]

    • ๐Ÿ‘Œ Support Python distributions where _tkinter is compiled in #6006 [lukegb]

    • โž• Added support for PPM arbitrary maxval #6119 [radarhere]

    • โž• Added BigTIFF reading #6097 [radarhere]

    • When converting, clip I;16 to be unsigned, not signed #6112 [radarhere]

    • ๐Ÿ›  Fixed loading L mode GIF with transparency #6086 [radarhere]

    • ๐Ÿ‘Œ Improved handling of PPM header #5121 [Piolie, radarhere]

    • ๐Ÿ‘€ Reset size when seeking away from "Large Thumbnail" MPO frame #6101 [radarhere]

    • Replace requirements.txt with extras #6072 [hugovk, radarhere]

    • โž• Added PyEncoder and support BLP saving #6069 [radarhere]

    • ๐Ÿ– Handle TGA images with packets that cross scan lines #6087 [radarhere]

    • โž• Added FITS reading #6056 [radarhere, hugovk]

    • โž• Added rawmode argument to Image.getpalette() #6061 [radarhere]

    • ๐Ÿ›  Fixed BUFR, GRIB and HDF5 stub saving #6071 [radarhere]

    • ๐Ÿšš Do not automatically remove temporary ImageShow files on Unix #6045 [radarhere]

    • Correctly read JPEG compressed BLP images #4685 [Meithal, radarhere]

    • Merged _MODE_CONV typ into ImageMode as typestr #6057 [radarhere]

    • Consider palette size when converting and in getpalette() #6060 [radarhere]

    • โž• Added enums #5954 [radarhere]

    • Ensure image is opaque after converting P to PA with RGB palette #6052 [radarhere]

    • Attach RGBA palettes from putpalette() when suitable #6054 [radarhere]

    • Added get_photoshop_blocks() to parse Photoshop TIFF tag #6030 [radarhere]

    • โฌ‡๏ธ Drop excess values in BITSPERSAMPLE #6041 [mikhail-iurkov]

    • โž• Added unpacker from RGBA;15 to RGB #6031 [radarhere]

    • ๐Ÿ Enable arm64 for MSVC on Windows #5811 [gaborkertesz-linaro, gaborkertesz]

    • Keep IPython/Jupyter text/plain output stable #5891 [shamrin, radarhere]

    • Raise an error when performing a negative crop #5972 [radarhere, hugovk]

    • ๐Ÿ—„ Deprecated show_file "file" argument in favour of "path" #5959 [radarhere]

    • ๐Ÿ›  Fixed SPIDER images for use with Bio-formats library #5956 [radarhere]

    • Ensure duplicated file pointer is closed #5946 [radarhere]

    • โž• Added specific error if path coordinate type is incorrect #5942 [radarhere]

    • โœ… Return an empty bytestring from tobytes() for an empty image #5938 [radarhere]

    • Remove readonly from Image.eq #5930 [hugovk]