发布

  • feat(cli): support `composio upgrade <version>` for specific releases (#3428)

    frostbyte_neo 发布于 2026-05-14 00:11:27 +00:00

    Summary

    • composio upgrade now accepts an optional <version> argument so
      users can install any published CLI release — stable or beta — without
      having to wait for the channel pointer to move.
    • Accepts 0.13.1, v0.13.1, 0.13.1-beta.42, or the full
      @composio/cli@0.13.1 tag (normalized internally).
    • When a version is provided, the "already on latest" guard is skipped
      so the command also supports downgrades and reinstalls. --beta
      continues to control the no-arg case.

    Examples

    composio upgrade                       # latest stable (unchanged)
    composio upgrade --beta                # latest beta (unchanged)
    composio upgrade 0.13.1                # pin to a specific stable
    composio upgrade 0.13.1-beta.42        # install a specific beta
    composio upgrade @composio/cli@0.13.1  # full release tag also accepted
    

    Implementation

    • upgrade.cmd.ts: added optional version Args, normalizes input to a
      @composio/cli@<semver> release tag, passes it through to the service.
    • upgrade-binary.ts: upgrade/fetchLatestRelease now accept a tag
      option that fetches the GitHub release directly via
      /releases/tags/<tag>, bypassing the channel resolver. When a tag is
      explicit, the update-availability check is skipped.
    • Falls back to the explicit tag for installSkillSafe when the upgrade
      completes without returning one.

    Test plan

    • pnpm typecheck (CLI package) — clean
    • pnpm test in ts/packages/cli — 703 passed, 1 skipped, no
      regressions in upgrade-binary.test.ts
    • Manual: composio upgrade 0.13.0 from a newer beta to confirm
      downgrade path works against real GitHub releases
    • Manual: composio upgrade --beta still resolves the latest beta
      when no version is given

    🤖 Generated with Claude Code

    Co-authored-by: Claude Opus 4.7 (1M context) noreply@anthropic.com

    下载附件