Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/setup-hatch/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ runs:
- shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install "hatch==1.18.1" "hatchling==1.32.0" "virtualenv==21.7.13"
python -m pip install "hatch==1.18.1" "hatchling==1.32.4" "virtualenv==21.14.7"
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Changelog

## 3.6.1

### Security: patched releases of certifi, uv and virtualenv

- Updated the locked versions of `certifi` (2025.11.12 → 2026.10.19), `uv`
(0.11.17 → 0.13.4) and `virtualenv` (20.36.1 → 21.14.7) to pick up fixes for
critical vulnerabilities. These versions are pinned in `uv.lock`, which
controls the development and CI environment.
- socketdev now requires `certifi>=2026.10.19`, so installing it also upgrades
the CA bundle `requests` uses. Older bundles trust the compromised eMudhra
intermediate CAs.
- The release build toolchain (`.github/actions/setup-hatch`) now installs
`virtualenv==21.14.7` and `hatchling==1.32.4`, matching `uv.lock` and the
`[build-system]` pin. Published artifacts are built with the patched versions.
- Raised the `requests` floor to `>=2.33.0`.

### Changed: Python 3.10 or newer is required

- `requires-python` is now `>=3.10` (previously `>=3.9`). The patched
dependency releases no longer support Python 3.9, which reached end of life
in October 2025. On Python 3.9, pip continues to resolve socketdev 3.6.0.

### Maintenance

- Pinned the `hatchling` build backend to 1.32.4 and capped built
distributions at core metadata 2.4 so the locked Twine can validate them.
- Raised the dev and test extras floors to `hatch>=1.18.1` and
`pytest>=9.0.3`.

## 3.6.0

### Changed: every API-sourced enum now tolerates unknown values
Expand Down
5 changes: 4 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ dynamic = ["version"]
requires-python = ">= 3.10"
dependencies = [
'requests>=2.33.0,<3',
'typing-extensions>=4.12.2,<5'
'typing-extensions>=4.12.2,<5',
# requests' CA bundle. 2026.10.19 drops the roots behind the compromised
# eMudhra intermediates; a floor, so later trust-store fixes still apply.
'certifi>=2026.10.19'
]
readme = "README.rst"
license = {file = "LICENSE"}
Expand Down
2 changes: 1 addition & 1 deletion socketdev/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "3.6.0"
__version__ = "3.6.1"
4 changes: 3 additions & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading