Skip to content

[Snyk] Security upgrade pillow from 9.5.0 to 12.3.0#706

Open
bashtage wants to merge 1 commit into
mainfrom
snyk-fix-fc45766c90d5df98d4992633f3ff9729
Open

[Snyk] Security upgrade pillow from 9.5.0 to 12.3.0#706
bashtage wants to merge 1 commit into
mainfrom
snyk-fix-fc45766c90d5df98d4992633f3ff9729

Conversation

@bashtage

Copy link
Copy Markdown
Owner

snyk-top-banner

Snyk has created this PR to fix 4 vulnerabilities in the pip dependencies of this project.

Snyk changed the following file(s):

  • requirements-dev.txt
⚠️ Warning
sphinx 5.3.0 has requirement docutils<0.20,>=0.14, but you have docutils 0.20.1.
notebook 6.5.7 requires pyzmq, which is not installed.
matplotlib 3.5.3 requires pillow, which is not installed.
matplotlib 3.5.3 requires fonttools, which is not installed.
jupyter 1.1.1 requires jupyterlab, which is not installed.
jupyter-server 1.24.0 requires pyzmq, which is not installed.
jupyter-console 6.6.3 requires pyzmq, which is not installed.
jupyter-client 7.4.9 requires pyzmq, which is not installed.
ipykernel 6.16.2 requires pyzmq, which is not installed.
flake8 5.0.4 has requirement importlib-metadata<4.3,>=1.1.0; python_version < "3.8", but you have importlib-metadata 6.7.0.

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.
  • Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Out-of-bounds Write
🦉 Out-of-bounds Read
🦉 Allocation of Resources Without Limits or Throttling

@bashtage

Copy link
Copy Markdown
Owner Author

Merge Risk: High

This major version upgrade from Pillow 9.5.0 to 12.3.0 includes several significant breaking changes that require code modifications and environment updates.

Key Breaking Changes:

  • Python Version Support: Support for Python 3.7, 3.8, and 3.9 has been dropped across versions 10.0.0, 11.0.0, and 12.0.0. Your environment must be using at least Python 3.10. [2, 3, 9]
  • Removed Image Constants: In version 10.0.0, many deprecated constants were removed and replaced by enums. This is a frequent cause of breakage. For example:
    • PIL.Image.ANTIALIAS is removed. Use PIL.Image.Resampling.LANCZOS instead. [15]
    • PIL.Image.CUBIC is removed. Use PIL.Image.Resampling.BICUBIC instead. [14]
  • API and Module Removals:
    • v10.0.0: im.category attribute, support for Tk/Tcl 8.4, and several JpegImagePlugin and ImagePalette parameters have been removed. [6, 11]
    • v11.0.0: PyAccess, Image.USE_CFFI_ACCESS, and the internal PSFile class were removed. [3]
    • v12.0.0: Several internal functions like ImageFile.raise_oserror and IptcImageFile helpers were removed. [2]

Recommendation:

This upgrade requires significant developer action. Before merging, you must:

  1. Ensure your project is running on Python 3.10 or newer.
  2. Review your code for usage of removed constants like ANTIALIAS and CUBIC and update them to use the new Image.Resampling enum values.
  3. Thoroughly test all image processing functionality, as other less common API removals may affect your application.

Source: Pillow Changelog [1, 5]

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.54%. Comparing base (7e1de2e) to head (b09e59c).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #706   +/-   ##
=======================================
  Coverage   99.54%   99.54%           
=======================================
  Files         101      101           
  Lines       17426    17426           
  Branches     1430     1430           
=======================================
  Hits        17347    17347           
  Misses         29       29           
  Partials       50       50           
Flag Coverage Δ
adder 99.52% <ø> (ø)
subtractor 99.52% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

2 participants