Skip to content

Commit a4f4775

Browse files
authored
Merge branch 'main' into fix_arrow_8907
2 parents edfc2ca + 7e4d8e2 commit a4f4775

File tree

133 files changed

+521
-812
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+521
-812
lines changed

.ci/requirements-cibw.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
cibuildwheel==2.23.2
1+
cibuildwheel==2.23.3

.github/ISSUE_TEMPLATE/RELEASE.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
name: "Maintainers only: Release"
3+
about: For maintainers to schedule a quarterly release
4+
labels: Release
5+
---
6+
7+
## Main release
8+
9+
Released quarterly on January 2nd, April 1st, July 1st and October 15th.
10+
11+
* [ ] Open a release ticket e.g. https://github.com/python-pillow/Pillow/issues/3154
12+
* [ ] Develop and prepare release in `main` branch.
13+
* [ ] Add release notes e.g. https://github.com/python-pillow/Pillow/pull/8885
14+
* [ ] Check [GitHub Actions](https://github.com/python-pillow/Pillow/actions) to confirm passing tests in `main` branch.
15+
* [ ] Check that all the wheel builds pass the tests in the [GitHub Actions "Wheels" workflow](https://github.com/python-pillow/Pillow/actions/workflows/wheels.yml) jobs by manually triggering them.
16+
* [ ] In compliance with [PEP 440](https://peps.python.org/pep-0440/), update version identifier in `src/PIL/_version.py`
17+
* [ ] Run pre-release check via `make release-test` in a freshly cloned repo.
18+
* [ ] Create branch and tag for release e.g.:
19+
```bash
20+
git branch [[MAJOR.MINOR]].x
21+
git tag [[MAJOR.MINOR]].0
22+
git push --tags
23+
```
24+
* [ ] Check the [GitHub Actions "Wheels" workflow](https://github.com/python-pillow/Pillow/actions/workflows/wheels.yml) has passed, including the "Upload release to PyPI" job. This will have been triggered by the new tag.
25+
* [ ] Publish the [release on GitHub](https://github.com/python-pillow/Pillow/releases).
26+
* [ ] In compliance with [PEP 440](https://peps.python.org/pep-0440/), increment and append `.dev0` to version identifier in `src/PIL/_version.py` and then:
27+
```bash
28+
git push --all
29+
```
30+
31+
## Publicize release
32+
33+
* [ ] Announce release availability via [Mastodon](https://fosstodon.org/@pillow) e.g. https://fosstodon.org/@pillow/110639450470725321
34+
35+
## Documentation
36+
37+
* [ ] Make sure the [default version for Read the Docs](https://pillow.readthedocs.io/en/stable/) is up-to-date with the release changes
38+
39+
## Docker images
40+
41+
* [ ] Update Pillow in the Docker Images repository
42+
```bash
43+
git clone https://github.com/python-pillow/docker-images
44+
cd docker-images
45+
./update-pillow-tag.sh [[release tag]]
46+
```

.github/workflows/test-docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ jobs:
4747
centos-stream-10-amd64,
4848
debian-12-bookworm-x86,
4949
debian-12-bookworm-amd64,
50-
fedora-40-amd64,
5150
fedora-41-amd64,
51+
fedora-42-amd64,
5252
gentoo,
5353
ubuntu-22.04-jammy-amd64,
5454
ubuntu-24.04-noble-amd64,

.github/workflows/test-windows.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
python3 -m pip install --upgrade pip
8585
8686
- name: Install CPython dependencies
87-
if: "!contains(matrix.python-version, 'pypy') && matrix.architecture != 'x86'"
87+
if: "!contains(matrix.python-version, 'pypy') && !contains(matrix.python-version, '3.14') && matrix.architecture != 'x86'"
8888
run: |
8989
python3 -m pip install PyQt6
9090
@@ -98,8 +98,8 @@ jobs:
9898
choco install nasm --no-progress
9999
echo "C:\Program Files\NASM" >> $env:GITHUB_PATH
100100
101-
choco install ghostscript --version=10.5.0 --no-progress
102-
echo "C:\Program Files\gs\gs10.05.0\bin" >> $env:GITHUB_PATH
101+
choco install ghostscript --version=10.5.1 --no-progress
102+
echo "C:\Program Files\gs\gs10.05.1\bin" >> $env:GITHUB_PATH
103103
104104
# Install extra test images
105105
xcopy /S /Y Tests\test-images\* Tests\images

.github/workflows/wheels-dependencies.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ ARCHIVE_SDIR=pillow-depends-main
3838

3939
# Package versions for fresh source builds
4040
FREETYPE_VERSION=2.13.3
41-
HARFBUZZ_VERSION=11.0.1
41+
HARFBUZZ_VERSION=11.2.1
4242
LIBPNG_VERSION=1.6.47
4343
JPEGTURBO_VERSION=3.1.0
4444
OPENJPEG_VERSION=2.5.3
@@ -92,7 +92,7 @@ function build_harfbuzz {
9292

9393
local out_dir=$(fetch_unpack https://github.com/harfbuzz/harfbuzz/releases/download/$HARFBUZZ_VERSION/harfbuzz-$HARFBUZZ_VERSION.tar.xz harfbuzz-$HARFBUZZ_VERSION.tar.xz)
9494
(cd $out_dir \
95-
&& meson setup build --prefix=$BUILD_PREFIX --libdir=$BUILD_PREFIX/lib --buildtype=release -Dfreetype=enabled -Dglib=disabled -Dtests=disabled)
95+
&& meson setup build --prefix=$BUILD_PREFIX --libdir=$BUILD_PREFIX/lib --buildtype=minsize -Dfreetype=enabled -Dglib=disabled -Dtests=disabled)
9696
(cd $out_dir/build \
9797
&& meson install)
9898
touch harfbuzz-stamp

.github/workflows/wheels.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,17 @@ jobs:
121121
windows:
122122
if: github.event_name != 'schedule' || github.repository_owner == 'python-pillow'
123123
name: Windows ${{ matrix.cibw_arch }}
124-
runs-on: windows-latest
124+
runs-on: ${{ matrix.os }}
125125
strategy:
126126
fail-fast: false
127127
matrix:
128128
include:
129129
- cibw_arch: x86
130+
os: windows-latest
130131
- cibw_arch: AMD64
132+
os: windows-latest
131133
- cibw_arch: ARM64
134+
os: windows-11-arm
132135
steps:
133136
- uses: actions/checkout@v4
134137
with:

.github/zizmor.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Configuration for the zizmor static analysis tool, run via pre-commit in CI
2+
# https://woodruffw.github.io/zizmor/configuration/
3+
rules:
4+
unpinned-uses:
5+
config:
6+
policies:
7+
"*": ref-pin

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: v0.11.4
3+
rev: v0.11.8
44
hooks:
55
- id: ruff
66
args: [--exit-non-zero-on-fix]
@@ -24,7 +24,7 @@ repos:
2424
exclude: (Makefile$|\.bat$|\.cmake$|\.eps$|\.fits$|\.gd$|\.opt$)
2525

2626
- repo: https://github.com/pre-commit/mirrors-clang-format
27-
rev: v20.1.0
27+
rev: v20.1.3
2828
hooks:
2929
- id: clang-format
3030
types: [c]
@@ -51,14 +51,14 @@ repos:
5151
exclude: ^.github/.*TEMPLATE|^Tests/(fonts|images)/
5252

5353
- repo: https://github.com/python-jsonschema/check-jsonschema
54-
rev: 0.32.1
54+
rev: 0.33.0
5555
hooks:
5656
- id: check-github-workflows
5757
- id: check-readthedocs
5858
- id: check-renovate
5959

6060
- repo: https://github.com/woodruffw/zizmor-pre-commit
61-
rev: v1.5.2
61+
rev: v1.6.0
6262
hooks:
6363
- id: zizmor
6464

Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ doc html:
2323
htmlview:
2424
$(MAKE) -C docs htmlview
2525

26+
.PHONY: htmllive
27+
htmllive:
28+
$(MAKE) -C docs htmllive
29+
2630
.PHONY: doccheck
2731
doccheck:
2832
$(MAKE) doc
@@ -43,6 +47,7 @@ help:
4347
@echo " docserve run an HTTP server on the docs directory"
4448
@echo " html make HTML docs"
4549
@echo " htmlview open the index page built by the html target in your browser"
50+
@echo " htmllive rebuild and reload HTML files in your browser"
4651
@echo " install make and install"
4752
@echo " install-coverage make and install with C coverage"
4853
@echo " lint run the lint checks"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ This library provides extensive file format support, an efficient internal repre
9595

9696
The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool.
9797

98-
## More Information
98+
## More information
9999

100100
- [Documentation](https://pillow.readthedocs.io/)
101101
- [Installation](https://pillow.readthedocs.io/en/latest/installation/basic-installation.html)
@@ -107,6 +107,6 @@ The core image library is designed for fast access to data stored in a few basic
107107
- [Changelog](https://github.com/python-pillow/Pillow/releases)
108108
- [Pre-fork](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst#pre-fork)
109109

110-
## Report a Vulnerability
110+
## Report a vulnerability
111111

112112
To report a security vulnerability, please follow the procedure described in the [Tidelift security policy](https://tidelift.com/docs/security).

0 commit comments

Comments
 (0)