Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
f4cd5e7
Assert image type
radarhere Apr 3, 2025
79f834e
If pasting an image onto itself at a lower position, copy from bottom
radarhere Apr 11, 2025
81fa4e1
If pasting image to self at lower position with mask, copy from bottom
radarhere Apr 11, 2025
9973722
Only deprecate fromarray mode for changing data types
radarhere Jul 7, 2025
74e36e0
Added RGBX and CMYK as alternatives for RGBA array data
radarhere Jul 11, 2025
bc2519a
Removed helper method _i8, unused since dump() was removed
radarhere Jul 11, 2025
68ac337
Codec is always "iptc"
radarhere Jul 12, 2025
cfa51ad
Populate single band
radarhere Jul 12, 2025
85212db
Add image band metadata for the 4 channel images
wiredfool Jul 19, 2025
6455640
WIP - Not working in pyarrow
wiredfool Jul 19, 2025
1159e65
Added integration tests for Arro3, comparable to PyArrow tests
wiredfool Jul 20, 2025
1a02d4e
lint fixes
wiredfool Jul 20, 2025
28c7645
Added tests for integration with nanoarrow
wiredfool Jul 21, 2025
7d2abbd
lint.
wiredfool Jul 21, 2025
c07fe6e
Added flat image metadata tests
wiredfool Jul 21, 2025
9e415c7
A way to make nested arrays in nano arrow but detouring through a buffer
wiredfool Jul 21, 2025
7afbafd
Support saving variable length rational TIFF tags
radarhere Jul 26, 2025
a6acc67
Always check XMLPacket value
radarhere Jul 26, 2025
283dcfc
Removed unused code
radarhere Jul 26, 2025
e8b3c17
Updated documentation
radarhere Jul 28, 2025
5fc0cf1
Merge branch 'main' into pyarrow_band_names
radarhere Aug 1, 2025
0620daf
Renamed variable to not shadow import
radarhere Aug 2, 2025
94a3262
Merge branch 'main' into fromarray_mode
radarhere Aug 2, 2025
0465627
Fill alpha channel when quantizing RGB images
radarhere Aug 5, 2025
4f8ac76
Updated raqm to 0.10.3
radarhere Aug 5, 2025
35c9230
Allow RGBA palettes to work with expand()
radarhere Aug 6, 2025
d975e31
Updated zlib-ng to 2.2.5
radarhere Aug 7, 2025
b8ffea2
Revert "Revert to zlib on macOS < 10.15"
radarhere Aug 7, 2025
6d974b6
Load image palette into Python after converting to PA
radarhere Aug 15, 2025
0ae2611
Copy C palette when merging
radarhere Aug 15, 2025
ba66fec
When converting RGBA to PA, use RGB to P quantization
radarhere Aug 15, 2025
0d72707
Removed version from PDF comment
radarhere Aug 25, 2025
a59ce25
Install zstd for libtiff on Linux
radarhere Aug 28, 2025
05a6010
Fixed loading rotated PCD images
radarhere Aug 28, 2025
c6915f7
rotate() will use "angle % 360"
radarhere Aug 28, 2025
c7a268e
ImageMorph operations must have length 1 (#9102)
radarhere Aug 31, 2025
1c70e71
Merge branch 'main' into fromarray_mode
radarhere Aug 31, 2025
31eee6e
[pre-commit.ci] pre-commit autoupdate (#9180)
pre-commit-ci[bot] Sep 1, 2025
57a5f76
Removed unused split
radarhere Sep 2, 2025
485d988
Limit length of read operation
radarhere Sep 2, 2025
caacd38
Raise mode error before reading
radarhere Sep 2, 2025
0e22b0c
Removed unused code
radarhere Sep 3, 2025
72c067a
Check all reserved bytes in header
radarhere Sep 3, 2025
e73b5ff
Do not unnecessarily update __offset
radarhere Sep 3, 2025
208e9b5
Removed unused code (#9182)
hugovk Sep 3, 2025
caede14
Revert "Removed unused code"
radarhere Sep 3, 2025
abf088f
Updated comment
radarhere Sep 3, 2025
8777073
Deprecate Image._show
radarhere Sep 3, 2025
f0bbab9
Updated libjpeg-turbo to 3.1.2
radarhere Sep 3, 2025
e0da1a6
Use walrus operator
radarhere Sep 3, 2025
cfca02a
Improved WAL test coverage
radarhere Sep 3, 2025
8b5e105
Update libjpeg-turbo to 3.1.2 (#9188)
hugovk Sep 4, 2025
c1538ac
Update raqm to 0.10.3 (#9137)
hugovk Sep 4, 2025
f570c67
Update zlib-ng to 2.2.5 (#9140)
hugovk Sep 4, 2025
c000472
Improve WalImageFile test coverage (#9189)
hugovk Sep 4, 2025
84c04b0
Revert "Removed unused code" (#9185)
hugovk Sep 4, 2025
61718ea
Install zstd for libtiff on Linux wheels (#9097)
hugovk Sep 4, 2025
ae65315
Fix reading RGB and CMYK IPTC images (#9088)
hugovk Sep 4, 2025
29309e4
Remove unused code (#9114)
hugovk Sep 4, 2025
25db482
Rename variable to not shadow import (#9124)
hugovk Sep 4, 2025
9e73e6e
Always check XMLPacket value (#9113)
hugovk Sep 4, 2025
bd63c4f
Deprecate Image._show (#9186)
hugovk Sep 4, 2025
73490e1
Mention Pillow 11.3.0 behaviour
radarhere Sep 4, 2025
5de27c6
Split versionadded info
radarhere Sep 4, 2025
8f685e1
Split versionadded info (#9190)
hugovk Sep 4, 2025
54d329f
Updated harfbuzz to 11.4.5 (#9150)
radarhere Sep 4, 2025
ba04d58
Only deprecate fromarray mode for changing data types (#9063)
hugovk Sep 4, 2025
476b122
Simplified code
radarhere Sep 5, 2025
a529797
Assert fp is not None
radarhere Sep 5, 2025
bf18e5f
Assert fp is not None
radarhere Sep 5, 2025
0675697
Test largest cursor
radarhere Sep 5, 2025
d4ed512
Use monkeypatch
radarhere Sep 5, 2025
2bf4822
Test unsupported BMP bitfields layout
radarhere Sep 5, 2025
eef4848
Use monkeypatch (#9192)
hugovk Sep 5, 2025
4469ee0
Test saving P4 images
radarhere Sep 7, 2025
7d37984
Test saving unsupported mode
radarhere Sep 7, 2025
b90fe80
Test transparency
radarhere Sep 7, 2025
a58fc56
Update github-actions (#9194)
renovate[bot] Sep 7, 2025
2d8244c
Added GitHub profile link
radarhere Sep 8, 2025
4b8bcb6
Use link
radarhere Sep 8, 2025
b7e0570
Add GitHub profile link to release notes (#9197)
hugovk Sep 8, 2025
3a580e0
Use _ensure_mutable
radarhere Sep 9, 2025
410fb60
Added alpha channel examples
radarhere Sep 9, 2025
5df7f98
Updated Ghostscript to 10.6.0
radarhere Sep 10, 2025
d70cba3
Update dependency mypy to v1.18.1 (#9207)
renovate[bot] Sep 14, 2025
c8b4a24
Updated macOS tested Pillow versions
radarhere Sep 17, 2025
0013f95
Updated macOS tested Pillow versions (#9209)
hugovk Sep 17, 2025
9e4256e
Update dependency mypy to v1.18.2 (#9213)
renovate[bot] Sep 19, 2025
92e671d
Updated tests for FreeType 2.14.1
radarhere Sep 20, 2025
6916a73
Build FreeType 2.14.1 on macOS 13, instead of using 2.14.0 from brew
radarhere Sep 20, 2025
04177eb
Updated FreeType to 2.14.1 on Windows
radarhere Sep 20, 2025
abfdbdd
Updated FreeType to 2.14.1 on Windows (#9206)
hugovk Sep 20, 2025
d64f56f
Updated openjpeg to 2.5.4
radarhere Sep 20, 2025
222933d
Seek past BeginBinary data when parsing metadata
radarhere Sep 18, 2025
9ba1029
Clear C image when MPO frame image size changes
radarhere Sep 15, 2025
ce8d054
Use naturally created image
radarhere Sep 15, 2025
913a6d8
Updated harfbuzz to 11.5.0
radarhere Sep 12, 2025
24ace1d
Update harfbuzz to 11.5.0 (#9203)
hugovk Sep 21, 2025
de4c4ae
Update openjpeg to 2.5.4 (#9215)
hugovk Sep 21, 2025
4aef5d0
Update Ghostscript to 10.6.0 (#9202)
hugovk Sep 21, 2025
d42e537
Update dependency cibuildwheel to v3.2.0 (#9219)
renovate[bot] Sep 23, 2025
2c43883
Updated libtiff to 4.7.1
radarhere Sep 25, 2025
637f25d
Revert "Allow cmake<4 when building libtiff"
radarhere Sep 25, 2025
e2a8e21
Removed _expand()
radarhere Sep 29, 2025
6b10d4c
Remove unused Image _expand() (#9227)
hugovk Sep 30, 2025
a953d86
Python 3.9 wheels are no longer needed (#9214)
radarhere Oct 1, 2025
0bcfd3b
Updated Python version
radarhere Oct 2, 2025
7cb5180
Updated FreeType to 2.14.1 on macOS and Linux
radarhere Oct 2, 2025
88c2c11
Update Python version (#9230)
hugovk Oct 2, 2025
0c0ff7c
Removed use of sudo from libavif and raqm install scripts
radarhere Oct 3, 2025
ffe0010
Update FreeType to 2.14.1 on macOS and Linux wheels (#9217)
hugovk Oct 4, 2025
8324b49
Update libtiff to 4.7.1 (#9222)
hugovk Oct 4, 2025
5a5c51c
Limit length of read operation in ImageFont._load_pilfont_data() (#9181)
hugovk Oct 4, 2025
a2e2939
Check all reserved bytes in FLI header (#9183)
hugovk Oct 4, 2025
3ced6ca
Load image palette into Python after converting to PA (#9152)
hugovk Oct 4, 2025
1a1194a
Remove use of sudo from libavif and raqm install scripts (#9231)
hugovk Oct 4, 2025
762bdce
Merge branch 'main' into rgba_pa
radarhere Oct 4, 2025
b3d1836
Update harfbuzz to 12.1.0 (#9218)
radarhere Oct 4, 2025
2275993
When converting RGBA to PA, use RGB to P quantization (#9153)
radarhere Oct 4, 2025
c807f65
Clear C image when MPO frame image size changes (#9208)
hugovk Oct 5, 2025
09e5717
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 6, 2025
8b41e5b
[pre-commit.ci] pre-commit autoupdate (#9233)
hugovk Oct 6, 2025
7259685
Build Python 3.14 on macOS 10.15
radarhere Oct 6, 2025
6d19b8a
Do not allow negative offset with memory mapping
radarhere Jul 26, 2025
cec262c
Do not allow negative offset with memory mapping (#9235)
radarhere Oct 8, 2025
797d83f
Seek past BeginBinary data when parsing EPS metadata (#9211)
hugovk Oct 8, 2025
6b4bb79
Use _ensure_mutable() (#9200)
hugovk Oct 8, 2025
1d4cda6
Cast to UINT32 before shifting bits
radarhere Sep 12, 2025
a2ef220
Cast before additional shifting
radarhere Oct 9, 2025
c40ba22
Cast before shifting bits (#9236)
radarhere Oct 9, 2025
c22e7af
Fixed loading rotated PCD images (#9177)
hugovk Oct 10, 2025
8c42abd
Allow RGBA palettes to work with ImageOps.expand() (#9138)
hugovk Oct 10, 2025
71e6660
Fill alpha channel when quantizing RGB images (#9133)
hugovk Oct 10, 2025
274a65b
Do not unnecessarily update FLI __offset (#9184)
hugovk Oct 10, 2025
396755e
Test largest CUR cursor (#9191)
hugovk Oct 10, 2025
8e3784f
Test unsupported BMP bitfields layout (#9193)
hugovk Oct 10, 2025
10c6745
Test mode when saving PPM images (#9195)
hugovk Oct 10, 2025
7cb074f
Test GD transparency (#9196)
hugovk Oct 10, 2025
3a8b905
Added ImageDraw alpha channel examples (#9201)
hugovk Oct 10, 2025
6d6f049
Build Python 3.14 on macOS 10.15 (#9234)
hugovk Oct 10, 2025
5d3086b
Removed unused access for I;32L and I;32B
radarhere Oct 10, 2025
ef8d5d3
Support saving variable length rational TIFF tags (#9111)
hugovk Oct 10, 2025
c47b8ba
Assert image type (#8845)
hugovk Oct 10, 2025
9fd4af5
Remove Pillow version from PDF comment (#9176)
hugovk Oct 10, 2025
324258c
Split parametrization
radarhere Jul 22, 2025
13e4e58
added import-not-found ignores, removed call-overload ignores
wiredfool Oct 10, 2025
b4fe17c
More typey lint
wiredfool Oct 10, 2025
76ab80f
Assert getpixel returns tuple
radarhere Jun 28, 2025
755ebb8
Assert getcolors does not return None
radarhere Jun 28, 2025
a66d0d1
Assert getpalette does not return None
radarhere Oct 11, 2025
52413cf
Update Tests/test_arro3.py
wiredfool Oct 11, 2025
fbdf607
Wheels CI: Check number of expected dists (#9239)
hugovk Oct 11, 2025
c874256
Support saving variable length rational TIFF tags by default
radarhere Oct 11, 2025
e36bf76
Added four private SGI tags
radarhere Oct 12, 2025
1b2121c
Update dependency cibuildwheel to v3.2.1
renovate[bot] Oct 12, 2025
416fb81
Removed shebang lines and executable flags (#9179)
radarhere Oct 12, 2025
5d09e0d
Update dependency cibuildwheel to v3.2.1 (#9246)
radarhere Oct 12, 2025
4892244
Update 12.0.0 release notes (#9247)
hugovk Oct 12, 2025
c60b36d
Run sdist when scheduled, but do not upload to scientific-python-nigh…
radarhere Oct 13, 2025
014f421
Removed assert
radarhere Oct 13, 2025
55f3e63
Revert "Use macos-14 for iOS arm64 simulator (#9161)"
radarhere Oct 14, 2025
2caa504
ImagingHistogramInstance can use two bands
radarhere Oct 14, 2025
a591000
Removed BGR;24 and BGR;32
radarhere Oct 14, 2025
55a4901
Removed BGR;15 and BGR;16 modes
radarhere Oct 14, 2025
8de7e77
Corrected scientific-python-nightly-wheels pattern
radarhere Oct 14, 2025
2e74354
Corrected scientific-python-nightly-wheels pattern (#9252)
radarhere Oct 14, 2025
33eb16b
Update comment: ImagingHistogramInstance can use two bands (#9251)
hugovk Oct 14, 2025
1e5237a
Removed unused access for I;32L and I;32B (#9238)
hugovk Oct 15, 2025
9042234
If pasting an image onto itself at a lower position, copy from bottom…
hugovk Oct 15, 2025
9cb36a9
Upgrade from macos-13 (#9212)
radarhere Oct 15, 2025
608619c
Use macos-latest for iOS arm64 simulator (#9250)
hugovk Oct 15, 2025
9e3a70a
Band names for arrow exported images (#9099)
hugovk Oct 15, 2025
7a6664d
Added four private SGI TIFF tags (#9245)
hugovk Oct 15, 2025
1148b7a
Check return types (#9045)
hugovk Oct 15, 2025
5ee57e4
Support saving variable length rational TIFF tags by default (#9241)
hugovk Oct 15, 2025
4fbe28a
Merge branch 'main' into mode_enums
radarhere Oct 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .ci/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ pushd depends && ./install_webp.sh && popd
pushd depends && ./install_imagequant.sh && popd

# raqm
pushd depends && ./install_raqm.sh && popd
pushd depends && sudo ./install_raqm.sh && popd

# libavif
pushd depends && ./install_libavif.sh && popd
pushd depends && sudo ./install_libavif.sh && popd

# extra test images
pushd depends && ./install_extra_test_images.sh && popd
2 changes: 1 addition & 1 deletion .ci/requirements-cibw.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
cibuildwheel==3.1.4
cibuildwheel==3.2.1
2 changes: 1 addition & 1 deletion .ci/requirements-mypy.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
mypy==1.17.1
mypy==1.18.2
IceSpringPySideStubs-PyQt6
IceSpringPySideStubs-PySide6
ipython
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
persist-credentials: false

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.x"
cache: pip
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
lint-pre-commit-

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.x"
cache: pip
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/macos-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@

set -e

if [[ "$ImageOS" == "macos13" ]]; then
brew uninstall gradle maven
fi
brew install \
aom \
dav1d \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

steps:
- name: "Check issues"
uses: actions/stale@v9
uses: actions/stale@v10
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
only-labels: "Awaiting OP Action"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:

# sets env: pythonLocation
- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
Expand Down Expand Up @@ -97,8 +97,8 @@ jobs:
choco install nasm --no-progress
echo "C:\Program Files\NASM" >> $env:GITHUB_PATH

choco install ghostscript --version=10.5.1 --no-progress
echo "C:\Program Files\gs\gs10.05.1\bin" >> $env:GITHUB_PATH
choco install ghostscript --version=10.6.0 --no-progress
echo "C:\Program Files\gs\gs10.06.0\bin" >> $env:GITHUB_PATH

# Install extra test images
xcopy /S /Y Tests\test-images\* Tests\images
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
- { python-version: "3.14t", disable-gil: true }
- { python-version: "3.13t", disable-gil: true }
# Intel
- { os: "macos-13", python-version: "3.10" }
- { os: "macos-15-intel", python-version: "3.10" }
exclude:
- { os: "macos-latest", python-version: "3.10" }

Expand All @@ -70,7 +70,7 @@ jobs:
persist-credentials: false

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
Expand Down
35 changes: 26 additions & 9 deletions .github/workflows/wheels-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,16 +93,20 @@ ARCHIVE_SDIR=pillow-depends-main
# Package versions for fresh source builds. Version numbers with "Patched"
# annotations have a source code patch that is required for some platforms. If
# you change those versions, ensure the patch is also updated.
FREETYPE_VERSION=2.13.3
HARFBUZZ_VERSION=11.3.3
if [[ -n "$IOS_SDK" ]]; then
FREETYPE_VERSION=2.13.3
else
FREETYPE_VERSION=2.14.1
fi
HARFBUZZ_VERSION=12.1.0
LIBPNG_VERSION=1.6.50
JPEGTURBO_VERSION=3.1.1
OPENJPEG_VERSION=2.5.3
JPEGTURBO_VERSION=3.1.2
OPENJPEG_VERSION=2.5.4
XZ_VERSION=5.8.1
TIFF_VERSION=4.7.0
ZSTD_VERSION=1.5.7
TIFF_VERSION=4.7.1
LCMS2_VERSION=2.17
ZLIB_VERSION=1.3.1
ZLIB_NG_VERSION=2.2.4
ZLIB_NG_VERSION=2.2.5
LIBWEBP_VERSION=1.6.0
BZIP2_VERSION=1.0.8
LIBXCB_VERSION=1.17.0
Expand Down Expand Up @@ -254,13 +258,21 @@ function build_libavif {
touch libavif-stamp
}

function build_zstd {
if [ -e zstd-stamp ]; then return; fi
local out_dir=$(fetch_unpack https://github.com/facebook/zstd/releases/download/v$ZSTD_VERSION/zstd-$ZSTD_VERSION.tar.gz)
(cd $out_dir \
&& make -j4 install)
touch zstd-stamp
}

function build {
build_xz
if [ -z "$IS_ALPINE" ] && [ -z "$SANITIZER" ] && [ -z "$IS_MACOS" ]; then
yum remove -y zlib-devel
fi
if [[ -n "$IS_MACOS" ]] && [[ "$MACOSX_DEPLOYMENT_TARGET" == "10.10" || "$MACOSX_DEPLOYMENT_TARGET" == "10.13" ]]; then
build_new_zlib
if [[ -n "$IS_MACOS" ]]; then
CFLAGS="$CFLAGS -headerpad_max_install_names" build_zlib_ng
else
build_zlib_ng
fi
Expand All @@ -285,6 +297,7 @@ function build {
--with-jpeg-include-dir=$BUILD_PREFIX/include --with-jpeg-lib-dir=$BUILD_PREFIX/lib \
--disable-webp --disable-libdeflate --disable-zstd
else
build_zstd
build_tiff
fi

Expand All @@ -309,6 +322,10 @@ function build {

if [[ -n "$IS_MACOS" ]]; then
# Custom freetype build
if [[ -z "$IOS_SDK" ]]; then
build_simple sed 4.9 https://mirrors.middlendian.com/gnu/sed
fi

build_simple freetype $FREETYPE_VERSION https://download.savannah.gnu.org/releases/freetype tar.gz --with-harfbuzz=no
else
build_freetype
Expand Down
49 changes: 34 additions & 15 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ concurrency:
cancel-in-progress: true

env:
EXPECTED_DISTS: 91
FORCE_COLOR: 1

jobs:
Expand All @@ -52,21 +53,21 @@ jobs:
include:
- name: "macOS 10.10 x86_64"
platform: macos
os: macos-13
os: macos-15-intel
cibw_arch: x86_64
build: "cp3{9,10,11}*"
build: "cp3{10,11}*"
macosx_deployment_target: "10.10"
- name: "macOS 10.13 x86_64"
platform: macos
os: macos-13
os: macos-15-intel
cibw_arch: x86_64
build: "cp3{12,13,14}*"
build: "cp3{12,13}*"
macosx_deployment_target: "10.13"
- name: "macOS 10.15 x86_64"
platform: macos
os: macos-13
os: macos-15-intel
cibw_arch: x86_64
build: "pp3*"
build: "{cp314,pp3}*"
macosx_deployment_target: "10.15"
- name: "macOS arm64"
platform: macos
Expand Down Expand Up @@ -99,19 +100,19 @@ jobs:
cibw_arch: arm64_iphoneos
- name: "iOS arm64 simulator"
platform: ios
os: macos-14
os: macos-latest
cibw_arch: arm64_iphonesimulator
- name: "iOS x86_64 simulator"
platform: ios
os: macos-13
os: macos-15-intel
cibw_arch: x86_64_iphonesimulator
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
submodules: true

- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: "3.x"

Expand Down Expand Up @@ -164,7 +165,7 @@ jobs:
repository: python-pillow/test-images
path: Tests\test-images

- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: "3.x"

Expand Down Expand Up @@ -231,15 +232,15 @@ jobs:
path: winbuild\build\bin\fribidi*

sdist:
if: github.event_name != 'schedule'
if: github.event_name != 'schedule' || github.repository_owner == 'python-pillow'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.x"

Expand All @@ -250,15 +251,33 @@ jobs:
name: dist-sdist
path: dist/*.tar.gz

count-dists:
needs: [build-native-wheels, windows, sdist]
runs-on: ubuntu-latest
name: Count dists
steps:
- uses: actions/download-artifact@v5
with:
pattern: dist-*
path: dist
merge-multiple: true
- name: "What did we get?"
run: |
ls -alR
echo "Number of dists, should be $EXPECTED_DISTS:"
files=$(ls dist 2>/dev/null | wc -l)
echo $files
[ "$files" -eq $EXPECTED_DISTS ] || exit 1

scientific-python-nightly-wheels-publish:
if: github.repository_owner == 'python-pillow' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
needs: [build-native-wheels, windows]
needs: count-dists
runs-on: ubuntu-latest
name: Upload wheels to scientific-python-nightly-wheels
steps:
- uses: actions/download-artifact@v5
with:
pattern: dist-*
pattern: dist-!(sdist)*
path: dist
merge-multiple: true
- name: Upload wheels to scientific-python-nightly-wheels
Expand All @@ -269,7 +288,7 @@ jobs:

pypi-publish:
if: github.repository_owner == 'python-pillow' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
needs: [build-native-wheels, windows, sdist]
needs: count-dists
runs-on: ubuntu-latest
name: Upload release to PyPI
environment:
Expand Down
14 changes: 7 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.12.7
rev: v0.13.3
hooks:
- id: ruff-check
args: [--exit-non-zero-on-fix]

- repo: https://github.com/psf/black-pre-commit-mirror
rev: 25.1.0
rev: 25.9.0
hooks:
- id: black

Expand All @@ -24,7 +24,7 @@ repos:
exclude: (Makefile$|\.bat$|\.cmake$|\.eps$|\.fits$|\.gd$|\.opt$|\.patch$)

- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v20.1.8
rev: v21.1.2
hooks:
- id: clang-format
types: [c]
Expand All @@ -36,7 +36,7 @@ repos:
- id: rst-backticks

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v6.0.0
hooks:
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
Expand All @@ -51,14 +51,14 @@ repos:
exclude: ^.github/.*TEMPLATE|^Tests/(fonts|images)/|\.patch$

- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.33.2
rev: 0.34.0
hooks:
- id: check-github-workflows
- id: check-readthedocs
- id: check-renovate

- repo: https://github.com/zizmorcore/zizmor-pre-commit
rev: v1.11.0
rev: v1.14.2
hooks:
- id: zizmor

Expand All @@ -68,7 +68,7 @@ repos:
- id: sphinx-lint

- repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.6.0
rev: v2.7.0
hooks:
- id: pyproject-fmt

Expand Down
1 change: 0 additions & 1 deletion Tests/createfontdatachunk.py
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/usr/bin/env python3
from __future__ import annotations

import base64
Expand Down
Binary file modified Tests/images/colr_bungee.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Tests/images/colr_bungee_mask.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Tests/images/colr_bungee_older.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Tests/images/crash-5762152299364352.fli
Binary file not shown.
Binary file added Tests/images/frame_size.mpo
Binary file not shown.
Binary file removed Tests/images/sugarshack_frame_size.mpo
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading