Skip to content

v0.10.0#802

Merged
AlexeyKozhevin merged 4 commits intomasterfrom
r0.10.0
Feb 24, 2026
Merged

v0.10.0#802
AlexeyKozhevin merged 4 commits intomasterfrom
r0.10.0

Conversation

@AlexeyKozhevin
Copy link
Member

This pull request introduces significant improvements to the release automation workflow and adds enhanced support for Apple's Metal (MPS) backend in PyTorch models. It also bumps the project version to 0.10.0. Below are the most important changes grouped by theme:

Release Automation Overhaul:

  • Replaces the old release workflows (release.yml and release-check.yml) with a new, modular set of GitHub Actions:
  • Removes legacy release workflows to avoid conflicts and streamline the process. [1] [2]

PyTorch MPS (Apple Silicon) Support:

  • Updates device parsing and selection logic in batchflow/models/torch/base.py to recognize and use the MPS backend when available, in addition to CUDA and CPU.
  • Ensures device lists and device-specific operations (autocast, GradScaler, etc.) are compatible with MPS, not just CUDA. [1] [2] [3] [4] [5] [6]
  • Adjusts AMP (automatic mixed precision) and backend benchmarking logic to be device-agnostic.

Version Bump:

  • Increments the project version in pyproject.toml from 0.9.4 to 0.10.0 to reflect these breaking and feature changes.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request introduces version 0.10.0 with two major feature sets: a complete overhaul of the release automation workflow and enhanced support for Apple's Metal Performance Shaders (MPS) backend in PyTorch models.

Changes:

  • Replaced legacy GitHub Actions workflows (release.yml and release-check.yml) with modular release automation supporting branch-based versioning, automated PyPI publishing, and hotfix propagation
  • Added MPS device detection and selection in PyTorch model device parsing to enable Apple Silicon GPU acceleration
  • Updated PyTorch operations (autocast, GradScaler, benchmark configuration) to be device-type aware rather than CUDA-specific
  • Bumped project version from 0.9.4 to 0.10.0 in pyproject.toml and uv.lock

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
.github/workflows/release-on-branch-create.yml New workflow to automatically prepare release branches with version updates and draft PRs
.github/workflows/release-on-merge.yml New workflow handling release tagging, PyPI publishing, next release branch creation, and hotfix propagation
.github/workflows/release.yml Removed legacy release workflow to avoid conflicts
.github/workflows/release-check.yml Removed legacy release check workflow to avoid conflicts
batchflow/models/torch/base.py Added MPS device support in device parsing, updated autocast and GradScaler to use device type instead of hardcoded 'cuda', adjusted AMP disabling logic and cudnn benchmark configuration
pyproject.toml Version bumped from 0.9.4 to 0.10.0
uv.lock Updated to reflect new version 0.10.0 and regenerated lock file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@AlexeyKozhevin AlexeyKozhevin merged commit 5f551c2 into master Feb 24, 2026
17 checks passed
@AlexeyKozhevin AlexeyKozhevin deleted the r0.10.0 branch February 24, 2026 10:21
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.

2 participants