Skip to content

Pin Python dependencies to exact versions#350

Merged
JanPetterMG merged 1 commit intomainfrom
version-lock-dependencies
Feb 11, 2026
Merged

Pin Python dependencies to exact versions#350
JanPetterMG merged 1 commit intomainfrom
version-lock-dependencies

Conversation

@JanPetterMG
Copy link
Copy Markdown
Collaborator

This PR replaces compatible release specifiers ~= with exact version pins == for selected Python dependencies.

While loosening constraints was intended to allow safe patch updates, it introduces non-deterministic builds and can result in unexpected upstream changes being pulled into CI without explicit review. For infrastructure-related tooling and rendering libraries, even minor updates can introduce behavioral or output differences.

Key changes

  • Pin the following packages to exact versions:
    • fonttools==4.61.1
    • matplotlib==3.10.8
    • pillow==12.1.1
    • tzdata==2025.3
    • httpx==0.28.1
  • Replace ~= specifiers with == in requirements
  • Ensure reproducible installs across CI and local environments

Impact

  • Improves build reproducibility and determinism
  • Prevents implicit adoption of newly released upstream versions
  • Makes dependency updates an explicit and reviewable action
  • Dependabot will still propose updates, but upgrades will now require intentional version bumps

No functional changes are introduced beyond dependency resolution behavior.

@JanPetterMG JanPetterMG added dependencies Pull requests that update a dependency file chore This issue or pull request is a maintenance task labels Feb 11, 2026
@JanPetterMG JanPetterMG added this to the v2.2.1 milestone Feb 11, 2026
@JanPetterMG JanPetterMG enabled auto-merge (squash) February 11, 2026 14:10
@github-actions github-actions Bot added tools Toolbox related extra Optional resources labels Feb 11, 2026
@JanPetterMG JanPetterMG merged commit e4d9a40 into main Feb 11, 2026
219 checks passed
@JanPetterMG JanPetterMG deleted the version-lock-dependencies branch February 11, 2026 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore This issue or pull request is a maintenance task dependencies Pull requests that update a dependency file extra Optional resources tools Toolbox related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant