|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 7.7.0 (2026-07-08) |
| 4 | + |
| 5 | +Full Changelog: [v7.6.0...v7.7.0](https://github.com/cloudflare/cloudflare-go/compare/v7.6.0...v7.7.0) |
| 6 | + |
| 7 | +### Breaking Changes |
| 8 | + |
| 9 | +See the [v7.7.0 Migration Guide](./docs/migration-guides/v7.7.0-migration-guide.md) for before/after code examples and actions needed for each change. |
| 10 | + |
| 11 | +* **ssl:** `Recommendations.Get` method and `RecommendationGetResponse` / `RecommendationGetParams` types removed. |
| 12 | +* **ai_gateway, workflows, zero_trust/dlpemailaccountmapping:** merged-union parent fields with same-name-different-type collisions changed from a variant-struct type to `interface{}`. Affected fields: |
| 13 | + * `ai_gateway.AIGateway{New,Update,List,Delete,Get}ResponseSpendLimitsRulesMetadata.Mode` (5 structs) |
| 14 | + * `workflows.VersionGraphResponseGraphWorkflowPayload.Type` |
| 15 | + * `zero_trust.DLPEmailAccountMapping{New,Get}ResponseAuthRequirements.Type` (2 structs) |
| 16 | + |
| 17 | + These fields were unreadable in the previous type (marshaling panicked with `reflect: call of reflect.Value.SetString on struct Value`). The new `interface{}` type matches the codegen pattern used by sibling merged fields on the same structs (e.g. `Values`, `Fields`, `AllowedMicrosoftOrganizations`); callers should switch on the parent union via `AsUnion()` for a strongly-typed variant. |
| 18 | + |
| 19 | +* **zero_trust:** `Devices.DEXTests.{New,Update,List,Get}` response type renamed from `DeviceDEXTest{New,Update,List,Get}Response` to the shared `SchemaHTTP`; field structure unchanged. Nested types renamed accordingly (e.g. `DeviceDEXTestNewResponseData` → `SchemaData`, `DeviceDEXTestNewResponseTargetPolicy` → `SchemaHTTPTargetPolicy`). Callers using `:=` inference and field access continue to compile; callers referencing the removed type names must update to `SchemaHTTP`. |
| 20 | +* **zero_trust:** `Devices.IPProfiles.List` pagination changed from `pagination.SinglePage[IPProfile]` to `pagination.V4PagePaginationArray[IPProfile]`. `.Result` field access and `ListAutoPaging()` iteration continue to work; callers referencing the pagination type by name must update. |
| 21 | + |
| 22 | +### Features |
| 23 | + |
| 24 | +* **NEW SERVICE: `email_auth`** — DMARC reports edit/get and SPF inspect |
| 25 | + * `client.EmailAuth.DMARCReports.Edit` |
| 26 | + * `client.EmailAuth.DMARCReports.Get` |
| 27 | + * `client.EmailAuth.SPF.Inspect.Get` |
| 28 | +* **NEW SERVICE: `moq`** — Media over QUIC relay management |
| 29 | + * `client.MoQ.Relays.{New,Update,List,Delete,Get}` |
| 30 | + * `client.MoQ.Relays.Tokens.Rotate` |
| 31 | +* **zero_trust:** publish CASB APIs (`client.ZeroTrust.Casb.*`) |
| 32 | + * `Applications.{List,Get}` + `Applications.SetupFlows.List` |
| 33 | + * `Integrations.{New,Update,List,Delete,Get,Pause,Resume}` |
| 34 | +* **logs:** add `LogExplorer` sub-resource |
| 35 | + * `LogExplorer.Query.Sql` |
| 36 | + * `LogExplorer.Datasets.{New,Update,List,Get}` |
| 37 | + * `LogExplorer.Datasets.Available.List` |
| 38 | +* **browser_rendering:** add `AccessibilityTree.New` method |
| 39 | +* **email_routing:** add `EmailRouting.Unlock` and `EmailRouting.Addresses.Edit` methods |
| 40 | +* **email_routing:** add `AccountRules.List` method (`GET /accounts/{account_id}/email/routing/rules`) returning `AccountRule` with new `Zone` field; `Rules.List` gains optional `AccountID` param (mutually exclusive with `ZoneID`) so callers can list rules by account or zone |
| 41 | +* **email_security:** add bulk investigation APIs |
| 42 | + * `Investigate.Bulk.{New,List,Delete,Get}` |
| 43 | + * `Investigate.Bulk.Cancel.New` |
| 44 | + * `Investigate.Bulk.Messages.List` |
| 45 | +* **accounts:** add `Logs.Audit.History` and `Logs.Audit.ProductCategories` methods |
| 46 | +* **organizations:** add `Logs.Audit.History` method |
| 47 | + |
| 48 | +### Bug Fixes |
| 49 | + |
| 50 | +* **ai_gateway, workflows, zero_trust/dlpemailaccountmapping:** fix panics on union-merged parent field decoding by switching same-name-different-type merged fields from a variant-struct type to `interface{}` ([3de4191](https://github.com/cloudflare/cloudflare-go/commit/3de4191de)) |
| 51 | +* **browser_rendering:** `AccessibilityTreeNewParamsBodyObject` now uses `URL` (matching the generated test fixture) instead of `HTML` ([0f44441](https://github.com/cloudflare/cloudflare-go/commit/0f4444190)) |
| 52 | +* **dns:** restore `Shadow*` query params on `RecordListParams` and `IncludeShadowMetadata` on `Record{New,Update,List,Batch,Edit,Get}Params` after a codegen regression dropped them ([f9b3f27](https://github.com/cloudflare/cloudflare-go/commit/f9b3f274a)) |
| 53 | + |
| 54 | +### Chores |
| 55 | + |
| 56 | +* **api:** update composite API spec (20+ codegen sync commits) |
| 57 | +* **ci:** bump CI job timeouts to 30 minutes ([6cad6cb](https://github.com/cloudflare/cloudflare-go/commit/6cad6cb57)) |
| 58 | +* **ci:** unblock test job by installing nodejs/npm for prism mock server ([3de4191](https://github.com/cloudflare/cloudflare-go/commit/3de4191de)) |
| 59 | +* apply accumulated custom code (CI jobs, GitLab config) ([eb2bf2b](https://github.com/cloudflare/cloudflare-go/commit/eb2bf2b10)) |
| 60 | + |
3 | 61 | ## 7.6.0 (2026-06-16) |
4 | 62 |
|
5 | 63 | Full Changelog: [v7.5.0...v7.6.0](https://github.com/cloudflare/cloudflare-go/compare/v7.5.0...v7.6.0) |
@@ -35,10 +93,6 @@ Full Changelog: [v7.5.0...v7.6.0](https://github.com/cloudflare/cloudflare-go/co |
35 | 93 |
|
36 | 94 | ## 7.5.0 (2026-06-10) |
37 | 95 |
|
38 | | -Full Changelog: [v7.5.0...v7.5.0](https://github.com/cloudflare/cloudflare-go/compare/v7.5.0...v7.5.0) |
39 | | - |
40 | | -## 7.5.0 (2026-06-10) |
41 | | - |
42 | 96 | Full Changelog: [v7.4.0...v7.5.0](https://github.com/cloudflare/cloudflare-go/compare/v7.4.0...v7.5.0) |
43 | 97 |
|
44 | 98 | ### Features |
|
0 commit comments