Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduled weekly dependency update for week 47 #299

Open
wants to merge 69 commits into
base: main
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

Update pytz from 2019.3 to 2024.2.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update python-slugify from 4.0.0 to 8.0.4.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update Pillow from 7.2.0 to 11.0.0.

Changelog

11.0.0

-------------------

- Update licence to MIT-CMU 8460
[hugovk]

- Conditionally define ImageCms type hint to avoid requiring core 8197
[radarhere]

- Support writing LONG8 offsets in AppendingTiffWriter 8417
[radarhere]

- Use ImageFile.MAXBLOCK when saving TIFF images 8461
[radarhere]

- Do not close provided file handles with libtiff when saving 8458
[radarhere]

- Support ImageFilter.BuiltinFilter for I;16* images 8438
[radarhere]

- Use ImagingCore.ptr instead of ImagingCore.id 8341
[homm, radarhere, hugovk]

- Updated EPS mode when opening images without transparency 8281
[Yay295, radarhere]

- Use transparency when combining P frames from APNGs 8443
[radarhere]

- Support all resampling filters when resizing I;16* images 8422
[radarhere]

- Free memory on early return 8413
[radarhere]

- Cast int before potentially exceeding INT_MAX 8402
[radarhere]

- Check image value before use 8400
[radarhere]

- Improved copying imagequant libraries 8420
[radarhere]

- Use Capsule for WebP saving 8386
[homm, radarhere]

- Fixed writing multiple StripOffsets to TIFF 8317
[Yay295, radarhere]

- Fix dereference before checking for NULL in ImagingTransformAffine 8398
[PavlNekrasov]

- Use transposed size after opening for TIFF images 8390
[radarhere, homm]

- Improve ImageFont error messages 8338
[yngvem, radarhere, hugovk]

- Mention MAX_TEXT_CHUNK limit in PNG error message 8391
[radarhere]

- Cast Dib handle to int 8385
[radarhere]

- Accept float stroke widths 8369
[radarhere]

- Deprecate ICNS (width, height, scale) sizes in favour of load(scale) 8352
[radarhere]

- Improved handling of RGBA palettes when saving GIF images 8366
[radarhere]

- Deprecate isImageType 8364
[radarhere]

- Support converting more modes to LAB by converting to RGBA first 8358
[radarhere]

- Deprecate support for FreeType 2.9.0 8356
[hugovk, radarhere]

- Removed unused TiffImagePlugin IFD_LEGACY_API 8355
[radarhere]

- Handle duplicate EXIF header 8350
[zakajd, radarhere]

- Return early from BoxBlur if either width or height is zero 8347
[radarhere]

- Check text is either string or bytes 8308
[radarhere]

- Added writing XMP bytes to JPEG 8286
[radarhere]

- Support JPEG2000 RGBA palettes 8256
[radarhere]

- Expand C image to match GIF frame image size 8237
[radarhere]

- Allow saving I;16 images as PPM 8231
[radarhere]

- When IFD is missing, connect get_ifd() dictionary to Exif 8230
[radarhere]

- Skip truncated ICO mask if LOAD_TRUNCATED_IMAGES is enabled 8180
[radarhere]

- Treat unknown JPEG2000 colorspace as unspecified 8343
[radarhere]

- Updated error message when saving WebP with invalid width or height 8322
[radarhere, hugovk]

- Remove warning if NumPy failed to raise an error during conversion 8326
[radarhere]

- If left and right sides meet in ImageDraw.rounded_rectangle(), do not draw rectangle to fill gap 8304
[radarhere]

- Remove WebP support without anim, mux/demux, and with buggy alpha 8213
[homm, radarhere]

- Add missing TIFF CMYK;16B reader 8298
[homm]

- Remove all WITH_* flags from _imaging.c and other flags 8211
[homm]

- Improve ImageDraw2 shape methods 8265
[radarhere]

- Lock around usages of imaging memory arenas 8238
[lysnikolaou]

- Deprecate JpegImageFile huffman_ac and huffman_dc 8274
[radarhere]

- Deprecate ImageMath lambda_eval and unsafe_eval options argument 8242
[radarhere]

- Changed ContainerIO to subclass IO 8240
[radarhere]

- Move away from APIs that use borrowed references under the free-threaded build 8216
[hugovk, lysnikolaou]

- Allow size argument to resize() to be a NumPy array 8201
[radarhere]

- Drop support for Python 3.8 8183
[hugovk, radarhere]

- Add support for Python 3.13 8181
[hugovk, radarhere]

- Fix incompatibility with NumPy 1.20 8187
[neutrinoceros, radarhere]

- Remove PSFile, PyAccess and USE_CFFI_ACCESS 8182
[hugovk, radarhere]

10.4.0

-------------------

- Raise FileNotFoundError if show_file() path does not exist 8178
[radarhere]

- Improved reading 16-bit TGA images with colour 7965
[Yay295, radarhere]

- Deprecate non-image ImageCms modes 8031
[radarhere]

- Fixed processing multiple JPEG EXIF markers 8127
[radarhere]

- Do not preserve EXIFIFD tag by default when saving TIFF images 8110
[radarhere]

- Added ImageFont.load_default_imagefont() 8086
[radarhere]

- Added Image.WARN_POSSIBLE_FORMATS 8063
[radarhere]

- Remove zero-byte end padding when parsing any XMP data 8171
[radarhere]

- Do not detect Ultra HDR images as MPO 8056
[radarhere]

- Raise SyntaxError specific to JP2 8146
[Yay295, radarhere]

- Do not use first frame duration for other frames when saving APNG images 8104
[radarhere]

- Consider I;16 pixel size when using a 1 mode mask 8112
[radarhere]

- When saving multiple PNG frames, convert to mode rather than raw mode 8087
[radarhere]

- Added byte support to FreeTypeFont 8141
[radarhere]

- Allow float center for rotate operations 8114
[radarhere]

- Do not read layers immediately when opening PSD images 8039
[radarhere]

- Restore original thread state 8065
[radarhere]

- Read IM and TIFF images as RGB, rather than RGBX 7997
[radarhere]

- Only preserve TIFF IPTC_NAA_CHUNK tag if type is BYTE or UNDEFINED 7948
[radarhere]

- Clarify ImageDraw2 error message when size is missing 8165
[radarhere]

- Support unpacking more rawmodes to RGBA palettes 7966
[radarhere]

- Removed support for Qt 5 8159
[radarhere]

- Improve ``ImageFont.freetype`` support for XDG directories on Linux 8135
[mamg22, radarhere]

- Improved consistency of XMP handling 8069
[radarhere]

- Use pkg-config to help find libwebp and raqm 8142
[radarhere]

- Accept 't' suffix for libtiff version 8126, 8129
[radarhere]

- Deprecate ImageDraw.getdraw hints parameter 8124
[radarhere, hugovk]

- Added ImageDraw circle() 8085
[void4, hugovk, radarhere]

- Add mypy target to Makefile 8077
[Yay295]

- Added more modes to Image.MODES 7984
[radarhere]

- Deprecate BGR;15, BGR;16 and BGR;24 modes 7978
[radarhere, hugovk]

- Fix ImagingAccess for I;16N on big-endian 7921
[Yay295, radarhere]

- Support reading P mode TIFF images with padding 7996
[radarhere]

- Deprecate support for libtiff < 4 7998
[radarhere, hugovk]

- Corrected ImageShow UnixViewer command 7987
[radarhere]

- Use functools.cached_property in ImageStat 7952
[nulano, hugovk, radarhere]

- Add support for reading BITMAPV2INFOHEADER and BITMAPV3INFOHEADER 7956
[Cirras, radarhere]

- Support reading CMYK JPEG2000 images 7947
[radarhere]

10.3.0

-------------------

- CVE-2024-28219: Use ``strncpy`` to avoid buffer overflow 7928
[radarhere, hugovk]

- Deprecate ``eval()``, replacing it with ``lambda_eval()`` and ``unsafe_eval()`` 7927
[radarhere, hugovk]

- Raise ``ValueError`` if seeking to greater than offset-sized integer in TIFF 7883
[radarhere]

- Add ``--report`` argument to ``__main__.py`` to omit supported formats 7818
[nulano, radarhere, hugovk]

- Added RGB to I;16, I;16L, I;16B and I;16N conversion 7918, 7920
[radarhere]

- Fix editable installation with custom build backend and configuration options 7658
[nulano, radarhere]

- Fix putdata() for I;16N on big-endian 7209
[Yay295, hugovk, radarhere]

- Determine MPO size from markers, not EXIF data 7884
[radarhere]

- Improved conversion from RGB to RGBa, LA and La 7888
[radarhere]

- Support FITS images with GZIP_1 compression 7894
[radarhere]

- Use I;16 mode for 9-bit JPEG 2000 images 7900
[scaramallion, radarhere]

- Raise ValueError if kmeans is negative 7891
[radarhere]

- Remove TIFF tag OSUBFILETYPE when saving using libtiff 7893
[radarhere]

- Raise ValueError for negative values when loading P1-P3 PPM images 7882
[radarhere]

- Added reading of JPEG2000 palettes 7870
[radarhere]

- Added alpha_quality argument when saving WebP images 7872
[radarhere]

- Fixed joined corners for ImageDraw rounded_rectangle() non-integer dimensions 7881
[radarhere]

- Stop reading EPS image at EOF marker 7753
[radarhere]

- PSD layer co-ordinates may be negative 7706
[radarhere]

- Use subprocess with CREATE_NO_WINDOW flag in ImageShow WindowsViewer 7791
[radarhere]

- When saving GIF frame that restores to background color, do not fill identical pixels 7788
[radarhere]

- Fixed reading PNG iCCP compression method 7823
[radarhere]

- Allow writing IFDRational to UNDEFINED tag 7840
[radarhere]

- Fix logged tag name when loading Exif data 7842
[radarhere]

- Use maximum frame size in IHDR chunk when saving APNG images 7821
[radarhere]

- Prevent opening P TGA images without a palette 7797
[radarhere]

- Use palette when loading ICO images 7798
[radarhere]

- Use consistent arguments for load_read and load_seek 7713
[radarhere]

- Turn off nullability warnings for macOS SDK 7827
[radarhere]

- Fix shift-sign issue in Convert.c 7838
[r-barnes, radarhere]

- Open 16-bit grayscale PNGs as I;16 7849
[radarhere]

- Handle truncated chunks at the end of PNG images 7709
[lajiyuan, radarhere]

- Match mask size to pasted image size in GifImagePlugin 7779
[radarhere]

- Release GIL while calling ``WebPAnimDecoderGetNext`` 7782
[evanmiller, radarhere]

- Fixed reading FLI/FLC images with a prefix chunk 7804
[twolife]

- Update wl-paste handling and return None for some errors in grabclipboard() on Linux 7745
[nik012003, radarhere]

- Remove execute bit from ``setup.py`` 7760
[hugovk]

- Do not support using test-image-results to upload images after test failures 7739
[radarhere]

- Changed ImageMath.ops to be static 7721
[radarhere]

- Fix APNG info after seeking backwards more than twice 7701
[esoma, radarhere]

- Deprecate ImageCms constants and versions() function 7702
[nulano, radarhere]

- Added PerspectiveTransform 7699
[radarhere]

- Add support for reading and writing grayscale PFM images 7696
[nulano, hugovk]

- Add LCMS2 flags to ImageCms 7676
[nulano, radarhere, hugovk]

- Rename x64 to AMD64 in winbuild 7693
[nulano]

10.2.0

-------------------

- Add ``keep_rgb`` option when saving JPEG to prevent conversion of RGB colorspace 7553
[bgilbert, radarhere]

- Trim glyph size in ImageFont.getmask() 7669, 7672
[radarhere, nulano]

- Deprecate IptcImagePlugin helpers 7664
[nulano, hugovk, radarhere]

- Allow uncompressed TIFF images to be saved in chunks 7650
[radarhere]

- Concatenate multiple JPEG EXIF markers 7496
[radarhere]

- Changed IPTC tile tuple to match other plugins 7661
[radarhere]

- Do not assign new fp attribute when exiting context manager 7566
[radarhere]

- Support arbitrary masks for uncompressed RGB DDS images 7589
[radarhere, akx]

- Support setting ROWSPERSTRIP tag 7654
[radarhere]

- Apply ImageFont.MAX_STRING_LENGTH to ImageFont.getmask() 7662
[radarhere]

- Optimise ``ImageColor`` using ``functools.lru_cache`` 7657
[hugovk]

- Restricted environment keys for ImageMath.eval() 7655
[wiredfool, radarhere]

- Optimise ``ImageMode.getmode`` using ``functools.lru_cache`` 7641
[hugovk, radarhere]

- Fix incorrect color blending for overlapping glyphs 7497
[ZachNagengast, nulano, radarhere]

- Attempt memory mapping when tile args is a string 7565
[radarhere]

- Fill identical pixels with transparency in subsequent frames when saving GIF 7568
[radarhere]

- Corrected duration when combining multiple GIF frames into single frame 7521
[radarhere]

- Handle disposing GIF background from outside palette 7515
[radarhere]

- Seek past the data when skipping a PSD layer 7483
[radarhere]

- Import plugins relative to the module 7576
[deliangyang, jaxx0n]

- Translate encoder error codes to strings; deprecate ``ImageFile.raise_oserror()`` 7609
[bgilbert, radarhere]

- Support reading BC4U and DX10 BC1 images 6486
[REDxEYE, radarhere, hugovk]

- Optimize ImageStat.Stat.extrema 7593
[florath, radarhere]

- Handle pathlib.Path in FreeTypeFont 7578
[radarhere, hugovk, nulano]

- Added support for reading DX10 BC4 DDS images 7603
[sambvfx, radarhere]

- Optimized ImageStat.Stat.count 7599
[florath]

- Correct PDF palette size when saving 7555
[radarhere]

- Fixed closing file pointer with olefile 0.47 7594
[radarhere]

- Raise ValueError when TrueType font size is not greater than zero 7584, 7587
[akx, radarhere]

- If absent, do not try to close fp when closing image 7557
[RaphaelVRossi, radarhere]

- Allow configuring JPEG restart marker interval on save 7488
[bgilbert, radarhere]

- Decrement reference count for PyObject 7549
[radarhere]

- Implement ``streamtype=1`` option for tables-only JPEG encoding 7491
[bgilbert, radarhere]

- If save_all PNG only has one frame, do not create animated image 7522
[radarhere]

- Fixed frombytes() for images with a zero dimension 7493
[radarhere]

10.1.0

-------------------

- Added TrueType default font to allow for different sizes 7354
[radarhere]

- Fixed invalid argument warning 7442
[radarhere]

- Added ImageOps cover method 7412
[radarhere, hugovk]

- Catch struct.error from truncated EXIF when reading JPEG DPI 7458
[radarhere]

- Consider default image when selecting mode for PNG save_all 7437
[radarhere]

- Support BGR;15, BGR;16 and BGR;24 access, unpacking and putdata 7303
[radarhere]

- Added CMYK to RGB unpacker 7310
[radarhere]

- Improved flexibility of XMP parsing 7274
[radarhere]

- Support reading 8-bit YCbCr TIFF images 7415
[radarhere]

- Allow saving I;16B images as PNG 7302
[radarhere]

- Corrected drawing I;16 points and writing I;16 text 7257
[radarhere]

- Set blue channel to 128 for BC5S 7413
[radarhere]

- Increase flexibility when reading IPTC fields 7319
[radarhere]

- Set C palette to be empty by default 7289
[radarhere]

- Added gs_binary to control Ghostscript use on all platforms 7392
[radarhere]

- Read bounding box information from the trailer of EPS files if specified 7382
[nopperl, radarhere]

- Added reading 8-bit color DDS images 7426
[radarhere]

- Added has_transparency_data 7420
[radarhere, hugovk]

- Fixed bug when reading BC5S DDS images 7401
[radarhere]

- Prevent TIFF orientation from being applied more than once 7383
[radarhere]

- Use previous pixel alpha for QOI_OP_RGB 7357
[radarhere]

- Added BC5U reading 7358
[radarhere]

- Allow getpixel() to accept a list 7355
[radarhere, homm]

- Allow GaussianBlur and BoxBlur to accept a sequence of x and y radii 7336
[radarhere]

- Expand JPEG buffer size when saving optimized or progressive 7345
[radarhere]

- Added session type check for Linux in ImageGrab.grabclipboard() 7332
[TheNooB2706, radarhere, hugovk]

- Allow "loop=None" when saving GIF images 7329
[radarhere]

- Fixed transparency when saving P mode images to PDF 7323
[radarhere]

- Added saving LA images as PDFs 7299
[radarhere]

- Set SMaskInData to 1 for PDFs with alpha 7316, 7317
[radarhere]

- Changed Image mode property to be read-only by default 7307
[radarhere]

- Silence exceptions in _repr_jpeg_ and _repr_png_ 7266
[mtreinish, radarhere]

- Do not use transparency when saving GIF if it has been removed when normalizing mode 7284
[radarhere]

- Fix missing symbols when libtiff depends on libjpeg 7270
[heitbaum]

10.0.1

-------------------

- Updated libwebp to 1.3.2 7395
[radarhere]

- Updated zlib to 1.3 7344
[radarhere]

10.0.0

-------------------

- Fixed deallocating mask images 7246
[radarhere]

- Added ImageFont.MAX_STRING_LENGTH 7244
[radarhere, hugovk]

- Fix Windows build with pyproject.toml 7230
[hugovk, nulano, radarhere]

- Do not close provided file handles with libtiff 7199
[radarhere]

- Convert to HSV if mode is HSV in getcolor() 7226
[radarhere]

- Added alpha_only argument to getbbox() 7123
[radarhere. hugovk]

- Prioritise speed in _repr_png_ 7242
[radarhere]

- Do not use CFFI access by default on PyPy 7236
[radarhere]

- Limit size even if one dimension is zero in decompression bomb check 7235
[radarhere]

- Use --config-settings instead of deprecated --global-option 7171
[radarhere]

- Better C integer definitions 6645
[Yay295, hugovk]

- Fixed finding dependencies on Cygwin 7175
[radarhere]

- Changed grabclipboard() to use PNG instead of JPG compression on macOS 7219
[abey79, radarhere]

- Added in_place argument to ImageOps.exif_transpose() 7092
[radarhere]

- Fixed calling putpalette() on L and LA images before load() 7187
[radarhere]

- Fixed saving TIFF multiframe images with LONG8 tag types 7078
[radarhere]

- Fixed combining single duration across duplicate APNG frames 7146
[radarhere]

- Remove temporary file when error is raised 7148
[radarhere]

- Do not use temporary file when grabbing clipboard on Linux 7200
[radarhere]

- If the clipboard fails to open on Windows, wait and try again 7141
[radarhere]

- Fixed saving multiple 1 mode frames to GIF 7181
[radarhere]

- Replaced absolute PIL import with relative import 7173
[radarhere]

- Replaced deprecated Py_FileSystemDefaultEncoding for Python >= 3.12 7192
[radarhere]

- Improved wl-paste mimetype handling in ImageGrab 7094
[rrcgat, radarhere]

- Added _repr_jpeg_() for IPython display_jpeg 7135
[n3011, radarhere, nulano]

- Use "/sbin/ldconfig" if ldconfig is not found 7068
[radarhere]

- Prefer screenshots using XCB over gnome-screenshot 7143
[nulano, radarhere]

- Fixed joined corners for ImageDraw rounded_rectangle() odd dimensions 7151
[radarhere]

- Support reading signed 8-bit TIFF images 7111
[radarhere]

- Added width argument to ImageDraw regular_polygon 7132
[radarhere]

- Support I mode for ImageFilter.BuiltinFilter 7108
[radarhere]

- Raise error from stderr of Linux ImageGrab.grabclipboard() command 7112
[radarhere]

- Added unpacker from I;16B to I;16 7125
[radarhere]

- Support float font sizes 7107
[radarhere]

- Use later value for duplicate xref entries in PdfParser 7102
[radarhere]

- Load before getting size in __getstate__ 7105
[bigcat88, radarhere]

- Fixed type handling for include and lib directories 7069
[adisbladis, radarhere]

- Remove deprecations for Pillow 10.0.0 7059, 7080
[hugovk, radarhere]

- Drop support for soon-EOL Python 3.7 7058
[hugovk, radarhere]

9.5.0

------------------

- Added ImageSourceData to TAGS_V2 7053
[radarhere]

- Clear PPM half token after use 7052
[radarhere]

- Removed absolute path to ldconfig 7044
[radarhere]

- Support custom comments and PLT markers when saving JPEG2000 images 6903
[joshware, radarhere, hugovk]

- Load before getting size in __array_interface__ 7034
[radarhere]

- Support creating BGR;15, BGR;16 and BGR;24 images, but drop support for BGR;32 7010
[radarhere]

- Consider transparency when applying APNG blend mask 7018
[radarhere]

- Round duration when saving animated WebP images 6996
[radarhere]

- Added reading of JPEG2000 comments 6909
[radarhere]

- Decrement reference count 7003
[radarhere, nulano]

- Allow libtiff_support_custom_tags to be missing 7020
[radarhere]

- Improved I;16N support 6834
[radarhere]

- Added QOI reading 6852
[radarhere, hugovk]

- Added saving RGBA images as PDFs 6925
[radarhere]

- Do not raise an error if os.environ does not contain PATH 6935
[radarhere, hugovk]

- Close OleFileIO instance when closing or exiting FPX or MIC 7005
[radarhere]

- Added __int__ to IFDRational for Python >= 3.11 6998
[radarhere]

- Added memoryview support to Dib.frombytes() 6988
[radarhere, nulano]

- Close file pointer copy in the libtiff encoder if still open 6986
[fcarron, radarhere]

- Raise an error if ImageDraw co-ordinates are incorrectly ordered 6978
[radarhere]

- Added "corners" argument to ImageDraw rounded_rectangle() 6954
[radarhere]

- Added memoryview support to frombytes() 6974
[radarhere]

- Allow comments in FITS images 6973
[radarhere]

- Support saving PDF with different X and Y resolutions 6961
[jvanderneutstulen, radarhere, hugovk]

- Fixed writing int as UNDEFINED tag 6950
[radarhere]

- Raise an error if EXIF data is too long when saving JPEG 6939
[radarhere]

- Handle more than one directory returned by pkg-config 6896
[sebastic, radarhere]

- Do not retry past formats when loading all formats for the first time 6902
[radarhere]

- Do not retry specified formats if they failed when opening 6893
[radarhere]

- Do not unintentionally load TIFF format at first 6892
[radarhere]

- Stop reading when EPS line becomes too long 6897
[radarhere]

- Allow writing IFDRational to BYTE tag 6890
[radarhere]

- Raise ValueError for BoxBlur filter with negative radius 6874
[hugovk, radarhere]

- Support arbitrary number of loaded modules on Windows 6761
[javidcf, radarhere, nulano]

9.4.0

------------------

- Fixed null pointer dereference crash with malformed font 6846
[wiredfool, radarhere]

- Return from ImagingFill early if image has a zero dimension 6842
[radarhere]

- Reversed deprecations for Image constants, except for duplicate Resampling attributes 6830
[radarhere]

- Improve exception traceback readability 6836
[hugovk, radarhere]

- Do not attempt to read IFD1 if absent 6840
[radarhere]

- Fixed writing int as ASCII tag 6800
[radarhere]

- If available, use wl-paste or xclip for grabclipboard() on Linux 6783
[radarhere]

- Added signed option when saving JPEG2000 images 6709
[radarhere]

- Patch OpenJPEG to include ARM64 fix 6718
[radarhere]

- Added support for I;16 modes in putdata() 6825
[radarhere]

- Added conversion from RGBa to RGB 6708
[radarhere]

- Added DDS support for uncompressed L and LA images 6820
[radarhere, REDxEYE]

- Added LightSource tag values to ExifTags 6749
[radarhere]

- Fixed PyAccess after changing ICO size 6821
[radarhere]

- Do not use EXIF from info when saving PNG images 6819
[radarhere]

- Fixed saving EXIF data to MPO 6817
[radarhere]

- Added Exif hide_offsets() 6762
[radarhere]

- Only compare to previous frame when checking for duplicate GIF frames while saving 6787
[radarhere]

- Always initialize all plugins in registered_extensions() 6811
[radarhere]

- Ignore non-opaque WebP background when saving as GIF 6792
[radarhere]

- Only set tile in ImageFile __setstate__ 6793
[radarhere]

- When reading BLP, do not trust JPEG decoder to determine image is CMYK 6767
[radarhere]

- Added IFD enum to ExifTags 6748
[radarhere]

- Fixed bug combining GIF frame durations 6779
[radarhere]

- Support saving JPEG comments 6774
[smason, radarhere]

- Added getxmp() to WebPImagePlugin 6758
[radarhere]

- Added "exact" option when saving WebP 6747
[ashafaei, radarhere]

- Use fractional coordinates when drawing text 6722
[radarhere]

- Fixed writing int as BYTE tag 6740
[radarhere]

- Added MP Format Version when saving MPO 6735
[radarhere]

- Added Interop to ExifTags 6724
[radarhere]

- CVE-2007-4559 patch when building on Windows 6704
[TrellixVulnTeam, nulano, radarhere]

- Fix compiler warning: accessing 64 bytes in a region of size 48 6714
[wiredfool]

- Use verbose flag for pip install 6713
[wiredfool, radarhere]

9.3.0

------------------

- Limit SAMPLESPERPIXEL to avoid runtime DOS 6700
[wiredfool]

- Initialize libtiff buffer when saving 6699
[radarhere]

- 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]

- Remove backup implementation of Round for Windows platforms 6693
[cgohlke]

- Fixed set_variation_by_name offset 6445
[radarhere]

- Fix malloc in _imagingft.c:font_setvaraxes 6690
[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, radarhere]

- Decode JPEG compressed BLP1 data in original mode 6678
[radarhere]

- 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
[wiredfool, radarhere]

- Raise a warning if NumPy failed to raise an error during conversion 6594
[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, nulano]

- Removed EXIF prefix when saving WebP 6582
[radarhere]

- Pad IM palette to 768 bytes when saving 6579
[radarhere]

- Added DDS BC6H reading 6449
[ShadelessFox, REDxEYE, radarhere]

- Added support for opening WhiteIsZero 16-bit integer TIFF images 6642
[JayWiz, radarhere]

- Raise an error when allocating translucent color to RGB palette 6654
[jsbueno, radarhere]

- Added reading of TIFF child images 6569
[radarhere]

- Improved ImageOps palette handling 6596
[PososikTeam, radarhere]

- 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, radarhere]

- 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]

- Do not call load() before draft() in Image.thumbnail 6539
[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]

- Allow default ImageDraw font to be set 6484
[radarhere, hugovk]

- 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, radarhere]

- Added support for reading ATI1/ATI2 (BC4/BC5) DDS images 6457
[REDxEYE, radarhere]

- Do not clear GIF tile when checking number of frames 6455
[radarhere]

- Support saving multiple MPO frames 6444
[radarhere]

- Do not double quote Pillow version for setuptools >= 60 6450
[radarhere]

- 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, radarhere]

9.2.0

------------------

- Deprecate ImageFont.getsize and related functions 6381
[nulano, radarhere]

- Fixed null check for fribidi_version_info in FriBiDi shim 6376
[nulano]

- Added GIF decompression bomb check 6402
[radarhere]

- Handle PCF fonts files with less than 256 characters 6386
[dawidcrivelli, radarhere]

- Improved GIF optimize condition 6378
[raygard, radarhere]

- Reverted to __array_interface__ with the release of NumPy 1.23 6394
[radarhere]

- Pad PCX palette to 768 bytes when saving 6391
[radarhere]

- Fixed bug with rounding pixels to palette colors 6377
[btrekkie, radarhere]

- Use gnome-screenshot on Linux if available 6361
[radarhere, nulano]

- Fixed loading L mode BMP RLE8 images 6384
[radarhere]

- Fixed incorrect operator in ImageCms error 6370
[LostBenjamin, hugovk, radarhere]

- Limit FPX tile size to avoid extending outside image 6368
[radarhere]

- Added support for decoding plain PPM formats 5242
[Piolie, radarhere]

- Added apply_transparency() 6352
[radarhere]

- Fixed behaviour change from endian fix 6197
[radarhere]

- Allow remapping P images with RGBA palettes 6350
[radarhere]

- Fixed drawing translucent 1px high polygons 6278
[radarhere]

- Pad COLORMAP to 768 items when saving TIFF 6232
[radarhere]

- Fix P -> PA conversion 6337
[RedShy, radarhere]

- Once exif data is parsed, do not reload unless it changes 6335
[radarhere]

- Only try to connect discontiguous corners at the end of edges 6303
[radarhere]

- Improve transparency handling when saving GIF images 6176
[radarhere]

- Do not update GIF frame position until local image is found 6219
[radarhere]

- Netscape GIF extension belongs after the global color table 6211
[radarhere]

- Only write GIF comments at the beginning of the file 6300
[raygard, radarhere]

- Separate multiple GIF comment blocks with newlines 6294
[raygard, radarhere]

- Always use GIF89a for comments 6292
[raygard, radarhere]

- Ignore compression value from BMP info dictionary when saving as TIFF 6231
[radarhere]

- If font is file-like object, do not re-read from object to get variant 6234
[radarhere]

- Raise ValueError when trying to access internal fp after close 6213
[radarhere]

- Support more affine expression forms in im.point() 6254
[benrg, radarhere]

- Populate Python palette in fromarray() 6283
[radarhere]

- Raise ValueError if PNG chunks are truncated 6253
[radarhere]

- Use durations from each frame by default when saving GIFs 6265
[radarhere]

- Adjust BITSPERSAMPLE to match SAMPLESPERPIXEL when opening TIFFs 6270
[radarhere]

- Search pkgconf system libs/cflags 6138
[jameshilliard, radarhere]

- Raise ValueError for invalid PPM maxval 6242
[radarhere]

- Corrected screencapture argument in ImageGrab.grab() 6244
[axt-one]

- Deprecate support for Qt 5 (PyQt5 and PySide2) 6237
[hugovk, radarhere]

- Increase wait time of temporary file deletion on Windows 6224
[AlexTedeschi]

- Deprecate FreeTypeFont.getmask2 fill parameter 6220
[nulano, radarhere, hugovk]

- Round lut values where necessary 6188
[radarhere]

- Load before getting size in resize() 6190
[radarhere]

- Load image before performing size calculations in thumbnail() 6186
[radarhere]

- Deprecated PhotoImage.paste() box parameter 6178
[radarhere]

9.1.1

------------------

- When reading past the end of a TGA scan line, reduce bytes left. CVE-2022-30595
[radarhere]

- Do not open images with zero or negative height 6269
[radarhere]

9.1.0

------------------

- 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]

9.0.1

------------------

- In show_file, use os.remove to remove temporary images. CVE-2022-24303 6010
[radarhere, hugovk]

- Restrict builtins within lambdas for ImageMath.eval. CVE-2022-22817 6009
[radarhere]

9.0.0

------------------

- Restrict builtins for ImageMath.eval(). CVE-2022-22817 5923
[radarhere]

- Ensure JpegImagePlugin stops at the end of a truncated file 5921
[radarhere]

- Fixed ImagePath.Path array handling. CVE-2022-22815, CVE-2022-22816 5920
[radarhere]

- Remove consecutive duplicate tiles that only differ by their offset 5919
[radarhere]

- Improved I;16 operations on big endian 5901
[radarhere]

- Limit quantized palette to number of colors 5879
[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
[hugovk]

- Fixed freeing pointer in ImageDraw.Outline.transform 5909
[radarhere]

- Added ImageShow support for xdg-open 5897
[m-shinder, radarhere]

- Support 16-bit grayscale ImageQt conversion 5856
[cmbruns, radarhere]

- Convert subsequent GIF frames to RGB or RGBA 5857
[radarhere]

- Do not prematurely return in ImageFile when saving to stdout 5665
[infmagic2047, radarhere]

- 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 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]

- Add support for pickling TrueType fonts 5826
[hugovk, radarhere]

- Only prefer command line tools SDK on macOS over default MacOSX SDK 5828
[radarhere]

- Drop support for soon-EOL Python 3.6 5768
[hugovk, nulano, radarhere]

- Fix compilation on 64-bit Termux 5793
[landfillbaby]

- Use title for display in ImageShow 5788
[radarhere]

- Remove support for FreeType 2.7 and older 5777
[hugovk, radarhere]

- Fix for PyQt6 5775
[hugovk, radarhere]

- Removed deprecated PILLOW_VERSION, Image.show command parameter, Image._showxv and ImageFile.raise_ioerror 5776
[radarhere]

8.4.0

------------------

- Prefer global transparency in GIF when replacing with background color 5756
[radarhere]

- Added "exif" keyword argument to TIFF saving 5575
[radarhere]

- Copy Python palette to new image in quantize() 5696
[radarhere]

- Read ICO AND mask from end 5667
[radarhere]

- Actually check the framesize in FliDecode.c 5659
[wiredfool]

- Determine JPEG2000 mode purely from ihdr header box 5654
[radarhere]

- Fixed using info dictionary when writing multiple APNG frames 5611
[radarhere]

- Allow saving 1 and L mode TIFF with PhotometricInterpretation 0 5655
[radarhere]

- For GIF save_all with palette, do not include palette with each frame 5603
[radarhere]

- Keep transparency when converting from P to LA or PA 5606
[radarhere]

- Copy palette to new image in transform() 5647
[radarhere]

- Added "transparency" argument to EpsImagePlugin load() 5620
[radarhere]

- Corrected pathlib.Path detection when saving 5633
[radarhere]

- Added WalImageFile class 5618
[radarhere]

- Consider I;16 pixel size when drawing text 5598
[radarhere]

- If default conversion from P is RGB with transparency, convert to RGBA 5594
[radarhere]

- Speed up rotating square images by 90 or 270 degrees 5646
[radarhere]

- Add support for reading DPI information from JPEG2000 images
[rogermb, radarhere]

- Catch TypeError from corrupted DPI value in EXIF 5639
[homm, radarhere]

- Do not close file pointer when saving SGI images 5645
[farizrahman4u, radarhere]

- Deprecate ImagePalette size parameter 5641
[radarhere, hugovk]

- Prefer command line tools SDK on macOS 5624
[radarhere]

- Added tags when saving YCbCr TIFF 5597
[radarhere]

- PSD layer count may be negative 5613
[radarhere]

- Fixed ImageOps expand with tuple border on P image 5615
[radarhere]

- Fixed error saving APNG with duplicate frames and different duration times 5609
[thak1411, radarhere]

8.3.2

------------------

- CVE-2021-23437 Raise ValueError if color specifier is too long
[hugovk, radarhere]

- Fix 6-byte OOB read in FliDecode
[wiredfool]

- Add support for Python 3.10 5569, 5570
[hugovk, radarhere]

- Ensure TIFF ``RowsPerStrip`` is multiple of 8 for JPEG compression 5588
[kmilos, radarhere]

- Updates for ``ImagePalette`` channel order 5599
[radarhere]

- Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library 5651
[nulano]

8.3.1

------------------

- Catch OSError when checking if fp is sys.stdout 5585
[radarhere]

- Handle removing orientation from alternate types of EXIF data 5584
[radarhere]

- Make Image.__array__ take optional dtype argument 5572
[t-vi, radarhere]

8.3.0

------------------

- Use snprintf instead of sprintf. CVE-2021-34552 5567
[radarhere]

- Limit TIFF strip size when saving with LibTIFF 5514
[kmilos]

- Allow ICNS save on all operating systems 4526
[baletu, radarhere, newpanjing, hugovk]

- De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables 4989
[gofr, radarhere]

- Replaced xml.etree.ElementTree 5565
[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, hrdrq]

- Use transparency behind first GIF frame and when disposing to background 5557
[radarhere, zewt]

- 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]

- 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]

- Removed DPI rounding from BMP, JPEG, PNG and WMF loading 5476, 5470
[radarhere]

- Remove spikes when drawing thin pieslices 5460
[xtsm]

- Updated default value for SAMPLESPERPIXEL TIFF tag 5452
[radarhere]

- Removed TIFF DPI rounding 5446
[radarhere, hugovk]

- Include code in WebP error 5471
[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]

- 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, hugovk]

- 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]

- For special image modes, revert default resize resampling to NEAREST 5411
[radarhere]

- JPEG2000: Support decoding subsampled RGB and YCbCr images 4996
[nulano, radarhere]

- Stop decoding BC1 punchthrough alpha in BC2&3 4144
[jansol]

- 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]

- Round down the radius in rounded_rectangle 5382
[radarhere]

- Fixed reading uncompressed RGB data from DDS 5383
[radarhere]

8.2.0

------------------

- Added getxmp() method 5144
[UrielMaD, radarhere]

- Add ImageShow support for GraphicsMagick 5349
[latosha-maltba, radarhere]

- Do not load transparent pixels from subsequent GIF frames 5333
[zewt, radarhere]

- Use LZW encoding when saving GIF images 5291
[raygard]

- Set all transparent colors to be equal in quantize() 5282
[radarhere]

- Allow PixelAccess to use Python __int__ when parsing x and y 5206
[radarhere]

- Removed Image._MODEINFO 5316
[radarhere]

- Add preserve_tone option to autocontrast 5350
[elejke, radarhere]

- Fixed linear_gradient and radial_gradient I and F modes 5274
[radarhere]

- Add support for reading TIFFs with PlanarConfiguration=2 5364
[kkopachev, wiredfool, nulano]

- Deprecated categories 5351
[radarhere]

- Do not premultiply alpha when resizing with Image.NEAREST resampling 5304
[nulano]

- Dynamically link FriBiDi instead of Raqm 5062
[nulano]

- Allow fewer PNG palette entries than the bit depth maximum when saving 5330
[radarhere]

- Use duration from info dictionary when saving WebP 5338
[radarhere]

- Stop flattening EXIF IFD into getexif() 4947
[radarhere, kkopachev]

- Replaced tiff_deflate with tiff_adobe_deflate compression when saving TIFF images 5343
[radarhere]

- Save ICC profile from TIFF encoderinfo 5321
[radarhere]

- Moved RGB fix inside ImageQt class 5268
[radarhere]

- Allow alpha_composite destination to be negative 5313
[radarhere]

- Ensure file is closed if it is opened by ImageQt.ImageQt 5260
[radarhere]

- Added ImageDraw rounded_rectangle method 5208
[radarhere]

- Added IPythonViewer 5289
[radarhere, Kipkurui-mutai]

- Only draw each rectangle outline pixel once 5183
[radarhere]

- Use mmap instead of built-in Win32 mapper 5224
[radarhere, cgohlke]

- Handle PCX images with an odd stride 5214
[radarhere]

- Only read different sizes for "Large Thumbnail" MPO frames 5168
[radarhere]

- Added PyQt6 support 5258
[radarhere]

- Changed Image.open formats parameter to be case-insensitive 5250
[Piolie, radarhere]

- Deprecate Tk/Tcl 8.4, to be removed in Pillow 10 (2023-07-01) 5216
[radarhere]

- Added tk version to pilinfo 5226
[radarhere, nulano]

- Support for ignoring tests when running valgrind 5150
[wiredfool, radarhere, hugovk]

- OSS-Fuzz support 5189
[wiredfool, radarhere]

8.1.2

------------------

- Fix Memory DOS in BLP (CVE-2021-27921), ICNS (CVE-2021-27922) and ICO (CVE-2021-27923) Image Plugins
[wiredfool]

8.1.1

------------------

- Use more specific regex chars to prevent ReDoS. CVE-2021-25292
[hugovk]

- Fix OOB Read in TiffDecode.c, and check the tile validity before reading. CVE-2021-25291
[wiredfool]

- Fix negative size read in TiffDecode.c. CVE-2021-25290
[wiredfool]

- Fix OOB read in SgiRleDecode.c. CVE-2021-25293
[wiredfool]

- Incorrect error code checking in TiffDecode.c. CVE-2021-25289
[wiredfool]

- PyModule_AddObject fix for Python 3.10 5194
[radarhere]

8.1.0

------------------

- Fix TIFF OOB Write error. CVE-2020-35654 5175
[wiredfool]

- Fix for Read Overflow in PCX Decoding. CVE-2020-35653 5174
[wiredfool, radarhere]

- Fix for SGI Decode buffer overrun. CVE-2020-35655 5173
[wiredfool, radarhere]

- Fix OOB Read when saving GIF of xsize=1 5149
[wiredfool]

- Makefile updates 5159
[wiredfool, radarhere]

- Add support for PySide6 5161
[hugovk]

- Use disposal settings from previous frame in APNG 5126
[radarhere]

- Added exception explaining that _repr_png_ saves to PNG 5139
[radarhere]

- Use previous disposal method in GIF load_end 5125
[radarhere]

- Allow putpalette to accept 1024 integers to include alpha values 5089
[radarhere]

- Fix OOB Read when writing TIFF with custom Metadata 5148
[wiredfool]

- Added append_images support for ICO 4568
[ziplantil, radarhere]

- Block TIFFTAG_SUBIFD 5120
[radarhere]

- Fixed dereferencing potential null pointers 5108, 5111
[cgohlke, radarhere]

- Deprecate FreeType 2.7 5098
[hugovk, radarhere]

- Moved warning to end of execution 4965
[radarhere]

- Removed unused fromstring and tostring C methods 5026
[radarhere]

- init() if one of the formats is unrecognised 5037
[radarhere]

- Moved string_dimension CVE image to pillow-depends 4993
[radarhere]

- Support raw rgba8888 for DDS 4760
[qiankanglai]

8.0.1

------------------

- Update FreeType used in binary wheels to 2.10.4 to fix CVE-2020-15999.
[radarhere]

- Moved string_dimension image to pillow-depends 4993
[radarhere]

8.0.0

------------------

- Drop support for EOL Python 3.5 4746, 4794
[hugovk, radarhere, nulano]

- Drop support for PyPy3 < 7.2.0 4964
[nulano]

- Remove ImageCms.CmsProfile attributes deprecated since 3.2.0 4768
[hugovk, radarhere]

- Remove long-deprecated Image.py functions 4798
[hugovk, nulano, radarhere]

- Add support for 16-bit precision JPEG quantization values 4918
[gofr]

- Added reading of IFD tag type 4979
[radarhere]

- Initialize offset memory for PyImagingPhotoPut 4806
[nqbit]

- Fix TiffDecode comparison warnings 4756
[nulano]

- Docs: Add dark mode 4968
[hugovk, nulano]

- Added macOS SDK install path to library and include directories 4974
[radarhere, fxcoudert]

- Imaging.h: prevent confusion with system 4923
[ax3l, ,radarhere]

- Avoid using pkg_resources in PIL.features.pilinfo 4975
[nulano]

- Add getlength and getbbox functions for TrueType fonts 4959
[nulano, radarhere, hugovk]

- Allow tuples with one item to give single color value in getink 4927
[radarhere, nulano]

- Add support for CBDT and COLR fonts 4955
[nulano, hugovk]

- Removed OSError in favour of DecompressionBombError for BMP 4966
[radarhere]

- Implemented another ellipse drawing algorithm 4523
[xtsm, radarhere]

- Removed unused JpegImagePlugin._fixup_dict function 4957
[radarhere]

- Added reading and writing of private PNG chunks 4292
[radarhere]

- Implement anchor for TrueType fonts 4930
[nulano, hugovk]

- Fixed bug in Exif __delitem__ 4942
[radarhere]

- Fix crash in ImageTk.PhotoImage on MinGW 64-bit 4946
[nulano]

- Moved CVE images to pillow-depends 4929
[radarhere]

- Refactor font_getsize and font_render 4910
[nulano]

- Fixed loading profile with non-ASCII path on Windows 4914
[radarhere]

- Fixed effect_spread bug for zero distance 4908
[radarhere, hugovk]

- Added formats parameter to Image.open 4837
[nulano, radarhere]

- Added regular_polygon draw method 4846
[comhar]

- Raise proper TypeError in putpixel 4882
[nulano, hugovk]

- Added writing of subIFDs 4862
[radarhere]

- Fix IFDRational __eq__ bug 4888
[luphord, radarhere]

- Fixed duplicate variable name 4885
[liZe, radarhere]

- Added homebrew zlib include directory 4842
[radarhere]

- Corrected inverted PDF CMYK colors 4866
[radarhere]

- Do not try to close file pointer if file pointer is empty 4823
[radarhere]

- ImageOps.autocontrast: add mask parameter 4843
[navneeth, hugovk]

- Read EXIF data tEXt chunk into info as bytes instead of string 4828
[radarhere]

- Replaced distutils with setuptools 4797, 4809, 4814, 4817, 4829, 4890
[hugovk, radarhere]

- Add MIME type to PsdImagePlugin 4788
[samamorgan]

- Allow ImageOps.autocontrast to specify low and high cutoffs separately 4749
[millionhz, radarhere]
Links

Update argon2-cffi from 19.2.0 to 23.1.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update whitenoise from 4.1.4 to 6.8.2.

Changelog

6.8.2

------------------

* Fix compression speed gains for the thread pool when running Django’s ``collectstatic``.
The thread pool had no effect due to use of a generator for the results, a refactoring introduced when reviewing the initial PR.

Thanks to Petr Přikryl for the investigation and fix in `PR 616 <https://github.com/evansd/whitenoise/pull/616>`__.

6.8.1

------------------

* Raise any errors from threads in the ``whitenoise.compress`` command.

Regression in 6.8.0.
Thanks to Tom Grainger for the spotting this with a `comment on PR 484 <https://github.com/evansd/whitenoise/pull/484#discussion_r1818989096>`__.

6.8.0

------------------

* Drop Django 3.2 to 4.1 support.

* Drop Python 3.8 support.

* Support Python 3.13.

* Fix a bug introduced in version 6.0.0 where ``Range`` requests could lead to database connection errors in other requests.

Thanks to Per Myren for the detailed investigation and fix in `PR 612 <https://github.com/evansd/whitenoise/pull/612>`__.

* Use Django’s |FORCE_SCRIPT_NAME|__ setting correctly.
This reverts a change from version 5.3.0 that added a call to Django’s |get_script_prefix() method|__ outside of the request-response cycle.

.. |FORCE_SCRIPT_NAME| replace:: ``FORCE_SCRIPT_NAME``
__ https://docs.djangoproject.com/en/stable/ref/settings/#std:setting-FORCE_SCRIPT_NAME

.. |get_script_prefix() method| replace:: ``get_script_prefix()`` method
__ https://docs.djangoproject.com/en/stable/ref/urlresolvers/#django.urls.get_script_prefix

Thanks to Sarah Boyce in `PR 486 <https://github.com/evansd/whitenoise/pull/486>`__.

* Compress files using a thread pool.
This speeds up the compression step up to four times in benchmarks.

Thanks to Anthony Ricaud in `PR 484 <https://github.com/evansd/whitenoise/pull/484>`__.

6.7.0

------------------

* Support Django 5.1.

6.6.0

------------------

* Support Django 5.0.

* Drop Python 3.7 support.

6.5.0

------------------

* Support Python 3.12.

* Changed documentation site URL from ``https://whitenoise.evans.io/`` to ``https://whitenoise.readthedocs.io/``.

6.4.0

------------------

* Support Django 4.2.

* Remove further support for byte strings from the ``root`` and ``prefix`` arguments to ``WhiteNoise``, and Django’s ``STATIC_ROOT`` setting.
Like in the previous release, this seems to be a remnant of Python 2 support.
Again, this change may be backwards incompatible for a small number of projects, but it’s unlikely.
Django does not support ``STATIC_ROOT`` being a byte string.

6.3.0

------------------

* Add some video file extensions to be ignored during compression.
Since such files are already heavily compressed, further compression rarely helps.

Thanks to Jon Ribbens in `PR 431 <https://github.com/evansd/whitenoise/pull/431>`__.

* Remove the behaviour of decoding byte strings passed for settings that take strings.
This seemed to be left around from supporting Python 2.
This change may be backwards incompatible for a small number of projects.

* Document “hidden” feature of setting ``max_age`` to ``None`` to disable the ``Cache-Control`` header.

* Drop support for working as old-style Django middleware, as support was `removed in Django 2.0 <https://docs.djangoproject.com/en/dev/releases/2.0/#features-removed-in-2-0>`__.

6.2.0

------------------

* Support Python 3.11.

* Support Django 4.1.

6.1.0

------------------

* Drop support for Django 2.2, 3.0, and 3.1.

6.0.0

------------------

* Drop support for Python 3.5 and 3.6.

* Add support for Python 3.9 and 3.10.

* Drop support for Django 1.11, 2.0, and 2.1.

* Add support for Django 4.0.

* Import new MIME types from Nginx, changes:

- ``.avif`` files are now served with the ``image/avif`` MIME type.

- Open Document files with extensions ``.odg``, ``.odp``, ``.ods``, and ``.odt`` are now served with their respective ``application/vnd.oasis.opendocument.*`` MIME types.

* The ``whitenoise.__version__`` attribute has been removed.
Use ``importlib.metadata.version()`` to check the version of Whitenoise if you need to.

* Requests using the ``Range`` header can no longer read beyond the end of the requested range.

Thanks to Richard Tibbles in `PR 322 <https://github.com/evansd/whitenoise/pull/322>`__.

* Treat empty and ``"*"`` values for ``Accept-Encoding`` as if the client doesn’t support any encoding.

Thanks to Richard Tibbles in `PR 323 <https://github.com/evansd/whitenoise/pull/323>`__.

5.3.0

------------------

* Gracefully handle unparsable ``If-Modified-Since`` headers (thanks `danielegozzi <https://github.com/danielegozzi>`_).

* Test against Django 3.2 (thanks `jhnbkr <https://github.com/jhnbkr>`_).

* Add mimetype for Markdown (``.md``) files (thanks `bz2 <https://github.com/bz2>`_).

* Various documentation improvements (thanks `PeterJCLaw <https://github.com/PeterJCLaw>`_ and `AliRn76 <https://github.com/AliRn76>`_).

5.2.0

------------------

* Add support for `relative STATIC_URLs <https://docs.djangoproject.com/en/3.1/ref/settings/#std:setting-STATIC_URL>`_ in settings, as allowed in Django 3.1.

* Add mimetype for ``.mjs`` (JavaScript module) files and use recommended ``text/javascript`` mimetype for ``.js`` files (thanks `hanswilw <https://github.com/hanswilw>`_).

* Various documentation improvements (thanks `lukeburden <https://github.com/lukeburden>`_).

5.1.0

------------------

* Add a :any:`manifest_strict <WHITENOISE_MANIFEST_STRICT>` setting to prevent Django throwing errors when missing files are referenced (thanks `MegacoderKim <https://github.com/MegacoderKim>`_).

5.0.1

------------------

* Fix packaging to indicate only Python 3.5+ compatibiity (thanks `mdalp <https://github.com/mdalp>`_).

5.0

----------------

.. note:: This is a major version bump, but only because it removes Python 2
compatibility. If you were already running under Python 3 then there should
be no breaking changes.

WhiteNoise is now tested on Python 3.5--3.8 and Django 2.0--3.0.

Other changes include:

* Fix incompatibility with Django 3.0 which caused problems with Safari (details `here <https://github.com/evansd/whitenoise/issues/240>`_).
Thanks `paltman <https://github.com/paltman>`_ and `giilby <https://github.com/giilby>`_ for diagnosing.

* Lots of improvements to the test suite (including switching to py.test).
Thanks `NDevox <https://github.com/ndevox>`_ and `Djailla <https://github.com/djailla>`_.
Links

Update redis from 3.4.1 to 5.2.0.

Changelog

4.1.3

* Fix flushdb and flushall (1926)
* Add redis5 and redis4 dockers (1871)
* Change json.clear test multi to be up to date with redisjson (1922)
* Fixing volume for unstable_cluster docker (1914)
* Update changes file with changes since 4.0.0-beta2 (1915)

4.1.2

* Invalid OCSP certificates should raise ConnectionError on failed validation (1907)
* Added retry mechanism on socket timeouts when connecting to the server (1895)
* LMOVE, BLMOVE return incorrect responses (1906)
* Fixing AttributeError in UnixDomainSocketConnection (1903)
* Fixing TypeError in GraphCommands.explain (1901)
* For tests, increasing wait time for the cluster (1908)
* Increased pubsub's wait_for_messages timeout to prevent flaky tests (1893)
* README code snippets formatted to highlight properly (1888)
* Fix link in the main page (1897)
* Documentation fixes: JSON Example, SSL Connection Examples, RTD version (1887)
* Direct link to readthedocs (1885)

4.1.1

* Add retries to connections in Sentinel Pools (1879)
* OCSP Stapling Support (1873)
* Define incr/decr as aliases of incrby/decrby (1874)
* FT.CREATE - support MAXTEXTFIELDS, TEMPORARY, NOHL, NOFREQS, SKIPINITIALSCAN (1847)
* Timeseries docs fix (1877)
* get_connection: catch OSError too (1832)
* Set keys var otherwise variable not created (1853)
* Clusters should optionally require full slot coverage (1845)
* Triple quote docstrings in client.py PEP 257 (1876)
* syncing requirements (1870)
* Typo and typing in GraphCommands documentation (1855)
* Allowing poetry and redis-py to install together (1854)
* setup.py: Add project_urls for PyPI (1867)
* Support test with redis unstable docker (1850)
* Connection examples (1835)
* Documentation cleanup (1841)

4.1.0

* OCSP stapling support (1820)
* Support for SELECT (1825)
* Support for specifying error types with retry (1817)
* Support for RESET command since Redis 6.2.0 (1824)
* Support CLIENT TRACKING (1612)
* Support WRITE in CLIENT PAUSE (1549)
* JSON set_file and set_path support (1818)
* Allow ssl_ca_path with rediss:// urls (1814)
* Support for password-encrypted SSL private keys (1782)
* Support SYNC and PSYNC (1741)
* Retry on error exception and timeout fixes (1821)
* Fixing read race condition during pubsub (1737)
* Fixing exception in listen (1823)
* Fixed MovedError, and stopped iterating through startup nodes when slots are fully covered (1819)
* Socket not closing after server disconnect (1797)
* Single sourcing the package version (1791)
* Ensure redis_connect_func is set on uds connection (1794)
* SRTALGO - Skip for redis versions greater than 7.0.0 (1831)
* Documentation updates (1822)
* Add CI action to install package from repository commit hash (1781) (1790)
* Fix link in lmove docstring (1793)
* Disabling JSON.DEBUG tests (1787)
* Migrated targeted nodes to kwargs in Cluster Mode (1762)
* Added support for MONITOR in clusters (1756)
* Adding ROLE Command (1610)
* Integrate RedisBloom support (1683)
* Adding RedisGraph support (1556)
* Allow overriding connection class via keyword arguments (1752)
* Aggregation LOAD * support for RediSearch (1735)
* Adding cluster, bloom, and graph docs (1779)
* Add packaging to setup_requires, and use >= to play nice to setup.py (fixes 1625) (1780)
* Fixing the license link in the readme (1778)
* Removing distutils from tests (1773)
* Fix cluster ACL tests (1774)
* Improved RedisCluster's reinitialize_steps and documentation (1765)
* Added black and isort (1734)
* Link Documents for all module commands (1711)
* Pyupgrade + flynt + f-strings (1759)
* Remove unused aggregation subclasses in RediSearch (1754)
* Adding RedisCluster client to support Redis Cluster Mode (1660)
* Support RediSearch FT.PROFILE command (1727)
* Adding support for non-decodable commands (1731)
* COMMAND GETKEYS support (1738)
* RedisJSON 2.0.4 behaviour support (1747)
* Removing deprecating distutils (PEP 632) (1730)
* Updating PR template (1745)
* Removing duplication of Script class (1751)
* Splitting documentation for read the docs (1743)
* Improve code coverage for aggregation tests (1713)
* Fixing COMMAND GETKEYS tests (1750)
* GitHub release improvements (1684)

4.0.2

* Restoring Sentinel commands to redis client (1723)
* Better removal of hiredis warning (1726)
* Adding links to redis documents in function calls (1719)

4.0.1

* Removing command on initial connections (1722)
* Removing hiredis warning when not installed (1721)
``

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant