Skip to content

Releases: BANANASJIM/bitwig-agent

v0.2.0 — Bitwig 6.1.4 / MCP 2

Pre-release

Choose a tag to compare

@BANANASJIM BANANASJIM released this 27 Oct 19:12

Bitwig 6.1.4 and MCP 2

Experimental / Alpha. Use a disposable project and keep backups.

Changes and compatibility

  • Private Grid/modulator bindings now target Bitwig 6.1.4 / API 25 and the exact loaded host-JAR SHA-256 77a50264156a9f79c925fa85e0456720ce157bfa10e2503d6049e2f733af4ba6. This replaces 6.1.3 private bindings; it is not dual-version support. Existing 0.1.2 artifacts remain unchanged.
  • Includes the asynchronous combined stop/seek fix and explicit tracks.select dispatch semantics. Selection reports dispatched / not_observed, not fabricated completion; inspect the real UI and any auto-arm effect.
  • Migrates the thin adapter to MCP SDK 2.3+, compatible with Arch's current system package. Python remains 3.11+; dependencies are mcp>=2.3.0,<3 and pydantic>=2.12,<3. No SDK 1 runtime shim or bundled private environment.
  • The 45 dotted tool names, Bitwig RPC schemas, strict validation and known error envelopes remain. Unexpected uncaught adapter exceptions now surface as MCP JSON-RPC errors; never treat them as permission to retry.
  • Updates README, installation/upgrade commands, public guides and the portable agent skill for this release.

Install or upgrade

Choose one route and keep Python and the extension matched:

uv tool install bitwig-agent==0.2.0
bitwig-agent-install

AUR metadata notice (2026-10-27): The public Git repository and .SRCINFO contain 0.2.0-1, but the AUR RPC/website still reports 0.1.2-1. The reason is not established and index synchronization is not verified. Prefer the PyPI route above until the indexed version updates; do not force an SDK 1 dependency downgrade.

On Arch, review and install the bitwig-agent AUR recipe, then explicitly copy the system asset as your normal user:

yay -S bitwig-agent
bitwig-agent-install --extension /usr/share/bitwig-agent/BitwigAgent.bwextension

Reload the controller after replacing its extension. bitwig-agent-install --mcp-config only prints client configuration; merge it deliberately. The installers do not start Bitwig, enable controllers, upgrade the proprietary host, or register a skill.

The wheel, sdist and extension are a matched set. Verify them with the attached SHA256SUMS. The checksum manifest is an integrity check, not independent signing or native acceptance. PyPI and AUR publication are separate from this GitHub release; check the registry version before using registry-based commands.

Verification and limits

  • MCP 2.3 source checks: 1,161 Python tests, 45 matching Java/MCP tools and 50 example roundtrips, including invalid-input/no-dispatch and unknown-outcome preservation. 14 Java test mains also passed during release preparation.
  • Final wheel and no-cache-built sdist consumers passed on Python 3.11 and 3.14. Isolated persistent uv and cached uvx commands, MCP discovery and temporary extension copies passed. An SDK 1.29.1 external client interoperated with the newly installed SDK 2 server through a disposable loopback peer; no native-host calls were made.
  • Official disposable Arch container: clean build, incremental rebuild, 1,161 tests per build, installed CLI/MCP consumer, extension byte comparison and all 83 owned files verified. Namcap reported no errors; retained warnings misidentify installed Python/project symbols as missing dependencies, while the installed consumer and file checks succeeded.
  • Independent release review found no actionable defect. Gitleaks found no credentials in the staged delta, actual release archives or all 29 reachable commits. This is scoped screening, not a guarantee that all sensitive content is detectable.
  • The initial Arch candidate's SDK 1 dependency failure and a disposable probe's incorrect envelope assertion remain recorded; neither was hidden as an all-attempts-pass result.

The 6.1.4 musical/UI/render/save-reopen evidence in VERIFICATION.md belongs to recorded pre-release candidates and retains failed cases and coverage limits. The release extension differs from the last natively exercised candidate only in its version literal among uncompressed entries. This publication round did not rerun Bitwig or establish new native, audio, Undo, all-module or cross-platform acceptance. No primary compositor, user project, persistent local tool installation, global extension or MCP configuration was changed.

v0.1.2 — PyPI installation and portable documentation

Choose a tag to compare

@BANANASJIM BANANASJIM released this 26 Oct 00:54

PyPI installation and portable documentation

  • Use the published Python project with uv tool install bitwig-agent; persistent uv tools and version-pinned uvx usage are documented separately.
  • Fix README document links for PyPI by using absolute public URLs. The safety notice renders without GitHub-only syntax.
  • Add the PyPI version badge alongside CI, GitHub release, AUR and MIT badges.
  • Document matching Python/extension upgrades and migration from direct GitHub-wheel installations.
  • Align the Python package, MCP server, Java extension, portable skill and AUR recipe at 0.1.2. No additional runtime control behavior or native safety-gate changes.

This is a new patch release, not a replacement of any 0.1.1 artifact. The wheel, sdist and controller extension are paired; SHA256SUMS covers their exact bytes.

Verification

  • 1,161 Python tests passed.
  • All 14 Java simulated-host/transport test mains passed.
  • Real MCP/Python/Java fixture: 45 matching tools, 50 example roundtrips, Unicode, strict arguments and unknown-error propagation passed.
  • Isolated installed wheel: MCP initialization/version and 45-tool discovery passed; the matching extension copied only into a throwaway home.
  • Disposable Arch build: 1,161 tests and 10 subtests passed. Installed-package MCP and explicit extension copy passed; pacman reported 78 owned files and zero altered files. Namcap reported no errors; its self-import/versioned-interpreter warnings remain bounded by the installed consumer checks.
  • Strict wheel/sdist metadata checks passed. The actual source distribution passed a redacted credential scan and artifact-boundary checks.
  • CI, online Arch build/rebuild and installation, and protected PyPI promotion passed.
  • Fresh PyPI-only persistent uv and uvx consumers passed, including real MCP initialization and 45-tool discovery. A real 0.1.1 to 0.1.2 upgrade preserved the previous extension in its backup directory; direct-wheel to PyPI migration passed.
  • Public GitHub and PyPI README rendering was checked at desktop and 390-pixel widths. The PyPI installation link opens the intended GitHub guide.

PyPI 0.1.2 and AUR 0.1.2-1 are published. The PyPI wheel/sdist SHA-256 values match the original GitHub assets. A fresh public AUR clone downloaded and verified both release sources; the AUR page and yay -Si report 0.1.2-1. Installation guide.

Compatibility and limits

Still experimental. Native evidence remains limited to Linux / Bitwig Studio 6.1.3 / Controller API 25; private operations retain exact loaded-JAR gates. No native DAW, GUI, audio, Undo or save/reopen checks were performed for this packaging/documentation release. Keep backups and use a disposable project; package checks are not native acceptance.

v0.1.1 — standard Python and Arch packaging

Choose a tag to compare

@BANANASJIM BANANASJIM released this 25 Oct 23:39

Standard distribution and public guides

  • Standard Python wheel and source distribution, uv tool/uvx installation guidance, bounded MCP/Pydantic dependencies and installed-consumer CI.
  • Arch/AUR-ready PKGBUILD and generated .SRCINFO: Python built from the released sdist, matching prebuilt Java extension, pacman-owned dependencies, public guides and portable skill. No pip hooks or writes into user homes.
  • Manual verification-first PyPI Trusted Publishing workflow: exact GitHub artifacts, checksums and versions are verified before optional protected OIDC publication. PyPI/AUR registration and publication remain separate; this release does not claim either registry is live.
  • Public architecture, operation, packaging/release documentation and a standalone MIT-licensed Agent Skills folder under skills/bitwig-agent/.

Verification and review

  • 1161 Python checks passed; all 14 Java simulated-host/transport test mains passed. The real MCP/Python/Java fixture matched 45 tools and exercised 50 example roundtrips, strict arguments, Unicode and unknown-error propagation.
  • Independent isolated uv tool consumers passed: wheel on Python 3.11/MCP 1.29.1; sdist on Python 3.14/MCP 1.30.0. Actual MCP initialization/discovery reported version 0.1.1 and 45 tools. Explicit extension copy, identical-install preservation and previous-byte backup behavior passed.
  • Isolated official Arch build and ordinary rebuild passed, including 1161 tests and 10 subtests. The installed system-package MCP consumer passed; pacman checked 78 owned files with zero alterations. namcap reported no errors; interpreter/self-import warnings were checked against actual package ownership and installed execution rather than hidden.
  • Independent Python, Java/native-boundary and distribution reviews completed. Fixed the Arch rebuild staging collision and release ordering that could validate an old recipe; CI now rejects tag/Python/recipe mismatches and checks the installed version. Also prevented test bytecode leaking into packaged examples and enabled complete documentation extraction in the disposable Arch installation check.
  • Official pinned Agent Skills format validation and actionlint passed. Gitleaks scanned public candidate contents and all reachable history without finding credentials. These are scoped checks, not a guarantee of absence or native acceptance.

No real Bitwig host, GUI, audio, Undo or persistence acceptance was run for this packaging release. Native evidence remains Linux / Bitwig Studio 6.1.3 / API 25; private Grid/modulator paths additionally require the exact loaded host-JAR gate. Keep the experimental/prerelease boundary, use disposable projects and never blindly retry unknown mutations. The proprietary host JAR and factory assets are not redistributed.

Install

uv tool install "https://github.com/BANANASJIM/bitwig-agent/releases/download/v0.1.1/bitwig_agent-0.1.1-py3-none-any.whl"
bitwig-agent-install
bitwig-agent-install --mcp-config

The installer verifies and copies the same-version extension; enable it yourself in Bitwig Settings > Controllers. Configuration output does not edit your MCP client. For an existing uv installation, use the explicit --force versioned-wheel upgrade described in INSTALL.md.

SHA256SUMS covers the wheel, sdist and extension. See packaging, verification limits and the portable skill. Previous release assets are unchanged.

v0.1.0 — Installable Bitwig MCP bridge

Choose a tag to compare

@BANANASJIM BANANASJIM released this 25 Oct 22:47

Installable MCP/CLI bridge for Bitwig Studio

First packaged release: an isolated Python tool installation, a prebuilt controller extension, and concise installation/usage guides. Ordinary installation does not require Git, a JDK, or compiling against the proprietary Bitwig host JAR.

Follow the three-step quickstart. The installer downloads the matching version, checks SHA-256 before installation, preserves a different existing extension outside Bitwig's scan directory, and leaves identical installations untouched. bitwig-agent-install --mcp-config prints a configuration for the installed environment; it never edits client settings.

Assets

  • bitwig_agent-0.1.0-py3-none-any.whl — Python MCP server, diagnostic CLI and extension installer.
  • BitwigAgent.bwextension — controller extension, including Gson and required license notices; no proprietary Bitwig host classes/JAR.
  • SHA256SUMS — checksums for both assets. Integrity against this manifest is not an independent signature.

Compatibility and safety

Experimental. Existing native evidence is limited to Linux, Bitwig Studio 6.1.3 / Controller API 25. Other platforms/versions are unverified; private Grid/modulator operations additionally require the exact mapped host-JAR hash and fail closed on mismatch. Do not bypass that gate.

Use a disposable project and backups. The extension's 127.0.0.1:61172 endpoint is unauthenticated: any local process able to connect can control Bitwig. Never expose or forward it. Do not blindly retry uncertain writes. The 45-tool catalog is a bounded surface, not a claim of complete native acceptance.

Verification performed

  • 1,161 Python tests passed.
  • All 14 Java simulated-host/transport test mains passed.
  • MCP/Python/Java fixture: 45 matching tools and 50 example roundtrips passed.
  • Independent installed-wheel smoke outside the checkout: offline CLI, local extension installation, checksum/readback, unchanged-file preservation, safe replacement backup, generated-configuration MCP initialization and 45-tool discovery passed.
  • Distribution contents checked for proprietary host binaries/private raw evidence; public source distribution secret scan found no leaks. Workflow syntax check passed.
  • Public-download smoke: fresh isolated installation from the exact README wheel URL, matching-version extension download into an isolated default directory, SHA-256 comparison, and generated-configuration MCP initialization/45-tool discovery passed.
  • GitHub CI: Python 3.11/3.14, installed-package consumption and reachable-history secret scanning passed. Checkout is pinned to a supported Node 24 action.

This release verification did not launch/control a native Bitwig project or establish new GUI, audio or persistence acceptance. See verification boundaries and usage safety.

Project code is MIT; Gson remains Apache-2.0. Bitwig Studio is a separate dependency.