Skip to content

Tags

Tags

v1.14.0

Toggle v1.14.0's commit message
Release v1.14.0

- **`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.
  - #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.
  - #60
- `agents-cli deploy` shows the error reason and help links when an Agent Runtime request fails.
- `agents-cli extension add pypi@<package>[==<version>][#<folder>]` 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 <name> --to <version>` 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/<version>+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.
  - #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.

v1.13.0

Toggle v1.13.0's commit message

Verified

This tag was signed with the committer’s verified signature.
pwkowalski Paweł Kowalski
Release v1.13.0

- **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 <artifact-registry-uri>` 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.
  - #63
- `agents-cli deploy --dry-run` also validates a GKE deployment against Google Cloud.
- `agents-cli extension add <name>` 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 <ref|:latest>` 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_<dir>' 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 <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.

v1.12.0

Toggle v1.12.0's commit message
Release v1.12.0

- **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 <template>` supports ADK Go v2 templates whose `manifest.yaml` declares `language: go`. Templates built for other ADK Go versions are rejected. A declared language that contradicts the base template (or `--base-template`) fails with an error explaining how to fix it.
  - The server e2e tests in new ADK Go projects time out after 120s instead of 60s, so multi-step agents no longer time out.
- **The Python agent template is now `adk_python`**, selected with `--agent adk_python` (or `-a adk_python`). `adk` still works as an alias. New projects record `adk_python` in `agents-cli-manifest.yaml`, and upgrading a project recorded as `adk` records `adk_python` too. Enhancing or upgrading these projects requires this CLI version or newer.
- **New experimental Claude Agent SDK extension.** Create a project with `agents-cli scaffold create --agent google/agents-cli/extensions/claude/template@<version>`, or migrate an existing agent with `scaffold enhance` and that template. It deploys to Agent Runtime or Cloud Run over A2A, calls Claude on Gemini platform only, and comes with Cloud Trace, Cloud Logging, Cloud Monitoring, optional BigQuery Agent Analytics and Cloud SQL sessions. `playground`, `eval dataset synthesize` and `eval optimize` aren't supported, and `publish gemini` is refused on Agent Runtime.
  - On Agent Runtime, these agents also serve `:query` (`async_create_session`) and `:streamQuery` (`async_stream_query`), so an ingress Agent Gateway can govern them (for example with Model Armor) and `agents-cli run --mode adk` works.
- The agent template directory can be a nested folder, such as `src/my_agent`, both in remote templates and with `--agent-directory`.
- `agents-cli scaffold enhance <template>` on a project agents-cli didn't create writes the template's files as `create` would, and moves each of your files it replaces (such as `pyproject.toml`, `README.md`, `Dockerfile`, `.env`) to `.agents-cli-original/`, keeping its path. Your other files stay where they are. Port what you need from the folder, then delete it; enhance won't run again while it exists. New projects' `.gitignore` and `.gcloudignore` exclude the folder.
- Extension templates can set `settings.session_types`, so `create` offers and accepts only those session types, with the first as the default. A template whose list is empty or names an unknown session type is rejected.
- `agents-cli scaffold enhance --dry-run` exits with code 2 (was 0) when combined with `--force`, when run with `-y` and no override flags, or when run without a saved `agents-cli-manifest.yaml`.
- Cloud Run projects run their Cloud Run service on the `hashicorp/google-beta` provider, pinned to `~> 8.7`. Other resources keep `hashicorp/google ~> 7.28`. Existing projects pick it up through `agents-cli scaffold upgrade`; if `terraform init` then reports a locked `google-beta` older than 8.7, run `terraform init -upgrade` once.
- The server e2e tests in new Python projects time out after 120s instead of 60s, so multi-step agents no longer time out.
- `agents-cli deploy --dry-run` for Agent Runtime prints the plan even when a check fails. It still exits with code 1.
- `agents-cli deploy --dry-run` for Agent Runtime warns that it could not verify the secrets when the Secret Manager API is disabled, instead of skipping the check silently.
- `agents-cli deploy --dry-run` also validates a Cloud Run deployment against Google Cloud.
- A malformed `--env-vars`, `--secrets` or `--labels` value fails before the project prompt.
- A failed `agents-cli publish gemini` reports the API's reason (for example a SERVICE_DISABLED message with the enable link) instead of a bare HTTP error.
- A failed terraform step in `agents-cli infra` exits with a short error naming the step and how to rerun it, instead of a Python traceback.
- `agents-cli info` lists globally installed skills.
  - #96
- `agents-cli run --mode a2a` no longer prints a streamed reply twice when the agent ends with the full reply as its last chunk.
- The bundled skills point to `google/adk-recipes` and call its agents "recipes". The ADK catalog is now `references/recipes.md`.
  - #97

v1.11.0

Toggle v1.11.0's commit message
Release v1.11.0

- Breaking: The `adk@<name>` shortcut has been removed. Pass the recipe's GitHub URL to `agents-cli create` instead, and browse recipes at https://github.com/google/adk-recipes.
  - The scaffold's "Browse ADK recipes" option lists recipes from both `core/python/` and `contrib/python/` in google/adk-recipes.
  - Projects created with `adk@` still upgrade. Their `base_template` is rewritten to the recipe URL on the first applied change.
- New projects use `google-adk>=2.12.0` and `google-cloud-aiplatform>=2.2,<3`. Agent Runtime projects also depend on `google-cloud-agentplatform`, and the LangChain extension template moves to `google-cloud-aiplatform>=2.2,<3`.
- `agents-cli deploy` to Agent Runtime registers the ADK artifact methods (`async_save_artifact`, `async_load_artifact`, and others).
- `agents-cli deploy` to Agent Runtime shows the last 40 lines of the build log when a build fails, instead of only "Build failed". `deploy --status` shows it too.
- agents-cli's `uv` commands use public PyPI even when a machine-wide `uv` config points at a mirror, so `deploy` no longer breaks. `agents-cli install` warns when `uv.lock` uses a mirror and shows the command to re-lock. `install --locked` now fails on such a lock. Scripts and CI jobs that run `install --locked` may need an update.
  - #95
- `agents-cli create` finds the agent code in any remote template, not only adk-recipes ones. When both `app/` and a folder-named package exist, `app/` wins; use `--agent-directory` to pick the other. A top-level `agent_directory` in a template's `agents-cli-manifest.yaml` is now respected.
- LangChain agents are now named after your project, or the name you pass with `--root-agent-name`, like ADK agents.
  - Template authors can list files under `render_files` in `.template/templateconfig.yaml`. Placeholders such as the agent name are then filled in in those files when a project is created.
- Traces from LangChain agents now record which conversation each request belongs to (`gen_ai.conversation.id`), so you can follow a conversation across requests, as you already can for ADK agents.
- `agents-cli run --mode a2a` shows why an agent's task failed, was rejected or was canceled (`[error]: <reason>`) instead of "(no response content)".
- ADK Go agents no longer lose replies for turns that take longer than 15 seconds on `/run` or A2A.
- The Cloud Build pipelines and Dockerfile in generated ADK Go projects retry Go module downloads, so a dropped connection to the Go module proxy no longer fails the build.
- ADK Go projects include only the session backend chosen at creation time.
- `agents-cli scaffold upgrade` stops instead of reporting success when it cannot build the template of the project's original version. It shows why, and suggests `--force` when that can help.
- `agents-cli scaffold upgrade` no longer warns about a legacy eval file that an earlier, stopped upgrade already migrated.
- `agents-cli setup --workspace` lists each installed skill's folder once.
- Extensions can no longer override `agents-cli info`, `login`, `setup` or `update`.
- `agents-cli --help`, the docs and error hints show `create` commands that work as written: `-i` to choose options in prompts, `-y` to accept the defaults (`adk` template, `agent_runtime` target).
- Warnings print as `⚠️  Warning: <message>` with a yellow prefix on stderr. Some warnings that used to go to stdout now go to stderr. Scripts that read warnings from stdout may need an update.
- Errors that agents-cli logs print with the same red `❌ Error:` prefix as other errors, and `--debug` output prints as dim `Debug: …` lines.
- agents-cli no longer prints the google-auth quota-project warning or google-genai's automatic function calling advice. `eval run` no longer prints "Could not obtain credentials" when it talks to the local agent server.

v1.10.0

Toggle v1.10.0's commit message
Release v1.10.0

- **New projects use Agent Identity by default.** `agents-cli scaffold create` records `agent_runtime_identity_default: agent_identity`. Then `agents-cli deploy` creates the Agent Runtime agent under its own Agent Identity principal, and the generated Terraform (`infra single-project`, `infra cicd`) does the same. To keep a service account, pass `--agent-runtime-identity-default service_account` to `scaffold create` or `scaffold enhance`. Existing projects are not changed: if the setting is missing, it reads as `service_account`, and `scaffold upgrade` does not migrate it.
  - `deploy` uses this default only when it creates a new agent. A redeploy without `--agent-identity` or `--no-agent-identity` does not change the identity of an existing agent.
- **Extensions can ship skills.** An extension declares skills in the `skills:` field of `agents-cli-extension.yaml`:
  - `agents-cli extension add` copies them to `<project>/.agents/skills/`, or to `~/.agents/skills/` with `--global`.
  - `agents-cli extension update` replaces them with the new version's skills and lists the skills it removed.
  - `agents-cli extension remove` deletes them. The new `--global` flag removes the user-scope install.
  - `agents-cli install` restores the skills of every recorded extension.
  - A skill folder copied by an extension is managed by that extension, and manual modifications to it might be overwritten.
- `agents-cli extension update` keeps the old local copy when it refuses a new version or a copy fails.
- New `agents-cli deploy` flags for Agent Runtime and Cloud Run: `--remove-labels KEY,...` and `--clear-labels`. New aliases that match `gcloud run deploy`: `--update-labels`, `--update-secrets` and `--env-vars`.
- `agents-cli deploy` now rejects `--iap`, `--port`, `--service-account` and `--cluster-name` on targets that ignored them. Before, they were silently ignored. Scripts that pass them may need an update.
- `agents-cli run` fails with `Agent run failed: <reason>` and a non-zero exit code when the ADK stream sends an error. Before, the run looked successful.
- `agents-cli scaffold create` shows the dependency changes, like `enhance` and `upgrade` do.
- `agents-cli scaffold create` keeps the detected project in `.env` when credential checks fail, instead of writing the `your-gcp-project-id` placeholder. It also warns when `--session-type` is ignored for `--deployment-target none`.
- `agents-cli scaffold enhance` creates missing config and dependency files instead of skipping them.
- Values in `agents-cli-manifest.yaml` are now escaped, so a quote or newline in a value no longer breaks the file. Project names are limited to `a-z`, `0-9` and `-`.
- Terminology has been adjusted in various places to use appropriate names for the Gemini ecosystem. No functional change, as old variants are kept as aliases where applicable.
- The CLI now uses `google-cloud-aiplatform` 2.x, and `gcsfs` is pinned to `>=2026.10.0`. The template lock files are updated.
- The bundled skills list the Ambient Quality Agent (AQuA) recipe.

v1.9.0

Toggle v1.9.0's commit message

Verified

This tag was signed with the committer’s verified signature.
pwkowalski Paweł Kowalski
Release v1.9.0

- **Usage telemetry is now on by default.** Each command writes one log entry to your own Google Cloud project with the command name, exit code, error class, duration, and CLI, Python and OS versions, never arguments or file contents. Its purpose is to provide users with analytics regarding their tool use, process efficiency, and help diagnose potential issues. The request also sends Google the CLI, Python and OS versions, CPU architecture and command name for usage analytics; no sensitive data is sent. Opt out with `AGENTS_CLI_TELEMETRY=0` or `DO_NOT_TRACK=1`. `agents-cli info` now always shows whether telemetry is on.
- `agents-cli deploy --key` encrypts an Agent Runtime agent with a customer-managed Cloud KMS key (CMEK), so deploys work in projects that enforce `constraints/gcp.restrictNonCmekServices`. The key can only be set when the agent is created, and `deploy --list` shows it in a new Encryption column.
  - #83
- `agents-cli deploy --dry-run` checks an Agent Runtime deployment against Google Cloud: enabled APIs, the target engine, IAM permissions, `actAs` on the service account, and secrets. A definite problem exits with code 1, and a check that cannot run only warns. A dry run now makes read-only network calls. A real deploy is unchanged.
- `agents-cli deploy` reports unsupported flags in one format, `<flag> is only supported for <targets> deployments (current target: <target>)`, and names only the flags you passed. An empty value for such a flag, such as `--key ""` on Cloud Run, is now rejected instead of ignored. Scripts that match the old error text may need updating.
- New ADK Python projects set `GOOGLE_GENAI_USE_ENTERPRISE=true` instead of the deprecated `GOOGLE_GENAI_USE_VERTEXAI`. Existing projects keep working: `agents-cli deploy` to Agent Runtime respects whichever name your `.env` sets. Go projects keep the old name.
- New ADK Go projects enable the `gofmt` and `goimports` formatters, so `agents-cli lint` reports formatting issues and `lint --fix` fixes them.
- Re-applying the Terraform generated by this release, for example with `agents-cli infra single-project` or `infra cicd`, no longer replaces the BigQuery log sink tables once logs have arrived. The replacement deleted every exported log. `completions_view` also gains a `service_version` column with the deployment revision. Run `agents-cli scaffold upgrade` to get this in an existing project.
- Scaffolded ADK projects no longer append a duplicate `JSONRPC 0.3` interface to the agent card on every request to `.well-known/agent-card.json`.
  - #84
- A tool that exists but cannot run, such as `uv.exe` blocked by AppLocker on Windows, now fails with a clear error naming the tool and the OS reason instead of a `PermissionError` traceback.
  - #61
- Installed extensions no longer print a warning on every command. A notice appears only when a command overridden by an extension runs.
  - #91

v1.8.0

Toggle v1.8.0's commit message
Release v1.8.0

- New flag for`agents-cli scaffold upgrade`:  `--force`. A fallback for when the 3-way merge cannot run or leaves too many conflicts, similar to the existing flag for `agents-cli scaffold enhance`. It generates only the new template and overwrites the scaffolding files:
  - Agent code, config files and files you own are kept: your tests, custom eval metrics, eval datasets, READMEs, agent guidance files, `.gitignore`, `deployment_metadata.json` and Terraform `env.tfvars` files.
  - Dependencies are merged as a union. For a dependency in both files the template's version wins, and dependencies only your project has are kept.
- `agents-cli scaffold upgrade` keeps your Terraform `env.tfvars` files instead of treating them as template files.
- `agents-cli scaffold upgrade` and `agents-cli scaffold enhance` stop with an error when writing the merged dependencies fails. Previously they reported success and stamped the new version, so a rerun said "already at version" and could not retry.
- `agents-cli run --mode a2a` sends messages and your bearer token only to the `--url` host, not to the endpoint declared in the agent card.
  - #46
- Two concurrent `agents-cli deploy` deploys no longer overwrite each other's deployment state.
  - #76
- Clarified the documentation on when to use `agents-cli infra single-project --apply` for deployments.
  - #79
- Generated CI/CD Terraform for Cloud Build now waits for the CI/CD service account's IAM grants to propagate before creating build triggers, so the first push after `agents-cli infra cicd` no longer fails on missing permissions.
- Generated CI/CD Terraform grants Artifact Registry read access on the app's own repository instead of the whole CI/CD project. Destroying one project's infrastructure no longer breaks image pulls for other projects sharing the CI/CD project. A deploy project that relied on the project-wide grant to read another repository loses that access.
- `agents-cli deploy` prints pod state, pod descriptions and namespace events when a GKE rollout does not finish.
- Changed the formatting of some error messages so that they stand out more.
- Updated the ADK version in scaffolded projects to `google-adk>=2.9.2,<3.0.0`.
- Added experimental usage telemetry, off by default. Enable it with `AGENTS_CLI_EXPERIMENTS='{"cli_telemetry": true}'`. It writes one log entry per command to your own Cloud project, with the command, exit code, error class, duration, and CLI, Python and OS versions (but not arguments). Opt out with `AGENTS_CLI_TELEMETRY=0` or `DO_NOT_TRACK=1`.

v1.7.0

Toggle v1.7.0's commit message
Release v1.7.0

- **Live (voice) agents now work in `run` and `eval`.** Pass `--mode adk_live` wherever you already pass `--mode adk`:
  - `agents-cli run --mode adk_live` sends a prompt over ADK's `/run_live` WebSocket, against a local server or any deployment target. A turn that answers only in audio says so instead of printing nothing.
  - `agents-cli eval generate` and `agents-cli eval run` play each case over one persistent Live socket, with the same dataset format, trace output and grading as the SSE path.
  - The `gemini-3.8-live` models answer one prompt with several model turns. The CLI reads the end of a turn from `interactionStatus` instead of stopping at the first `turnComplete`.
  - The bundled skills cover Live: an ADK Live reference, which models support it, and how to deploy a voice agent.
- `agents-cli run --mode a2a` talks A2A to the local server. A local run used to ignore `--mode` and always use ADK SSE.
- `agents-cli deploy --ingress` sets Cloud Run ingress to `all`, `internal` or `internal-and-cloud-load-balancing`, so a deploy works in a project where `constraints/run.allowedIngress` rejects a public service.
  - #87
- `agents-cli deploy` updates the Agent Runtime engine whose resource id is recorded in `deployment_metadata.json`, and scans display names only when no id is recorded. A deleted engine, a display name that no longer matches, or a scan that finds duplicates stops the deploy instead of mutating the wrong engine.
  - #75
- `agents-cli deploy` and scaffolded Terraform both set `identity_type = SERVICE_ACCOUNT` on the Agent Runtime engine, so an agent keeps its service account when Agent Runtime changes that default to Agent Identity.
- `agents-cli scaffold create --agent <remote URL>` handles symlinks again. Since 1.4.1 every symlink in a remote template was dropped, so a template that shared a library across variants scaffolded a project that failed at import. Links inside the cloned repo are copied as real file contents, and a link pointing outside it stops the scaffold with an error.
  - #89
- The generated Cloud SQL password no longer lands in Terraform state. State lives in `gs://{cicd_project}-terraform-state`, whose default IAM let anyone with Viewer on the CI/CD project read the prod database password. Generated Terraform now needs Terraform 1.11.0 or later.
- Scaffolded projects need `google-adk>=2.8.0`. 2.7.x does not emit `interactionStatus`, so a Live turn boundary falls back to a heuristic there. The `<2.9.0` cap from 1.6.1 is unchanged.
- The deprecated `--trace-to-cloud` alias is gone from `agents-cli playground` and `agents-cli run`. Use `--otel-to-cloud`.

v1.6.1

Toggle v1.6.1's commit message
Release v1.6.1

- **ADK Go is now available to everyone (Preview).** The `adk_go` template ("Go agent with A2A") now appears in `agents-cli scaffold create` with no experiment override, and Go projects get the toolchain Python already has:
  - Deploy to Agent Runtime, Cloud Run and GKE, with session methods exposed to `agent_engines.get()` clients.
  - CloudSQL, Agent Platform and in-memory session services.
  - Prompts and responses in BigQuery Agent Analytics, and telemetry through OTLP.
  - CI/CD templates at parity with Python.
  - The bundled skills cover Go and Python.
- Scaffolds now default to `gemini-3.8-flash`.
- Pin `google-adk` below 2.9.0. On 2.9.0 a Cloud Run agent's prompts and responses stopped reaching BigQuery Agent Analytics, leaving `completions_view` empty.
- `agents-cli scaffold create` no longer asks for a region when the deployment target is `none`.
- The one-off `agents-cli run` no longer prints stop and resume hints for a server it did not leave running.
- `agents-cli deploy` prints how to talk to a Cloud Run agent once the deploy finishes.
- `agents-cli deploy` can change the identity type on an existing agent.
- `agents-cli deploy` now reports the correct identity after a deploy, instead of the wrong principal for agents using Agent Identity.
- Exclude vendored extensions from the deploy payload, where they could add megabytes to every deploy.
- `agents-cli infra single-project` now correctly enables the Service Usage API, so a new project bootstraps without enabling it by hand.
- Fix remote ADK samples generating two agent directories and an unbuildable project.
- Scaffolded Dockerfiles install uv from a pinned image instead of `pip install`.
- `agents-cli run` and `agents-cli eval` no longer stop a background server they only borrowed.
  - #71
- Startup and version notices now go to stderr, so `--json` output stays machine-readable.
  - #69
- `agents-cli eval generate` no longer silently drops per-case session state.
  - #52
- `agents-cli run --mode a2a` now shows status updates, errors and empty turns instead of staying silent.
- The `run` resume hint includes `--url` and the other routing flags.
- `agents-cli info --json` reports `root_agent_name`.
- `agents-cli extension add` no longer copies ignored files from a `local@` source.
- Fix the macOS-only `sed` in the Starter Pack migration guide and spell out the dry-run and apply steps.
  - #78

v1.5.0

Toggle v1.5.0's commit message

Verified

This tag was signed with the committer’s verified signature.
pwkowalski Paweł Kowalski
Release v1.5.0

- **Extension system with a LangChain template.** `agents-cli` can now be extended with custom commands and add-on agent templates, shipped with a LangChain extension and authoring guides. Extensions install from GitHub, other git hosts (including self-hosted and enterprise servers), or a local path for development.
- Add `agents-cli infra show` to inspect the Terraform configuration provisioned by `agents-cli infra single-project`.
- Add `--update-only` to `agents-cli deploy`, so a deploy updates an existing Agent Runtime engine instead of creating a duplicate.
- Add a `--labels` flag to `agents-cli deploy` to tag Agent Runtime and Cloud Run deployments.
- Add `--qps` to `agents-cli eval` that controls the request rate instead of being throttled to the default value.
- Name the scaffolded root agent after its project instead of a generic default.
- `agents-cli deploy` now retries throttled Agent Platform calls.
- `agents-cli create` now reports precondition failures as clear errors instead of exiting successfully or printing a traceback.
  - #68
- Fix background server reuse ignoring the requested session mode.
  - #70
- Fix `reasoning_engine_adapter` streaming returning an empty response.
  - #80
- Prevent multi-region deployments in scaffold and deploy.
  - #81
- Give a clear error for malformed project manifests instead of silently defaulting or printing a traceback.
  - #74
- Fix stale command references in docs and CLI hints.
  - #77
- Scaffolded A2A agents now forward tool calls and responses to clients, not just text.
- `agents-cli setup` now works without network or git access, with skills bundled into the package.
- Fix a Windows failure loading a scaffolded project whose config points at a local path.