github cloudflare/cloudflare-go v7.12.0

2 hours ago

7.12.0 (2026-10-01)

Full Changelog: v7.11.0...v7.12.0

Breaking Changes

See the v7.12.0 Migration Guide for before/after code examples and actions needed for each change.

  • addressing: AddressMaps.Zones.Update() and AddressMaps.Zones.Delete() removed. The Zones sub-resource is still wired on AddressMaps but now exposes no methods. 16 exported types are removed, including AddressMapZoneUpdateResponse, AddressMapZoneDeleteResponse, AddressMapZoneUpdateParams, AddressMapZoneDeleteParams, and their nested Error, ErrorsSource, Message, MessagesSource, ResultInfo, and Success types.
  • browser_rendering: Devtools.Browser.Connect() and Devtools.Browser.Launch() removed, along with DevtoolBrowserConnectParams and DevtoolBrowserLaunchParams. Devtools.Browser.Page.Get() is also removed along with DevtoolBrowserPageGetParams; the Page sub-resource now exposes no methods. Devtools.Browser retains New(), Delete(), Protocol(), and Version().
  • cloud_connector: RuleUpdateParams.Rules is now required. Requests that previously omitted rules are rejected.
  • dns: SettingAccountViewListParams.Page and SettingAccountViewListParams.PerPage changed from param.Field[float64] to param.Field[int64].
  • dns: Settings.Zone nameservers changed from a struct to a union. SettingZoneEditResponse.Nameservers and SettingZoneGetResponse.Nameservers are now ...NameserversUnion interfaces, and the SettingZoneEditParams.Nameservers field type changed from param.Field[SettingZoneEditParamsNameservers] to param.Field[SettingZoneEditParamsNameserversUnion]. Callers constructing or reading nameservers must switch on the Cloudflare, CustomExisting, and CustomSet variants.
  • email_security: Phishguard.Reports.List() return type changed from *pagination.SinglePage[PhishguardReportListResponse] to *pagination.V4PagePaginationArray[PhishguardReportListResponse].
  • email_security: InvestigatePreviewNewParams.PostfixID renamed to ID, and its JSON key changed from postfix_id to id.
  • email_security: InvestigateReleaseBulkParams.Body []string replaced by IDs param.Field[[]string]. The request body is now a JSON object {"ids": [...]} instead of a bare array, so this is both a compile-time and a wire-format change.
  • email_security: InvestigateMoveBulkParams.IDs is now required.
  • email_security: the SKIPPED status value is removed from InvestigateBulkNewResponseStatus, InvestigateBulkGetResponseStatus, InvestigateBulkListResponseStatus, InvestigateBulkListParamsStatus, and InvestigateBulkCancelNewResponseStatus.
  • email_security: the DISCOVERING status value is removed from InvestigateBulkMessageListParamsStatus and InvestigateBulkMessageListResponseStatus.
  • flagship: AppFlagListParams.Limit and AppFlagChangelogListParams.Limit changed from param.Field[string] to param.Field[int64].
  • hyperdrive: the Integration field on every Configs response integration struct is renamed to Provider, and its JSON key changed from integration to provider. The accompanying enum types are renamed ConfigNewResponseIntegrationIntegration -> ConfigNewResponseIntegrationProvider (and the Update, List, Edit, Get, and Restart equivalents), plus ConfigNewParamsBodyHyperdriveHyperdriveConfigCreateWithIntegrationIntegrationIntegration -> ...IntegrationProvider. This is both a compile-time and a wire-format change.
  • queues: the MqNotificationConsumer variant is removed from the Consumers request and response unions. Consumers.New() and Consumers.Update() now accept only the MqWorkerConsumerRequest and MqHTTPConsumerRequest body variants. Removed types include ConsumerMqNotificationConsumerResponse (and its Settings, SettingsObject, SettingsObjectEmail, SettingsObjectPagerduty, SettingsObjectWebhook, Type members and Param equivalents), ConsumerNewParamsBodyMqNotificationConsumerRequest, and ConsumerUpdateParamsBodyMqNotificationConsumerRequest — 31 exported types in total.
  • resource_tagging: the per-variant ResourceType enums are narrowed to the single resource type each union variant describes. AccountTagUpdateParamsBodyResourceTaggingSetTagsRequestAccountLevelWorkerVersionResourceType drops from 30 values to worker_version only, and ZoneTagUpdateParamsBodyResourceTaggingSetTagsRequestZoneLevelAccessApplicationPolicyResourceType drops from 11 values to access_application_policy only — 39 exported constants removed.
  • shared: the permission group Meta struct changed from {Key, Value string} to a descriptive shape with Category, Deprecated, Description, Editable, EolAt time.Time, Label, Scopes, and Visibility. This affects 11 types across four packages: shared.MemberPoliciesPermissionGroupsMeta, shared.TokenPolicyPermissionGroupsMeta and shared.TokenPolicyPermissionGroupsMetaParam, iam.PermissionGroupListResponseMeta, iam.PermissionGroupGetResponseMeta, the four iam.UserGroup{New,Update,List,Get}ResponsePoliciesPermissionGroupsMeta types, and memberships.Membership{Update,Get}ResponsePoliciesPermissionGroupsMeta.
  • vectorize: the IndexDimensionConfiguration type is removed; CreateIndex.Config is now CreateIndexConfig. IndexDimensionConfigurationMetric and IndexDimensionConfigurationParam are retained.
  • workers_for_platforms: DispatchNamespaceScriptTagDeleteResponse changed from an interface{} alias to a struct backed by DispatchNamespaceScriptTagDeleteResponseUnion. Callers type-asserting the old interface{} return of Dispatch.Namespaces.Scripts.Tags.Delete() must switch on the WorkersTagsKVResponse and WorkersAPIResponseNullResult variants. The two variants correspond to the new api-version header: on api-version dates on or after 2026-10-01, tag identifies a key and the call returns the complete updated tag map; earlier versions keep the legacy string-tag behaviour and return a null result. The six DispatchNamespaceScriptTagDeleteResponseEnvelope* types are removed.
  • zero_trust: Gateway.Lists.Items.List() return type changed from *pagination.SinglePage[GatewayItem] to *pagination.V4PagePaginationArray[GatewayItem].
  • zero_trust: Gateway.Pacfiles.List() return type changed from *pagination.SinglePage[GatewayPacfileListResponse] to *pagination.V4PagePaginationArray[GatewayPacfileListResponse].
  • zero_trust: DevicePolicyCustomEditParamsProfileType type removed.

Features

  • NEW SERVICE: containers -- Containers application, image, and registry management
    • Applications.New(), List(), Delete(), Edit(), Get()
    • Applications.Instances.List(), Get(), ListV1()
    • Applications.Rollouts.New()
    • Applications.Versions.List()
    • Images.Prepare()
    • Registries.New(), List(), Delete()
    • Registries.Credentials.Generate()
  • NEW SERVICE: basin_catalog -- Basin catalog bucket, namespace, and table management
    • List(), Delete(), Disable(), Enable(), Get()
    • MaintenanceConfigs.Update(), Get()
    • Credentials.New()
    • Namespaces.List()
    • Namespaces.Tables.List()
    • Namespaces.Tables.MaintenanceConfigs.Update(), Get()
  • cloudforce_one: add ThreatSignals sub-resource tree (/accounts/{account_id}/cloudforce-one/v2/threat-signals)
    • ThreatSignals.Search.Search()
    • ThreatSignals.Categories.List()
    • ThreatSignals.Feeds.New(), List(), Delete(), Edit(), Poll()
    • ThreatSignals.Feeds.Raw.Get()
    • ThreatSignals.Feeds.Skills.Update(), Get()
    • ThreatSignals.Articles.List(), BulkEdit(), Edit(), Get()
    • ThreatSignals.Articles.Content.Get()
    • ThreatSignals.Articles.Tags.New(), Delete(), Generate()
    • ThreatSignals.Articles.SkillOutputs.Get()
    • ThreatSignals.Indicators.List()
    • ThreatSignals.Skills.New(), List(), Delete(), Edit(), Get()
    • ThreatSignals.Skills.TagCategories.Update(), Get()
  • cache: add Invalidate() method (POST /zones/{zone_id}/invalidate_cache)
  • cache: add InvalidateEnvironment() method (POST /zones/{zone_id}/environments/{environment_id}/invalidate_cache)
  • dns: add Settings.Account.NameserverSets sub-resource with New(), List(), Delete(), Get() methods
  • registrar: add TransferCheck() method (POST /accounts/{account_id}/registrar/domain-transfer-check)
  • pagination: add PageTokenPagination and ContainersInstancesV1Pagination page types (with their AutoPager variants) to packages/pagination
  • email_security: field-level documentation added across Settings.Domains, Settings.ContentPolicies, Settings.TrustedDomains, Settings.ImpersonationRegistry, Settings.BlockSenders, Settings.AllowPolicies, Investigate, and Submissions

Don't miss a new cloudflare-go release

NewReleases is sending notifications on new releases.