Releases: wagtail/Willow
v1.9 - Python 3.13, Pillow 11
This release adds official support for Python 3.13 and Pillow 11. It also drops support for Python 3.8
What's Changed
- Bump actions to latest by @Stormheg in #155
- Fix
test_process_optimizes_image
by @Stormheg in #152 - Fix link to changelog by @gasman in #156
- Fix incorrect method name for
save_as_heic
in README by @laymonage in #157 - Maintenance: Python 3.13 / Pillow 11 / new Ruff / drop Black / drop Python 3.8 by @Stormheg in #158
New Contributors
- @laymonage made their first contribution in #157
Full Changelog: v1.8.0...v1.9.0
v1.8 - Better handling of CMYK images with ICC profile, and support for ICO
Note
This release converts CMYK images with an ICC profile to sRGB as CMYK is not supported by PNG, WEBP, AVIF and HEIC Pillow encoders.
The issue stems from the fact that when a CMYK image is encoded, it gets converted to RGB, thus resulting in inaccurate colors because Pillow ignores the ICC profile during the conversion.
So, we manually force an accurate conversion to RGB before encoding the image. This results in a much more accurate representation of the original CMYK image.
What's Changed
- Fix sphinx build errors by @zerolab in #140
- Remove old imghdr patch test by @Stormheg in #143
- test_detect_faces: sort array for determinism by @stephanlachnit in #135
- Add
transform_colorspace_to_srgb
operation and use it to fix inaccurate colors when saving specific image files by @Stormheg in #142 - Add support for ICO images by @RealOrangeOne in #141
New Contributors
Full Changelog: v1.7.0...v1.8.0
v1.7.0 - Python 3.12, ICC profiles, EXIF metadata and the usual maintenance churn
This release is officially tested with Python 3.12, adds shorthand optional dependencies for Pillow/Wand (Willow[Pillow]
/Willow[Wand]
) so as to get the correct image library versions and fixes a few long standing issues
What's Changed
- Test with Python 3.12 by @zerolab in #124
- Add optional dependencies for Pillow/Wand by @zerolab in #130
- test_wand.py: fix typo in test skip by @stephanlachnit in #133
- test_image.py: replace wrong unicdoe character by @stephanlachnit in #132
- Tidy up testing linting deps by @zerolab in #131
- Replace the wrong unicode character in the
image/heic
mime type by @stephanlachnit in #132 - Preserve ICC profiles and EXIF metadata when saving to PNG, WebP, AVIF by @stefanistrate and @andre-fuchs in #136, via #63
This will help preserve colours and image orientation when resaving to a different format
New Contributors
- @stephanlachnit made their first contribution in #133
- @andre-fuchs made their first contribution in #136
- @stefanistrate made their first contribution in #136 (which contains original code from #63)
Full Changelog: v1.6.2...v1.7.0
v1.6.3 - ICC profiles/EXIF metadata and a HEIC mime unicode bug
This release:
- Replaces the wrong unicode character in the
image/heic
mime type (by @stephanlachnit in #132) - Preserves ICC profiles and EXIF metadata when saving to PNG, WebP, AVIF (@stefanistrate, @andre-fuchs in #136, via #63)
This should help with colour and orientation
Full Changelog: v1.6.2...v1.6.3
v1.6.2 - mime(-type) it all the way
This release ensures that all Willow ImageFile
subclasses define a mime_type
attribute.
What's Changed
- Ensure SVG files are given a mime type by @RealOrangeOne in #129
New Contributors
- @RealOrangeOne made their first contribution in #129
Full Changelog: v1.6.1...v1.6.2
v1.5.3 - SVG mime_type
This release ensures that all Willow ImageFile
subclasses define a mime_type
attribute.
What's Changed
- Ensure SVG files are given a mime type by @RealOrangeOne in #129
New Contributors
- @RealOrangeOne made their first contribution in #129
Full Changelog: v1.5.2...v1.5.3
v1.6.1 - better SVG viewBox number pattern matching
Accounts for the full allowed notation in SVG viewBox, for example -5.000000011410315e-06
(reference)
What's Changed
Full Changelog: v1.6...v1.6.1
v1.5.2 - better SVG viewBox number pattern matching
Accounts for the full allowed notation in SVG viewBox, for example -5.000000011410315e-06
(reference)
What's Changed
Full Changelog: v1.5.1...v1.5.2
v1.6 AVIF and support for optimizer libraries
🖼️ This release adds support for AVIF images via pillow-heif for Pillow, or ImageMagick 7.0.25+ for Wand.
🚀 It also introduces a new optimizer mechanism that allows optimizing images using dedicated libraries. Out of the box, Willow comes with optimizers for gifsicle, jpegoptim, optipng, pngquant and cwebp.
🐍 Willow no longer supports Python 3.7.
What's Changed
- Add linting by @zerolab in #116
- Switch to using flit for packaging by @zerolab in #117
- Use RTD config v2, update Sphinx configuration and use the Wagtail sphinx theme by @zerolab in #118
- Fix minor typos in README by @lb- in #120
- Re-add williow.image import in init by @zerolab in #121
- Add code coverage by @zerolab in #122
- Add check for CMYK when saving as PNG by @zerolab in #123
- Add AVIF support by @salty-ivy in #115
- Image optimisation operations by @zerolab in #69
- Add optional heif dependency to allow installing via
pip install willow[heif]
by @zerolab in #126
New Contributors
- @lb- made their first contribution in #120
- @salty-ivy made their first contribution in #115
Full Changelog: v1.5...v1.6