Skip to content

Commit 7d192f3

Browse files
committed
fix: ensure all dependency files have consistent latest versions
- Updated pre-commit from 4.3.0 to 4.5.1 in all template files - Updated pyhocon from 0.3.59 to 0.3.61 in cookiecutter template - Updated wheel from 0.46.2 to 0.46.3 in requirements-dev.txt - Added v1.3.0 link to CHANGELOG.md All dependency files now consistently use the latest versions: - pyproject.toml (root & template) ✅ - requirements-dev.txt ✅ - environment-dev.yml ✅ - CHANGELOG.md ✅
1 parent 51c641a commit 7d192f3

9 files changed

Lines changed: 612 additions & 458 deletions

File tree

.github/workflows/tests-poetry.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
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: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
- Placeholder for future updates and new features.
12+
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+
1018
### Security
11-
- **BREAKING CHANGE**: Upgraded minimum Python version from 3.9 to 3.10 to support secure dependency versions
1219
- Fixed CVE-2024-47081: Updated `requests` from 2.32.3 to 2.32.5 (Moderate - .netrc credentials leak)
1320
- Fixed CVE-2025-50181: Updated `urllib3` from 2.4.0 to 2.6.3 (Moderate - redirects not disabled with retries)
1421
- Fixed CVE-2025-50182: Updated `urllib3` to 2.6.3 (Moderate - redirects in browsers/Node.js)
@@ -23,9 +30,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2330
### Changed
2431
- Updated CI/CD workflows to test Python 3.10 and 3.13 (dropped 3.9)
2532
- 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.
2674

27-
### Added
28-
- Placeholder for future updates and new features.
2975

3076
## [1.2.2] - 2025-08-22
3177
### Changed
@@ -162,7 +208,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
162208

163209
---
164210

165-
[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
166213
[1.2.2]: https://github.com/at-gmbh/at-python-template/compare/v1.2.1...v1.2.2
167214
[1.2.1]: https://github.com/at-gmbh/at-python-template/compare/v1.2.0...v1.2.1
168215
[1.2.0]: https://github.com/at-gmbh/at-python-template/compare/v1.1.1...v1.2.0

poetry.lock

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

pyproject.toml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "at-python-template"
3-
version = "1.2.2"
3+
version = "1.3.0"
44
description = "This is the official Python Project Template of Alexander Thamm GmbH (AT)"
55
authors = [
66
"Christian Baur <christian.baur@alexanderthamm.com>",
@@ -16,22 +16,22 @@ packages = [{ include = "{{cookiecutter.module_name}}", from = "{{cookiecutter.p
1616

1717
[tool.poetry.dependencies]
1818
python = "^3.10"
19-
cookiecutter = "^2.3"
20-
pre-commit = "^4.3.0"
21-
pytest-mock = "^3.12"
22-
pyhocon = "^0.3.60"
23-
pyyaml = "^6.0"
24-
typer = "^0.16.1"
25-
setuptools = "^80.9.0"
26-
requests = ">=2.32.4"
19+
cookiecutter = "^2.6"
20+
pre-commit = "^4.5.1"
21+
pytest-mock = "^3.15.1"
22+
pyhocon = "^0.3.61"
23+
pyyaml = "^6.0.3"
24+
typer = "^0.21.1"
25+
setuptools = "^80.10.2"
26+
requests = ">=2.32.5"
2727
urllib3 = ">=2.6.3"
28-
wheel = ">=0.46.2"
28+
wheel = "~=0.46.3"
2929
filelock = ">=3.20.3"
3030
virtualenv = ">=20.36.1"
3131

3232
[tool.poetry.group.dev.dependencies]
33-
pytest = "^8.4.1"
34-
pytest-cov = "^6.2.1"
33+
pytest = "^9.0.2"
34+
pytest-cov = "^7.0.0"
3535

3636
[build-system]
3737
requires = ["poetry-core"]

{{cookiecutter.project_slug}}/.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@ repos:
1616
rev: 'stable'
1717
hooks:
1818
- id: black
19-
language_version: python3.9
19+
language_version: python3.10
2020
exclude: ^notebooks{% else %}
2121
- repo: https://github.com/astral-sh/ruff-pre-commit
22-
rev: 'v0.12.10'
22+
rev: 'v0.14.14'
2323
hooks:
2424
- id: ruff{% endif %}
2525
- repo: https://github.com/pycqa/isort
26-
rev: '6.0.1'
26+
rev: '6.1.0'
2727
hooks:
2828
- id: isort
2929
- repo: https://github.com/asottile/pyupgrade
3030
rev: 'v3.20.0'
3131
hooks:
3232
- id: pyupgrade
33-
args: [ --py39-plus ]
33+
args: [ --py310-plus ]

{{cookiecutter.project_slug}}/environment-dev.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ channels:
88

99
dependencies:
1010
- python>=3.10
11-
- pytest>=8.4.1
12-
- pytest-cov>=6.2.1
13-
- pre-commit>=4.3.0
14-
- isort>=6.0.0{% if cookiecutter.use_notebooks == 'yes' %}
11+
- pytest>=9.0.2
12+
- pytest-cov>=7.0.0
13+
- pre-commit>=4.5.1
14+
- isort>=6.1.0{% if cookiecutter.use_notebooks == 'yes' %}
1515
- jupyterlab>=4.3.5{% endif %}
1616
- pip{% if cookiecutter.code_formatter == 'black' %}
1717
- pip:

{{cookiecutter.project_slug}}/environment.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ channels:
99
dependencies:
1010
- python>=3.10{% if cookiecutter.config_file == 'hocon' %}
1111
- pyhocon>=0.3.61{% elif cookiecutter.config_file == 'yaml' %}
12-
- PyYAML>=6.0.2{% endif %}
12+
- PyYAML>=6.0.3{% endif %}
1313
- pip {% if cookiecutter.create_cli == 'yes' %}
1414
- pip:
15-
- typer==0.15.1{% endif %}
15+
- typer==0.21.1{% endif %}

{{cookiecutter.project_slug}}/pyproject.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ include = ["src/{{ cookiecutter.module_name }}/res/*"]
1111
[tool.poetry.dependencies]
1212
python = "^3.10"
1313
{%- if cookiecutter.config_file == 'hocon' %}
14-
pyhocon = "^0.3.59"
14+
pyhocon = "^0.3.61"
1515
{%- elif cookiecutter.config_file == 'yaml' %}
16-
PyYAML = "^6.0"
16+
PyYAML = "^6.0.3"
1717
{%- endif %}
1818
{%- if cookiecutter.create_cli == 'yes' %}
19-
typer = "^0.16.1"
19+
typer = "^0.21.1"
2020
{%- endif %}
2121

2222
[tool.poetry.group.test.dependencies]
23-
pytest = "^8.4.1"
24-
pytest-cov = "^6.2.1"
23+
pytest = "^9.0.2"
24+
pytest-cov = "^7.0.0"
2525

2626
[tool.poetry.group.linter.dependencies]
2727
{%- if cookiecutter.code_formatter == 'black' %}
@@ -32,7 +32,7 @@ ruff = "^0.1.7"
3232
isort = "^5.12.0"
3333

3434
[tool.poetry.group.dev.dependencies]
35-
pre-commit = "^4.3.0"
35+
pre-commit = "^4.5.1"
3636
{%- if cookiecutter.use_notebooks == 'yes' %}
3737
jupyterlab = "^3.5"
3838
{%- endif %}

{{cookiecutter.project_slug}}/requirements-dev.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# with this project (e.g. for testing or useful development tools).
33
# The regular project dependencies are defined in requirements.txt{% if cookiecutter.code_formatter == 'black' %}
44
black~=25.1.0{% endif %}
5-
pre-commit~=4.3.0
6-
pytest~=8.4.1
7-
pytest-cov~=6.2.1
8-
wheel>=0.46.2
5+
pre-commit~=4.5.1
6+
pytest~=9.0.2
7+
pytest-cov~=7.0.0
8+
wheel~=0.46.3

0 commit comments

Comments
 (0)