← All breaking-change reports

Cloudflare breaking change: v6.0.0

cloudflare · breaking · 2026-04-30 · upstream source

What changed

major SDK release: renamed client paths, method signature changes, 179 return type changes, 17 removed endpoints, 43 removed types

From the upstream announcement:

6.0.0 (2026-04-30) This is a major version release of the Cloudflare TypeScript SDK. It includes 11 entirely new top-level API resources, new sub-resources and methods across 50+ existing resources, SDK infrastructure improvements, and breaking changes to the generated API surface from the v5.x line. The total API surface grew from ~96 resource sections to 106, with 885 source files changed. Full Changelog: v6.0.0-beta.2...v6.0.0 Breaking Changes SDK Infrastructure Retry-After handling changed : The SDK now respects any server-specified Retry-After value for rate-limited requests. Previously, values over 60 seconds were ignored and a default backoff was used instead. Empty response handling : Responses with content-length: 0 now return undefined instead of attempting to parse the body. This may affect code that expected an empty object or null. Environment variable reading : Empty string […]

Who is affected

The mechanically fixable core: (1) rename member chains per the release map (hostnames.certificates -> zoneCertificates, netflows -> netFlows); (2) rewrite the two toMarkdown call sites to fold the positional file/body arg into the params object; (3) update type imports where the release names a direct successor (Cloudflared*Response -> CloudflareTunnel, SchemaUpload -> UserSchemaCreateResponse, pagination type renames); (4) delete annotations of types with no successor and let inference take over - return type changes are compile-time only, wire behavior is unchanged.

To find out whether your repo is hit — file and line number, no code leaving your machine:

npx mendapi scan --repo .

How to fix it

Migration path:

The mechanically fixable core: (1) rename member chains per the release map (hostnames.certificates -> zoneCertificates, netflows -> netFlows); (2) rewrite the two toMarkdown call sites to fold the positional file/body arg into the params object; (3) update type imports where the release names a direct successor (Cloudflared*Response -> CloudflareTunnel, SchemaUpload -> UserSchemaCreateResponse, pagination type renames); (4) delete annotations of types with no successor and let inference take over - return type changes are compile-time only, wire behavior is unchanged. Boundaries ruled out of this verdict: the 17 removed endpoints and client.intel.ipLists are capability withdrawals (callers need a product decision, not a codemod), and the Retry-After/empty-response/env-var semantics changes are behavioral and need per-site review. Confidence medium: rename maps are deterministic but the surface is large and mixed.

Before:

const md = await client.ai.toMarkdown.transform(file, { account_id });

After:

const md = await client.ai.toMarkdown.transform({ account_id, files: [file] });

With your own LLM key configured (BYO compute — mendapi never proxies your credentials), npx mendapi llmfix turns this guide into a reviewable draft patch for your repo.

Detected and tracked by mendapi — Dependabot for every API you depend on. Scans run locally; your code never leaves your machine.

Related

Pre-release. Change data is recorded from upstream provider releases, changelogs and OpenAPI spec diffs; every article links its source.