Skip to content

Commit fa3b9a9

Browse files
authored
Merge pull request #196 from at-gmbh/fix/security-vulnerabilities
Fix/security vulnerabilities
2 parents ad0270a + 7d192f3 commit fa3b9a9

13 files changed

Lines changed: 683 additions & 493 deletions

File tree

.github/workflows/tests-poetry.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
python-version: [3.9, 3.13]
21+
python-version: ["3.10", "3.13"]
2222
os: [ubuntu-latest, windows-latest]
2323
name: Test (Python ${{ matrix.python-version }} on ${{ matrix.os }})
2424
steps:
2525
- uses: actions/checkout@v5
2626

2727
- name: Set up Python ${{ matrix.python-version }}
28-
uses: actions/setup-python@v5
28+
uses: actions/setup-python@v6
2929
with:
3030
python-version: ${{ matrix.python-version }}
3131

CHANGELOG.md

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,69 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### Added
1111
- Placeholder for future updates and new features.
1212

13+
## [1.3.0] - 2026-01-27
14+
15+
### ⚠️ Breaking Changes
16+
- **Minimum Python version increased from 3.9 to 3.10** (required for secure dependency versions)
17+
18+
### Security
19+
- Fixed CVE-2024-47081: Updated `requests` from 2.32.3 to 2.32.5 (Moderate - .netrc credentials leak)
20+
- Fixed CVE-2025-50181: Updated `urllib3` from 2.4.0 to 2.6.3 (Moderate - redirects not disabled with retries)
21+
- Fixed CVE-2025-50182: Updated `urllib3` to 2.6.3 (Moderate - redirects in browsers/Node.js)
22+
- Fixed CVE-2025-66418: Updated `urllib3` to 2.6.3 (High - unbounded decompression chain)
23+
- Fixed CVE-2025-66471: Updated `urllib3` to 2.6.3 (High - improper handling of compressed data)
24+
- Fixed CVE-2026-21441: Updated `urllib3` to 2.6.3 (High - decompression-bomb bypass in redirects)
25+
- Fixed CVE-2026-24049: Updated `wheel` from 0.45.1 to 0.46.3 (High - path traversal in wheel unpack)
26+
- Fixed CVE-2025-68146: Updated `filelock` from 3.18.0 to 3.20.3 (Moderate - TOCTOU symlink attack)
27+
- Fixed CVE-2026-22701: Updated `filelock` to 3.20.3 (Moderate - TOCTOU in SoftFileLock)
28+
- Fixed CVE-2026-22702: Updated `virtualenv` from 20.31.2 to 20.36.1 (Moderate - TOCTOU in directory creation)
29+
30+
### Changed
31+
- Updated CI/CD workflows to test Python 3.10 and 3.13 (dropped 3.9)
32+
- Updated all template files and documentation to reflect Python 3.10 minimum requirement
33+
- Updated GitHub Actions `actions/setup-python` from v5 to v6
34+
- Updated `cookiecutter` from 2.3 to 2.6
35+
- Updated `pre-commit` from 4.3.0 to 4.5.1
36+
- Updated `pytest` from 8.4.1 to 9.0.2
37+
- Updated `pytest-cov` from 6.2.1 to 7.0.0
38+
- Updated `pytest-mock` from 3.14.1 to 3.15.1
39+
- Updated `pyyaml` from 6.0.2 to 6.0.3
40+
- Updated `typer` from 0.16.1 to 0.21.1
41+
- Updated `setuptools` from 80.9.0 to 80.10.2
42+
- Updated pre-commit hook `astral-sh/ruff-pre-commit` from v0.12.10 to v0.14.14
43+
- Updated pre-commit hook `pycqa/isort` from v6.0.1 to v6.1.0
44+
- Updated pre-commit hook `asottile/pyupgrade` args from `--py39-plus` to `--py310-plus`
45+
- Updated Python base images in GitLab CI from 3.9 to 3.10
46+
- Fixed YAML parsing issue in GitHub Actions workflow (quoted Python versions to prevent 3.10 → 3.1)
47+
48+
### Dependency Updates (Transitive)
49+
- Updated `arrow` from 1.3.0 to 1.4.0
50+
- Updated `certifi` from 2025.4.26 to 2026.1.4
51+
- Updated `cfgv` from 3.4.0 to 3.5.0
52+
- Updated `charset-normalizer` from 3.4.2 to 3.4.4
53+
- Updated `click` from 8.1.8 to 8.3.1
54+
- Updated `coverage` from 7.8.2 to 7.13.2
55+
- Updated `distlib` from 0.3.9 to 0.4.0
56+
- Updated `exceptiongroup` from 1.3.0 to 1.3.1
57+
- Updated `identify` from 2.6.12 to 2.6.16
58+
- Updated `idna` from 3.10 to 3.11
59+
- Updated `iniconfig` from 2.1.0 to 2.3.0
60+
- Updated `markdown-it-py` from 3.0.0 to 4.0.0
61+
- Updated `markupsafe` from 3.0.2 to 3.0.3
62+
- Updated `nodeenv` from 1.9.1 to 1.10.0
63+
- Updated `packaging` from 25.0 to 26.0
64+
- Updated `platformdirs` from 4.3.8 to 4.5.1
65+
- Updated `pygments` from 2.19.1 to 2.19.2
66+
- Updated `pyparsing` from 3.2.3 to 3.3.2
67+
- Updated `rich` from 14.0.0 to 14.3.1
68+
- Updated `tomli` from 2.2.1 to 2.4.0
69+
- Added `tzdata` 2025.3
70+
71+
### Summary
72+
All 10 Dependabot security vulnerabilities have been resolved (4 High, 6 Moderate).
73+
All dependencies updated to latest stable versions as of January 2026.
74+
75+
1376
## [1.2.2] - 2025-08-22
1477
### Changed
1578
- Aktualisiert: pre-commit Hook `astral-sh/ruff-pre-commit` von `v0.11.12` auf `v0.12.10`.
@@ -145,7 +208,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
145208

146209
---
147210

148-
[Unreleased]: https://github.com/at-gmbh/at-python-template/compare/v1.2.2...HEAD
211+
[Unreleased]: https://github.com/at-gmbh/at-python-template/compare/v1.3.0...HEAD
212+
[1.3.0]: https://github.com/at-gmbh/at-python-template/compare/v1.2.2...v1.3.0
149213
[1.2.2]: https://github.com/at-gmbh/at-python-template/compare/v1.2.1...v1.2.2
150214
[1.2.1]: https://github.com/at-gmbh/at-python-template/compare/v1.2.0...v1.2.1
151215
[1.2.0]: https://github.com/at-gmbh/at-python-template/compare/v1.1.1...v1.2.0

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# AT Python Template
22

33
[![Build](https://img.shields.io/github/actions/workflow/status/at-gmbh/at-python-template/tests-poetry.yml?branch=master)](https://github.com/at-gmbh/at-python-template/actions?query=branch%3Amaster+)
4-
![Python Version](https://img.shields.io/badge/python-3.9%20--%203.13-blue)
4+
![Python Version](https://img.shields.io/badge/python-3.10%20--%203.13-blue)
55
[![Latest Version](https://img.shields.io/github/v/tag/at-gmbh/at-python-template?label=version&sort=semver)](https://github.com/at-gmbh/at-python-template/releases)
66
[![Commit Activity](https://img.shields.io/github/commit-activity/m/at-gmbh/at-python-template)](https://github.com/at-gmbh/at-python-template/commits/master)
77
[![Dependencies](https://img.shields.io/librariesio/github/at-gmbh/at-python-template)](https://libraries.io/github/at-gmbh/at-python-template)
@@ -18,7 +18,7 @@ This guide aims to help you set up your environment and get coding in no time.
1818

1919
## 🛠 Prerequisites
2020

21-
Before you dive in, make sure you have Python 3.9 or higher installed on your machine. To check if Python is installed, open a terminal and run:
21+
Before you dive in, make sure you have Python 3.10 or higher installed on your machine. To check if Python is installed, open a terminal and run:
2222

2323
```
2424
python --version
@@ -114,7 +114,7 @@ For more advanced Docker usage, please refer to the `Dockerfile` and `docker-com
114114

115115
## 🔗 Additional Dependencies
116116

117-
- Python 3.9 or higher is required.
117+
- Python 3.10 or higher is required.
118118
- Jupyter Lab: If you are planning to use Jupyter notebooks.
119119
- This template requires `cookiecutter>=2.0`. If you experience issues installing it into your default conda environment, we recommend to create a new clean environment with nothing but the `cookiecutter` package installed.
120120

hooks/pre_gen_project.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919

2020
with warnings.catch_warnings():
2121
warnings.simplefilter("ignore", category=DeprecationWarning)
22-
# check Python version (3.9 or higher)
23-
if Version(platform.python_version()) < Version("3.9.0"):
22+
# check Python version (3.10 or higher)
23+
if Version(platform.python_version()) < Version("3.10.0"):
2424
print(f"ERROR: You are using Python {platform.python_version()},",
25-
"but Python 3.9 or higher is required to use this template")
25+
"but Python 3.10 or higher is required to use this template")
2626
sys.exit(1)
2727
# check cookiecutter version (1.7.2 or higher)
2828
if Version(cookiecutter.__version__) < Version('1.7.2'):

0 commit comments

Comments
 (0)