Skip to content

v1.10.0

Latest

Choose a tag to compare

@akshaykalia akshaykalia released this 22 Oct 20:30
· 3 commits to main since this release
b3f89d4

Highlights

  • shipyard upgrade (alias shipyard update): installs the latest release and shows its release notes. A Homebrew install runs brew upgrade shipyard; any other install downloads the binary, checks it against the release's checksums.txt and replaces itself. Add --prerelease or --force as needed. (#71)
  • New-version notice: after a command finishes, at most once a day, the CLI says when a newer release is out. It only prints to a terminal's stderr and never in CI or inside AI coding agents. Turn it off with SHIPYARD_NO_UPDATE_CHECK=1 or update_check: false. (#71)
  • Find out why a build failed from your AI assistant: new MCP tools get_failure_details and get_build_logs, plus crashed-container logs from get_logs with previous: true. (#77, #80)
  • Signed, verifiable releases: every binary now ships with a build provenance attestation and an SPDX SBOM. See Verifying a download. (#79)

Upgrading from 1.9.0 or earlier: shipyard update in those versions compares versions as text and reports 1.10.0 as older. Upgrade once the way you installed (curl https://www.shipyard.sh/install.sh | bash, brew upgrade shipyard, or the Windows executable from this page); shipyard upgrade works from then on.

MCP server

New tools

  • get_failure_details(environment_id, build_id?): the failure phase and reason, the failing services, Shipyard's description of config or branch errors, and excerpts from the failing build or crash logs, in one call. It says when a rebuild should help. (#77)
  • get_build_logs(environment_id, service_name?, build_id?, kind?): full build or crash logs, for one service or all failing ones. (#77)
  • get_build_history now includes a failure summary for failed builds, and get_logs takes previous: true for a container that keeps restarting. (#77)

Changes

  • The verify prompt uses the failure tools: when the pushed commit's build failed, it stops polling, asks get_failure_details why, and fixes the cause rather than rebuilding blindly. (#80)
  • Every tool now has a title and readOnlyHint / destructiveHint / idempotentHint / openWorldHint annotations, so clients that gate approvals on them (such as Codex in writes mode) no longer treat read-only tools as writes. (#76)
  • When the CLI is out of date, the server tells the assistant, so a missing or failing tool leads to a shipyard upgrade suggestion. (#75)

Fixes

  • Server instructions now fit within Claude Code's 2048-character limit; the end of them, including the rule against printing bypass tokens, was being cut off. (#74)

Fixes

  • shipyard login, set token and set org work on the run that creates ~/.shipyard/config.yaml. They used to fail once, pointing at a shipyard config init command that doesn't exist. (#72)

Docs

  • MCP docs moved to docs/mcp.md, with a quick start, example requests and a configuration reference. (#70)
  • Setup for Kiro, tested client versions, least-privilege recipes per client, and how to update, uninstall or roll back. (#78, #82)
  • SECURITY.md: how to report a vulnerability and handle credentials. (#81)

Full changelog: v1.9.0...v1.10.0