Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to 9.4.0 to fix security vulnerabilities #129

Open
wants to merge 1,760 commits into
base: simd/master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1760 commits
Select commit Hold shift + click to select a range
7b763be
Merge pull request #6719 from radarhere/bmp
hugovk Nov 5, 2022
03b8ac9
Merge pull request #6714 from wiredfool/valgrind_imagingtransform
radarhere Nov 6, 2022
4001a9f
Update CHANGES.rst [ci skip]
radarhere Nov 6, 2022
9448532
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Nov 7, 2022
820214d
Merge pull request #6721 from python-pillow/pre-commit-ci-update-config
mergify[bot] Nov 7, 2022
e31ca06
Updated AppVeyor to Python 3.11
radarhere Nov 7, 2022
5471dc2
Use fractional coordinates when drawing text
radarhere Nov 8, 2022
97a6f65
Added Interop tags
radarhere Nov 8, 2022
13dee16
Merge pull request #6704 from nulano/cve-2007-4559
radarhere Nov 8, 2022
ebde03e
Update CHANGES.rst [ci skip]
radarhere Nov 8, 2022
f264f93
Merge pull request #6723 from radarhere/appveyor
hugovk Nov 8, 2022
ec2eff1
Merge pull request #6724 from radarhere/exif
hugovk Nov 8, 2022
73bec96
Update CHANGES.rst [ci skip]
radarhere Nov 8, 2022
62fd833
Update to Python 3.11 in GitHub Actions
radarhere Nov 9, 2022
b0ab324
Use the latest Python version
radarhere Nov 9, 2022
4c6bb8a
Merge pull request #6726 from radarhere/python
hugovk Nov 9, 2022
1c032ff
Revert "Install NumPy with OpenBLAS"
radarhere Nov 9, 2022
61d31d0
Merge pull request #6727 from radarhere/numpy
hugovk Nov 10, 2022
99a1129
Updated macOS tested Pillow versions [ci skip]
radarhere Nov 12, 2022
9fbfd3f
Added oss-fuzz badge
radarhere Nov 4, 2022
7e4b28a
Merge pull request #6734 from radarhere/python
hugovk Nov 12, 2022
b617943
Merge pull request #6717 from wiredfool/oss-fuzz-badge
hugovk Nov 12, 2022
af317a6
Added MP Format Version when saving
radarhere Nov 12, 2022
20f17cc
remove unused ImagingAccess->line() method defs
Yay295 Nov 12, 2022
16994cc
remove unused ImagingAccess->line() method def
Yay295 Nov 12, 2022
55abf18
remove comment about Access.c line methods
Yay295 Nov 12, 2022
2e2b7b6
Merge pull request #6736 from Yay295/remove_line_access
hugovk Nov 13, 2022
759b030
Merge pull request #6735 from radarhere/mpformatversion
hugovk Nov 13, 2022
21f202a
Update CHANGES.rst [ci skip]
radarhere Nov 13, 2022
84458c3
Updated xz to 5.2.8
radarhere Nov 13, 2022
a7008f9
Merge pull request #6738 from radarhere/xz
hugovk Nov 14, 2022
8a3ba65
Remove Tidelift alignment action and badge
aclark4life Nov 14, 2022
70cc8a5
Fixed writing int as BYTE tag
radarhere Nov 14, 2022
ddc215c
Revert "Added Tidelift Align badge to docs"
radarhere Nov 14, 2022
398bf1d
Revert "Add tidelift alignment badge"
radarhere Nov 15, 2022
e134476
Merge pull request #6739 from python-pillow/kill-align
hugovk Nov 15, 2022
275d21b
Merge pull request #6740 from radarhere/tiff_byte
hugovk Nov 15, 2022
d4c7bd7
Update CHANGES.rst [ci skip]
radarhere Nov 15, 2022
70c8e34
Added "start" argument to docstring
radarhere Nov 15, 2022
62db044
Added release notes
radarhere Nov 15, 2022
cb40f46
Added Fedora 37
radarhere Nov 16, 2022
2b45623
Merge pull request #6722 from radarhere/font_start
hugovk Nov 16, 2022
7b171f3
Merge pull request #6742 from radarhere/fedora
hugovk Nov 16, 2022
df8e872
Update CHANGES.rst [ci skip]
radarhere Nov 16, 2022
1f6df76
updated webp with exact parameter.
ashafaei Nov 17, 2022
770560d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 17, 2022
3587f27
Added version check for WebP
ashafaei Nov 18, 2022
cc44652
Merge branch 'webp-params' of https://github.com/ashafaei/Pillow into…
ashafaei Nov 18, 2022
fdf074b
added a note to the docs for webp
ashafaei Nov 18, 2022
509dcbf
Added LightSource tag values
radarhere Nov 19, 2022
96a4d98
Simplified code
radarhere Nov 19, 2022
7e5e843
Note that the fill behaviour only affects libwebp >= 0.5
radarhere Nov 19, 2022
3c7aa13
Assert that image is equal
radarhere Nov 19, 2022
6904460
minor fix in the comments
ashafaei Nov 19, 2022
c01ecac
Merge pull request #1 from radarhere/webp-params
ashafaei Nov 19, 2022
d6f10d4
doc update for libwebp
ashafaei Nov 19, 2022
becdd31
Merge branch 'webp-params' of https://github.com/ashafaei/Pillow into…
ashafaei Nov 19, 2022
55a75b9
added RN for the new exact option.
ashafaei Nov 20, 2022
9c5b00e
RN trailing space fix
ashafaei Nov 20, 2022
8f73a89
Update docs/releasenotes/9.4.0.rst
ashafaei Nov 21, 2022
4f68047
Merge pull request #6747 from ashafaei/webp-params
mergify[bot] Nov 21, 2022
be7d350
Update CHANGES.rst [ci skip]
radarhere Nov 21, 2022
100ed36
Updated libpng to 1.6.39
radarhere Nov 21, 2022
f276316
Merge pull request #6752 from radarhere/libpng
hugovk Nov 21, 2022
2c513c6
Use stdlib for setuptools on Cygwin
radarhere Nov 25, 2022
ad938d5
Merge pull request #6760 from radarhere/cygwin_stdlib
hugovk Nov 25, 2022
851e7b0
Document how to install Pillow from a directory
radarhere Nov 24, 2022
58cbcbf
Added getxmp() to WebPImagePlugin
radarhere Nov 24, 2022
3473eb8
Added Exif hide_offsets()
radarhere Nov 26, 2022
710927a
Added docstring
radarhere Nov 26, 2022
3f94103
Added getxmp() to release notes
radarhere Nov 26, 2022
066c3ab
Merge pull request #6758 from radarhere/webp_getxmp
hugovk Nov 26, 2022
72372ad
Update CHANGES.rst [ci skip]
radarhere Nov 26, 2022
24a5405
Added IFD enum
radarhere Nov 27, 2022
a032624
Removed typo
radarhere Nov 9, 2022
50cdf39
List dependency instructions first
radarhere Nov 27, 2022
556b672
Fix webp dealloc method definitions
Yay295 Nov 27, 2022
91fe817
Updated instructions to download source code
radarhere Nov 28, 2022
a257016
Merge pull request #6756 from radarhere/source
hugovk Nov 28, 2022
e3a46fc
Use sphinx-inline-tabs to organise installation per OS
hugovk Nov 28, 2022
e6e5a00
Add missing 'make help' for serve and livehtml
hugovk Nov 28, 2022
d12c119
Inline PHONY targets to help avoid omissions (texinfo, info, livehtml…
hugovk Nov 28, 2022
5e42b17
Reorder tabs: big three OS first
hugovk Nov 28, 2022
50ccb27
Remove extra space
hugovk Nov 28, 2022
0ec32a3
Merge pull request #6763 from Yay295/patch-1
radarhere Nov 29, 2022
3ec8fa6
Do not trust JPEG decoder to determine image is CMYK
radarhere Nov 30, 2022
aab7983
Updated xz to 5.2.9
radarhere Nov 30, 2022
5bdf63e
Merge pull request #6770 from radarhere/xz
hugovk Dec 1, 2022
96b3168
Use 4-space indents for RST
hugovk Dec 2, 2022
c120649
Remove specific number of jobs from comment
radarhere Dec 2, 2022
9486786
Merge pull request #6772 from radarhere/windows
hugovk Dec 2, 2022
d822d85
support round-tripping JPEG comments
smason Dec 2, 2022
e9f4858
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 2, 2022
28e21ff
Merge branch 'main' into docs-tabs
radarhere Dec 2, 2022
976ad57
Save comments from any image format by default
radarhere Dec 2, 2022
c1d0a00
Use _binary instead of struct
radarhere Dec 2, 2022
525c011
Test that comment is reread
radarhere Dec 2, 2022
61cbcae
Changed indentation to be consistent
radarhere Dec 2, 2022
eafff0e
Use compile_python_fuzzer
radarhere Dec 2, 2022
8e70787
Update cygwin/cygwin-install-action action to v3
renovate[bot] Dec 3, 2022
43974e8
Merge pull request #89 from radarhere/docs-tabs
hugovk Dec 3, 2022
61f2721
Fix comment
hugovk Dec 3, 2022
823e6e6
Merge pull request #6775 from radarhere/oss-fuzz
hugovk Dec 3, 2022
a28de66
Merge pull request #6776 from python-pillow/renovate/github-actions
hugovk Dec 3, 2022
e71f7c1
Merge pull request #1 from radarhere/write-jpeg-com
smason Dec 3, 2022
1ed1a3a
make sure passing a blank comment removes existing comment
smason Dec 3, 2022
6a2545f
Merge pull request #6764 from hugovk/docs-tabs
radarhere Dec 4, 2022
8ada23e
Added IFD1 reading
radarhere Dec 4, 2022
e50ae85
Use jpeg_write_marker to write comment
radarhere Dec 5, 2022
72ac7d1
Corrected default combined frame duration
radarhere Dec 5, 2022
399975f
Merge pull request #2 from radarhere/write-jpeg-com
smason Dec 5, 2022
eddc9bd
switch to #z for comment parameter
smason Dec 5, 2022
b786ff8
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Dec 5, 2022
1e28c8c
Merge pull request #6780 from python-pillow/pre-commit-ci-update-config
radarhere Dec 5, 2022
c2a4265
Allow get_child_images to access JPEG thumbnails
radarhere Dec 6, 2022
1d78008
Free comment when returning early
radarhere Dec 6, 2022
6ca08a4
Merge pull request #3 from radarhere/write-jpeg-com
smason Dec 6, 2022
674ec6e
Add support for PyPy3.9, drop PyPy3.7
hugovk Dec 6, 2022
2ea9497
Merge pull request #6782 from hugovk/add-pypy-3.9
radarhere Dec 6, 2022
ccac854
If available, use wl-paste for grabclipboard() on Linux
radarhere Dec 7, 2022
2ecf88e
If available, use xclip for grabclipboard() on Linux
radarhere Dec 7, 2022
378adeb
Merge pull request #6774 from smason/write-jpeg-com
radarhere Dec 7, 2022
4704cab
Update CHANGES.rst [ci skip]
radarhere Dec 7, 2022
bef128b
Added support for saving JPEG comments
radarhere Dec 7, 2022
4c9ed12
Merge pull request #6784 from radarhere/jpeg_comment
mergify[bot] Dec 7, 2022
4ab837a
Only compare to previous when checking for duplicate frames while saving
radarhere Dec 8, 2022
7436ae0
Remove unnecessary Pipfile
hugovk Dec 8, 2022
0d6440d
Merge pull request #6790 from hugovk/rm-pipfile
radarhere Dec 8, 2022
66f5ad0
Ignore non-opaque WebP background when saving as GIF
radarhere Dec 8, 2022
4f0b83c
Only set tile in ImageFile __setstate__
radarhere Dec 9, 2022
ae3f43d
Document Hue range
radarhere Dec 10, 2022
f6f622d
Clarify apply_transparency() docstring
radarhere Dec 11, 2022
164311a
Specify "I" and "F" ranges
radarhere Dec 11, 2022
6da4169
Fixed writing int as ASCII tag
radarhere Dec 13, 2022
1f9754c
Format tox.ini with tox-ini-fmt
hugovk Dec 13, 2022
bfa1f32
Add allowlist_externals=make to fix tox 4
hugovk Dec 13, 2022
d013fbf
Merge pull request #6779 from radarhere/gif_duration
hugovk Dec 13, 2022
56964da
Update CHANGES.rst [ci skip]
radarhere Dec 13, 2022
5301b86
Use snake case
radarhere Dec 13, 2022
5257d56
Merge pull request #6748 from radarhere/exif_ifd
radarhere Dec 13, 2022
b564f3e
Update CHANGES.rst [ci skip]
radarhere Dec 13, 2022
d37c168
Merge pull request #6801 from hugovk/fix-tox-4
radarhere Dec 13, 2022
e25d603
Updated xz to 5.4.0
radarhere Dec 13, 2022
f4b1244
Merge pull request #6802 from radarhere/xz
hugovk Dec 14, 2022
d1cb819
Run Bandit on CI via pre-commit
hugovk Dec 13, 2022
2f028ce
Merge pull request #6805 from hugovk/bandit
radarhere Dec 16, 2022
1a051f2
Update egor-tensin/cleanup-path action to v3
renovate[bot] Dec 16, 2022
ceed3a9
Merge pull request #6806 from python-pillow/renovate/github-actions
radarhere Dec 16, 2022
193b24f
Merge pull request #6767 from radarhere/blp_jpeg
hugovk Dec 16, 2022
7f6fe3c
Update CHANGES.rst [ci skip]
radarhere Dec 16, 2022
5eaca52
Updated harfbuzz to 6.0.0
radarhere Dec 18, 2022
2a86d73
Always initialize all plugins in registered_extensions()
radarhere Dec 18, 2022
66add09
Merge pull request #6810 from radarhere/harfbuzz
hugovk Dec 19, 2022
88e127d
Update actions/stale action to v7
renovate[bot] Dec 20, 2022
a065e02
Updated deprecated NumPy alias
radarhere Dec 20, 2022
7b6f4c6
Merge pull request #6813 from python-pillow/renovate/github-actions
radarhere Dec 20, 2022
d6e7904
Removed Python 3.7 on Cygwin
radarhere Dec 21, 2022
9670343
Fixed BytesWarning
radarhere Dec 21, 2022
2f3561f
Merge pull request #6816 from radarhere/warning
hugovk Dec 21, 2022
acdb882
Merge pull request #6793 from radarhere/tile
hugovk Dec 21, 2022
aab4adc
Merge pull request #6792 from radarhere/webp_gif
hugovk Dec 21, 2022
1df7e75
Python 3.7 on Cygwin is no longer part of CI
radarhere Dec 21, 2022
46b4967
Merge pull request #6814 from radarhere/numpy
hugovk Dec 21, 2022
a4ac403
Update CHANGES.rst [ci skip]
radarhere Dec 21, 2022
fff0760
Merge pull request #6815 from radarhere/cygwin
hugovk Dec 21, 2022
c6d1fdd
Merge branch 'main' into registered_extensions
radarhere Dec 21, 2022
818e967
Merge branch 'main' into exif_lightsource
radarhere Dec 21, 2022
921c466
Merge branch 'main' into gif_disposal
radarhere Dec 21, 2022
9dfba1f
Merge branch 'main' into exif_hide_offsets
radarhere Dec 21, 2022
9898613
Fixed saving EXIF data to MPO
radarhere Dec 22, 2022
318b658
Initialize unsigned char variables
radarhere Dec 22, 2022
f1f1779
Merge pull request #6818 from radarhere/uninitialized
mergify[bot] Dec 22, 2022
edcfe09
Merge pull request #6795 from radarhere/modes
hugovk Dec 22, 2022
88f15eb
Do not save EXIF from info
radarhere Dec 23, 2022
9e6a7d9
Added support for uncompressed L images
radarhere Dec 23, 2022
582b631
Add missing LA test textures
REDxEYE Aug 7, 2022
dcf3d0b
Added support for uncompressed LA images
radarhere Dec 23, 2022
b0f1d2e
Clear pyaccess after re-assigning im
radarhere Dec 23, 2022
f9c88c9
Merge pull request #6811 from radarhere/registered_extensions
hugovk Dec 23, 2022
7a19251
Merge pull request #6787 from radarhere/gif_disposal
hugovk Dec 23, 2022
0934c25
Merge pull request #6762 from radarhere/exif_hide_offsets
hugovk Dec 23, 2022
e0eca1f
Merge pull request #6817 from radarhere/mpo_exif
hugovk Dec 23, 2022
54eb835
Merge pull request #6819 from radarhere/png_exif
hugovk Dec 23, 2022
6fc0456
Merge pull request #6821 from radarhere/pyaccess
hugovk Dec 23, 2022
8bd5fbf
Update CHANGES.rst [ci skip]
radarhere Dec 23, 2022
5c482e2
Document new ExifTags enums
radarhere Dec 23, 2022
941a2d6
Added release notes
radarhere Dec 23, 2022
426ac9c
Updated libtiff to 4.5.0
radarhere Dec 24, 2022
2ba0c5e
Merge pull request #6822 from radarhere/libtiff
hugovk Dec 24, 2022
d259043
Updated libtiff shared library name
radarhere Dec 26, 2022
925e27c
Merge pull request #6826 from radarhere/libtiff
mergify[bot] Dec 26, 2022
08816f4
Added support for I;16 modes in putdata()
radarhere Dec 26, 2022
88420f6
Merge pull request #6749 from radarhere/exif_lightsource
hugovk Dec 26, 2022
0a19b34
Merge pull request #6820 from radarhere/dds_l
hugovk Dec 26, 2022
2755e0f
Update CHANGES.rst [ci skip]
radarhere Dec 26, 2022
bcdb208
Restored Image constants, except for duplicate Resampling attributes
radarhere Dec 27, 2022
a9c46bc
Document "transparency" info key
radarhere Dec 27, 2022
88a81db
Merge pull request #6708 from radarhere/rgba2rgb_
hugovk Dec 28, 2022
d972890
Merge pull request #6825 from radarhere/i16
hugovk Dec 28, 2022
1a93e84
Merge pull request #6798 from radarhere/apply_transparency
hugovk Dec 28, 2022
f0b494e
Merge pull request #6718 from radarhere/openjpeg_arm
hugovk Dec 28, 2022
0da8e43
Parametrized test
radarhere Dec 28, 2022
4518dc8
Merge branch 'main' into signed
radarhere Dec 28, 2022
cd351c4
Added release notes
radarhere Dec 28, 2022
73a2c30
Use pytest.raises match argument
radarhere Dec 28, 2022
a4baeda
Fixed typo
radarhere Dec 29, 2022
be949e8
Merge pull request #6831 from radarhere/transparency_documentation
mergify[bot] Dec 29, 2022
dc30ccc
Update CHANGES.rst [ci skip]
radarhere Dec 29, 2022
efa27a7
Document the meaning of "premultiplied alpha"
radarhere Dec 29, 2022
21e8111
Updated release notes
radarhere Dec 29, 2022
f452f9a
Merge pull request #6709 from radarhere/signed
hugovk Dec 29, 2022
e107af4
Merge pull request #6783 from radarhere/grabclipboard
hugovk Dec 29, 2022
cea6c1e
Merge pull request #6838 from radarhere/premultiplied_alpha
hugovk Dec 29, 2022
a7f8e86
Update CHANGES.rst [ci skip]
radarhere Dec 29, 2022
1e3f3ab
Do not attempt to read IFD1 if absent
radarhere Dec 29, 2022
3a1f4b4
Fix version mismatch
smb123w64gb Dec 29, 2022
1ba19b1
Merge pull request #6800 from radarhere/int_ascii
hugovk Dec 29, 2022
9ae53cf
Merge pull request #6840 from radarhere/ifd1
hugovk Dec 29, 2022
20c1ed1
Merge pull request #6841 from smb123w64gb/windows_build_fix
radarhere Dec 29, 2022
77f6f54
Update CHANGES.rst [ci skip]
radarhere Dec 29, 2022
2ae55cc
Improve exception traceback readability
hugovk Dec 21, 2022
68fdd2a
Further improve exception traceback readability
radarhere Dec 30, 2022
91b01f4
Return from ImagingFill early if image has a zero dimension
radarhere Dec 30, 2022
9ee64f9
Merge pull request #90 from radarhere/flake8-errmsg
hugovk Dec 30, 2022
c7f633c
Merge pull request #6836 from hugovk/flake8-errmsg
radarhere Dec 30, 2022
907d597
Update CHANGES.rst [ci skip]
radarhere Dec 30, 2022
b4347da
Merge branch 'main' into enum
radarhere Dec 30, 2022
559b7ae
Updated wording
radarhere Dec 30, 2022
fc9a8a3
Merge pull request #6830 from radarhere/enum
mergify[bot] Dec 31, 2022
2494e12
Update CHANGES.rst [ci skip]
radarhere Dec 31, 2022
2803304
Skip timeout checks on slower running valgrind job
radarhere Dec 31, 2022
1330697
Updated copyright year
radarhere Dec 31, 2022
7b0008b
Merge pull request #6842 from radarhere/zero
hugovk Dec 31, 2022
7f17084
Update CHANGES.rst [ci skip]
radarhere Dec 31, 2022
87d1770
Fix null pointer dereference crash with malformed font
wiredfool Nov 2, 2022
f2b36a1
Lint fixes
radarhere Nov 2, 2022
1c57ab8
Return a PyError instead of a fake fterror.
wiredfool Nov 3, 2022
51d95ad
Replaced IOError with OSError
radarhere Nov 5, 2022
c977526
Lint fixes
radarhere Dec 31, 2022
c4cc487
Merge pull request #6846 from radarhere/font_crash
radarhere Dec 31, 2022
009bbe2
Update CHANGES.rst [ci skip]
radarhere Jan 1, 2023
a632b7a
Added release notes for #6842
radarhere Jan 1, 2023
35b4c43
Added release notes for #6846
radarhere Jan 1, 2023
0efda91
Merge pull request #6845 from radarhere/copyright
hugovk Jan 1, 2023
e908afe
Updated security descriptions
radarhere Jan 1, 2023
d4d981d
Updated size parameter descriptions
radarhere Jan 1, 2023
38a93a0
Merge pull request #6850 from radarhere/releasenotes
mergify[bot] Jan 1, 2023
cdd3d8e
Merge pull request #6851 from radarhere/size
mergify[bot] Jan 1, 2023
a5bbab1
9.4.0 version bump
radarhere Jan 1, 2023
d88fdfe
Merge branch 'simd/master' into simd/9.4.x
Dawars Mar 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .appveyor.yml
Expand Up @@ -10,9 +10,9 @@ environment:
TEST_OPTIONS:
DEPLOY: YES
matrix:
- PYTHON: C:/Python310
- PYTHON: C:/Python311
ARCHITECTURE: x86
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
- PYTHON: C:/Python37-x64
ARCHITECTURE: x64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
Expand All @@ -25,8 +25,8 @@ install:
- 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\gs9550w32.exe /S
- path c:\nasm-2.15.05;C:\Program Files (x86)\gs\gs9.55.0\bin;%PATH%
- ..\pillow-depends\gs1000w32.exe /S
- path c:\nasm-2.15.05;C:\Program Files (x86)\gs\gs10.0.0\bin;%PATH%
- cd c:\pillow\winbuild\
- ps: |
c:\python37\python.exe c:\pillow\winbuild\build_prepare.py -v --depends=C:\pillow-depends\
Expand All @@ -43,7 +43,7 @@ build_script:

test_script:
- cd c:\pillow
- '%PYTHON%\%EXECUTABLE% -m pip install pytest pytest-cov'
- '%PYTHON%\%EXECUTABLE% -m pip install pytest pytest-cov pytest-timeout'
- 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'
Expand Down
6 changes: 3 additions & 3 deletions .ci/after_success.sh
@@ -1,9 +1,9 @@
#!/bin/bash

# gather the coverage data
pip3 install codecov
python3 -m pip install codecov
if [[ $MATRIX_DOCKER ]]; then
coverage xml --ignore-errors
python3 -m coverage xml --ignore-errors
else
coverage xml
python3 -m coverage xml
fi
2 changes: 1 addition & 1 deletion .ci/build.sh
Expand Up @@ -2,7 +2,7 @@

set -e

coverage erase
python3 -m coverage erase
if [ $(uname) == "Darwin" ]; then
export CPPFLAGS="-I/usr/local/miniconda/include";
fi
Expand Down
50 changes: 28 additions & 22 deletions .ci/install.sh
Expand Up @@ -13,13 +13,17 @@ aptget_update()
return 1
fi
}
aptget_update || aptget_update retry || aptget_update retry
if [[ $(uname) != CYGWIN* ]]; then
aptget_update || aptget_update retry || aptget_update retry
fi

set -e

sudo apt-get -qq install libfreetype6-dev liblcms2-dev python3-tk\
ghostscript libffi-dev libjpeg-turbo-progs libopenjp2-7-dev\
cmake imagemagick libharfbuzz-dev libfribidi-dev
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
fi

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade wheel
Expand All @@ -31,25 +35,27 @@ python3 -m pip install -U pytest
python3 -m pip install -U pytest-cov
python3 -m pip install -U pytest-timeout
python3 -m pip install pyroma
python3 -m pip install test-image-results
python3 -m pip install numpy

# PyQt5 doesn't support PyPy3
if [[ $GHA_PYTHON_VERSION == 3.* ]]; then
# arm64, ppc64le, s390x CPUs:
# "ERROR: Could not find a version that satisfies the requirement pyqt5"
sudo apt-get -qq install libxcb-xinerama0 pyqt5-dev-tools
python3 -m pip install pyqt5
fi

# webp
pushd depends && ./install_webp.sh && popd
if [[ $(uname) != CYGWIN* ]]; then
python3 -m pip install numpy

# libimagequant
pushd depends && ./install_imagequant.sh && popd
# 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
python3 -m pip install pyqt6
fi

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

# extra test images
pushd depends && ./install_extra_test_images.sh && popd
# libimagequant
pushd depends && ./install_imagequant.sh && popd

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

# extra test images
pushd depends && ./install_extra_test_images.sh && popd
else
cd depends && ./install_extra_test_images.sh && cd ..
fi
5 changes: 4 additions & 1 deletion .editorconfig
Expand Up @@ -13,10 +13,13 @@ indent_style = space

trim_trailing_whitespace = true

[*.rst]
# Four-space indentation
indent_size = 4

[*.yml]
# Two-space indentation
indent_size = 2
indent_style = space

# Tab indentation (no size specified)
[Makefile]
Expand Down
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Expand Up @@ -4,7 +4,7 @@ Bug fixes, feature additions, tests, documentation and more can be contributed v

## Bug fixes, feature additions, etc.

Please send a pull request to the `main` branch. Please include [documentation](https://pillow.readthedocs.io) and [tests](../Tests/README.rst) for new features. Tests or documentation without bug fixes or feature additions are welcome too. Feel free to ask questions [via issues](https://github.com/python-pillow/Pillow/issues/new), [Gitter](https://gitter.im/python-pillow/Pillow) or irc://irc.freenode.net#pil
Please send a pull request to the `main` branch. Please include [documentation](https://pillow.readthedocs.io) and [tests](../Tests/README.rst) for new features. Tests or documentation without bug fixes or feature additions are welcome too. Feel free to ask questions [via issues](https://github.com/python-pillow/Pillow/issues/new), [discussions](https://github.com/python-pillow/Pillow/discussions/new), [Gitter](https://gitter.im/python-pillow/Pillow) or irc://irc.freenode.net#pil

- Fork the Pillow repository.
- Create a branch from `main`.
Expand Down
1 change: 1 addition & 0 deletions .github/mergify.yml
Expand Up @@ -8,6 +8,7 @@ pull_request_rules:
- status-success=Docker Test Successful
- status-success=Windows Test Successful
- status-success=MinGW Test Successful
- status-success=Cygwin Test Successful
- status-success=continuous-integration/appveyor/pr
actions:
merge:
Expand Down
17 changes: 17 additions & 0 deletions .github/renovate.json
@@ -0,0 +1,17 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
],
"labels": [
"Dependency"
],
"packageRules": [
{
"groupName": "github-actions",
"matchManagers": ["github-actions"],
"separateMajorMinor": "false"
}
],
"schedule": ["on the 3rd day of the month"]
}
56 changes: 56 additions & 0 deletions .github/workflows/cifuzz.yml
@@ -0,0 +1,56 @@
name: CIFuzz

on:
push:
paths:
- "**.c"
- "**.h"
pull_request:
paths:
- "**.c"
- "**.h"
workflow_dispatch:

permissions:
contents: read

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

jobs:
Fuzzing:
runs-on: ubuntu-latest
steps:
- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'pillow'
language: python
dry-run: false
- name: Run Fuzzers
id: run
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'pillow'
fuzz-seconds: 600
language: python
dry-run: false
- name: Upload New Crash
uses: actions/upload-artifact@v3
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts
- name: Upload Legacy Crash
uses: actions/upload-artifact@v3
if: steps.run.outcome == 'success'
with:
name: crash
path: ./out/crash*
- name: Fail on legacy crash
if: success()
run: |
[ ! -e out/crash-* ]
echo No legacy crash detected
15 changes: 11 additions & 4 deletions .github/workflows/lint.yml
Expand Up @@ -2,6 +2,13 @@ name: Lint

on: [push, pull_request, workflow_dispatch]

permissions:
contents: read

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

jobs:
build:

Expand All @@ -10,20 +17,20 @@ jobs:
name: Lint

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: pre-commit cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.cache/pre-commit
key: lint-pre-commit-${{ hashFiles('**/.pre-commit-config.yaml') }}
restore-keys: |
lint-pre-commit-

- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: "3.10"
python-version: "3.x"
cache: pip
cache-dependency-path: "setup.py"

Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/macos-install.sh
Expand Up @@ -2,7 +2,7 @@

set -e

brew install libtiff libjpeg openjpeg libimagequant webp little-cms2 freetype openblas libraqm
brew install libtiff libjpeg openjpeg libimagequant webp little-cms2 freetype libraqm

PYTHONOPTIMIZE=0 python3 -m pip install cffi
python3 -m pip install coverage
Expand All @@ -12,9 +12,7 @@ python3 -m pip install -U pytest
python3 -m pip install -U pytest-cov
python3 -m pip install -U pytest-timeout
python3 -m pip install pyroma
python3 -m pip install test-image-results

echo -e "[openblas]\nlibraries = openblas\nlibrary_dirs = /usr/local/opt/openblas/lib" >> ~/.numpy-site.cfg
python3 -m pip install numpy

# extra test images
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/release-drafter.yml
Expand Up @@ -7,8 +7,18 @@ on:
- main
workflow_dispatch:

permissions:
contents: read

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

jobs:
update_release_draft:
permissions:
contents: write # for release-drafter/release-drafter to create a github release
pull-requests: write # for release-drafter/release-drafter to add label to PR
if: github.repository == 'python-pillow/Pillow'
runs-on: ubuntu-latest
steps:
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/stale.yml
@@ -0,0 +1,31 @@
name: Close stale issues

on:
schedule:
- cron: "10 0 * * *"
workflow_dispatch:

permissions:
issues: write

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

jobs:
stale:
if: github.repository_owner == 'python-pillow'

runs-on: ubuntu-latest

steps:
- name: "Check issues"
uses: actions/stale@v7
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
only-labels: "Awaiting OP Action"
close-issue-message: "Closing this issue as no feedback has been received."
days-before-stale: 7
days-before-issue-close: 0
days-before-pr-close: -1
labels-to-remove-when-unstale: "Awaiting OP Action"