mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 09:57:43 +03:00 
			
		
		
		
	Drop support for Python 3.8
This commit is contained in:
		
							parent
							
								
									585bd6ad48
								
							
						
					
					
						commit
						6879a77a6f
					
				| 
						 | 
					@ -21,9 +21,9 @@ environment:
 | 
				
			||||||
  - PYTHON: C:/Python312
 | 
					  - PYTHON: C:/Python312
 | 
				
			||||||
    ARCHITECTURE: x86
 | 
					    ARCHITECTURE: x86
 | 
				
			||||||
    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
 | 
					    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
 | 
				
			||||||
  - PYTHON: C:/Python38-x64
 | 
					  - PYTHON: C:/Python39-x64
 | 
				
			||||||
    ARCHITECTURE: AMD64
 | 
					    ARCHITECTURE: AMD64
 | 
				
			||||||
    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
 | 
					    APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
install:
 | 
					install:
 | 
				
			||||||
| 
						 | 
					@ -38,7 +38,7 @@ install:
 | 
				
			||||||
- path c:\nasm-2.16.03;C:\Program Files\gs\gs10.03.1\bin;%PATH%
 | 
					- path c:\nasm-2.16.03;C:\Program Files\gs\gs10.03.1\bin;%PATH%
 | 
				
			||||||
- cd c:\pillow\winbuild\
 | 
					- cd c:\pillow\winbuild\
 | 
				
			||||||
- ps: |
 | 
					- ps: |
 | 
				
			||||||
        c:\python38\python.exe c:\pillow\winbuild\build_prepare.py -v --depends=C:\pillow-depends\
 | 
					        c:\python39\python.exe c:\pillow\winbuild\build_prepare.py -v --depends=C:\pillow-depends\
 | 
				
			||||||
        c:\pillow\winbuild\build\build_dep_all.cmd
 | 
					        c:\pillow\winbuild\build\build_dep_all.cmd
 | 
				
			||||||
        $host.SetShouldExit(0)
 | 
					        $host.SetShouldExit(0)
 | 
				
			||||||
- path C:\pillow\winbuild\build\bin;%PATH%
 | 
					- path C:\pillow\winbuild\build\bin;%PATH%
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,7 +49,6 @@ if [[ $(uname) != CYGWIN* ]]; then
 | 
				
			||||||
    # Pyroma uses non-isolated build and fails with old setuptools
 | 
					    # Pyroma uses non-isolated build and fails with old setuptools
 | 
				
			||||||
    if [[
 | 
					    if [[
 | 
				
			||||||
        $GHA_PYTHON_VERSION == pypy3.9
 | 
					        $GHA_PYTHON_VERSION == pypy3.9
 | 
				
			||||||
        || $GHA_PYTHON_VERSION == 3.8
 | 
					 | 
				
			||||||
        || $GHA_PYTHON_VERSION == 3.9
 | 
					        || $GHA_PYTHON_VERSION == 3.9
 | 
				
			||||||
    ]]; then
 | 
					    ]]; then
 | 
				
			||||||
        # To match pyproject.toml
 | 
					        # To match pyproject.toml
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								.github/workflows/test-cygwin.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/test-cygwin.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -35,7 +35,7 @@ jobs:
 | 
				
			||||||
    strategy:
 | 
					    strategy:
 | 
				
			||||||
      fail-fast: false
 | 
					      fail-fast: false
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        python-minor-version: [8, 9]
 | 
					        python-minor-version: [9]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    timeout-minutes: 40
 | 
					    timeout-minutes: 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								.github/workflows/test-docker.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/test-docker.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -50,7 +50,6 @@ jobs:
 | 
				
			||||||
          fedora-39-amd64,
 | 
					          fedora-39-amd64,
 | 
				
			||||||
          fedora-40-amd64,
 | 
					          fedora-40-amd64,
 | 
				
			||||||
          gentoo,
 | 
					          gentoo,
 | 
				
			||||||
          ubuntu-20.04-focal-amd64,
 | 
					 | 
				
			||||||
          ubuntu-22.04-jammy-amd64,
 | 
					          ubuntu-22.04-jammy-amd64,
 | 
				
			||||||
          ubuntu-24.04-noble-amd64,
 | 
					          ubuntu-24.04-noble-amd64,
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								.github/workflows/test-windows.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/test-windows.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -35,7 +35,7 @@ jobs:
 | 
				
			||||||
    strategy:
 | 
					    strategy:
 | 
				
			||||||
      fail-fast: false
 | 
					      fail-fast: false
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        python-version: ["pypy3.10", "pypy3.9", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
 | 
					        python-version: ["pypy3.10", "pypy3.9", "3.9", "3.10", "3.11", "3.12", "3.13"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    timeout-minutes: 30
 | 
					    timeout-minutes: 30
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										5
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -48,7 +48,6 @@ jobs:
 | 
				
			||||||
          "3.11",
 | 
					          "3.11",
 | 
				
			||||||
          "3.10",
 | 
					          "3.10",
 | 
				
			||||||
          "3.9",
 | 
					          "3.9",
 | 
				
			||||||
          "3.8",
 | 
					 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
        include:
 | 
					        include:
 | 
				
			||||||
        - python-version: "3.11"
 | 
					        - python-version: "3.11"
 | 
				
			||||||
| 
						 | 
					@ -59,13 +58,9 @@ jobs:
 | 
				
			||||||
        # M1 only available for 3.10+
 | 
					        # M1 only available for 3.10+
 | 
				
			||||||
        - os: "macos-13"
 | 
					        - os: "macos-13"
 | 
				
			||||||
          python-version: "3.9"
 | 
					          python-version: "3.9"
 | 
				
			||||||
        - os: "macos-13"
 | 
					 | 
				
			||||||
          python-version: "3.8"
 | 
					 | 
				
			||||||
        exclude:
 | 
					        exclude:
 | 
				
			||||||
        - os: "macos-14"
 | 
					        - os: "macos-14"
 | 
				
			||||||
          python-version: "3.9"
 | 
					          python-version: "3.9"
 | 
				
			||||||
        - os: "macos-14"
 | 
					 | 
				
			||||||
          python-version: "3.8"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    runs-on: ${{ matrix.os }}
 | 
					    runs-on: ${{ matrix.os }}
 | 
				
			||||||
    name: ${{ matrix.os }} Python ${{ matrix.python-version }}
 | 
					    name: ${{ matrix.os }} Python ${{ matrix.python-version }}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								.github/workflows/wheels.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/wheels.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -41,7 +41,6 @@ jobs:
 | 
				
			||||||
        python-version:
 | 
					        python-version:
 | 
				
			||||||
          - pp39
 | 
					          - pp39
 | 
				
			||||||
          - pp310
 | 
					          - pp310
 | 
				
			||||||
          - cp38
 | 
					 | 
				
			||||||
          - cp39
 | 
					          - cp39
 | 
				
			||||||
          - cp310
 | 
					          - cp310
 | 
				
			||||||
          - cp311
 | 
					          - cp311
 | 
				
			||||||
| 
						 | 
					@ -136,8 +135,6 @@ jobs:
 | 
				
			||||||
          CIBW_MANYLINUX_PYPY_X86_64_IMAGE: ${{ matrix.manylinux }}
 | 
					          CIBW_MANYLINUX_PYPY_X86_64_IMAGE: ${{ matrix.manylinux }}
 | 
				
			||||||
          CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }}
 | 
					          CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }}
 | 
				
			||||||
          CIBW_PRERELEASE_PYTHONS: True
 | 
					          CIBW_PRERELEASE_PYTHONS: True
 | 
				
			||||||
          CIBW_SKIP: pp38-*
 | 
					 | 
				
			||||||
          CIBW_TEST_SKIP: cp38-macosx_arm64
 | 
					 | 
				
			||||||
          MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}
 | 
					          MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - uses: actions/upload-artifact@v4
 | 
					      - uses: actions/upload-artifact@v4
 | 
				
			||||||
| 
						 | 
					@ -208,7 +205,6 @@ jobs:
 | 
				
			||||||
          CIBW_BEFORE_ALL: "{package}\\winbuild\\build\\build_dep_all.cmd"
 | 
					          CIBW_BEFORE_ALL: "{package}\\winbuild\\build\\build_dep_all.cmd"
 | 
				
			||||||
          CIBW_CACHE_PATH: "C:\\cibw"
 | 
					          CIBW_CACHE_PATH: "C:\\cibw"
 | 
				
			||||||
          CIBW_PRERELEASE_PYTHONS: True
 | 
					          CIBW_PRERELEASE_PYTHONS: True
 | 
				
			||||||
          CIBW_SKIP: pp38-*
 | 
					 | 
				
			||||||
          CIBW_TEST_SKIP: "*-win_arm64"
 | 
					          CIBW_TEST_SKIP: "*-win_arm64"
 | 
				
			||||||
          CIBW_TEST_COMMAND: 'docker run --rm
 | 
					          CIBW_TEST_COMMAND: 'docker run --rm
 | 
				
			||||||
            -v {project}:C:\pillow
 | 
					            -v {project}:C:\pillow
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -68,8 +68,8 @@ and :pypi:`olefile` for Pillow to read FPX and MIC images::
 | 
				
			||||||
.. tab:: Windows
 | 
					.. tab:: Windows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    We provide Pillow binaries for Windows compiled for the matrix of supported
 | 
					    We provide Pillow binaries for Windows compiled for the matrix of supported
 | 
				
			||||||
    Pythons in the wheel format. These include x86, x86-64 and arm64 versions
 | 
					    Pythons in the wheel format. These include x86, x86-64 and arm64 versions.
 | 
				
			||||||
    (with the exception of Python 3.8 on arm64). These binaries include support
 | 
					    These binaries include support
 | 
				
			||||||
    for all optional libraries except libimagequant and libxcb. Raqm support
 | 
					    for all optional libraries except libimagequant and libxcb. Raqm support
 | 
				
			||||||
    requires FriBiDi to be installed separately::
 | 
					    requires FriBiDi to be installed separately::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
Python,3.12,3.11,3.10,3.9,3.8,3.7,3.6,3.5
 | 
					Python,3.12,3.11,3.10,3.9,3.8,3.7,3.6,3.5
 | 
				
			||||||
 | 
					Pillow >= 11,Yes,Yes,Yes,Yes,,,,
 | 
				
			||||||
Pillow >= 10.1,Yes,Yes,Yes,Yes,Yes,,,
 | 
					Pillow >= 10.1,Yes,Yes,Yes,Yes,Yes,,,
 | 
				
			||||||
Pillow 10.0,,Yes,Yes,Yes,Yes,,,
 | 
					Pillow 10.0,,Yes,Yes,Yes,Yes,,,
 | 
				
			||||||
Pillow 9.3 - 9.5,,Yes,Yes,Yes,Yes,Yes,,
 | 
					Pillow 9.3 - 9.5,,Yes,Yes,Yes,Yes,Yes,,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		
		
			
  | 
| 
						 | 
					@ -37,14 +37,12 @@ These platforms are built and tested for every change.
 | 
				
			||||||
+----------------------------------+----------------------------+---------------------+
 | 
					+----------------------------------+----------------------------+---------------------+
 | 
				
			||||||
| Gentoo                           | 3.9                        | x86-64              |
 | 
					| Gentoo                           | 3.9                        | x86-64              |
 | 
				
			||||||
+----------------------------------+----------------------------+---------------------+
 | 
					+----------------------------------+----------------------------+---------------------+
 | 
				
			||||||
| macOS 13 Ventura                 | 3.8, 3.9                   | x86-64              |
 | 
					| macOS 13 Ventura                 | 3.9                        | x86-64              |
 | 
				
			||||||
+----------------------------------+----------------------------+---------------------+
 | 
					+----------------------------------+----------------------------+---------------------+
 | 
				
			||||||
| macOS 14 Sonoma                  | 3.10, 3.11, 3.12, 3.13,    | arm64               |
 | 
					| macOS 14 Sonoma                  | 3.10, 3.11, 3.12, 3.13,    | arm64               |
 | 
				
			||||||
|                                  | PyPy3                      |                     |
 | 
					|                                  | PyPy3                      |                     |
 | 
				
			||||||
+----------------------------------+----------------------------+---------------------+
 | 
					+----------------------------------+----------------------------+---------------------+
 | 
				
			||||||
| Ubuntu Linux 20.04 LTS (Focal)   | 3.8                        | x86-64              |
 | 
					| Ubuntu Linux 22.04 LTS (Jammy)   | 3.9, 3.10, 3.11,           | x86-64              |
 | 
				
			||||||
+----------------------------------+----------------------------+---------------------+
 | 
					 | 
				
			||||||
| Ubuntu Linux 22.04 LTS (Jammy)   | 3.8, 3.9, 3.10, 3.11,      | x86-64              |
 | 
					 | 
				
			||||||
|                                  | 3.12, 3.13, PyPy3          |                     |
 | 
					|                                  | 3.12, 3.13, PyPy3          |                     |
 | 
				
			||||||
|                                  +----------------------------+---------------------+
 | 
					|                                  +----------------------------+---------------------+
 | 
				
			||||||
|                                  | 3.10                       | arm64v8             |
 | 
					|                                  | 3.10                       | arm64v8             |
 | 
				
			||||||
| 
						 | 
					@ -52,16 +50,16 @@ These platforms are built and tested for every change.
 | 
				
			||||||
| Ubuntu Linux 24.04 LTS (Noble)   | 3.12                       | x86-64, ppc64le,    |
 | 
					| Ubuntu Linux 24.04 LTS (Noble)   | 3.12                       | x86-64, ppc64le,    |
 | 
				
			||||||
|                                  |                            | s390x               |
 | 
					|                                  |                            | s390x               |
 | 
				
			||||||
+----------------------------------+----------------------------+---------------------+
 | 
					+----------------------------------+----------------------------+---------------------+
 | 
				
			||||||
| Windows Server 2016              | 3.8                        | x86-64              |
 | 
					| Windows Server 2016              | 3.9                        | x86-64              |
 | 
				
			||||||
+----------------------------------+----------------------------+---------------------+
 | 
					+----------------------------------+----------------------------+---------------------+
 | 
				
			||||||
| Windows Server 2022              | 3.8, 3.9, 3.10, 3.11,      | x86-64              |
 | 
					| Windows Server 2022              | 3.9, 3.10, 3.11,           | x86-64              |
 | 
				
			||||||
|                                  | 3.12, 3.13, PyPy3          |                     |
 | 
					|                                  | 3.12, 3.13, PyPy3          |                     |
 | 
				
			||||||
|                                  +----------------------------+---------------------+
 | 
					|                                  +----------------------------+---------------------+
 | 
				
			||||||
|                                  | 3.12                       | x86                 |
 | 
					|                                  | 3.12                       | x86                 |
 | 
				
			||||||
|                                  +----------------------------+---------------------+
 | 
					|                                  +----------------------------+---------------------+
 | 
				
			||||||
|                                  | 3.9 (MinGW)                | x86-64              |
 | 
					|                                  | 3.9 (MinGW)                | x86-64              |
 | 
				
			||||||
|                                  +----------------------------+---------------------+
 | 
					|                                  +----------------------------+---------------------+
 | 
				
			||||||
|                                  | 3.8, 3.9 (Cygwin)          | x86-64              |
 | 
					|                                  | 3.9 (Cygwin)               | x86-64              |
 | 
				
			||||||
+----------------------------------+----------------------------+---------------------+
 | 
					+----------------------------------+----------------------------+---------------------+
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,6 +17,12 @@ TODO
 | 
				
			||||||
Backwards Incompatible Changes
 | 
					Backwards Incompatible Changes
 | 
				
			||||||
==============================
 | 
					==============================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Python 3.8
 | 
				
			||||||
 | 
					^^^^^^^^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pillow has dropped support for Python 3.8,
 | 
				
			||||||
 | 
					which reached end-of-life in October 2024.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PSFile
 | 
					PSFile
 | 
				
			||||||
^^^^^^
 | 
					^^^^^^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,12 +16,11 @@ keywords = [
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
license = {text = "HPND"}
 | 
					license = {text = "HPND"}
 | 
				
			||||||
authors = [{name = "Jeffrey A. Clark", email = "aclark@aclark.net"}]
 | 
					authors = [{name = "Jeffrey A. Clark", email = "aclark@aclark.net"}]
 | 
				
			||||||
requires-python = ">=3.8"
 | 
					requires-python = ">=3.9"
 | 
				
			||||||
classifiers = [
 | 
					classifiers = [
 | 
				
			||||||
  "Development Status :: 6 - Mature",
 | 
					  "Development Status :: 6 - Mature",
 | 
				
			||||||
  "License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)",
 | 
					  "License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)",
 | 
				
			||||||
  "Programming Language :: Python :: 3 :: Only",
 | 
					  "Programming Language :: Python :: 3 :: Only",
 | 
				
			||||||
  "Programming Language :: Python :: 3.8",
 | 
					 | 
				
			||||||
  "Programming Language :: Python :: 3.9",
 | 
					  "Programming Language :: Python :: 3.9",
 | 
				
			||||||
  "Programming Language :: Python :: 3.10",
 | 
					  "Programming Language :: Python :: 3.10",
 | 
				
			||||||
  "Programming Language :: Python :: 3.11",
 | 
					  "Programming Language :: Python :: 3.11",
 | 
				
			||||||
| 
						 | 
					@ -136,7 +135,7 @@ addopts = "-ra --color=yes"
 | 
				
			||||||
testpaths = ["Tests"]
 | 
					testpaths = ["Tests"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tool.mypy]
 | 
					[tool.mypy]
 | 
				
			||||||
python_version = "3.8"
 | 
					python_version = "3.9"
 | 
				
			||||||
pretty = true
 | 
					pretty = true
 | 
				
			||||||
disallow_any_generics = true
 | 
					disallow_any_generics = true
 | 
				
			||||||
enable_error_code = "ignore-without-code"
 | 
					enable_error_code = "ignore-without-code"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user