Skip to main content

AgentPaaS v0.4.2 release notes

Release date: 2026-09-14

The v0.4.2 tag adds customer-controlled cleanup for admitted Cloud resources. The Cloud repository has no matching v0.4.2 tag. The Cloud API implementation and the CLI client were released together in the v0.4.2 release line.

Breaking changes

  • Destructive Cloud commands require --yes, including with --json.
  • In a non-TTY, destructive commands also require --confirm-id equal to the exact resource ID, name, or digest. In a TTY, the CLI asks you to type that value even with --yes.
  • Image deletion and ingress source deletion never cascade into deployments or active connections. Resolve the dependency and retry.

Upgrade notes

Install or upgrade the CLI, then restart the daemon:

brew update
brew upgrade --cask AgentPaaS-ai/homebrew-tap/agentpaas
agentpaas version
agentpaas daemon stop 2>/dev/null || true
agentpaas daemon start
agentpaas doctor

Review Delete cloud resources safely before removing a deployed component. Remove all ingress connections before undeploying or deleting that component. The CLI has no per-connection delete command. Disable each connection, then delete its source when the source can be retired.

Added

  • agentpaas cloud images delete <img_id_or_digest> for admitted image records.
  • agentpaas cloud secrets delete <name> for cloud secret labels.
  • agentpaas cloud workflow retire <wf_id> for stored workflow recipes.
  • agentpaas cloud ingress source delete <src_id> for ingress sources whose active connections have been removed.
  • Shared destructive confirmation behavior across image deletion, secret deletion, workflow retirement, ingress source deletion, and deployment undeploy.
  • HTTP 409 blocker reporting with suggested next commands where the CLI can provide them.
  • Tenant audit events for Cloud image, workflow, and ingress source lifecycle operations.
  • Public documentation for the full cloud cleanup order and recovery paths.

Changed

  • Image deletion accepts an image ID or a sha256: digest. It does not undeploy a deployment.
  • Secret deletion reports bound deployment IDs. --force deletes a still-bound secret when you explicitly choose that behavior.
  • Workflow retirement changes the stored recipe status to disabled. It does not delete the workflow definition or running instances.
  • Ingress source deletion removes disabled connections with the source. It refuses while an active connection remains.
  • Deployment undeploy deletes live compute, removes that deployment's secret bindings, and frees its slot. It leaves workflow definitions stored.
  • Missing or repeated image, workflow, and ingress source deletes are idempotent at the API boundary where documented by the Cloud endpoint.

Deprecated

None recorded for this release.

Removed

None recorded for this release.

Fixed

  • Fixed the CLI confirmation path so non-TTY callers cannot perform destructive operations without an exact --confirm-id.
  • Fixed the CLI to refuse destructive operations without --yes before it calls the Cloud API.
  • Fixed image, secret, workflow, and ingress source errors so HTTP 409 responses include the relevant blocking IDs when available.
  • Fixed Cloud resource lifecycle operations so cross-tenant resources return not-found behavior instead of disclosing another tenant's resource.
  • Fixed deletion paths to avoid cascading from an image into deployments, from a workflow into instances, or from an ingress source into active connections.

Security

  • The CLI rejects destructive confirmation values containing /, \, newline, or carriage return characters.
  • Secret values are never printed by list, binding, or delete operations.
  • A valid image or source delete does not remove unrelated deployments or active ingress connections.
  • A workflow signature and stored definition remain available after retirement. Retirement changes whether the recipe is active; it does not prove that its component code is safe.

Known issues

  • There is no standalone CLI command to delete one ingress connection. Disable the connection first. Deleting the source removes its disabled connections.
  • An active ingress connection can remain in the tenant after its deployment is undeployed because undeploy does not remove ingress connections. Remove connections before undeploy to prevent stale inbound routing.
  • Image deletion can be blocked by a workflow envelope that contains the image digest, even after every deployment using the image has been undeployed. Retire that workflow, then retry.
  • Undeploy has no --force flag. It returns deployment_has_running_copies while a deployment has work in starting, running, or waiting_seat state.
  • Workflow retirement returns workflow_in_use while an instance is queued, running, or waiting.
  • Secret deletion returns HTTP 409 while deployments bind the secret unless you pass --force deliberately.
  • The Cloud repository has no matching v0.4.2 tag. Check the current Cloud API and CLI help when deploying the two surfaces independently.

How to use the new features

Undeploy a component after ingress cleanup:

DEPLOYMENT_ID="dep_01JEXAMPLE000000000000000000"
SOURCE_ID="src_01JEXAMPLE000000000000000000"
CONNECTION_ID="con_01JEXAMPLE000000000000000000"
agentpaas cloud ingress connections "$SOURCE_ID"
agentpaas cloud ingress connection disable "$CONNECTION_ID"
agentpaas cloud undeploy "$DEPLOYMENT_ID" --yes --confirm-id "$DEPLOYMENT_ID"

Retire a workflow:

WORKFLOW_ID="wf_01JEXAMPLE000000000000000000"
agentpaas cloud workflow retire "$WORKFLOW_ID" --yes --confirm-id "$WORKFLOW_ID"

Delete a secret or admitted image:

SECRET_NAME="openrouter"
agentpaas cloud secrets delete "$SECRET_NAME" --yes --confirm-id "$SECRET_NAME"

IMAGE_ID_OR_DIGEST="img_01JEXAMPLE000000000000000000"
agentpaas cloud images delete "$IMAGE_ID_OR_DIGEST" --yes --confirm-id "$IMAGE_ID_OR_DIGEST"

Delete an ingress source after every connection is disabled:

SOURCE_ID="src_01JEXAMPLE000000000000000000"
agentpaas cloud ingress source delete "$SOURCE_ID" --yes --confirm-id "$SOURCE_ID"

See Cloud commands and Delete cloud resources safely for blocker messages and recovery steps.

Documentation added