Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
a68b5d9
ci: enable breaking change detection
musa-cf May 6, 2026
89213cc
ci: make test and detect-breaking-changes jobs non-blocking
musa-cf May 15, 2026
fbb556c
chore: sync shared codegen files from staging-next
musa-cf May 15, 2026
8b03b3d
chore(acm): update generated types and methods
musa-cf May 15, 2026
2f6bdf7
chore(ai): update generated types and methods
musa-cf May 15, 2026
4923bbb
feat(ai_gateway): update generated types and methods
musa-cf May 15, 2026
29cb585
feat(ai_security): add ai_security resource
musa-cf May 15, 2026
5b79a34
chore(api_gateway): update generated types and methods
musa-cf May 15, 2026
b7ae845
feat(cache): update generated types and methods
musa-cf May 15, 2026
fc72368
chore(cloudforce_one): update generated types and methods
musa-cf May 15, 2026
6a05b68
chore(d1): update generated types and methods
musa-cf May 15, 2026
87f7e95
feat(ddos_protection): add ddos_protection resource
musa-cf May 15, 2026
c89d1ce
chore(email_security): update generated types and methods
musa-cf May 15, 2026
b097e5d
chore(intel): update generated types and methods
musa-cf May 15, 2026
bb6815d
feat(load_balancers): update generated types and methods
musa-cf May 15, 2026
f26713b
chore(logpush): update generated types and methods
musa-cf May 15, 2026
72d2149
feat(r2): update generated types and methods
musa-cf May 15, 2026
fb2f0c4
feat(radar): update generated types and methods
musa-cf May 15, 2026
792bf24
chore(resource_sharing): update generated types and methods
musa-cf May 15, 2026
636414f
feat(secrets_store): update generated types and methods
musa-cf May 15, 2026
0bdb685
feat(workers): update generated types and methods
musa-cf May 15, 2026
7bfed3c
feat(workers_for_platforms): update generated types and methods
musa-cf May 15, 2026
aeff7d5
feat(zero_trust): update generated types and methods
musa-cf May 15, 2026
9f99d4b
chore: restore version
May 18, 2026
7bb67aa
ci: move continue-on-error from job level to step level
musa-cf May 18, 2026
5a119e4
Merge pull request #2723 from cloudflare/apix-852/ci-step-soft-fail
musa-cf May 18, 2026
ece809f
ci: fail open on running example
musa-cf May 19, 2026
1a0b300
Merge pull request #2724 from cloudflare/musa-cf-patch-1
musa-cf May 21, 2026
ed104a9
ci: per-job permissions for publish-pypi, release-doctor, sync-labels…
musa-cf May 21, 2026
eac1888
Merge pull request #2726 from cloudflare/ci/add-permissions
musa-cf May 21, 2026
5466fc1
release: 5.2.0
stainless-app[bot] May 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,13 +97,15 @@ jobs:
run: ./scripts/bootstrap

- name: Run tests
continue-on-error: true
run: ./scripts/test
env:
UV_PYTHON: ">=3.9.0"

examples:
timeout-minutes: 10
name: examples
continue-on-error: true
runs-on: ${{ github.repository == 'stainless-sdks/cloudflare-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.repository == 'cloudflare/cloudflare-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')

Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/detect-breaking-changes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ jobs:
detect_breaking_changes:
runs-on: 'ubuntu-latest'
name: detect-breaking-changes
if: false
permissions:
contents: read
steps:
Expand All @@ -29,10 +28,12 @@ jobs:
- name: Install dependencies
run: uv sync --all-extras
- name: Detect removed symbols
continue-on-error: true
run: |
uv run python scripts/detect-breaking-changes.py "${{ github.event.pull_request.base.sha }}"

- name: Detect breaking changes
continue-on-error: true
run: |
# Try to check out previous versions of the breaking change detection script. This ensures that
# we still detect breaking changes when entire files and their tests are removed.
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ on:
jobs:
publish:
name: publish
permissions:
contents: read
runs-on: ubuntu-latest

steps:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ concurrency:
jobs:
release_doctor:
name: release doctor
permissions:
contents: read
runs-on: ubuntu-latest
timeout-minutes: 2
if: github.repository == 'cloudflare/cloudflare-python' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')
Expand Down
40 changes: 15 additions & 25 deletions .github/workflows/semgrep.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,21 @@
name: Semgrep OSS scan
on:
pull_request: {}
push:
branches: [main, master]
workflow_dispatch: {}
schedule:
- cron: '0 0 15 * *'
concurrency:
group: semgrep-${{ github.event_name }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
- cron: '0 4 * * *'
name: Semgrep config
jobs:
semgrep:
name: semgrep-oss
runs-on: ubuntu-slim
timeout-minutes: 25
name: semgrep/ci
permissions:
contents: read
runs-on: ubuntu-latest
env:
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
SEMGREP_URL: https://cloudflare.semgrep.dev
SEMGREP_APP_URL: https://cloudflare.semgrep.dev
SEMGREP_VERSION_CHECK_URL: https://cloudflare.semgrep.dev/api/check-version
container:
image: returntocorp/semgrep
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 1
- id: cache-semgrep
uses: actions/cache@v5
with:
path: ~/.local
key: semgrep-1.160.0-${{ runner.os }}
- if: steps.cache-semgrep.outputs.cache-hit != 'true'
run: pip install --user semgrep==1.160.0
- run: echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- run: semgrep scan --config=auto
- uses: actions/checkout@v4
- run: semgrep ci
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed
2 changes: 2 additions & 0 deletions .github/workflows/sync-labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:
- .github/labels.yml
jobs:
build:
permissions:
issues: write # action-label-syncer creates/updates repo labels
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "5.1.0"
".": "5.2.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 2204
configured_endpoints: 2277
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-a6c352830d1270d0abb5bb983058ea21815e1bb7d2e163965335dcb0e706f057.yml
openapi_spec_hash: e722ad1f58e3dfb3a928cf9890d48da4
config_hash: ff549978909de2badc92845fea964f4b
openapi_spec_hash: c0d553c22ef1e807dd815f71023050f4
config_hash: 245f966442f3af14c23b79cbfdf06161
60 changes: 60 additions & 0 deletions CHANGELOG-v5.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
## 5.1.0 (2026-05-04)

Full Changelog: [v5.0.0...v5.1.0](https://github.com/cloudflare/cloudflare-python/compare/v5.0.0...v5.1.0)

### Features

* **security_center:** add `audit_logs`, `classification`, and `context` sub-resources to insights ([ed7d261](https://github.com/cloudflare/cloudflare-python/commit/ed7d261e6))
* **zero_trust:** add `deployment_groups` sub-resource to devices ([7121a55](https://github.com/cloudflare/cloudflare-python/commit/7121a55d3))
* **aisearch:** update generated types and methods ([54b87759](https://github.com/cloudflare/cloudflare-python/commit/54b87759b))
* **email_security:** update generated types and methods ([23a979df](https://github.com/cloudflare/cloudflare-python/commit/23a979df2))
* **radar:** update generated types and methods ([b48274ef](https://github.com/cloudflare/cloudflare-python/commit/b48274ef7))
* **zones:** update generated types and methods ([f0a54099](https://github.com/cloudflare/cloudflare-python/commit/f0a540997))

#### Security Center - New Insights Sub-Resources

**AuditLogs** (`client.security_center.insights.audit_logs`)

- `list(*, account_id, zone_id, **params) -> SyncCursorPagination[AuditLogListResponse]`
- `list_by_insight(issue_id, *, account_id, zone_id, **params) -> SyncCursorPagination[AuditLogListByInsightResponse]`

New types:
```python
from cloudflare.types.security_center.insights import (
AuditLogListResponse,
AuditLogListByInsightResponse,
)
```

**Classification** (`client.security_center.insights.classification`)

- `update(issue_id, *, account_id, zone_id, **params) -> ClassificationUpdateResponse`

New types:
```python
from cloudflare.types.security_center.insights import ClassificationUpdateResponse
```

**Context** (`client.security_center.insights.context`)

- `get(issue_id, *, account_id) -> Optional[ContextGetResponse]`

New types:
```python
from cloudflare.types.security_center.insights import ContextGetResponse
```

#### Zero Trust - Device Deployment Groups

New sub-resource `client.zero_trust.devices.deployment_groups`:

- `create(*, account_id, **params) -> DeploymentGroup`
- `list(*, account_id, **params) -> SyncV4PagePaginationArray[DeploymentGroup]`
- `delete(group_id, *, account_id) -> DeploymentGroupDeleteResponse`
- `edit(group_id, *, account_id, **params) -> DeploymentGroup`
- `get(group_id, *, account_id) -> DeploymentGroup`

New types:
```python
from cloudflare.types.zero_trust.devices import DeploymentGroup, DeploymentGroupDeleteResponse
```
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,38 @@
# Changelog

## 5.2.0 (2026-05-21)

Full Changelog: [v5.1.0...v5.2.0](https://github.com/cloudflare/cloudflare-python/compare/v5.1.0...v5.2.0)

### Features

* **ai_gateway:** update generated types and methods ([4923bbb](https://github.com/cloudflare/cloudflare-python/commit/4923bbb97bb42db7e8a6ae54cfa29d2e5bd99d47))
* **ai_security:** add ai_security resource ([29cb585](https://github.com/cloudflare/cloudflare-python/commit/29cb58506942df30e0cb087f2d7f211a53360d05))
* **cache:** update generated types and methods ([b7ae845](https://github.com/cloudflare/cloudflare-python/commit/b7ae845ad230f7db0aebfa30f84e6c7c0266278d))
* **ddos_protection:** add ddos_protection resource ([87f7e95](https://github.com/cloudflare/cloudflare-python/commit/87f7e95e47142d94642fa3ae865559b6c3af989b))
* **load_balancers:** update generated types and methods ([bb6815d](https://github.com/cloudflare/cloudflare-python/commit/bb6815d0212081da8f2e0e834d6d30e5fce78c41))
* **r2:** update generated types and methods ([72d2149](https://github.com/cloudflare/cloudflare-python/commit/72d2149e5b7905c4caf266dbefffa626eb4c2d13))
* **radar:** update generated types and methods ([fb2f0c4](https://github.com/cloudflare/cloudflare-python/commit/fb2f0c41d93bf66b8fff170e460ab79d19fc9fbb))
* **secrets_store:** update generated types and methods ([636414f](https://github.com/cloudflare/cloudflare-python/commit/636414fc201aba49dc31e544f024a67a1e7b5082))
* **workers_for_platforms:** update generated types and methods ([7bfed3c](https://github.com/cloudflare/cloudflare-python/commit/7bfed3ced962e765b884e68ae4c1c48e56e1b6b5))
* **workers:** update generated types and methods ([0bdb685](https://github.com/cloudflare/cloudflare-python/commit/0bdb6858af43a110a91a5d770b69367aca922117))
* **zero_trust:** update generated types and methods ([aeff7d5](https://github.com/cloudflare/cloudflare-python/commit/aeff7d56432a1f6844b310f9ce7fca9ac09da5e5))


### Chores

* **acm:** update generated types and methods ([8b03b3d](https://github.com/cloudflare/cloudflare-python/commit/8b03b3dc081c0fa7cf6bbaca188927379c418b93))
* **ai:** update generated types and methods ([2f6bdf7](https://github.com/cloudflare/cloudflare-python/commit/2f6bdf7476969dad83fe85c0ae493d7b3f4fa58c))
* **api_gateway:** update generated types and methods ([5b79a34](https://github.com/cloudflare/cloudflare-python/commit/5b79a34891fe355456e1decebcf462ac1e171ff5))
* **cloudforce_one:** update generated types and methods ([fc72368](https://github.com/cloudflare/cloudflare-python/commit/fc723685b90eafb8a2f232c72e6f03dd4ad2f823))
* **d1:** update generated types and methods ([6a05b68](https://github.com/cloudflare/cloudflare-python/commit/6a05b682b6b8a3d1bc64440de52a17d4e8df9034))
* **email_security:** update generated types and methods ([c89d1ce](https://github.com/cloudflare/cloudflare-python/commit/c89d1ceeb880ff26c06707731b17e4f2e7041b3d))
* **intel:** update generated types and methods ([b097e5d](https://github.com/cloudflare/cloudflare-python/commit/b097e5d93a5a3c2626088a2132d75625755c2141))
* **logpush:** update generated types and methods ([f26713b](https://github.com/cloudflare/cloudflare-python/commit/f26713be3354fc403b062b15d0c191fadec283d0))
* **resource_sharing:** update generated types and methods ([792bf24](https://github.com/cloudflare/cloudflare-python/commit/792bf248ba72dfc93e5bc4b79734475ece24d52b))
* restore version ([9f99d4b](https://github.com/cloudflare/cloudflare-python/commit/9f99d4b9d86612713073afd9144de0512df6442b))
* sync shared codegen files from staging-next ([fbb556c](https://github.com/cloudflare/cloudflare-python/commit/fbb556c19cb25f308ba43c94959c669b772f6663))

## 5.1.0 (2026-05-06)

Full Changelog: [v5.0.0...v5.1.0](https://github.com/cloudflare/cloudflare-python/compare/v5.0.0...v5.1.0)
Expand Down
4 changes: 4 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ from cloudflare.types import (

# [MagicTransit](src/cloudflare/resources/magic_transit/api.md)

# [DDoSProtection](src/cloudflare/resources/ddos_protection/api.md)

# [MagicNetworkMonitoring](src/cloudflare/resources/magic_network_monitoring/api.md)

# [MagicCloudNetworking](src/cloudflare/resources/magic_cloud_networking/api.md)
Expand Down Expand Up @@ -221,6 +223,8 @@ from cloudflare.types import (

# [ContentScanning](src/cloudflare/resources/content_scanning/api.md)

# [AISecurity](src/cloudflare/resources/ai_security/api.md)

# [AbuseReports](src/cloudflare/resources/abuse_reports/api.md)

# [AI](src/cloudflare/resources/ai/api.md)
Expand Down
Loading
Loading