Skip to content

Bound the OpenCV major and refresh pinned dependency versions#460

Merged
JE-Chen merged 2 commits into
devfrom
chore/dependency-bumps
Jul 23, 2026
Merged

Bound the OpenCV major and refresh pinned dependency versions#460
JE-Chen merged 2 commits into
devfrom
chore/dependency-bumps

Conversation

@JE-Chen

@JE-Chen JE-Chen commented Jul 23, 2026

Copy link
Copy Markdown
Member

Consolidates the stale dependabot bumps and closes the gap that let OpenCV 5 break main.

  • opencv-python>=4.8,<6 as a direct dependency. je_open_cv==0.0.22 leaves it unpinned, so 5.0.0.93 landed on 2026-07-19 and changed HoughLinesP from (N, 1, 4) to (N, 4), breaking line/text-region detection on every fresh install. Verified locally: test_edge_lines_batch.py + test_text_regions_batch.py pass under cv2 5.0.0 with the current sources.
  • pillow 12.2.0 → 12.3.0 (supersedes Bump pillow from 12.2.0 to 12.3.0 #458), pyobjc / pyobjc-core 12.1 → 12.2.1 (supersedes Bump pyobjc-core from 12.1 to 12.2 #200, Bump pyobjc from 12.1 to 12.2 #201), ruff 0.15.14 → 0.15.22 (supersedes Bump ruff from 0.15.14 to 0.15.18 #204), pytest 9.0.3 → 9.1.1 (supersedes Bump pytest from 9.0.3 to 9.1.1 #206). All four dependabot PRs were 278–603 commits behind their base.
  • Workflow pins now match dev_requirements.txt — they had drifted because quality.yml hardcodes its tool versions.
  • CI installs are pinned and --only-binary :all:, clearing SonarCloud githubactions:S8541 / S8544 on the release PR.
  • uv.lock regenerated with uv lock.

je_open_cv leaves opencv-python unpinned, so the OpenCV 5.0 release silently
changed cv2 return shapes and broke line/text-region detection for every fresh
install; an explicit `<6` bound stops the next major from doing the same.

Fold in the dependency bumps dependabot proposed against stale bases (pillow
12.3.0, pyobjc 12.2.1, ruff 0.15.22, pytest 9.1.1) and keep the versions the
workflows hardcode in sync with dev_requirements.txt. Pinning the CI tooling
installs also clears the SonarCloud githubactions:S8541/S8544 findings.
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

pytest 9.1 changed `importorskip`'s default `exc_type` from ImportError to
ModuleNotFoundError, so the container — which has PySide6 installed but no
libEGL — turned 16 previously skipped GUI modules into collection errors.
Ask for the old behaviour explicitly on the Qt guards.

Also move the workflow NOSONAR justifications onto the flagged lines; a
comment on the preceding line does not suppress githubactions:S8544.
@sonarqubecloud

Copy link
Copy Markdown

@JE-Chen
JE-Chen merged commit d8a8396 into dev Jul 23, 2026
24 checks passed
@JE-Chen
JE-Chen deleted the chore/dependency-bumps branch July 23, 2026 02:50
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.

1 participant