Skip to content

release: v1.2.1 – dependency, toolchain, and CI/CD refresh - #9

Merged
ventura8 merged 1 commit into
mainfrom
feature/v1.2.1
Sep 2, 2026
Merged

release: v1.2.1 – dependency, toolchain, and CI/CD refresh#9
ventura8 merged 1 commit into
mainfrom
feature/v1.2.1

Conversation

@ventura8

@ventura8 ventura8 commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Maintenance release. Every production, ML, developer, and CI/CD dependency was audited against its upstream registry and moved to the latest final version the resolver accepts. No application behaviour changes; no public API changes.

What changed

ML / runtime

  • transformers ^5.15.1 -> ^5.16.1
  • faster-whisper, sentencepiece, accelerate, audioread, pyyaml already current

Developer toolchain

  • isort ^8.0.1 -> ^9.0.1 (major; profile="black" and the line_length=140 / py_version=312 config remain supported)
  • pylint ^4.0.7 -> ^4.0.8
  • ruff ^0.16.4 -> ^0.16.5
  • pytest, pytest-cov, radon, flake8, black, taplo, mypy, pyright, bandit, pip-audit, genbadge, types-pyyaml, mdformat, pymarkdownlnt already current

Cross-platform & CI

  • POETRY_VERSION 2.4.1 -> 2.4.2
  • actions/checkout v7.0.0 -> v7.0.1 (all three CI jobs)
  • actions/setup-python v6.3.0 -> v7.0.0
  • actions/setup-node v5.0.0 -> v7.0.0
  • The checkout and setup-python bumps also correct a real drift: ci.yml and release.yml had been pinning different versions of the same two actions.
  • upload-artifact (v7.0.1), download-artifact (v8.0.1), setup-go (v7.0.0) and softprops/action-gh-release (v3.0.3) were already latest; unchanged.
  • docker/Dockerfile.ubuntu: uv 0.6.14 -> 0.12.9
  • docker/Dockerfile.ubuntu: hermetic CPython 3.12.13 -> 3.12.14 (verified in astral-sh/python-build-standalone release 20260901)

Documentation

  • install_dependencies.ps1 header corrected from "CUDA 12.8 Stable" to "CUDA 13.2 Stable (PyTorch cu132 wheels)" — what has actually shipped since v1.1.3.
  • docs/instructions.md release-notes link repointed to v1.2.1.
  • Added docs/releases/v1.2.1.md and v1.2.1_github_description.md.

Deferred: CUDA 13.3.1

NVIDIA released CUDA 13.3.1, but PyTorch never published a cu133 build and has skipped the version entirely. Probing the wheel indexes: cu132 stable=200 nightly=200; cu133 stable=403 nightly=403; cu134 stable=403 nightly=200. There is no cu133 artifact to upgrade to on either channel, so pinning it would break every GPU install. PyTorch's next CUDA target is 13.4, currently nightly-only.

Reinforcing this, torch 2.13.0+cu132 hard-pins the CUDA 13.2.1 component stack: it depends on cuda-toolkit[cublas,...] (13.2.1) which pins nvidia-cublas ==13.4.0.1.*, and separately pins nvidia-cudnn-cu13 9.20.0.48. Raising either to its current PyPI release (13.6.1.10 / 9.25.1.1) fails version solving outright, so both pins are retained deliberately — dictated by torch, not chosen here. torch/torchvision stay at 2.13.0 / 0.28.0: 2.14.0+cu132 wheels are staged on the CUDA index but absent from PyPI with no upstream release, so they are pre-final and would desync the macOS branch.

Revisit when cu134 reaches the stable channel.

Deferred: audio-separator 0.47.0

Prepared, then reverted. 0.47.0 (with librosa ^1.0.0) makes Poetry's resolver blow up combinatorially — locks observed at 8, 30, and 150+ minutes of saturated CPU against a config that otherwise locks in ~11s. Bisected to 0.47.0 alone; librosa is not implicated. Verbose resolver output points at "Duplicate dependencies for nvidia-cublas": 0.47.0 adds torch<3,>=2.13 under a darwin/arm64 marker, pulling in PyPI torch 2.13.0, which depends on cuda-toolkit 13.0.3 rather than the cu132 wheel's 13.2.1 — two irreconcilable nvidia-cublas constraints. Pinning Darwin torch/torchvision exactly, and removing the project's own nvidia-* pins, were both tried; neither resolved it.

audio-separator stays at ^0.44.5 and librosa keeps its >=0.10.2,<1.0 ceiling (0.44.5 calls librosa.get_duration(filename=...), removed in librosa 1.0). Note for the follow-up: 0.47.0 itself is librosa-1.0 compatible — it calls get_duration(path=...) — so both can move together once the conflict is solved.

Quality gates

  • Tests: 310 passed, 13 deselected
  • Coverage: 90.48% (threshold >= 90%); all per-file gates >= 90%
  • Linters (isort/black/taplo/ruff/flake8/pylint/mdformat/pymarkdown): zero warnings
  • Type checkers (mypy, pyright): zero errors
  • Security (bandit -lll -iii, pip-audit): clean
  • Radon: A-grade cyclomatic complexity and maintainability index
  • poetry check --lock: All set!

Breaking changes

  • None.

Maintenance release. Every production, ML, developer, and CI/CD dependency was
audited against its upstream registry and moved to the latest final version the
resolver accepts. No application behaviour changes; no public API changes.

## What changed

### ML / runtime
- transformers ^5.15.1 -> ^5.16.1
- faster-whisper, sentencepiece, accelerate, audioread, pyyaml already current

### Developer toolchain
- isort ^8.0.1 -> ^9.0.1 (major; profile="black" and the line_length=140 /
  py_version=312 config remain supported)
- pylint ^4.0.7 -> ^4.0.8
- ruff ^0.16.4 -> ^0.16.5
- pytest, pytest-cov, radon, flake8, black, taplo, mypy, pyright, bandit,
  pip-audit, genbadge, types-pyyaml, mdformat, pymarkdownlnt already current

### Cross-platform & CI
- POETRY_VERSION 2.4.1 -> 2.4.2
- actions/checkout v7.0.0 -> v7.0.1 (all three CI jobs)
- actions/setup-python v6.3.0 -> v7.0.0
- actions/setup-node v5.0.0 -> v7.0.0
- The checkout and setup-python bumps also correct a real drift: ci.yml and
  release.yml had been pinning different versions of the same two actions.
- upload-artifact (v7.0.1), download-artifact (v8.0.1), setup-go (v7.0.0) and
  softprops/action-gh-release (v3.0.3) were already latest; unchanged.
- docker/Dockerfile.ubuntu: uv 0.6.14 -> 0.12.9
- docker/Dockerfile.ubuntu: hermetic CPython 3.12.13 -> 3.12.14 (verified in
  astral-sh/python-build-standalone release 20260901)

### Documentation
- install_dependencies.ps1 header corrected from "CUDA 12.8 Stable" to
  "CUDA 13.2 Stable (PyTorch cu132 wheels)" — what has actually shipped since
  v1.1.3.
- docs/instructions.md release-notes link repointed to v1.2.1.
- Added docs/releases/v1.2.1.md and v1.2.1_github_description.md.

## Deferred: CUDA 13.3.1

NVIDIA released CUDA 13.3.1, but PyTorch never published a cu133 build and has
skipped the version entirely. Probing the wheel indexes: cu132 stable=200
nightly=200; cu133 stable=403 nightly=403; cu134 stable=403 nightly=200. There
is no cu133 artifact to upgrade to on either channel, so pinning it would break
every GPU install. PyTorch's next CUDA target is 13.4, currently nightly-only.

Reinforcing this, torch 2.13.0+cu132 hard-pins the CUDA 13.2.1 component stack:
it depends on cuda-toolkit[cublas,...] (13.2.1) which pins
nvidia-cublas ==13.4.0.1.*, and separately pins nvidia-cudnn-cu13 9.20.0.48.
Raising either to its current PyPI release (13.6.1.10 / 9.25.1.1) fails version
solving outright, so both pins are retained deliberately — dictated by torch,
not chosen here. torch/torchvision stay at 2.13.0 / 0.28.0: 2.14.0+cu132 wheels
are staged on the CUDA index but absent from PyPI with no upstream release, so
they are pre-final and would desync the macOS branch.

Revisit when cu134 reaches the stable channel.

## Deferred: audio-separator 0.47.0

Prepared, then reverted. 0.47.0 (with librosa ^1.0.0) makes Poetry's resolver
blow up combinatorially — locks observed at 8, 30, and 150+ minutes of
saturated CPU against a config that otherwise locks in ~11s. Bisected to
0.47.0 alone; librosa is not implicated. Verbose resolver output points at
"Duplicate dependencies for nvidia-cublas": 0.47.0 adds torch<3,>=2.13 under a
darwin/arm64 marker, pulling in PyPI torch 2.13.0, which depends on
cuda-toolkit 13.0.3 rather than the cu132 wheel's 13.2.1 — two irreconcilable
nvidia-cublas constraints. Pinning Darwin torch/torchvision exactly, and
removing the project's own nvidia-* pins, were both tried; neither resolved it.

audio-separator stays at ^0.44.5 and librosa keeps its >=0.10.2,<1.0 ceiling
(0.44.5 calls librosa.get_duration(filename=...), removed in librosa 1.0).
Note for the follow-up: 0.47.0 itself is librosa-1.0 compatible — it calls
get_duration(path=...) — so both can move together once the conflict is solved.

## Quality gates
- Tests: 310 passed, 13 deselected
- Coverage: 90.48% (threshold >= 90%); all per-file gates >= 90%
- Linters (isort/black/taplo/ruff/flake8/pylint/mdformat/pymarkdown): zero warnings
- Type checkers (mypy, pyright): zero errors
- Security (bandit -lll -iii, pip-audit): clean
- Radon: A-grade cyclomatic complexity and maintainability index
- poetry check --lock: All set!

## Breaking changes
- None.
@ventura8 ventura8 self-assigned this Sep 2, 2026
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Essentials

Run ID: 0ee33712-6d37-4cec-98d1-0b73b1fcb445

📥 Commits

Reviewing files that changed from the base of the PR and between df902fe and dbabee2.

⛔ Files ignored due to path filters (1)
  • poetry.lock is excluded by !**/*.lock
📒 Files selected for processing (7)
  • .github/workflows/ci.yml
  • docker/Dockerfile.ubuntu
  • docs/instructions.md
  • docs/releases/v1.2.1.md
  • docs/releases/v1.2.1_github_description.md
  • install_dependencies.ps1
  • pyproject.toml

Included review availability: 2 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 3 reviews per hour.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (4)
  • GitHub Check: 🚀 Real Dependencies E2E (ubuntu-latest)
  • GitHub Check: 🚀 Real Dependencies E2E (macos-latest)
  • GitHub Check: 🚀 Real Dependencies E2E (windows-latest)
  • GitHub Check: 📊 Analytics & Coverage Reporting
🧰 Additional context used
📓 Path-based instructions (1)
Use markdown-quality when updating README/docs/.github markdown content.

📄 CodeRabbit inference engine (AGENTS.md)

Files:

  • docs/instructions.md
🔇 Additional comments (7)
pyproject.toml (1)

7-7: LGTM!

Also applies to: 36-36, 57-62

docs/instructions.md (1)

89-89: LGTM!

docs/releases/v1.2.1.md (1)

1-122: LGTM!

docs/releases/v1.2.1_github_description.md (1)

1-62: LGTM!

.github/workflows/ci.yml (1)

13-13: LGTM!

Also applies to: 20-20, 25-25, 34-34, 181-181, 186-186, 245-245, 250-250, 300-300, 305-305

docker/Dockerfile.ubuntu (1)

15-15: LGTM!

Also applies to: 18-18

install_dependencies.ps1 (1)

2-2: LGTM!


📝 Summary

Summary by CodeRabbit

  • Updates

    • Version 1.2.1 is now published.
    • Updated the supported GPU optimization target to RTX 5090 with CUDA 13.2.
    • Refreshed the machine-learning and developer tooling dependencies.
  • Documentation

    • Added comprehensive release notes for version 1.2.1.
    • Updated the documentation index to point to the latest release notes.
    • Documented dependency and toolchain updates, quality checks, and deferred upgrades.
  • Maintenance

    • Refreshed CI/CD and container tooling, including Python and package-management components.

Walkthrough

This release updates project dependencies, development tools, CI actions, container tooling, Python, and documentation for version 1.2.1. It also records deferred CUDA and audio-separator upgrades and adds quality-gate instructions.

Changes

Release maintenance

Layer / File(s) Summary
Project version and dependency updates
pyproject.toml
The project version changes to 1.2.1. transformers, pylint, isort, and ruff receive version updates.
CI, container, and installation toolchain updates
.github/workflows/ci.yml, docker/Dockerfile.ubuntu, install_dependencies.ps1
CI actions, Poetry, uv, and Python receive version updates. The documented RTX 5090 CUDA target changes to CUDA 13.2.
Release documentation and navigation
docs/instructions.md, docs/releases/*
The documentation index points to v1.2.1. Release materials document dependency updates, deferred CUDA and audio-separator upgrades, quality gates, and the absence of breaking changes.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to dbabe

This maintenance release updates dependencies, tooling, CI/CD actions, and documentation without reported application behavior or API changes; no actionable merge-blocking risk remains beyond normal checks and review.

Poem

A rabbit reads each line,
The patch grows clear beneath the moon,
Small changes hop in place,
Tests guard the garden path,
Reviews bloom before the dawn.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the v1.2.1 release and accurately summarizes the dependency, toolchain, and CI/CD refresh.
Description check ✅ Passed The description directly matches the changeset. It documents the dependency and toolchain updates, deferred upgrades, documentation changes, quality gates, and absence of breaking changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (7 skipped: 7 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/v1.2.1

Comment @coderabbitai help to get the list of available commands.

@ventura8
ventura8 merged commit 6ef42be into main Sep 2, 2026
8 checks passed
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