Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

kuflierl
Copy link

  • Bump alpine to version v3.22
  • Replaces pyheif with pillow-heif (pyheif is currently unmaintained upstream and broken with current libheif version)
  • removes pillow-avif-plugin requirement due to upstream pillow support

Related to:

@po5
Copy link
Collaborator

po5 commented Sep 22, 2025

Thanks.
Can you explain the Alpine version bump? Is newer Python required for this new version of Pillow?
This obviously needs to be looked over carefully if we're to update the Python version, but I don't know if that's even what's happening so please clear this up for me.

@kuflierl
Copy link
Author

kuflierl commented Sep 22, 2025

Alright, here is the rundown. I wanted to use a later version of pillow due to its native support for AVIF files. I also noticed that alpine 3.13 is chronically EOL (Oldest supported version is 3.19). The simplest and most secure way for me to get that latest pillow version was to get an up-to date version of Alpine so i went with that.

As far as i remember the python version isn't really a concern. Alpine 3.22 uses python 3.12.11 und Alpine 3.13 uses Python 3.8.15. This might sound like a giant version leap but as far as we can see on the Nixpkgs side, nothing broke even on python 3.13.

My main concern is that pyheif hasn't been updated to work with libheif since libheif version 1.19 (we are at 1.20)
(carsales/pyheif#103).

@udf
Copy link

udf commented Sep 22, 2025

The server does make use of the cgi module which was deprecated in Python 3.11 and is removed in Python 3.13. So we can't use the latest Python (but 3.12 should be fine) without using the legacy-cgi package or an alternative. I haven't checked if any other dependencies don't support newer Python versions.

@po5
Copy link
Collaborator

po5 commented Sep 23, 2025

Docker build fails. (--break-system-packages is needed in more places)
Considering Pillow 11 supports Python 3.9 I would rather bump only to Alpine 3.14 which seems to match all our requirements.
https://pillow.readthedocs.io/en/stable/installation/python-support.html
https://pkgs.alpinelinux.org/package/v3.14/main/x86_64/python3
I will actually test the Docker build and make sure everything still works.
I don't think it matters that our version of alpine is old, so long as the code still works on both our version of Python and the latest one. After this I'll look into the removal of cgi because I do want szurubooru to just work on new Python versions.

Previously, the minimum version for the entire project was silently bumped from 3.6 to 3.7 and later 3.8 from trivial changes in func/net.py. szurubooru actually still works on 3.6 except for code in that one file.
This will be a good time to properly document 3.9 as the minimum supported version, and not surprise users with random breakage.

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.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.