Releases: OpenAdaptAI/openadapt-ml
v0.3.1
v0.3.1 (2026-02-05)
Bug Fixes
-
cli: Resolve ruff linter errors (
210a31f) -
Replace bare
except:withexcept Exception: -
Remove unused f-string prefixes
-
Remove unused variable assignments
-
Remove unused imports
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Documentation
- docs(readme): add parallel WAA evaluation section, fix build badge
- Fix broken build badge (publish.yml → release.yml) - Add prominent "Parallel WAA Benchmark Evaluation" section near top - Add detailed "WAA Benchmark Workflow" section (#14) with: - Single VM and parallel pool workflows - VNC access instructions - Architecture diagram - Cost estimates - Update section numbering (Limitations → 15, Roadmap → 16)
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
- fix(readme): address self-review feedback
- Fix anchor placement (move before heading for proper navigation) - Correct pool-delete → pool-cleanup (actual command name) - Add pool-status example for getting worker IPs - Add "prices vary by region" caveat
Co-authored-by: Claude Opus 4.5 noreply@anthropic.com
Detailed Changes: v0.3.0...v0.3.1
v0.3.0
v0.3.0 (2026-02-05)
Bug Fixes
-
cli: Improve pool-create reliability and error handling (
f23bd57) -
Properly clean up test VM and associated resources during quota check
-
Use sudo for docker pull (usermod not effective in same session)
-
Add pool-cleanup command for orphaned resources
-
Show full error messages in pool creation failures
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
-
pool: Use WAA native task distribution with --worker_id/--num_workers (
ef0d8c7) -
Fixed task distribution: WAA ignores --start_idx/--num_tasks, use native
--worker_id and --num_workers parameters instead -
Worker 0 gets tasks 0, N, 2N... Worker 1 gets tasks 1, N+1, 2N+1...
-
Use vanilla windowsarena/winarena image with correct IP (20.20.20.21)
-
Add container reuse check (skip restart if already running)
-
Pass API key via env var instead of config file
-
Fix QMP port exposure (7200) for QEMU control
-
Store Windows disk on /mnt for 300GB temp storage (D8ds_v5)
Tested: 2-worker pool running 4 tasks in parallel successfully
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
- waa: Use D4ds_v4 VM size for quota compatibility (
2a51a97)
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
- waa: Use D8ds_v5 VM size for Azure ML workers (
71a0fdd)
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Documentation
- Add Azure ML log streaming and cost tracking guides (
59c3a3e)
Document the new CLI commands for:
- Live log streaming from Azure ML jobs
- Cost tracking for compute instances
- Teardown procedures
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Features
- cli: Add Azure ML log streaming, cost tracking, and teardown (
59e3cf7)
Add comprehensive Azure ML management commands:
- azure-ml-stream: Stream logs from running jobs using Python SDK with
account key auth (works around DefaultAzureCredential permission issues) - azure-ml-cost: Track compute instance uptime and estimated costs
- azure-ml-teardown: Cancel jobs and delete compute instances
Also improves:
- azure-ml-quota: Shows both ML Dedicated quota (what Azure ML actually
uses) and regular VM quota - Better error handling and logging throughout
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
- cli: Add Azure ML status, VNC, and monitor commands (
7985cff)
New commands for end-to-end Azure ML automation:
- azure-ml-status: Show jobs and compute instances
- azure-ml-vnc: Set up VNC tunnel to compute instance
- azure-ml-monitor: Monitor jobs with auto VNC setup
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
- cli: Add azure-ml-quota command for quota management (
eecb3a4)
Semi-automated quota increase workflow:
- Checks current quota for WAA-compatible VM families
- Shows which families have sufficient quota
- Opens Azure Portal quota page with instructions
- Guides user through the request process
Usage: uv run python -m openadapt_ml.benchmarks.cli azure-ml-quota
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
- cli: Add multi-VM pool commands for parallel WAA evaluation (
005664a)
Add pool-create, pool-wait, and pool-run commands for running WAA benchmarks across multiple VMs in parallel:
-
pool-create --workers N: Create N VMs with Docker and WAA image - Parallel VM creation using ThreadPoolExecutor - Auto-selects available region and VM size - Configures Docker with /mnt storage - Registers pool for tracking
-
pool-wait: Wait for WAA to be ready on all workers - Starts WAA containers on each worker - Polls /probe endpoint until ready - Configurable timeout
-
pool-run --tasks N: Distribute tasks across pool - Round-robin task distribution - Parallel execution on all workers - Progress tracking in registry
This enables ~5x faster benchmark completion with 5 workers, or full 154-task evaluation in ~10min with 10+ workers.
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Refactoring
- waa: Update submodule with SDK v2 migration (
5080ad6)
Updates WindowsAgentArena submodule to include Azure ML SDK v2 migration that enables job submission from macOS ARM64.
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Detailed Changes: v0.2.2...v0.3.0
v0.2.2
v0.2.2 (2026-01-29)
Bug Fixes
- ci: Remove build_command from semantic-release config (
c0d455a)
The python-semantic-release action runs in a Docker container where uv is not available. Let the workflow handle building instead.
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Continuous Integration
- Add auto-release workflow (
46c91fe)
Automatically bumps version and creates tags on PR merge:
- feat: minor version bump
- fix/perf: patch version bump
- docs/style/refactor/test/chore/ci/build: patch version bump
Triggers publish.yml which deploys to PyPI.
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
- Switch to python-semantic-release for automated versioning (
4b5ab9a)
Replaces manual commit parsing with python-semantic-release:
- Automatic version bumping based on conventional commits
- feat: -> minor, fix:/perf: -> patch
- Creates GitHub releases automatically
- Publishes to PyPI on release
Co-Authored-By: Claude Opus 4.5 noreply@anthropic.com
Detailed Changes: v0.2.1...v0.2.2