Skip to content

Commit 87ec5d0

Browse files
authored
Merge pull request #2739 from cloudflare/release/5.5.0
release: 5.5.0
2 parents 2927882 + 484b6d3 commit 87ec5d0

495 files changed

Lines changed: 31879 additions & 2366 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 0 additions & 1 deletion
This file was deleted.

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "5.4.0"
2+
".": "5.5.0"
33
}

.stats.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
1-
configured_endpoints: 2404
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare/cloudflare-874436f83bd9c383144c69da47c4b767bb9c6f4f2bb4945af58cf3b6015f0f62.yml
3-
openapi_spec_hash: beaf9a654991bf65d642e05c03460e4c
4-
config_hash: 2f529580a17438fc62cd0b47db41b6f1
1+
configured_endpoints: 2440

CHANGELOG.md

Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,163 @@
11
# Changelog
22

3+
## 5.5.0 (2026-07-10)
4+
5+
Full Changelog: [v5.4.0...v5.5.0](https://github.com/cloudflare/cloudflare-python/compare/v5.4.0...v5.5.0)
6+
7+
### Breaking Changes
8+
9+
* **ssl:** The `recommendations` sub-resource has been removed. `client.ssl.recommendations.get()` and the `RecommendationGetResponse` type are no longer available.
10+
* **email_routing:** The `list` method has been removed from `client.email_routing.rules`. Only `create`, `update`, `delete`, and `get` remain. The `RuleListParams` type has been removed.
11+
* **zero_trust:** The `UserPolicyCheckGeo` type has been removed from `cloudflare.types.zero_trust.access.applications`. The geo information is now inlined as `UserIdentityGeo` within `UserPolicyCheckListResponse`.
12+
* **zero_trust:** The pagination type for `client.zero_trust.devices.ip_profiles.list()` changed from `SyncSinglePage` to `SyncV4PagePaginationArray`. Code that relied on single-page iteration semantics may need adjustment.
13+
* **aisearch:** The `SourceParamsWebCrawlerStoreOptions` type and the `store_options` field on `SourceParamsWebCrawler` have been removed from instance create/update params and responses. The `parse_type` enum value `"feed-rss"` has been removed (only `"sitemap"` and `"crawl"` remain). The `search_query` field on `InstanceSearchResponse` and `NamespaceSearchResponse` changed from required `str` to `Optional[str]`. A new required `query_kind` field (`Literal["text", "image", "multimodal"]`) has been added to search responses.
14+
* **zero_trust:** In `Organization` and related params, `MfaSSHPivKeyRequirements` has been renamed to `MfaPivKeyRequirements`, the `mfa_ssh_piv_key_requirements` field has been renamed to `mfa_piv_key_requirements`, and the `allowed_authenticators` enum value `"ssh_piv_key"` has been changed to `"piv_key"`.
15+
16+
### Features
17+
18+
* **email_auth:** add email_auth resource ([43fb66a](https://github.com/cloudflare/cloudflare-python/commit/43fb66a7e))
19+
* **moq:** add moq resource ([c409a18](https://github.com/cloudflare/cloudflare-python/commit/c409a1818))
20+
* **logs:** add log_explorer sub-resource with query, datasets, and available datasets ([b8896ca](https://github.com/cloudflare/cloudflare-python/commit/b8896ca79))
21+
* **email_security:** add bulk message operations to investigate ([e96350d](https://github.com/cloudflare/cloudflare-python/commit/e96350d9a))
22+
* **aisearch:** add multimodal support with image_url content parts and new `@cf/qwen/qwen3-vl-embedding-2b` embedding model ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
23+
* **zero_trust:** add Worker destination types (`WorkerDestination`, `PreviewWorkerDestination`, `AllWorkersDestination`, `AllPreviewWorkersDestination`) to Access applications and `eager_redirect_cookie_setting` field to self-hosted applications ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
24+
* **magic_transit:** add `primary` and `site_id` fields to connector create/edit params ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
25+
* **rulesets:** add `Vary` cache settings with `ActionParametersVary`, `ActionParametersVaryDefault`, and `ActionParametersVaryHeaders` types ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
26+
* **cloudforce_one:** `threat_events.datasets.list()` now accepts optional params ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
27+
* **email_security:** add `expected_disposition` param to `investigate.move.create()` and `investigate.move.bulk()` ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
28+
* **email_routing:** add `support_subaddress` field to `Settings` response type ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
29+
* **zero_trust:** add `max_ttl_secs` field to `GatewayConfigurationSettings` and new `MaxTTL` type to gateway `Location` for DNS TTL cap control ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
30+
* **zero_trust:** add `GlobalAcceleration` type to default and custom device policy settings ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
31+
* **accounts:** add `category` field to `PermissionGroupGetResponse` and `PermissionGroupListResponse` for account and user tokens ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
32+
33+
#### New Resources
34+
35+
**EmailAuth** (`client.email_auth`)
36+
37+
DMARC report management and SPF inspection for email authentication.
38+
39+
**DMARCReports** (`client.email_auth.dmarc_reports`)
40+
41+
- `edit(*, zone_id, **params) -> Optional[DMARCReportEditResponse]`
42+
- `get(*, zone_id) -> Optional[DMARCReportGetResponse]`
43+
44+
New types:
45+
```python
46+
from cloudflare.types.email_auth import DMARCReportEditResponse, DMARCReportGetResponse
47+
```
48+
49+
**SPF Inspect** (`client.email_auth.spf.inspect`)
50+
51+
- `get(*, zone_id, **params) -> Optional[InspectGetResponse]`
52+
53+
New types:
54+
```python
55+
from cloudflare.types.email_auth.spf import InspectGetResponse
56+
```
57+
58+
**MoQ** (`client.moq`)
59+
60+
Media over QUIC relay management.
61+
62+
**Relays** (`client.moq.relays`)
63+
64+
- `create(*, account_id, **params) -> Optional[RelayCreateResponse]`
65+
- `update(relay_id, *, account_id, **params) -> Optional[RelayUpdateResponse]`
66+
- `list(*, account_id, **params) -> SyncSinglePage[RelayListResponse]`
67+
- `delete(relay_id, *, account_id) -> object`
68+
- `get(relay_id, *, account_id) -> Optional[RelayGetResponse]`
69+
70+
New types:
71+
```python
72+
from cloudflare.types.moq import (
73+
RelayCreateResponse,
74+
RelayUpdateResponse,
75+
RelayListResponse,
76+
RelayGetResponse,
77+
)
78+
```
79+
80+
**Tokens** (`client.moq.relays.tokens`)
81+
82+
- `rotate(relay_id, *, account_id, **params) -> Optional[TokenRotateResponse]`
83+
84+
New types:
85+
```python
86+
from cloudflare.types.moq.relays import TokenRotateResponse
87+
```
88+
89+
**Log Explorer** (`client.logs.log_explorer`)
90+
91+
SQL-based log querying and dataset management.
92+
93+
**Query** (`client.logs.log_explorer.query`)
94+
95+
- `sql(body, *, account_id, zone_id, **params) -> SyncSinglePage[QuerySqlResponse]`
96+
97+
New types:
98+
```python
99+
from cloudflare.types.logs.log_explorer import QuerySqlResponse
100+
```
101+
102+
**Datasets** (`client.logs.log_explorer.datasets`)
103+
104+
- `create(*, account_id, zone_id, **params) -> Optional[Dataset]`
105+
- `update(dataset_id, *, account_id, zone_id, **params) -> Optional[Dataset]`
106+
- `list(*, account_id, zone_id, **params) -> SyncSinglePage[DatasetSummary]`
107+
- `get(dataset_id, *, account_id, zone_id) -> Optional[Dataset]`
108+
109+
**Available** (`client.logs.log_explorer.datasets.available`)
110+
111+
- `list(*, account_id, zone_id) -> SyncSinglePage[AvailableDataset]`
112+
113+
New types:
114+
```python
115+
from cloudflare.types.logs.log_explorer import (
116+
Dataset,
117+
DatasetSummary,
118+
CreateRequest,
119+
UpdateRequest,
120+
)
121+
from cloudflare.types.logs.log_explorer.datasets import AvailableDataset, AvailableList
122+
```
123+
124+
**Email Security Investigate Bulk** (`client.email_security.investigate.bulk`)
125+
126+
Bulk message movement and quarantine release operations.
127+
128+
- `create(*, account_id, **params) -> BulkCreateResponse`
129+
- `list(*, account_id, **params) -> SyncV4PagePaginationArray[BulkListResponse]`
130+
- `delete(job_id, *, account_id) -> BulkDeleteResponse`
131+
- `get(job_id, *, account_id) -> BulkGetResponse`
132+
133+
**Cancel** (`client.email_security.investigate.bulk.cancel`)
134+
135+
- `create(job_id, *, account_id) -> CancelCreateResponse`
136+
137+
**Messages** (`client.email_security.investigate.bulk.messages`)
138+
139+
- `list(job_id, *, account_id, **params) -> SyncV4PagePaginationArray[MessageListResponse]`
140+
141+
New types:
142+
```python
143+
from cloudflare.types.email_security.investigate import (
144+
BulkCreateResponse,
145+
BulkListResponse,
146+
BulkDeleteResponse,
147+
BulkGetResponse,
148+
)
149+
from cloudflare.types.email_security.investigate.bulk import (
150+
CancelCreateResponse,
151+
MessageListResponse,
152+
)
153+
```
154+
155+
### Chores
156+
157+
* **billing:** update generated types and methods ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
158+
* **pipelines:** update generated types and methods ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
159+
* **workers:** update generated types and methods ([de12426](https://github.com/cloudflare/cloudflare-python/commit/de1242647))
160+
3161
## 5.4.0 (2026-06-16)
4162

5163
Full Changelog: [v5.3.0...v5.4.0](https://github.com/cloudflare/cloudflare-python/compare/v5.3.0...v5.4.0)

README.md

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,6 @@ and offers both synchronous and asynchronous clients powered by [httpx](https://
99

1010
It is generated with [Stainless](https://www.stainless.com/).
1111

12-
## MCP Server
13-
14-
Use the Cloudflare MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
15-
16-
[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=cloudflare-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImNsb3VkZmxhcmUtbWNwIl0sImVudiI6eyJDTE9VREZMQVJFX0FQSV9UT0tFTiI6IlNuM2xaSlRCWDZra2c3T2RjQlVBeE9POTYzR0VJeUdRcW5GVE9GWVkiLCJDTE9VREZMQVJFX0FQSV9LRVkiOiIxNDRjOWRlZmFjMDQ5NjljN2JmYWQ4ZWZhYThlYTE5NCIsIkNMT1VERkxBUkVfRU1BSUwiOiJ1c2VyQGV4YW1wbGUuY29tIiwiQ0xPVURGTEFSRV9BUElfVVNFUl9TRVJWSUNFX0tFWSI6InYxLjAtMTQ0YzlkZWZhYzA0OTY5YzdiZmFkOGVmLTYzMWE0MWQwMDNhMzJkMjVmZTg3ODA4MWVmMzY1YzQ5NTAzZjdmYWRhNjAwZGE5MzVlMjg1MWExYzczMjYwODRiODVjYmY2NDI5YzRiODU5ZGU4NDc1NzMxZGM5MmE5YzMyOTYzMWU2ZDU5ZTZjNzNkYTdiMTk4NDk3MTcyYjRjZWZlMDcxZDkwZDBmNWQyNzE5In19)
17-
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22cloudflare-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22cloudflare-mcp%22%5D%2C%22env%22%3A%7B%22CLOUDFLARE_API_TOKEN%22%3A%22Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY%22%2C%22CLOUDFLARE_API_KEY%22%3A%22144c9defac04969c7bfad8efaa8ea194%22%2C%22CLOUDFLARE_EMAIL%22%3A%22user%40example.com%22%2C%22CLOUDFLARE_API_USER_SERVICE_KEY%22%3A%22v1.0-144c9defac04969c7bfad8ef-631a41d003a32d25fe878081ef365c49503f7fada600da935e2851a1c7326084b85cbf6429c4b859de8475731dc92a9c329631e6d59e6c73da7b198497172b4cefe071d90d0f5d2719%22%7D%7D)
18-
19-
> Note: You may need to set environment variables in your MCP client.
20-
2112
## Documentation
2213

2314
The REST API documentation can be found on [developers.cloudflare.com](https://developers.cloudflare.com/api). The full API of this library can be found in [api.md](api.md).
@@ -471,8 +462,12 @@ with Cloudflare() as client:
471462
This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
472463

473464
1. Changes that only affect static types, without breaking runtime behavior.
474-
1. Changes to library internals which are technically public but not intended or documented for external use.
475-
1. Changes that we do not expect to impact the vast majority of users in practice.
465+
2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals.)_
466+
3. Changes that we do not expect to impact the vast majority of users in practice.
467+
468+
We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.
469+
470+
We are keen for your feedback; please open an [issue](https://www.github.com/cloudflare/cloudflare-python/issues) with questions, bugs, or suggestions.
476471

477472
### Determining the installed version
478473

api.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ from cloudflare.types import (
7575

7676
# [EmailSecurity](src/cloudflare/resources/email_security/api.md)
7777

78+
# [EmailAuth](src/cloudflare/resources/email_auth/api.md)
79+
7880
# [EmailRouting](src/cloudflare/resources/email_routing/api.md)
7981

8082
# [EmailSending](src/cloudflare/resources/email_sending/api.md)
@@ -153,6 +155,8 @@ from cloudflare.types import (
153155

154156
# [Registrar](src/cloudflare/resources/registrar/api.md)
155157

158+
# [RegistrarSandbox](src/cloudflare/resources/registrar_sandbox/api.md)
159+
156160
# [RequestTracers](src/cloudflare/resources/request_tracers/api.md)
157161

158162
# [Rules](src/cloudflare/resources/rules/api.md)
@@ -211,6 +215,8 @@ from cloudflare.types import (
211215

212216
# [Calls](src/cloudflare/resources/calls/api.md)
213217

218+
# [MoQ](src/cloudflare/resources/moq/api.md)
219+
214220
# [CloudforceOne](src/cloudflare/resources/cloudforce_one/api.md)
215221

216222
# [AIGateway](src/cloudflare/resources/ai_gateway/api.md)

bin/check-release-environment

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
errors=()
44

5+
if [ -z "${RELEASE_PLEASE_TOKEN}" ]; then
6+
errors+=("The RELEASE_PLEASE_TOKEN secret has not been set. Create a fine-grained GitHub PAT and add it as a repository secret.")
7+
fi
8+
59
if [ -z "${PYPI_TOKEN}" ]; then
610
errors+=("The PYPI_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets.")
711
fi

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "cloudflare"
3-
version = "5.4.0"
3+
version = "5.5.0"
44
description = "The official Python library for the cloudflare API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

release-please-config.json

Lines changed: 0 additions & 66 deletions
This file was deleted.

scripts/mock

Lines changed: 8 additions & 7 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)