Skip to content

Commit b41a50d

Browse files
authored
Merge branch 'main' into fix-qtables-and-quality-scaling
2 parents 43b1559 + 086e05f commit b41a50d

18 files changed

Lines changed: 123 additions & 82 deletions

.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-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,8 +38,8 @@ ARCHIVE_SDIR=pillow-depends-main
3838

3939
# Package versions for fresh source builds
4040
FREETYPE_VERSION=2.13.3
41-
HARFBUZZ_VERSION=11.1.0
42-
LIBPNG_VERSION=1.6.47
41+
HARFBUZZ_VERSION=11.2.1
42+
LIBPNG_VERSION=1.6.48
4343
JPEGTURBO_VERSION=3.1.0
4444
OPENJPEG_VERSION=2.5.3
4545
XZ_VERSION=5.8.1

.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

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).

RELEASING.md

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,15 @@
1-
# Release Checklist
1+
# Release checklist
22

33
See https://pillow.readthedocs.io/en/stable/releasenotes/versioning.html for
44
information about how the version numbers line up with releases.
55

6-
## Main Release
6+
## Main release
77

88
Released quarterly on January 2nd, April 1st, July 1st and October 15th.
99

10-
* [ ] Open a release ticket e.g. https://github.com/python-pillow/Pillow/issues/3154
11-
* [ ] Develop and prepare release in `main` branch.
12-
* [ ] Check [GitHub Actions](https://github.com/python-pillow/Pillow/actions) to confirm passing tests in `main` branch.
13-
* [ ] 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.
14-
* [ ] In compliance with [PEP 440](https://peps.python.org/pep-0440/), update version identifier in `src/PIL/_version.py`
15-
* [ ] Run pre-release check via `make release-test` in a freshly cloned repo.
16-
* [ ] Create branch and tag for release e.g.:
17-
```bash
18-
git branch 5.2.x
19-
git tag 5.2.0
20-
git push --tags
21-
```
22-
* [ ] Check the [GitHub Actions "Wheels" workflow](https://github.com/python-pillow/Pillow/actions/workflows/wheels.yml)
23-
has passed, including the "Upload release to PyPI" job. This will have been triggered
24-
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/),
27-
increment and append `.dev0` to version identifier in `src/PIL/_version.py` and then:
28-
```bash
29-
git push --all
30-
```
31-
## Point Release
10+
* [ ] Create a new issue and select the "Maintainers only: Release" template.
11+
12+
## Point release
3213

3314
Released as needed for security, installation or critical bug fixes.
3415

@@ -58,7 +39,7 @@ Released as needed for security, installation or critical bug fixes.
5839
git push
5940
```
6041

61-
## Embargoed Release
42+
## Embargoed release
6243

6344
Released as needed privately to individual vendors for critical security-related bug fixes.
6445

@@ -82,15 +63,15 @@ Released as needed privately to individual vendors for critical security-related
8263
git push origin 2.5.x
8364
```
8465

85-
## Publicize Release
66+
## Publicize release
8667

8768
* [ ] Announce release availability via [Mastodon](https://fosstodon.org/@pillow) e.g. https://fosstodon.org/@pillow/110639450470725321
8869

8970
## Documentation
9071

9172
* [ ] Make sure the [default version for Read the Docs](https://pillow.readthedocs.io/en/stable/) is up-to-date with the release changes
9273

93-
## Docker Images
74+
## Docker images
9475

9576
* [ ] Update Pillow in the Docker Images repository
9677
```bash

Tests/test_file_avif.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ def test_background_from_gif(self, tmp_path: Path) -> None:
233233
with Image.open(out_gif) as reread:
234234
reread_value = reread.convert("RGB").getpixel((1, 1))
235235
difference = sum([abs(original_value[i] - reread_value[i]) for i in range(3)])
236-
assert difference <= 3
236+
assert difference <= 6
237237

238238
def test_save_single_frame(self, tmp_path: Path) -> None:
239239
temp_file = tmp_path / "temp.avif"

Tests/test_image_resample.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ def test_wrong_arguments(self, resample: Image.Resampling) -> None:
462462
im.resize((32, 32), resample, (20, 20, 20, 100))
463463
im.resize((32, 32), resample, (20, 20, 100, 20))
464464

465-
with pytest.raises(TypeError, match="must be sequence of length 4"):
465+
with pytest.raises(TypeError, match="must be (sequence|tuple) of length 4"):
466466
im.resize((32, 32), resample, (im.width, im.height)) # type: ignore[arg-type]
467467

468468
with pytest.raises(ValueError, match="can't be negative"):

0 commit comments

Comments
 (0)