Skip to content

Upgrade cloudflared to 2026.10.3 - #9017

Merged
isaacroldan merged 2 commits into
mainfrom
codex/upgrade-cloudflared-2026-10-3
Oct 27, 2026
Merged

isaacroldan merged 2 commits into
mainfrom
codex/upgrade-cloudflared-2026-10-3

Conversation

@isaacroldan

@isaacroldan isaacroldan commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

The CLI pins cloudflared 2024.8.2. Cloudflare's eMudhra advisory asks users to upgrade to 2026.10.2 after eight intermediate CA private keys were compromised.

WHAT is this pull request doing?

Upgrade the pin to 2026.10.3, update the download URL assertions, and add a patch changeset. The existing installer upgrades older binaries on the next tunnel start.

Local validation on macOS arm64 passed: all 19 plugin tests, plugin lint through Nx, TypeScript checks, and the plugin build. A live smoke test confirmed a fresh install, reuse of the current binary, upgrade of a real 2024.8.2 binary, and an HTTPS request through the plugin's tunnel to a temporary local server. The tunnel and temporary files were removed after the test. A follow-up through the CLI's actual tunnel_start hook also confirmed the upgrade and tunnel connection after replacing an old local CLI bundle. The repeat HTTPS request failed because the new tunnel hostname did not resolve (ENOTFOUND). All configured download assets exist in the release; Linux and Windows runtime tests remain unverified.

How to manually test your changes?

  1. From the PR checkout, force a source build to replace any older files in packages/cli/dist. A previous bundle can otherwise keep its old embedded cloudflared version after an incremental build:

    pnpm nx build cli
    pnpm exec tsc -b packages/cli/tsconfig.build.json packages/plugin-cloudflare/tsconfig.build.json --force
    tunnel_dir=$(mktemp -d)
    SHOPIFY_CLI_CLOUDFLARED_PATH="$tunnel_dir/cloudflared" pnpm shopify:run app dev --path /path/to/app --verbose

    Use shopify:run here to run this build directly without restoring Nx build cache output.

  2. Open the app preview and confirm it loads through the Cloudflare tunnel. Stop the development server, then run "$tunnel_dir/cloudflared" --version and confirm it reports 2026.10.3.

  3. Start the command again and confirm the existing binary is reused. Repeat with a 2024.8.2 binary at the same path and confirm it is upgraded to 2026.10.3.

  4. Remove the temporary directory when finished: rm -r "$tunnel_dir".

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes
  • I've considered analytics changes to measure impact
  • The change is user-facing — I've identified the correct bump type (patch for bug fixes · minor for new features · major for breaking changes) and added a changeset

Cloudflare asks cloudflared users to upgrade after the private keys of
eight eMudhra intermediate CA certificates were compromised. Upgrade the
CLI pin and the download URL assertions.

The existing installer replaces older binaries on the next tunnel start.

Advisory: https://blog.cloudflare.com/emudhra-certificate-compromise
@isaacroldan
isaacroldan requested a review from a team as a code owner October 27, 2026 08:29
@github-actions github-actions Bot added the Area: @shopify/cli @shopify/cli package issues label Oct 27, 2026
@isaacroldan

Copy link
Copy Markdown
Contributor Author

/snapit

@github-actions

Copy link
Copy Markdown
Contributor

🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm.

Built from 19712789b14519baa29388677cc497723cd1626a. Workflow run.

Test the snapshot by installing your package globally:

pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/[email protected]

Caution

After installing, validate the version by running shopify version in your terminal.
If the versions don't match, you might have multiple global instances installed.
Use which shopify to find out which one you are running and uninstall it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should remove the changeset here if we are releasing a patch

@github-actions github-actions Bot added no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. and removed Area: @shopify/cli @shopify/cli package issues labels Oct 27, 2026
@isaacroldan
isaacroldan merged commit 8fd4c44 into main Oct 27, 2026
29 checks passed
@isaacroldan
isaacroldan deleted the codex/upgrade-cloudflared-2026-10-3 branch October 27, 2026 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants