release: 6.3.0#2765
Merged
vaishakdinesh merged 42 commits intoMay 21, 2026
Merged
Conversation
Add continue-on-error: true to the test and detect-breaking-changes jobs so they still run but do not fail CI. These jobs are informational and should not gate release readiness. Refs: APIX-852
ci: make test and detect-breaking-changes jobs non-blocking
Job-level continue-on-error only prevents workflow failure but the job itself still reports as failed, which blocks PRs when the job is a required status check. Moving it to the step level makes the job conclude as success while still surfacing failures in the step output. Refs: APIX-852
ci: move continue-on-error from job level to step level
c87dd3f to
b17edc9
Compare
Sync staged changes (2026-05-19, non-breaking only)
b17edc9 to
4ab8b89
Compare
4ab8b89 to
56c5ea3
Compare
Sync staged changes (2026-05-19 redo, non-breaking only)
56c5ea3 to
ec2f5b8
Compare
Sync staged changes (2026-05-20, non-breaking only)
ec2f5b8 to
41eb8e4
Compare
mgirouard
approved these changes
May 20, 2026
Sync staged changes (2026-05-21, non-breaking only)
41eb8e4 to
d562f91
Compare
feat(billing): add usage.get method, update usage.paygo endpoint
d562f91 to
3f47e9f
Compare
docs(changelog): comprehensive 6.3.0 release notes
vaishakdinesh
approved these changes
May 21, 2026
Contributor
Author
|
🤖 Release is at https://github.com/cloudflare/cloudflare-typescript/releases/tag/v6.3.0 🌻 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated Release PR
6.3.0 (2026-05-21)
Full Changelog: v6.2.0...v6.3.0
Features
New Resources
New Sub-Resources
/organizations/{organization_id}/billable/usage(2c93faf)New Methods
usage.getmethod — FOCUS v1.3 cost-and-usage dataset at/accounts/{account_id}/billable/usage(returnsUsageGetResponsewithBillingAccountId,ChargeCategory,ConsumedQuantity,BilledCost,EffectiveCost, etc.) (665f6ea)stores.getmethod — fetch a single store by ID (GET /accounts/{account_id}/secrets_store/stores/{store_id}) returningStoreGetResponse(542f312)scripts.secrets.bulkUpdatemethod —PATCH /accounts/{account_id}/workers/scripts/{script_name}/secrets-bulkfor bulk secret updates (840cea9)dispatch.namespaces.scripts.secrets.bulkUpdatemethod — same bulk-update endpoint for dispatch-namespace scripts (840cea9)New Fields and Parameters
format?: 'openrouter'query param tomodels.listfor returning models in the OpenRouter marketplace format (a3ba7fc)degraded?: booleanresponse field toInstanceStatsResponseandnamespaces.instances.InstanceStatsResponse— set when status counts are unavailable (e.g. legacy stats query exceeded D1 statement-size limit) (49c2987)alpha2: stringfield tothreatEvents.countries.listresponse items (CountryListResponseItem.Result) alongside the existingalpha3/namefields (0aa9ae0)private_keyonCustomCertificateCreateParamsis now optional whencustom_csr_idis provided (previously always required) (6e90245)mnm_flow_logsto the dataset enum ondatasets.fields.get,datasets.jobs.get,LogpushJob.dataset, andJobCreateParams.dataset(5bc2413)organizations.create,update,list,delete,get, andorganizationProfile.update/getdocstrings (54b7f07)CONTENT_TYPEdimension andcontentType?: Array<'HTML' | 'IMAGES' | 'JSON' | 'JAVASCRIPT' | 'CSS' | 'PLAIN_TEXT' | 'FONTS' | 'XML' | 'YAML' | 'VIDEO' | 'AUDIO' | 'MARKDOWN' | 'DOCUMENTS' | 'BINARY' | 'SERIALIZATION' | 'OTHER'>filter param toradar.http.summaryV2,timeseriesGroups, and related HTTP analytics methods (d5bc24a)virtual_network_id?: stringfield toOriginDNSconfig onAppCreateResponse,AppUpdateResponse,AppListResponse,AppGetResponse,AppCreateParams, andAppUpdateParams— routes origin traffic through tunnel virtual networks (1afad1f)'opentelemetry-metrics'enum value tologpushDatasetfield onobservability.destinations(DestinationCreateResponse.Configuration,DestinationUpdateResponse.Configuration,DestinationListResponse.Configuration) (d1f8d27)observability.traces.propagation_policy?: 'authenticated' | 'accept'field onWorker,WorkerCreateParams,WorkerUpdateParams,ScriptSetting,SettingEditParams, andscript-and-version-settings— controls how inboundtraceparent/tracestateheaders are honored (d1f8d27)ends_withfilter operation andENDS_WITHcomparison enum value toobservability.telemetry.queryfilters (d1f8d27)preview?: { id?: string; name?: string; slug?: string }field toTelemetryQueryResponse.UnionMember0andUnionMember1event items — surfaces preview deployment metadata on telemetry results (d1f8d27)observability.telemetrysourcefield type fromstring | unknowntostring | { [key: string]: unknown }— non-breaking type refinement that gives consumers better inference (d1f8d27)'cloudflare'value inIdentityProviderTypeandIdentityProviderTypeParamunions, plus a newAccessCloudflareinterface variant added toIdentityProvider,IdentityProviderParam,IdentityProviderListResponse,IdentityProviderCreateParams, andIdentityProviderUpdateParamsunions (4d75785)AccessCloudflareAccountMemberRulepolicy rule type toAccessRuleunion (andAccessRuleParam) — matches users who are members of a specific Cloudflare account; pairs with the new Cloudflare IdP type (4d75785)saml_certificate_set?andsaml_certificate_set_id?fields across all 16 Identity Provider variants (AzureAD, AccessCentrify, AccessCloudflare, AccessFacebook, AccessGitHub, AccessGoogle, AccessGoogleApps, AccessLinkedin, AccessOIDC, AccessOkta, AccessOnelogin, AccessOnetimepin, AccessPingone, AccessSAML, AccessYandex, and the new AccessCloudflare) — references the bound SAML encryption certificate set (4d75785)error_details?(withcause,is_upstream,mcp_code,retryable,status_codefields) andis_shared_oauth_callback_enabled?: booleantoaccess.aiControls.mcp.portalsandmcp.serversresponse types — surfaces MCP gateway error details and shared-OAuth-callback rollout state (dc1c78c)portal_description?andserver_description?fields toaccess.aiControls.mcp.portalsServer.UpdatedPrompt(Create/Update/List/Get response variants); the olderdescription?field is now@deprecatedin favor of these — portal-level wins when present, otherwise falls back to server-level (dc1c78c)access.aiControls.mcp.servers.ServerSyncResponsefromunknownto{ error?: string; error_details?: ServerSyncResponse.ErrorDetails; status?: string }— gives consumers a typed shape with MCP error details (dc1c78c)auth_state?: Array<'Good' | 'Notified' | 'Will Block' | 'Blocked'>field toKolideInputandKolideInputParamdevice-posture types — restricts the posture check to specific Kolide auth states (dc1c78c)Deprecations
access.aiControls.mcp.portalsServer.UpdatedPrompt.description?is now@deprecated. Use the newportal_description?orserver_description?fields instead. The deprecated field is still populated for backward compatibility (portal-level wins when present, otherwise falls back to server-level) and will be removed after a deprecation window. (dc1c78c)Breaking Changes
client.billing.usage.paygo()changed fromGET /accounts/{account_id}/billing/usage/paygotoGET /accounts/{account_id}/paygo-usage. The SDK call site, method signature, params, and return type are unchanged — existing code does not need to be modified. This is recorded as a breaking change because the underlying API contract moved; users on older SDK versions may see 404s if the old URL is retired by the Cloudflare API server. (665f6ea)Chores
bulkUpdateaddition (074b214)api.md,.stats.yml,scripts/detect-breaking-changes,src/index.ts,src/resources/index.ts) across multiple sync rounds (4d7dd4d), (fdef412), (22e2a09), (7e4b075)Migration Guide
This guide covers the breaking change in v6.3.0 and how to update your code.
1. Billing:
usage.paygoendpoint URL changedWhat changed:
The HTTP endpoint that backs
client.billing.usage.paygo()was renamed from/accounts/{account_id}/billing/usage/paygoto/accounts/{account_id}/paygo-usage.Impact:
None at the SDK level. The method name, parameter shape (
UsagePaygoParams),and return type (
UsagePaygoResponse) are all unchanged. Existing codecalling
client.billing.usage.paygo({ account_id, from, to })continues towork without modification.
The "breaking change" label is conservative: it acknowledges that the
underlying API path moved, so users who pin to an older SDK version may
eventually see
404responses if the Cloudflare API team retires the oldpath. If the API team keeps both paths alive during the transition (the usual
behaviour), there is no user-visible breakage.
Affected Method:
client.billing.usage.paygoBefore (v6.2.0):
After (v6.3.0):
Actions Needed:
requests by path, add
/accounts/*/paygo-usageto the allow-list.client.billing.usage.get()method, whichreturns the FinOps FOCUS v1.3 cost-and-usage dataset for more detailed
cost reporting.
Summary
usage.paygoendpoint URL moved from/billing/usage/paygoto/paygo-usageThis pull request is managed by Stainless's GitHub App.
The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.
For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.
🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions