Skip to content

Commit f94eeed

Browse files
berntpoppclaude
andauthored
chore(deps): consolidate dependabot bumps #405-#420 + clear all security alerts (#421)
* chore(ci)(deps): bump setup-python, docker/login-action, docker/build-push-action - actions/setup-python 6.3.0 -> 7.0.0 (#411) - docker/login-action 4.2.0 -> 4.4.0 (#406) - docker/build-push-action 7.2.0 -> 7.3.0 (#405) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SKNkeeo4ggQFfNWcFNLFtE * chore(backend)(deps): bump python dependency group + setuptools Consolidates dependabot #420 (13-package python group) and #418 (setuptools). Applied: aiohttp 3.14.3, annotated-types 0.8.0, anyio 4.14.2, certifi 2026.7.22, cffi 2.1.0, charset-normalizer 3.4.9, fastapi 0.141.1, greenlet 3.5.4, mypy 2.3.0, ruff 0.16.0, setuptools 83.0.0, websockets 16.1.1/17.0, yarl 1.24.5. Held back: pydantic-core 2.47.0 — latest pydantic is still 2.13.4 and pins pydantic-core==2.46.4 exactly, so the bump is uninstallable (deferred in #378 and #404 for the same reason). setuptools 83.0.0 clears GHSA-h35f-9h28-mq5c (medium). ruff 0.16.0 formats python code blocks inside markdown, hence the two README.md reformats. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SKNkeeo4ggQFfNWcFNLFtE * chore(mcp)(deps): bump mcp 1.27.1 -> 1.29.0 Supersedes dependabot #410 (which targeted 1.28.1); uv resolved to the latest satisfying 1.29.0. Clears three HIGH advisories: GHSA-hvrp-rf83-w775, GHSA-jpw9-pfvf-9f58 (both <1.27.2) and GHSA-vj7q-gjh5-988w (<1.28.1). 443 mcp tests pass; ruff + mypy clean. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SKNkeeo4ggQFfNWcFNLFtE * chore(frontend)(deps): bump prod + dev dependency groups, clear all advisories Consolidates dependabot #419 (11 dev), #412 (3 prod), #417 (dompurify), #416 (immutable) and #415 (body-parser). Prod: dompurify 3.4.12, vue 3.5.40 (+ @vue/server-renderer 3.5.40 in lock-step — it peer-pins vue exactly), vuetify 4.1.6. Dev: eslint 10.8.0, eslint-plugin-vue 10.10.0, globals 17.8.0, happy-dom 20.11.1, lint-staged 17.2.0, @playwright/test 1.62.0, prettier 3.9.6, sass 1.102.0, terser 5.49.0, vite 8.2.0, @vitejs/plugin-vue 6.0.8. Transitive security fixes: immutable 5.1.9 (GHSA-v56q-mh7h-f735, GHSA-xvcm-6775-5m9r), body-parser 2.3.0 (GHSA-v422-hmwv-36x6), dompurify 3.4.12 (GHSA-c2j3-45gr-mqc4). brace-expansion (GHSA-3jxr-9vmj-r5cp + GHSA-mh99-v99m-4gvg) was not covered by any dependabot PR. It only survives as a nested 2.1.4 under js-beautify -> {editorconfig,glob} -> minimatch@9, and 2.x has no patched release. A blanket brace-expansion@5 override is NOT safe: minimatch@9 does `__importDefault(require("brace-expansion"))` and calls `.default()`, but brace-expansion@5's CJS build exports an object `{EXPANSION_MAX, EXPANSION_MAX_LENGTH, expand}` — so it would throw. Instead override minimatch to ^10.2.5, which is written against the object export (eslint already resolves minimatch 10.2.x, so this dedupes rather than adds). npm audit: 0 vulnerabilities. 504 vitest tests, eslint, prettier and vite build all pass; `npm ci` reinstalls the lock cleanly. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SKNkeeo4ggQFfNWcFNLFtE --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 40dd2d3 commit f94eeed

11 files changed

Lines changed: 1389 additions & 1529 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ jobs:
404404
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
405405

406406
- name: Set up Python
407-
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
407+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
408408
with:
409409
python-version: '3.12'
410410

.github/workflows/docker.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ jobs:
8888

8989
- name: Build (no push)
9090
if: ${{ steps.gate.outputs.build == 'true' }}
91-
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
91+
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
9292
with:
9393
context: ${{ matrix.context }}
9494
file: ${{ matrix.dockerfile }}
@@ -136,7 +136,7 @@ jobs:
136136
137137
- name: Log in to GHCR
138138
if: ${{ steps.gate.outputs.build == 'true' }}
139-
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
139+
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
140140
with:
141141
registry: ghcr.io
142142
username: ${{ github.actor }}
@@ -161,7 +161,7 @@ jobs:
161161

162162
- name: Build and push
163163
if: ${{ steps.gate.outputs.build == 'true' }}
164-
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0
164+
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
165165
with:
166166
context: ${{ matrix.context }}
167167
file: ${{ matrix.dockerfile }}

backend/app/phenopackets/README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,7 @@ Computes molecular consequences from HGVS notations:
129129
from app.phenopackets.molecular_consequence import compute_molecular_consequence
130130

131131
consequence = compute_molecular_consequence(
132-
transcript="NM_000458.4:c.544+1G>T",
133-
protein=None,
134-
variant_type=None
132+
transcript="NM_000458.4:c.544+1G>T", protein=None, variant_type=None
135133
)
136134
# Returns: "Splice Donor"
137135
```
@@ -229,11 +227,11 @@ See [tests/README.md](../../tests/README.md) for detailed testing documentation.
229227
"phenotypicFeatures": [...],
230228
"interpretations": [...],
231229
"diseases": [...],
232-
"metaData": {...}
230+
"metaData": {...},
233231
},
234232
"created_at": "2025-10-27T12:00:00Z",
235233
"updated_at": "2025-10-27T12:00:00Z",
236-
"schema_version": "2.0"
234+
"schema_version": "2.0",
237235
}
238236
```
239237

@@ -253,7 +251,7 @@ See [tests/README.md](../../tests/README.md) for detailed testing documentation.
253251
"hg38": "chr17:36098063",
254252
"transcript": "NM_000458.4:c.1654-2A>T",
255253
"protein": "NP_000449.3:p.Ser552Ter",
256-
"molecular_consequence": "Splice Acceptor"
254+
"molecular_consequence": "Splice Acceptor",
257255
}
258256
]
259257
```

backend/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ dependencies = [
4141

4242
[dependency-groups]
4343
dev = [
44-
"ruff==0.15.20",
45-
"mypy==2.1.0",
44+
"ruff==0.16.0",
45+
"mypy==2.3.0",
4646
"types-jsonschema>=4.25.1.20250822",
4747
"types-pyyaml>=6.0.12.20260408", # Type stubs for PyYAML
4848
"types-redis>=4.6.0", # Type stubs for Redis

backend/requirements-dev.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
-r requirements.txt
66

77
# Development tools (from [dependency-groups.dev])
8-
ruff==0.15.20
9-
mypy==2.1.0
8+
ruff==0.16.0
9+
mypy==2.3.0
1010

1111
# Testing (from [dependency-groups.test])
1212
pytest==9.1.1

backend/requirements.txt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# uv export --format requirements.txt --no-dev --no-hashes --no-emit-project --output-file requirements.txt
33
aiohappyeyeballs==2.7.1
44
# via aiohttp
5-
aiohttp==3.14.1
5+
aiohttp==3.14.3
66
# via hnf1b-api
77
aiosignal==1.4.0
88
# via aiohttp
@@ -12,9 +12,9 @@ alembic==1.18.5
1212
# via hnf1b-api
1313
annotated-doc==0.0.4
1414
# via fastapi
15-
annotated-types==0.7.0
15+
annotated-types==0.8.0
1616
# via pydantic
17-
anyio==4.14.1
17+
anyio==4.14.2
1818
# via
1919
# httpx
2020
# starlette
@@ -42,16 +42,16 @@ bioutils==0.6.1
4242
# via ga4gh-vrs
4343
canonicaljson==2.0.0
4444
# via ga4gh-vrs
45-
certifi==2026.6.17
45+
certifi==2026.7.22
4646
# via
4747
# httpcore
4848
# httpx
4949
# requests
50-
cffi==2.0.0
50+
cffi==2.1.0
5151
# via argon2-cffi-bindings
5252
chardet==5.2.0
5353
# via pronto
54-
charset-normalizer==3.4.7
54+
charset-normalizer==3.4.9
5555
# via requests
5656
click==8.4.2
5757
# via uvicorn
@@ -63,7 +63,7 @@ email-validator==2.3.0
6363
# via hnf1b-api
6464
exceptiongroup==1.3.1 ; python_full_version < '3.11'
6565
# via anyio
66-
fastapi==0.139.0
66+
fastapi==0.141.1
6767
# via hnf1b-api
6868
fastobo==0.14.1
6969
# via pronto
@@ -73,7 +73,7 @@ frozenlist==1.8.0
7373
# aiosignal
7474
ga4gh-vrs==2.3.3
7575
# via hnf1b-api
76-
greenlet==3.5.3
76+
greenlet==3.5.4
7777
# via sqlalchemy
7878
h11==0.16.0
7979
# via
@@ -237,7 +237,9 @@ uvloop==0.22.1 ; platform_python_implementation != 'PyPy' and sys_platform != 'c
237237
# via uvicorn
238238
watchfiles==1.2.0
239239
# via uvicorn
240-
websockets==16.0
240+
websockets==16.1.1 ; python_full_version < '3.11'
241241
# via uvicorn
242-
yarl==1.24.2
242+
websockets==17.0 ; python_full_version >= '3.11'
243+
# via uvicorn
244+
yarl==1.24.5
243245
# via aiohttp

backend/tests/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ def db_session():
253253
yield session
254254
# Teardown
255255

256+
256257
@pytest.fixture
257258
def sample_phenopacket():
258259
"""Provide a sample phenopacket for tests."""

0 commit comments

Comments
 (0)