Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: python-pillow/Pillow
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9.3.0
Choose a base ref
...
head repository: python-pillow/Pillow
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 10.3.0
Choose a head ref

Commits on Jun 28, 2014

  1. Initial commit

    matthew-brett committed Jun 28, 2014
    Copy the full SHA
    535e896 View commit details
  2. Copy the full SHA
    837f755 View commit details
  3. Copy the full SHA
    43d9322 View commit details
  4. Copy the full SHA
    17760ef View commit details
  5. NF: add wheel renaming

    matthew-brett committed Jun 28, 2014
    Copy the full SHA
    139fb75 View commit details

Commits on Jun 29, 2014

  1. Copy the full SHA
    c471b89 View commit details

Commits on Jun 30, 2014

  1. Copy the full SHA
    ed040a1 View commit details
  2. Copy the full SHA
    6d29148 View commit details
  3. RF: remove unused variables and installs

    [skip ci]
    matthew-brett committed Jun 30, 2014
    Copy the full SHA
    0061649 View commit details

Commits on Jul 3, 2014

  1. Copy the full SHA
    2efbaa4 View commit details
  2. Copy the full SHA
    bd82543 View commit details
  3. Copy the full SHA
    8510111 View commit details
  4. Run the full test suite

    wiredfool committed Jul 3, 2014
    Copy the full SHA
    2396ca7 View commit details
  5. Add latest Python 2.6

    And use latest 2.7
    hugovk committed Jul 3, 2014
    Copy the full SHA
    6323ba1 View commit details
  6. Use latest Python 2.7

    hugovk committed Jul 3, 2014
    Copy the full SHA
    7ae7fd8 View commit details
  7. Merge remote-tracking branch 'hugovk/patch-2'

    * hugovk/patch-2:
      Use latest Python 2.7
    
    Conflicts:
    	.travis.yml
    matthew-brett committed Jul 3, 2014
    Copy the full SHA
    9ba52f3 View commit details
  8. Merge remote-tracking branch 'wiredfool/more_tests'

    * wiredfool/more_tests:
      Run the full test suite
    matthew-brett committed Jul 3, 2014
    Copy the full SHA
    047bd46 View commit details

Commits on Jul 4, 2014

  1. Copy the full SHA
    a7f6045 View commit details
  2. RF: remove 2.6 build

    2.6 build hit a problem with old pip and SSL:
    pypa/pip#829
    
    Rather than struggle through, just remove that build.
    matthew-brett committed Jul 4, 2014
    Copy the full SHA
    6919d6d View commit details
  3. RF: try disabling multiprocess tests

    Suggestion from @wiredfool on github
    matthew-brett committed Jul 4, 2014
    Copy the full SHA
    7163b90 View commit details
  4. Copy the full SHA
    074951f View commit details
  5. Copy the full SHA
    aee70fa View commit details
  6. Copy the full SHA
    54f4250 View commit details
  7. Copy the full SHA
    37b0008 View commit details

Commits on Jul 5, 2014

  1. RF: update git-closest-tag test

    Update terryfy with git-closest-tag; use in .travis.yml
    matthew-brett committed Jul 5, 2014
    Copy the full SHA
    86ef45d View commit details
  2. Copy the full SHA
    3923716 View commit details
  3. Revert "TMP: remove long tests to get wheel build"

    This reverts commit 3923716.
    matthew-brett committed Jul 5, 2014
    Copy the full SHA
    3caeeea View commit details
  4. Copy the full SHA
    c52dc4c View commit details

Commits on Jul 6, 2014

  1. RF: try openjpeg fixes

    matthew-brett committed Jul 6, 2014
    Copy the full SHA
    e26a654 View commit details

Commits on Jul 7, 2014

  1. Copy the full SHA
    0bfde3d View commit details
  2. Copy the full SHA
    c4dc879 View commit details

Commits on Jul 24, 2014

  1. YA attempt at cloudfiles

    wiredfool committed Jul 24, 2014
    Copy the full SHA
    38a2004 View commit details
  2. BF: update to latest terryfy

    travis-ci mac vms changed to OSX 10.9.4 causing some problems with
    Python 2.7 and pip.
    matthew-brett committed Jul 24, 2014
    Copy the full SHA
    28b96af View commit details
  3. Merge pull request #4 from matthew-brett/update-terryfy

    BF: update to latest terryfy
    hugovk committed Jul 24, 2014
    Copy the full SHA
    2cb0ff5 View commit details

Commits on Jul 25, 2014

  1. Copy the full SHA
    abf4842 View commit details
  2. Copy the full SHA
    1d34881 View commit details

Commits on Aug 13, 2014

  1. New Upstream Version

    wiredfool committed Aug 13, 2014
    Copy the full SHA
    580b769 View commit details
  2. Copy the full SHA
    eaf82c3 View commit details

Commits on Aug 18, 2014

  1. New Upstream Version

    wiredfool committed Aug 18, 2014
    Copy the full SHA
    b033573 View commit details
  2. Build from python-Pillow

    wiredfool committed Aug 18, 2014
    Copy the full SHA
    4ae7091 View commit details

Commits on Sep 29, 2014

  1. 2.6.0-rc1

    wiredfool committed Sep 29, 2014
    Copy the full SHA
    8e267ad View commit details

Commits on Sep 30, 2014

  1. Tweak nose settings

    wiredfool committed Sep 30, 2014
    Copy the full SHA
    eb4143b View commit details
  2. Copy the full SHA
    c04489e View commit details

Commits on Oct 1, 2014

  1. 2.6.0 release

    wiredfool committed Oct 1, 2014
    Copy the full SHA
    1438208 View commit details

Commits on Oct 8, 2014

  1. Update README.rst

    Nit
    aclark4life committed Oct 8, 2014
    Copy the full SHA
    b2cf791 View commit details
  2. Clean up

    aclark4life committed Oct 8, 2014
    Copy the full SHA
    06f5193 View commit details

Commits on Oct 13, 2014

  1. Version Bump - 2.6.1

    wiredfool committed Oct 13, 2014
    Copy the full SHA
    f18fbd5 View commit details
  2. Copy the full SHA
    e039df6 View commit details

Commits on Nov 21, 2014

  1. Copy the full SHA
    2840fd3 View commit details
  2. Merge pull request #7 from matthew-brett/update-terryfy

    Update to latest terryfy
    matthew-brett committed Nov 21, 2014
    Copy the full SHA
    4ea91f5 View commit details
Showing 651 changed files with 24,598 additions and 11,340 deletions.
53 changes: 29 additions & 24 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
skip_commits:
files:
- ".github/**"
- ".gitmodules"
- "docs/**"
- "wheels/**"

version: '{build}'
clone_folder: c:\pillow
init:
@@ -6,52 +13,53 @@ init:
# Uncomment previous line to get RDP access during the build.

environment:
COVERAGE_CORE: sysmon
EXECUTABLE: python.exe
TEST_OPTIONS:
DEPLOY: YES
matrix:
- PYTHON: C:/Python310
- PYTHON: C:/Python312
ARCHITECTURE: x86
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- PYTHON: C:/Python37-x64
ARCHITECTURE: x64
- PYTHON: C:/Python38-x64
ARCHITECTURE: AMD64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017


install:
- '%PYTHON%\%EXECUTABLE% --version'
- curl -fsSL -o pillow-depends.zip https://github.com/python-pillow/pillow-depends/archive/main.zip
- 7z x pillow-depends.zip -oc:\
- mv c:\pillow-depends-main c:\pillow-depends
- xcopy /S /Y c:\pillow-depends\test_images\* c:\pillow\tests\images
- 7z x ..\pillow-depends\nasm-2.15.05-win64.zip -oc:\
- ..\pillow-depends\gs1000w32.exe /S
- path c:\nasm-2.15.05;C:\Program Files (x86)\gs\gs10.0.0\bin;%PATH%
- '%PYTHON%\%EXECUTABLE% -m pip install --upgrade pip'
- curl -fsSL -o pillow-test-images.zip https://github.com/python-pillow/test-images/archive/main.zip
- 7z x pillow-test-images.zip -oc:\
- xcopy /S /Y c:\test-images-main\* c:\pillow\tests\images
- curl -fsSL -o nasm-win64.zip https://raw.githubusercontent.com/python-pillow/pillow-depends/main/nasm-2.16.01-win64.zip
- 7z x nasm-win64.zip -oc:\
- choco install ghostscript --version=10.3.0
- path c:\nasm-2.16.01;C:\Program Files\gs\gs10.00.0\bin;%PATH%
- cd c:\pillow\winbuild\
- ps: |
c:\python37\python.exe c:\pillow\winbuild\build_prepare.py -v --depends=C:\pillow-depends\
c:\python38\python.exe c:\pillow\winbuild\build_prepare.py -v --depends=C:\pillow-depends\
c:\pillow\winbuild\build\build_dep_all.cmd
$host.SetShouldExit(0)
- path C:\pillow\winbuild\build\bin;%PATH%

build_script:
- ps: |
c:\pillow\winbuild\build\build_pillow.cmd install
$host.SetShouldExit(0)
- cd c:\pillow
- winbuild\build\build_env.cmd
- '%PYTHON%\%EXECUTABLE% -m pip install -v -C raqm=vendor -C fribidi=vendor .'
- '%PYTHON%\%EXECUTABLE% selftest.py --installed'

test_script:
- cd c:\pillow
- '%PYTHON%\%EXECUTABLE% -m pip install pytest pytest-cov pytest-timeout'
- '%PYTHON%\%EXECUTABLE% -m pip install pytest pytest-cov pytest-timeout defusedxml numpy olefile pyroma'
- c:\"Program Files (x86)"\"Windows Kits"\10\Debuggers\x86\gflags.exe /p /enable %PYTHON%\%EXECUTABLE%
- '%PYTHON%\%EXECUTABLE% -c "from PIL import Image"'
- '%PYTHON%\%EXECUTABLE% -m pytest -vx --cov PIL --cov Tests --cov-report term --cov-report xml Tests'
#- '%PYTHON%\%EXECUTABLE% test-installed.py -v -s %TEST_OPTIONS%' TODO TEST_OPTIONS with pytest?

after_test:
- python -m pip install codecov
- codecov --file coverage.xml --name %PYTHON% --flags AppVeyor
- curl -Os https://uploader.codecov.io/latest/windows/codecov.exe
- .\codecov.exe --file coverage.xml --name %PYTHON% --flags AppVeyor

matrix:
fast_finish: true
@@ -60,18 +68,15 @@ cache:
- '%LOCALAPPDATA%\pip\Cache'

artifacts:
- path: pillow\dist\*.egg
- path: pillow\*.egg
name: egg
- path: pillow\dist\*.wheel
- path: pillow\*.whl
name: wheel

before_deploy:
- cd c:\pillow
- '%PYTHON%\%EXECUTABLE% -m pip install wheel'
- cd c:\pillow\winbuild\
- c:\pillow\winbuild\build\build_pillow.cmd bdist_wheel
- cd c:\pillow
- ps: Get-ChildItem .\dist\*.* | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
- '%PYTHON%\%EXECUTABLE% -m pip wheel -v -C raqm=vendor -C fribidi=vendor .'
- ps: Get-ChildItem .\*.whl | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }

deploy:
provider: S3
2 changes: 1 addition & 1 deletion .ci/after_success.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

# gather the coverage data
python3 -m pip install codecov
python3 -m pip install coverage
if [[ $MATRIX_DOCKER ]]; then
python3 -m coverage xml --ignore-errors
else
21 changes: 17 additions & 4 deletions .ci/install.sh
Original file line number Diff line number Diff line change
@@ -22,12 +22,14 @@ set -e
if [[ $(uname) != CYGWIN* ]]; then
sudo apt-get -qq install libfreetype6-dev liblcms2-dev python3-tk\
ghostscript libffi-dev libjpeg-turbo-progs libopenjp2-7-dev\
cmake meson imagemagick libharfbuzz-dev libfribidi-dev
cmake meson imagemagick libharfbuzz-dev libfribidi-dev\
sway wl-clipboard libopenblas-dev
fi

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade wheel
PYTHONOPTIMIZE=0 python3 -m pip install cffi
# TODO Update condition when cffi supports 3.13
if ! [[ "$GHA_PYTHON_VERSION" == "3.13" ]]; then PYTHONOPTIMIZE=0 python3 -m pip install cffi ; fi
python3 -m pip install coverage
python3 -m pip install defusedxml
python3 -m pip install olefile
@@ -37,14 +39,25 @@ python3 -m pip install -U pytest-timeout
python3 -m pip install pyroma

if [[ $(uname) != CYGWIN* ]]; then
python3 -m pip install numpy
# TODO Update condition when NumPy supports 3.13
if ! [[ "$GHA_PYTHON_VERSION" == "3.13" ]]; then python3 -m pip install numpy ; fi

# PyQt6 doesn't support PyPy3
if [[ $GHA_PYTHON_VERSION == 3.* ]]; then
sudo apt-get -qq install libegl1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxkbcommon-x11-0
sudo apt-get -qq install libegl1 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxkbcommon-x11-0
python3 -m pip install pyqt6
fi

# Pyroma uses non-isolated build and fails with old setuptools
if [[
$GHA_PYTHON_VERSION == pypy3.9
|| $GHA_PYTHON_VERSION == 3.8
|| $GHA_PYTHON_VERSION == 3.9
]]; then
# To match pyproject.toml
python3 -m pip install "setuptools>=67.8"
fi

# webp
pushd depends && ./install_webp.sh && popd

1 change: 1 addition & 0 deletions .ci/requirements-cibw.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cibuildwheel==2.17.0
1 change: 1 addition & 0 deletions .ci/requirements-mypy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
mypy==1.9.0
14 changes: 9 additions & 5 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -2,15 +2,19 @@

[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma:
pragma: no cover

# Don't complain if non-runnable code isn't run:
exclude_also =
# Don't complain if non-runnable code isn't run
if 0:
if __name__ == .__main__.:
# Don't complain about debug code
if DEBUG:
# Don't complain about compatibility code for missing optional dependencies
except ImportError
if TYPE_CHECKING:
@abc.abstractmethod
# Empty bodies in protocols or abstract methods
^\s*def [a-zA-Z0-9_]+\(.*\)(\s*->.*)?:\s*\.\.\.(\s*#.*)?$
^\s*\.\.\.(\s*#.*)?$

[run]
omit =
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ indent_style = space

trim_trailing_whitespace = true

[*.yml]
[*.{toml,yml}]
# Two-space indentation
indent_size = 2

6 changes: 6 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Flake8
8de95676e0fd89f2326b3953488ab66ff29cd2d0
# Format with Black
53a7e3500437a9fd5826bc04758f7116bd7e52dc
# Format the C code with ClangFormat
46b7e86bab79450ec0a2866c6c0c679afb659d17
1 change: 1 addition & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -19,6 +19,7 @@ Please send a pull request to the `main` branch. Please include [documentation](
- Follow PEP 8.
- When committing only documentation changes please include `[ci skip]` in the commit message to avoid running tests on AppVeyor.
- Include [release notes](https://github.com/python-pillow/Pillow/tree/main/docs/releasenotes) as needed or appropriate with your bug fixes, feature additions and tests.
- Do not add to the [changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) for proposed changes, as that is updated after changes are merged.

## Reporting Issues

2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
tidelift: "pypi/Pillow"
tidelift: "pypi/pillow"
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/ISSUE_REPORT.md
Original file line number Diff line number Diff line change
@@ -48,6 +48,21 @@ Thank you.
* Python:
* Pillow:

```text
Please paste here the output of running:
python3 -m PIL.report
or
python3 -m PIL --report
Or the output of the following Python code:
from PIL import report
# or
from PIL import features
features.pilinfo(supported_formats=False)
```

<!--
Please include **code** that reproduces the issue and whenever possible, an **image** that demonstrates the issue. Please upload images to GitHub, not to third-party file hosting sites. If necessary, add the image to a zip or tar archive.
2 changes: 1 addition & 1 deletion .github/mergify.yml
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ pull_request_rules:
- status-success=Test Successful
- status-success=Docker Test Successful
- status-success=Windows Test Successful
- status-success=MinGW Test Successful
- status-success=MinGW
- status-success=Cygwin Test Successful
- status-success=continuous-integration/appveyor/pr
actions:
18 changes: 18 additions & 0 deletions .github/problem-matchers/gcc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"__comment": "Based on vscode-cpptools' Extension/package.json gcc rule",
"problemMatcher": [
{
"owner": "gcc-problem-matcher",
"pattern": [
{
"regexp": "^\\s*(.*):(\\d+):(\\d+):\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
]
}
]
}
2 changes: 2 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -13,6 +13,8 @@ categories:
label: "Removal"
- title: "Testing"
label: "Testing"
- title: "Type hints"
label: "Type hints"

exclude-labels:
- "changelog: skip"
10 changes: 7 additions & 3 deletions .github/workflows/cifuzz.yml
Original file line number Diff line number Diff line change
@@ -2,19 +2,23 @@ name: CIFuzz

on:
push:
branches:
- "**"
paths:
- ".github/workflows/cifuzz.yml"
- "**.c"
- "**.h"
pull_request:
paths:
- ".github/workflows/cifuzz.yml"
- "**.c"
- "**.h"
workflow_dispatch:

permissions:
contents: read

concurrency:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

@@ -38,13 +42,13 @@ jobs:
language: python
dry-run: false
- name: Upload New Crash
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts
- name: Upload Legacy Crash
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: steps.run.outcome == 'success'
with:
name: crash
69 changes: 69 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Docs

on:
push:
branches:
- "**"
paths:
- ".github/workflows/docs.yml"
- "docs/**"
- "src/PIL/**"
pull_request:
paths:
- ".github/workflows/docs.yml"
- "docs/**"
- "src/PIL/**"
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
FORCE_COLOR: 1

jobs:
build:

runs-on: ubuntu-latest
name: Docs

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
cache: pip
cache-dependency-path: |
".ci/*.sh"
"pyproject.toml"
- name: Build system information
run: python3 .github/workflows/system-info.py

- name: Cache libimagequant
uses: actions/cache@v4
id: cache-libimagequant
with:
path: ~/cache-libimagequant
key: ${{ runner.os }}-libimagequant-${{ hashFiles('depends/install_imagequant.sh') }}

- name: Install Linux dependencies
run: |
.ci/install.sh
env:
GHA_PYTHON_VERSION: "3.x"
GHA_LIBIMAGEQUANT_CACHE_HIT: ${{ steps.cache-libimagequant.outputs.cache-hit }}

- name: Build
run: |
.ci/build.sh
- name: Docs
run: |
make doccheck
Loading