Skip to content

Commit 7a2b8a2

Browse files
chore: Update ruff, aiohttp, cryptography, urllib3, codecov-action; drop Python 3.8; replace Snyk with SCA scan (#808)
## Changes ### Python 3.8 Support Dropped Python 3.8 reached end-of-life in October 2024. Several security-patched dependency versions (`aiohttp`, `cryptography`, `urllib3`) require Python >=3.9, making it impossible to keep 3.8 support while applying security fixes. The previous minimum (`>=3.8`) allowed installation on Python versions that can only resolve to **vulnerable** dependency versions. - Changed `python` from `^3.8` to `>=3.9.2,<4.0` (3.9.0 and 3.9.1 are excluded by `cryptography` due to known bugs in those patch releases) - Removed `Programming Language :: Python :: 3.8` classifier from `pyproject.toml` - Updated `README.md`, `v5_MIGRATION_GUIDE.md`, and `github_discussion_v5_announcement.md` to reflect Python >=3.9 ### Dependency Updates #### Python Dependencies - From Dependabot PRs - Bump `ruff` from `0.11.5` to `0.15.8` ([#806](#806)) - Bump `responses` upper bound from `<0.26.0` to `<0.28.0` ([#786](#786)) #### Python Dependencies - From Security Review - Update `aiohttp` from `>=3.10.11` to `>=3.11.18` - fixes multiple CVEs; previous minimum resolved to versions with known vulnerabilities on Python 3.8 - Update `cryptography` from `>=43.0.1` to `>=44.0.0` - fixes known vulnerabilities in older versions - Update `urllib3` from `>=2.2.3` to `>=2.3.0` - fixes known vulnerabilities; requires Python >=3.9 #### GitHub Actions - Bump `codecov/codecov-action` from `5.5.1` to `6.0.0` (SHA pin updated) ([#805](#805)) #### CI Workflow Changes - Added `sca_scan.yml` - new SCA scan using `auth0/devsecops-tooling` reusable workflow with `requirements.txt` - Removed `snyk.yml` - replaced by the new `sca_scan.yml` reusable workflow - Removed `docs.yml` - documentation build workflow removed - Added `.claude/` to `.gitignore`
1 parent a89b4ee commit 7a2b8a2

10 files changed

Lines changed: 56 additions & 1439 deletions

File tree

.github/workflows/docs.yml

Lines changed: 0 additions & 59 deletions
This file was deleted.

.github/workflows/sca_scan.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: SCA
2+
on:
3+
push:
4+
branches: ["master"]
5+
pull_request:
6+
branches: ["master"]
7+
jobs:
8+
snyk-cli:
9+
uses: auth0/devsecops-tooling/.github/workflows/sca-scan.yml@main
10+
with:
11+
additional-arguments: "--exclude=README.md,.jfrog --command=./venv/bin/python3"
12+
python-version: "3.11"
13+
pre-scan-commands: |
14+
python3 -m venv venv --upgrade-deps
15+
./venv/bin/pip3 install -r requirements.txt
16+
secrets: inherit

.github/workflows/snyk.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,6 @@ jobs:
8080

8181
- if: ${{ matrix.python-version == '3.10' }}
8282
name: Upload coverage
83-
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # pin@5.5.1
83+
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # pin@6.0.0
8484
with:
8585
token: ${{ secrets.CODECOV_TOKEN }}

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,7 @@ docs/build/
6262
.vscode/
6363

6464
# OS-specific files
65-
.DS_Store
65+
.DS_Store
66+
67+
# AI tools
68+
.claude/

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ pip install auth0-python
3434
```
3535

3636
**Requirements:**
37-
- Python ≥3.8 (Python 3.7 support has been dropped)
37+
- Python ≥3.9 (Python 3.8 support has been dropped)
3838

3939
## Reference
4040

poetry.lock

Lines changed: 24 additions & 1326 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ classifiers = [
1414
"Intended Audience :: Developers",
1515
"Programming Language :: Python",
1616
"Programming Language :: Python :: 3",
17-
"Programming Language :: Python :: 3.8",
1817
"Programming Language :: Python :: 3.9",
1918
"Programming Language :: Python :: 3.10",
2019
"Programming Language :: Python :: 3.11",
@@ -36,17 +35,17 @@ Repository = 'https://github.com/auth0/auth0-python'
3635
Homepage = 'https://auth0.com'
3736

3837
[tool.poetry.dependencies]
39-
python = "^3.8"
38+
python = ">=3.9.2,<4.0"
4039
httpx = ">=0.21.2"
4140
pydantic = ">= 1.9.2"
4241
pydantic-core = ">=2.18.2"
4342
typing_extensions = ">= 4.0.0"
4443
# Authentication API dependencies
45-
aiohttp = ">=3.10.11"
46-
cryptography = ">=43.0.1"
44+
aiohttp = ">=3.11.18"
45+
cryptography = ">=44.0.0"
4746
pyjwt = ">=2.8.0"
4847
requests = ">=2.32.3"
49-
urllib3 = ">=2.2.3"
48+
urllib3 = ">=2.3.0"
5049

5150
[tool.poetry.group.dev.dependencies]
5251
mypy = "==1.13.0"
@@ -56,13 +55,13 @@ pytest-xdist = "^3.6.1"
5655
python-dateutil = "^2.9.0"
5756
types-python-dateutil = "^2.9.0.20240316"
5857
types-requests = "^2.31.0"
59-
ruff = "==0.11.5"
58+
ruff = "==0.15.8"
6059
# Authentication API test dependencies
6160
aioresponses = "^0.7.8"
6261
mock = "^5.1.0"
6362
pytest-aiohttp = "^1.0.4"
6463
pytest-cov = "^4.1.0"
65-
responses = ">=0.23.3,<0.26.0"
64+
responses = ">=0.23.3,<0.28.0"
6665

6766
[tool.pytest.ini_options]
6867
asyncio_mode = "auto"

requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ pydantic-core>=2.18.2
55
typing_extensions>=4.0.0
66

77
# Authentication API dependencies
8-
aiohttp>=3.10.11
9-
cryptography>=43.0.1
8+
aiohttp>=3.11.18
9+
cryptography>=44.0.0
1010
pyjwt>=2.8.0
1111
requests>=2.32.3
12-
urllib3>=2.2.3
12+
urllib3>=2.3.0

v5_MIGRATION_GUIDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ A guide to migrating the Auth0 Python SDK from v4 to v5.
1515

1616
### Python versions
1717

18-
v5 supports Python 3.8 and above.
18+
v5 supports Python 3.9 and above.
1919

2020
### Authentication API
2121

0 commit comments

Comments
 (0)