Skip to content

Releases: OpenAdaptAI/openadapt-desktop

v0.2.0

04 Mar 05:30

Choose a tag to compare

v0.2.0 (2026-03-04)

Features

  • Add openadapt doctor command and fix audit/wormhole bugs (#8, f5cb841)

Add diagnostic command that checks all dependencies and configuration:

  • Python version, data directory writability, database connectivity
  • Core deps: openadapt-capture, openadapt-privacy, psutil
  • Optional deps: boto3, huggingface_hub, magic-wormhole
  • Backend credentials (S3 keys, HF token) when configured
  • Shows actionable install instructions for missing dependencies

Bug fixes:

  • audit.py: create parent directory before writing log entries
  • wormhole.py: use subprocess.run() instead of Popen to await
    completion and capture exit code properly

Co-authored-by: Claude Opus 4.6 noreply@anthropic.com


Detailed Changes: v0.1.1...v0.2.0

v0.1.1

04 Mar 03:48

Choose a tag to compare

v0.1.1 (2026-03-04)

Bug Fixes

  • Replace deprecated macos-13 runner with macos-14 (#7, bac0856)
  • fix: replace deprecated macos-13 runner with macos-14 in build workflow

macos-13 runners have been deprecated by GitHub Actions, causing the Build Python Sidecar job to fail on every PR. Both macOS targets now use macos-14 (Apple Silicon), which supports x86_64 builds via Rosetta.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • fix: flaky concurrent reads test and deprecated macos-13 runner
  • test_concurrent_reads: use separate IndexDB connections per thread
    (WAL concurrent reads require separate connections, not a shared one)
  • build.yml: replace macos-13 with macos-14 (deprecated runner)

Co-authored-by: Claude Opus 4.6 noreply@anthropic.com

Continuous Integration

  • Add automated release workflow with python-semantic-release (#6, 1a3c4b8)

Add release.yml workflow triggered on push to main that:

  • Runs python-semantic-release v9.15.2 to determine version bumps
    from conventional commit messages (feat=minor, fix/perf=patch)
  • Builds with uv and publishes to PyPI (trusted publishing)
  • Creates GitHub releases with changelogs
  • Uses ADMIN_TOKEN to push through branch protection
  • Skips semantic-release's own commits to prevent infinite loops

Also adds semantic_release config to pyproject.toml with version_toml + version_variables for dual version tracking (pyproject.toml + engine/init.py).

Co-authored-by: Claude Opus 4.6 noreply@anthropic.com


Detailed Changes: v0.1.0...v0.1.1

v0.1.0 — End-to-end engine with CLI

04 Mar 03:18

Choose a tag to compare

First release

The Python engine is fully functional end-to-end as a standalone CLI. 106 tests pass across all platforms.

Highlights

  • Full recording pipeline: recordscrubreviewupload via CLI
  • 13 CLI commands: record, list, info, scrub, review, approve, dismiss, upload, backends, storage, health, cleanup, config
  • PII scrubbing: regex (email/CC/SSN/phone/IP) + Presidio NER fallback
  • Egress gating: DB-persisted review state machine — nothing leaves the machine without approval
  • Storage management: SQLite index DB, hot/warm/cold tiers, tar.gz archival, automatic cleanup
  • Upload backends: S3 (boto3), HuggingFace Hub, Magic Wormhole — all implemented
  • Health monitoring: memory (psutil) and disk monitoring with daemon threads
  • Audit logging: append-only JSONL log of all network activity

Quick start

git clone https://github.com/OpenAdaptAI/openadapt-desktop.git
cd openadapt-desktop
uv sync
uv run openadapt record --task "Demo task"    # Ctrl+C to stop
uv run openadapt list

What's next

  • Pause/resume recording
  • Tauri WebView UI
  • Tauri IPC wiring (Rust ↔ Python sidecar)
  • Native installers (DMG, MSI, AppImage)

See README for full documentation.