# Release Notes All notable changes to this project will be documented in this file. ## [1.14.0] - 2026-11-12 - **`agents-cli deploy` runs pre-flight checks before source builds.** - Before uploading, it checks for issues that would break the remote build and explains each one: a `uv.lock` pointing at a package index the builder can't reach, a missing or stale lock, build inputs excluded by `.gcloudignore` or `.gitignore`, path dependencies outside the upload, or a base image Python that doesn't match `requires-python`. - `--skip-preflight` skips the checks. - `deploy --dry-run` exits 1 on pre-flight errors. Scripts and CI jobs that run it may need an update. - https://github.com/google/agents-cli/issues/95 - `agents-cli deploy` adds `--remove-env-vars KEY,...`, `--clear-env-vars`, `--remove-secrets KEY,...` and `--clear-secrets` for Cloud Run and Agent Runtime. - A key that is in the project `.env` can't be removed (delete it from `.env` instead), and env vars agents-cli sets itself (such as `AGENT_VERSION`) are set again on every deploy. - `--clear-secrets` also removes secrets set outside agents-cli (such as by Terraform) and secrets mounted as volumes. - https://github.com/google/agents-cli/issues/60 - `agents-cli deploy` shows the error reason and help links when an Agent Runtime request fails. - `agents-cli extension add pypi@[==][#]` installs an extension from a wheel on PyPI, or on the index set in `UV_DEFAULT_INDEX`, `UV_INDEX_URL` or `PIP_INDEX_URL`, pinned to the wheel's sha256. `agents-cli extension update --to ` or `--to :latest` moves the pin. - `agents-cli scaffold enhance --from-adk-project` writes a minimal `agents-cli-manifest.yaml` for an existing ADK project without rendering a template, so `eval`, `info` and `playground` can find it. Use `--dry-run` to preview and `--force` to replace an existing manifest. - `agents-cli scaffold create -a claude --memory-bank` scaffolds a Claude agent with long-term memory in Vertex AI Memory Bank, which works the way ADK's does. The agent recalls the user's memories at the start of each turn, learns from each finished turn, and can call a `search_memory` tool. Other agents reject the flag; ADK agents can follow the `cross-session-memory` recipe. - Memory is per user. For A2A callers without authentication, it lasts one conversation, as in ADK. - With `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT` on, Claude agents record the system prompt the model got, recalled memories included, as `gen_ai.system_instructions` on the turn span. - Claude Agent SDK projects send `x-goog-api-client: agents-cli-app/+claude-agent-sdk` on model calls, so Google can count usage from agents-cli projects. Set `DO_NOT_TRACK=1` or `AGENTS_CLI_TELEMETRY=0` to turn it off; your own `ANTHROPIC_CUSTOM_HEADERS` are always sent. Existing projects are unchanged until they adopt the new template code. - `agents-cli login --status`, `login -i` and `setup` warn when Google Cloud credentials work but agents can't call Gemini yet, and say how to fix it. - `agents-cli login` with the Gemini API key option prints the `.env` changes a generated project needs to use the key, instead of reporting "Continuing without authentication". - `agents-cli create` explains which Google Cloud setup step failed. - `agents-cli run` and `agents-cli playground` check the agent's Google Cloud credentials before starting it. - Model errors from `agents-cli run`, such as permission denied, disabled API, billing disabled, quota, or an invalid API key, include a one-line fix. - `agents-cli run` prints the local-server banner and a failed run's error once, and shows auth errors as plain text instead of Python object reprs. - `agents-cli infra single-project` stops with `terraform import` instructions when an existing Agent Runtime engine is missing from Terraform state, instead of creating a duplicate. On a new project the first run may log "Skipping the Agent Runtime import check" until Terraform enables the Vertex AI API. - https://github.com/google/agents-cli/issues/2 - `google-agents-cli` no longer installs scikit-learn, scipy, litellm, jsonschema or ruamel.yaml, which roughly halves its install size. Eval commands work as before. - New ADK Python projects pin FastAPI below 0.142.0, so traces from agents on Agent Runtime and Cloud Run are no longer dropped for requests the platform forwards as unsampled. - New Go projects use ADK Go v2.7.1. - For Go projects on ADK Go v2.5.0 or later, `agents-cli playground` honors `--host` and binds `127.0.0.1` by default, the same as Python projects. Pass `--host 0.0.0.0` to reach it from another machine. Older projects keep binding all interfaces. - Action needed: when you run `agents-cli scaffold upgrade` on a Go project and keep your own `Dockerfile`, add `"--host", "0.0.0.0"` after `"web"` in its `ENTRYPOINT`. ADK Go v2.5.0 and later listen only on localhost by default, so the container would otherwise get no traffic. - The `setup.md` prompt no longer stops after install to ask for a new session. The coding agent reads the installed workflow skill and continues. ## [1.13.0] - 2026-11-04 - **Cloud Run deployments support Agent Identity.** - `agents-cli deploy --agent-identity` deploys a Cloud Run service with Agent Identity. - New projects default using Agent Identity for Cloud Run deployments. To migrate an old project so that it uses Agent Identity, run `agents-cli scaffold enhance` with `--cloud-run-identity-type agent_identity`. - To create a new project that uses a service account instead, run `agents-cli scaffold create` with `--cloud-run-identity-type service_account`. - `agents-cli eval run` and `agents-cli eval grade` end with a `RESULT: PASS` or `RESULT: FAIL (...)` line, preceded on failure by the metrics and cases that failed and a next step. - Set a minimum mean score per metric with a `thresholds:` map in the eval config, or for one run with `--fail-under METRIC=SCORE` (repeatable, one metric each). A missed threshold exits 1. `pass_rate` in the results is filled from the threshold when the eval service doesn't report one. - Breaking: a run where any case errored now exits 1, even without thresholds. If the errors are rate limits, lower `--qps`. - `agents-cli login` signs in both the gcloud CLI and Application Default Credentials (`gcloud auth login --update-adc`), so commands that run `gcloud` work right after login. - When only Application Default Credentials are available and gcloud has no credentials of its own, agents-cli passes an ADC access token to the `gcloud` commands it runs. GKE deploys in that setup are not covered yet. - Note: the account you sign in with also becomes gcloud's active account. - New projects record `create_params.app_name` in `agents-cli-manifest.yaml`: the name the server serves the agent under (`/apps/{app_name}/...`). `run`, `eval`, `playground`, `deploy` and `publish` use it; projects without it keep using the basename of `agent_directory`. - `eval generate --app-name` and `eval run --app-name` default to the project's app name instead of `app`. - `agents-cli deploy --image ` works for Agent Runtime. The Agent Runtime service agent needs `roles/artifactregistry.reader` on the repository. `--build-args` can't be combined with `--image`, and an existing agent can't switch between a source build and `--image`. - Agent Runtime deploys of A2A agents register the agent card in Agent Registry, so the agent shows up as A2A-capable in Gemini Enterprise. - https://github.com/google/agents-cli/issues/63 - `agents-cli deploy --dry-run` also validates a GKE deployment against Google Cloud. - `agents-cli extension add ` pins a first-party extension to the latest release compatible with your agents-cli instead of `main`. Pass `--ref main` to track `main`. - `agents-cli extension update --to ` moves a pin. First-party extensions installed from `main` move to the latest release on their next `update`. - `agents-cli extension add langchain` and `agents-cli extension add claude` install instead of failing with "has no agents-cli-extension.yaml". - `agents-cli extension add` installs extensions from agents-cli pre-approved repositories without a trust prompt, whether given as a shorthand, an `org/repo` reference or a URL. - Usage telemetry names an extension when it serves a command if the extension comes from Google. - Extensions can share files through symlinks that stay inside their repository. These links are copied as regular files when the extension is vendored and when its skills are installed. - A project, template, or deployment metadata that declares a language this version of agents-cli doesn't support fails with an error listing the supported languages and suggesting `uv tool upgrade google-agents-cli`, instead of being treated as Python. - `agents-cli scaffold enhance .` in a project without a manifest records the base template it rendered (`adk_python`, `adk_go`), so later `enhance` and `upgrade` runs work. Before, they failed with "Base template 'local_' not found". In projects already affected, set `base_template` in `agents-cli-manifest.yaml` to `adk_python` (or `adk_go`) by hand. - `agents-cli scaffold enhance --region ` writes the region to `agents-cli-manifest.yaml` and to the files it renders, such as the Terraform variables. Enhancing a project without `--region` keeps the region recorded in its manifest. - `agents-cli publish gemini` rejects a response that isn't a valid A2A agent card. - Local A2A agent cards advertise the server's real port instead of `http://localhost:8000`. - Claude Agent SDK projects: a turn fails when its transcript can't be saved to the session store (Cloud SQL, or the agent's own `session_store`), instead of succeeding while the conversation can't be fully resumed on another instance. - `agents-cli setup` tells a coding agent running it mid-session to read the workflow skill directly, since newly installed skills only load in the next session. - The bundled ADK code skill no longer points coding agents straight at `scaffold create` for a new project. It has them load the workflow skill and agree the agent's spec with you before scaffolding. - The bundled deploy skill now points to `GoogleCloudPlatform/genai-factory` and its `agents-cli` extension for enterprise agent infrastructure. - The docs site has a new homepage and layout, a "Debug a failing agent" guide, a "Control cost" page, and guides updated to match the bundled skills. ## [1.12.0] - 2026-10-27 - **ADK Go is now Generally Available.** The `adk_go` template is out of Preview: it is stable, production-ready and supported on the same terms as `adk_python`. This release also brings: - `agents-cli create --agent