Skip to content

Upgrade all dependencies, drop Python <3.10 and dbt 1.0, add dbt 1.12 support - #99

Merged
sweco merged 3 commits into
mainfrom
fix/update-vulnerable-packages
Oct 7, 2026
Merged

sweco merged 3 commits into
mainfrom
fix/update-vulnerable-packages

Conversation

@sweco

@sweco sweco commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Fixes #98.

Summary

  • Upgrade all dependencies to their latest compatible versions. This removes the vulnerable zipp (3.15.0 → 4.1.1) and pygments (2.17.2 → 2.21.0) from the lock file.
  • Breaking: drop Python 3.7 – 3.9. The minimum supported Python is now 3.10. With python = "^3.7", Poetry kept a separate resolution for Python <3.10 that held old, vulnerable versions, so a full upgrade was not possible without this. Python 3.7 – 3.9 are all EOL.
  • Breaking: drop dbt 1.0, as it does not run on Python 3.10+.
  • Add support for dbt 1.12. dbt-postgres 1.12 is not on PyPI yet, so it is tested with dbt-postgres 1.11. dbt 1.12 writes manifest schema v12, which is already supported.
  • Docs: the README support matrix now lists dbt versions per dbt-coverage version.

Notes

  • dbt 1.11 is now tested with dbt-postgres 1.11, which has been released.
  • The test-group dbt-core/dbt-postgres are restricted to Python <3.15, because metricflow (a new dbt-core 1.12 dependency) does not support 3.15+. This affects only the test setup, not what users install.
  • black 26.10.0 reformats one textwrap.dedent call in dbt_coverage/__init__.py. Behaviour is unchanged.
  • Other bumps: isort 9.0.2, pre-commit 4, pre-commit-hooks v6.0.0, pytest 9, pytest-docker 3, and actions/checkout/actions/setup-python v7.
  • The packages still behind latest are held back by dbt's own version pins or by Python 3.10 support.
  • dbt 2.0 is not added: it is still a release candidate and a Rust rewrite with a different install model. It still writes manifest.json, so it can be evaluated once stable.

Testing

Run locally:

  • pre-commit run --all-files: passes.
  • tox -e unit: passes.
  • Integration tests on dbt 1.1 – 1.12 (one env at a time): all pass. On dbt 1.1 – 1.7, 2 tests are skipped, because those tests only run on dbt 1.8+.

🤖 Generated with Claude Code

sweco and others added 3 commits October 7, 2026 15:36
Upgrade all packages to their latest compatible versions, which resolves
vulnerable zipp (3.15.0) and pygments (2.17.2) in the lock file.

The old versions were kept because python = "^3.7" forced Poetry to resolve
a separate branch for Python <3.10. Python 3.7 - 3.9 are EOL, so the minimum
supported Python is now 3.10, which also lets us drop the marker-split
workarounds for click, tox and friends.

- dbt-postgres 1.11 is now on PyPI, use it for dbt 1.11 tests
- Remove support for dbt 1.0 (dbt 1.0 requires Python 3.9)
- Bump black to 25.12.0 (26.x needs pathspec>=1, incompatible with dbt-core 1.11),
  isort to 9.0.2, pre-commit-hooks to v6.0.0, pytest to 9, pytest-docker to 3
- Bump actions/checkout and actions/setup-python to v7

BREAKING CHANGE: Python 3.7 - 3.9 and dbt 1.0 are no longer supported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Flip the support matrix so each dbt-coverage version lists the dbt versions
it supports, and add the upcoming 0.5 release (dbt 1.1 - 1.11).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Add dbt112 integration test env; dbt-postgres 1.12 is not yet on PyPI,
  so it is tested with dbt-postgres 1.11
- Restrict test-group dbt deps to Python <3.15, as metricflow (a new
  dbt-core 1.12 dependency) does not support Python 3.15+
- Bump black to 26.10.0, now that dbt-core 1.12 allows pathspec>=1,
  and apply its new formatting
- Refresh the lock file with the latest compatible versions

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sweco
sweco merged commit e1b880d into main Oct 7, 2026
3 checks passed
@sweco
sweco deleted the fix/update-vulnerable-packages branch October 7, 2026 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update vulnerable packages

1 participant