ReleaseCloudflare (Workers AI)Cloudflare (Workers AI)published Jun 25, 2026seen Jun 26

cloudflare/workers-sdk wrangler@4.105.0

cloudflare/workers-sdk

Open original ↗

Captured source

source ↗
published Jun 25, 2026seen Jun 26captured 4whttp 200method plain

wrangler@4.105.0

Repository: cloudflare/workers-sdk

Tag: wrangler@4.105.0

Published: 2026-06-25T13:25:31Z

Prerelease: no

Release notes:

Minor Changes

wrangler containers registries configure now recognizes *-docker.pkg.dev (Google Artifact Registry) domains.

  • The Google service account email is the public credential, supplied with --gar-email. It must match the client_email in the service account key.
  • The service account JSON key is the private credential. It is provided via stdin (a file path, raw JSON, or base64) or an interactive prompt (a file path or base64) — never as a CLI flag, so it does not appear in shell history. The key is validated against --gar-email and stored base64-encoded.
  • Secret reuse inherits the existence-first flow: when the target Secrets Store secret already exists, it is reused by reference and the key is not required. In that case the email cannot be verified locally; it is validated against the key when images are pulled.
.json | npx wrangler@latest containers registries configure -docker.pkg.dev --gar-email= --secret-name=Google_Service_Account_JSON_Key

Patch Changes

This updates the agentic environment detection library to the latest version, which adds detection for the Pi coding agent (earendil-works/pi).

The following dependency versions have been updated:

| Dependency | From | To | | ---------- | ------------ | ------------ | | workerd | 1.20260623.1 | 1.20260625.1 |

  • #14343 `daa5389` Thanks @th0m! - Use digest-pinned image references for Dockerfile container deploys

Dockerfile-backed container deploys now use the pushed image digest when deploying the container application. This lets snapshot-enabled container apps pass Cloudchamber validation while keeping local, non-pushed builds and registry image URI deploys unchanged.

D1 migration commands in both wrangler and @cloudflare/vitest-pool-workers interpolated the migrationsTableName config value and migration filenames directly into SQL strings without any escaping. This meant:

  • A table name such as my"table would produce invalid SQL in CREATE TABLE, SELECT, and INSERT statements, and
  • A migration filename containing an apostrophe (e.g. what's-new.sql) would break the INSERT INTO ... VALUES ('...') statement appended after each migration in wrangler.

Both identifiers are now properly escaped before interpolation: migrationsTableName is wrapped in double-quotes with internal double-quotes doubled (SQL-standard identifier quoting), and migration filenames used as string literals have their single-quotes doubled before insertion.

  • Updated dependencies [`3b743c1`]:
  • miniflare@4.20260625.0

Notability

notability 3.0/10

Routine Wrangler CLI release, minor version bump.