Skip to content

chore: refresh dev apache-airflow lock to clear security alerts - #62

Merged
jiayuasu merged 1 commit into
mainfrom
security/refresh-dev-airflow-lock
Jul 16, 2026
Merged

chore: refresh dev apache-airflow lock to clear security alerts#62
jiayuasu merged 1 commit into
mainfrom
security/refresh-dev-airflow-lock

Conversation

@jiayuasu

Copy link
Copy Markdown
Member

What

Refreshes the dev dependency lock to clear security alerts in the apache-airflow test tree.

Context

apache-airflow is a dev-only dependency ([dependency-groups] dev) — the published provider only depends on wherobots-python-dbapi and pydantic. So none of these alerts ship to users; they're the CI test environment. But the locked dev tree had drifted onto vulnerable transitive versions, producing 86 Dependabot alerts.

Change

uv lock upgrade of the alert packages, staying within the apache-airflow>=2.7,<3 constraint. Highlights:

  • aiohttp 3.12.15 -> 3.14.1 (was 29 alerts)
  • werkzeug 2.2.3 -> 3.1.8, flask 2.2.5 -> 2.3.3
  • cryptography 45 -> 49, pyjwt -> 2.13, urllib3 -> 2.7, requests -> 2.34, idna -> 3.18
  • apache-airflow 2.11.0 -> 2.11.2, providers-http 5 -> 6, providers-smtp 2 -> 3

Clears 65 of 86 alerts.

Remaining (21, all dev-scope, structurally capped)

  • 15x apache-airflow — CVEs patched only in 3.x; the provider caps <3
  • flask / flask-appbuilder / pytest — pinned by airflow 2.x below their patched versions

These can't be fixed without dropping airflow-2.x support, and none ship in the wheel. Tracking separately (dismiss as dev-scope, or fold into a future airflow-3 support decision).

Verification

Lock-only change to the dev/test environment; CI (pytest against airflow 2.11.2) validates the refreshed tree.

apache-airflow (and its large transitive tree) is a dev-only dependency
here — the published provider only depends on wherobots-python-dbapi and
pydantic. The dev lock had drifted onto vulnerable transitive versions,
producing dozens of Dependabot alerts for the CI test environment.

Refresh the locked dev tree to the newest versions apache-airflow 2.x
permits: aiohttp 3.12.15 -> 3.14.1, werkzeug 2.2.3 -> 3.1.8,
cryptography 45 -> 49, pyjwt -> 2.13, urllib3 -> 2.7, requests -> 2.34,
apache-airflow 2.11.0 -> 2.11.2, providers-http 5 -> 6, and others. This
clears 65 of 86 alerts.

The remaining alerts are apache-airflow CVEs patched only in 3.x (the
provider caps <3) plus a few transitives airflow 2.x pins below their
patched versions (flask, flask-appbuilder, pytest) — none of which ships
in the provider wheel.
@jiayuasu
jiayuasu merged commit 69f8bda into main Jul 16, 2026
2 checks passed
@jiayuasu
jiayuasu deleted the security/refresh-dev-airflow-lock branch July 16, 2026 05:10
zongsizhang added a commit that referenced this pull request Aug 18, 2026
Release bump for the v1.8.0 tag. Two changes have landed since v1.7.0:

- #62 chore: refresh the dev apache-airflow lock to clear security alerts
  (dev dependency group only, no runtime surface change)
- #64 feat: emit the X-Wherobots-Client attribution header (WBC-819)

The attribution header is additive and reads the provider version from the
installed distribution metadata, so this bump is what makes the provider
report `client=airflow;ver=1.8.0` — minor, not patch, because #64 adds
behavior. No runtime dependency floors change; wherobots-python-dbapi
stays at >=0.28.0, and the published 0.28.1 already carries the
`extra_headers` support the header relies on.

Version lives in two places, both updated: `pyproject.toml` and the
`airflow-providers-wherobots` entry in `uv.lock`. `uv lock --locked`
passes, so no other lock churn was needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants