|
@@ -2,6 +2,114 @@
|
|
|
Changelog (Pillow)
|
|
|
==================
|
|
|
|
|
|
+10.2.0 (2024-01-02)
|
|
|
+-------------------
|
|
|
+
|
|
|
+- 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 (2023-10-15)
|
|
|
-------------------
|
|
|
|
|
@@ -2191,7 +2299,7 @@ Changelog (Pillow)
|
|
|
- Cache EXIF information #3498
|
|
|
[Glandos]
|
|
|
|
|
|
-- Added transparency for all PNG greyscale modes #3744
|
|
|
+- Added transparency for all PNG grayscale modes #3744
|
|
|
[radarhere]
|
|
|
|
|
|
- Fix deprecation warnings in Python 3.8 #3749
|
|
@@ -4693,7 +4801,7 @@ Changelog (Pillow)
|
|
|
- Fix Bicubic interpolation #970
|
|
|
[homm]
|
|
|
|
|
|
-- Support for 4-bit greyscale TIFF images #980
|
|
|
+- Support for 4-bit grayscale TIFF images #980
|
|
|
[hugovk]
|
|
|
|
|
|
- Updated manifest #957
|
|
@@ -6768,7 +6876,7 @@ The test suite includes 750 individual tests.
|
|
|
|
|
|
- You can now convert directly between all modes supported by
|
|
|
PIL. When converting colour images to "P", PIL defaults to
|
|
|
- a "web" palette and dithering. When converting greyscale
|
|
|
+ a "web" palette and dithering. When converting grayscale
|
|
|
images to "1", PIL uses a thresholding and dithering.
|
|
|
|
|
|
- Added a "dither" option to "convert". By default, "convert"
|
|
@@ -6846,13 +6954,13 @@ The test suite includes 530 individual tests.
|
|
|
- Fixed "paste" to allow a mask also for mode "F" images.
|
|
|
|
|
|
- The BMP driver now saves mode "1" images. When loading images, the mode
|
|
|
- is set to "L" for 8-bit files with greyscale palettes, and to "P" for
|
|
|
+ is set to "L" for 8-bit files with grayscale palettes, and to "P" for
|
|
|
other 8-bit files.
|
|
|
|
|
|
- The IM driver now reads and saves "1" images (file modes "0 1" or "L 1").
|
|
|
|
|
|
- The JPEG and GIF drivers now saves "1" images. For JPEG, the image
|
|
|
- is saved as 8-bit greyscale (it will load as mode "L"). For GIF, the
|
|
|
+ is saved as 8-bit grayscale (it will load as mode "L"). For GIF, the
|
|
|
image will be loaded as a "P" image.
|
|
|
|
|
|
- Fixed a potential buffer overrun in the GIF encoder.
|
|
@@ -7156,7 +7264,7 @@ The test suite includes 400 individual tests.
|
|
|
drawing capabilities can be used to render vector and metafile
|
|
|
formats.
|
|
|
|
|
|
-- Added restricted drivers for images from Image Tools (greyscale
|
|
|
+- Added restricted drivers for images from Image Tools (grayscale
|
|
|
only) and LabEye/IFUNC (common interchange modes only).
|
|
|
|
|
|
- Some minor improvements to the sample scripts provided in the
|