Skip to content

Commit 234bc15

Browse files
authored
Release v3.6.1: patched certifi, uv and virtualenv; require certifi>=2026.10.19 (#120)
* chore(release): 3.6.1 with patched certifi, uv and virtualenv Cut a release that ships the Dependabot security bumps merged since 3.6.0 (#112, #116, #117, #118, #119). The release build toolchain in setup-hatch still pinned virtualenv 21.7.13 and hatchling 1.32.0, because Dependabot updates uv.lock but not the pip pins inside the composite action. Sync them to the locked virtualenv 21.14.7 and the [build-system] hatchling 1.32.4 so published artifacts are built with the patched versions. * Require certifi>=2026.10.19 requests takes its CA bundle from certifi, and socketdev didn't constrain it, so pip could leave consumers on a bundle that trusts the compromised eMudhra intermediate CAs. A floor rather than an exact pin, so later trust-store fixes still reach them.
1 parent 3ed7e74 commit 234bc15

5 files changed

Lines changed: 38 additions & 4 deletions

File tree

‎.github/actions/setup-hatch/action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ runs:
99
- shell: bash
1010
run: |
1111
python -m pip install --upgrade pip
12-
python -m pip install "hatch==1.18.1" "hatchling==1.32.0" "virtualenv==21.7.13"
12+
python -m pip install "hatch==1.18.1" "hatchling==1.32.4" "virtualenv==21.14.7"

‎CHANGELOG.md‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
# Changelog
22

3+
## 3.6.1
4+
5+
### Security: patched releases of certifi, uv and virtualenv
6+
7+
- Updated the locked versions of `certifi` (2025.11.12 → 2026.10.19), `uv`
8+
(0.11.17 → 0.13.4) and `virtualenv` (20.36.1 → 21.14.7) to pick up fixes for
9+
critical vulnerabilities. These versions are pinned in `uv.lock`, which
10+
controls the development and CI environment.
11+
- socketdev now requires `certifi>=2026.10.19`, so installing it also upgrades
12+
the CA bundle `requests` uses. Older bundles trust the compromised eMudhra
13+
intermediate CAs.
14+
- The release build toolchain (`.github/actions/setup-hatch`) now installs
15+
`virtualenv==21.14.7` and `hatchling==1.32.4`, matching `uv.lock` and the
16+
`[build-system]` pin. Published artifacts are built with the patched versions.
17+
- Raised the `requests` floor to `>=2.33.0`.
18+
19+
### Changed: Python 3.10 or newer is required
20+
21+
- `requires-python` is now `>=3.10` (previously `>=3.9`). The patched
22+
dependency releases no longer support Python 3.9, which reached end of life
23+
in October 2025. On Python 3.9, pip continues to resolve socketdev 3.6.0.
24+
25+
### Maintenance
26+
27+
- Pinned the `hatchling` build backend to 1.32.4 and capped built
28+
distributions at core metadata 2.4 so the locked Twine can validate them.
29+
- Raised the dev and test extras floors to `hatch>=1.18.1` and
30+
`pytest>=9.0.3`.
31+
332
## 3.6.0
433

534
### Changed: every API-sourced enum now tolerates unknown values

‎pyproject.toml‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ dynamic = ["version"]
88
requires-python = ">= 3.10"
99
dependencies = [
1010
'requests>=2.33.0,<3',
11-
'typing-extensions>=4.12.2,<5'
11+
'typing-extensions>=4.12.2,<5',
12+
# requests' CA bundle. 2026.10.19 drops the roots behind the compromised
13+
# eMudhra intermediates; a floor, so later trust-store fixes still apply.
14+
'certifi>=2026.10.19'
1215
]
1316
readme = "README.rst"
1417
license = {file = "LICENSE"}

‎socketdev/version.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "3.6.0"
1+
__version__ = "3.6.1"

‎uv.lock‎

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)