Skip to content

release: 4.4.0 #2664

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 537 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
537 commits
Select commit Hold shift + click to select a range
e577fd3
codegen metadata
stainless-app[bot] Jul 18, 2025
f2974f8
codegen metadata
stainless-app[bot] Jul 18, 2025
8b2e69b
codegen metadata
stainless-app[bot] Jul 18, 2025
99f85fd
codegen metadata
stainless-app[bot] Jul 18, 2025
6e3fa7d
codegen metadata
stainless-app[bot] Jul 18, 2025
e236b25
codegen metadata
stainless-app[bot] Jul 18, 2025
f56c2b4
codegen metadata
stainless-app[bot] Jul 18, 2025
1b8950c
codegen metadata
stainless-app[bot] Jul 18, 2025
9650869
codegen metadata
stainless-app[bot] Jul 18, 2025
288cf47
codegen metadata
stainless-app[bot] Jul 18, 2025
75df94a
codegen metadata
stainless-app[bot] Jul 18, 2025
ba78336
codegen metadata
stainless-app[bot] Jul 18, 2025
5364bb7
feat(api): api update
stainless-app[bot] Jul 18, 2025
f8e1ced
codegen metadata
stainless-app[bot] Jul 18, 2025
c2b1d7c
codegen metadata
stainless-app[bot] Jul 18, 2025
3057014
codegen metadata
stainless-app[bot] Jul 19, 2025
ef87eb4
codegen metadata
stainless-app[bot] Jul 20, 2025
aa2cefe
codegen metadata
stainless-app[bot] Jul 21, 2025
7b2e32e
codegen metadata
stainless-app[bot] Jul 21, 2025
ac66cd1
codegen metadata
stainless-app[bot] Jul 21, 2025
aef7eb7
feat(api): api update
stainless-app[bot] Jul 21, 2025
258adee
codegen metadata
stainless-app[bot] Jul 21, 2025
3ecc276
codegen metadata
stainless-app[bot] Jul 21, 2025
7569336
fix(parsing): ignore empty metadata
stainless-app[bot] Jul 21, 2025
73cff38
codegen metadata
stainless-app[bot] Jul 21, 2025
6cc5b23
codegen metadata
stainless-app[bot] Jul 21, 2025
493b264
codegen metadata
stainless-app[bot] Jul 21, 2025
ace4cf3
codegen metadata
stainless-app[bot] Jul 21, 2025
3aa4073
codegen metadata
stainless-app[bot] Jul 21, 2025
ff06c87
codegen metadata
stainless-app[bot] Jul 21, 2025
20da11a
feat(api): api update
stainless-app[bot] Jul 21, 2025
cf574a4
chore(types): rebuild Pydantic models after all types are defined
stainless-app[bot] Jul 21, 2025
0e774a0
codegen metadata
stainless-app[bot] Jul 21, 2025
d1a1c96
codegen metadata
stainless-app[bot] Jul 21, 2025
3e5e8b7
codegen metadata
stainless-app[bot] Jul 21, 2025
b9c025b
feat(api): api update
stainless-app[bot] Jul 21, 2025
8c44db9
fix(types): add missing types
stainless-app[bot] Jul 21, 2025
ad06dcd
feat(api): api update
stainless-app[bot] Jul 21, 2025
d246a32
codegen metadata
stainless-app[bot] Jul 21, 2025
32bd656
codegen metadata
stainless-app[bot] Jul 21, 2025
1bea8ae
feat(api): api update
stainless-app[bot] Jul 21, 2025
71b7e7f
codegen metadata
stainless-app[bot] Jul 21, 2025
80a1de5
codegen metadata
stainless-app[bot] Jul 21, 2025
b6e260e
codegen metadata
stainless-app[bot] Jul 21, 2025
6cf8fb3
codegen metadata
stainless-app[bot] Jul 21, 2025
0084a4d
feat(api): api update
stainless-app[bot] Jul 22, 2025
cb97258
codegen metadata
stainless-app[bot] Jul 22, 2025
b05d458
codegen metadata
stainless-app[bot] Jul 22, 2025
bf0fafe
codegen metadata
stainless-app[bot] Jul 22, 2025
094a1c0
feat(api): api update
stainless-app[bot] Jul 22, 2025
4ab783f
feat(api): api update
stainless-app[bot] Jul 22, 2025
44dfbdb
codegen metadata
stainless-app[bot] Jul 22, 2025
879271d
codegen metadata
stainless-app[bot] Jul 22, 2025
876c80a
codegen metadata
stainless-app[bot] Jul 22, 2025
5c5c79d
fix(parsing): parse extra field types
stainless-app[bot] Jul 22, 2025
df0e392
codegen metadata
stainless-app[bot] Jul 22, 2025
4386083
codegen metadata
stainless-app[bot] Jul 22, 2025
4b25769
feat(api): api update
stainless-app[bot] Jul 22, 2025
88dab66
codegen metadata
stainless-app[bot] Jul 22, 2025
1b88006
codegen metadata
stainless-app[bot] Jul 22, 2025
0187ceb
codegen metadata
stainless-app[bot] Jul 22, 2025
cb9d535
codegen metadata
stainless-app[bot] Jul 22, 2025
5eeb539
codegen metadata
stainless-app[bot] Jul 22, 2025
230ae2d
codegen metadata
stainless-app[bot] Jul 22, 2025
310e91c
codegen metadata
stainless-app[bot] Jul 22, 2025
31adc61
codegen metadata
stainless-app[bot] Jul 22, 2025
3e7d58a
codegen metadata
stainless-app[bot] Jul 22, 2025
90035b1
feat(api): api update
stainless-app[bot] Jul 22, 2025
f6c72ea
codegen metadata
stainless-app[bot] Jul 22, 2025
c9c06d5
codegen metadata
stainless-app[bot] Jul 22, 2025
ef97dc2
codegen metadata
stainless-app[bot] Jul 22, 2025
d73381f
codegen metadata
stainless-app[bot] Jul 22, 2025
eea855a
codegen metadata
stainless-app[bot] Jul 22, 2025
d00a8be
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 22, 2025
3c0fb7b
codegen metadata
stainless-app[bot] Jul 22, 2025
d43aff4
feat(api): api update
stainless-app[bot] Jul 22, 2025
7773d8a
feat(api): api update
stainless-app[bot] Jul 22, 2025
2ca622e
codegen metadata
stainless-app[bot] Jul 22, 2025
5e2c96f
codegen metadata
stainless-app[bot] Jul 22, 2025
699825e
codegen metadata
stainless-app[bot] Jul 22, 2025
ae7588d
feat(api): api update
stainless-app[bot] Jul 22, 2025
65429f1
codegen metadata
stainless-app[bot] Jul 22, 2025
97ca836
codegen metadata
stainless-app[bot] Jul 22, 2025
54d6d21
feat(api): api update
stainless-app[bot] Jul 22, 2025
1a935f1
feat(api): api update
stainless-app[bot] Jul 22, 2025
5745f74
feat(api): api update
stainless-app[bot] Jul 23, 2025
cc71494
codegen metadata
stainless-app[bot] Jul 23, 2025
355317c
codegen metadata
stainless-app[bot] Jul 23, 2025
04d92fd
codegen metadata
stainless-app[bot] Jul 23, 2025
a531f54
codegen metadata
stainless-app[bot] Jul 23, 2025
08455a1
codegen metadata
stainless-app[bot] Jul 23, 2025
181d1ef
codegen metadata
stainless-app[bot] Jul 23, 2025
15d3aa4
codegen metadata
stainless-app[bot] Jul 23, 2025
2cbfd66
codegen metadata
stainless-app[bot] Jul 23, 2025
b15c2a7
codegen metadata
stainless-app[bot] Jul 23, 2025
5cd95d3
codegen metadata
stainless-app[bot] Jul 23, 2025
e584845
codegen metadata
stainless-app[bot] Jul 23, 2025
2a6d6ab
codegen metadata
stainless-app[bot] Jul 23, 2025
0925597
feat(api): api update
stainless-app[bot] Jul 23, 2025
ba5f5ba
codegen metadata
stainless-app[bot] Jul 23, 2025
4f45658
codegen metadata
stainless-app[bot] Jul 23, 2025
ac08ad1
codegen metadata
stainless-app[bot] Jul 23, 2025
a02e271
codegen metadata
stainless-app[bot] Jul 23, 2025
516d25e
codegen metadata
stainless-app[bot] Jul 23, 2025
92d0873
codegen metadata
stainless-app[bot] Jul 23, 2025
bd608b6
codegen metadata
stainless-app[bot] Jul 23, 2025
57976f0
codegen metadata
stainless-app[bot] Jul 23, 2025
960e4e4
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 23, 2025
4805e4b
codegen metadata
stainless-app[bot] Jul 23, 2025
584c378
codegen metadata
stainless-app[bot] Jul 23, 2025
ace853b
codegen metadata
stainless-app[bot] Jul 23, 2025
56cf746
codegen metadata
stainless-app[bot] Jul 23, 2025
d0bc41a
feat(api): api update
stainless-app[bot] Jul 23, 2025
cbcdb51
codegen metadata
stainless-app[bot] Jul 23, 2025
71a1e11
codegen metadata
stainless-app[bot] Jul 23, 2025
f9de8af
feat(api): api update
stainless-app[bot] Jul 23, 2025
c7ead27
feat(api): api update
stainless-app[bot] Jul 23, 2025
1a667f2
feat(api): api update
stainless-app[bot] Jul 23, 2025
f180318
feat(api): api update
stainless-app[bot] Jul 23, 2025
4d84208
codegen metadata
stainless-app[bot] Jul 23, 2025
e00bfdd
codegen metadata
stainless-app[bot] Jul 23, 2025
25e102d
codegen metadata
stainless-app[bot] Jul 24, 2025
c9fa067
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 24, 2025
e4b71d8
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 24, 2025
b813fc9
codegen metadata
stainless-app[bot] Jul 24, 2025
4bbed2a
codegen metadata
stainless-app[bot] Jul 24, 2025
3e57d54
codegen metadata
stainless-app[bot] Jul 24, 2025
dd1f0cd
codegen metadata
stainless-app[bot] Jul 24, 2025
3fc3e3a
codegen metadata
stainless-app[bot] Jul 24, 2025
188f4b7
codegen metadata
stainless-app[bot] Jul 24, 2025
7672800
codegen metadata
stainless-app[bot] Jul 24, 2025
44a95b3
codegen metadata
stainless-app[bot] Jul 24, 2025
a86e3a0
codegen metadata
stainless-app[bot] Jul 24, 2025
1e77d63
codegen metadata
stainless-app[bot] Jul 24, 2025
5cd641a
codegen metadata
stainless-app[bot] Jul 24, 2025
967462d
chore(project): add settings file for vscode
stainless-app[bot] Jul 24, 2025
e769e1a
codegen metadata
stainless-app[bot] Jul 24, 2025
d0b5b99
codegen metadata
stainless-app[bot] Jul 24, 2025
703d87d
codegen metadata
stainless-app[bot] Jul 24, 2025
78942a9
codegen metadata
stainless-app[bot] Jul 24, 2025
62d83bb
codegen metadata
stainless-app[bot] Jul 24, 2025
543a81b
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 24, 2025
ff0ba53
codegen metadata
stainless-app[bot] Jul 24, 2025
be5d407
codegen metadata
stainless-app[bot] Jul 24, 2025
72d2b99
codegen metadata
stainless-app[bot] Jul 24, 2025
d62a22f
feat(api): api update
stainless-app[bot] Jul 24, 2025
9c86b71
codegen metadata
stainless-app[bot] Jul 24, 2025
6b146d6
codegen metadata
stainless-app[bot] Jul 24, 2025
b607779
feat(api): api update
stainless-app[bot] Jul 24, 2025
db28378
codegen metadata
stainless-app[bot] Jul 24, 2025
6a13939
codegen metadata
stainless-app[bot] Jul 24, 2025
6ddf7bd
feat(api): api update
stainless-app[bot] Jul 24, 2025
9dc28ef
feat(api): api update
stainless-app[bot] Jul 24, 2025
da95a3c
feat(api): api update
stainless-app[bot] Jul 24, 2025
cca4969
codegen metadata
stainless-app[bot] Jul 24, 2025
a66c3ad
codegen metadata
stainless-app[bot] Jul 24, 2025
979838d
codegen metadata
stainless-app[bot] Jul 24, 2025
eb56a8b
codegen metadata
stainless-app[bot] Jul 24, 2025
87bbed1
codegen metadata
stainless-app[bot] Jul 25, 2025
deed9ca
codegen metadata
stainless-app[bot] Jul 25, 2025
29ca99b
codegen metadata
stainless-app[bot] Jul 25, 2025
9895a8c
codegen metadata
stainless-app[bot] Jul 25, 2025
b9e96bd
codegen metadata
stainless-app[bot] Jul 25, 2025
9bc4f4b
codegen metadata
stainless-app[bot] Jul 25, 2025
8cb226a
codegen metadata
stainless-app[bot] Jul 25, 2025
ae96cdd
codegen metadata
stainless-app[bot] Jul 25, 2025
0aea845
codegen metadata
stainless-app[bot] Jul 25, 2025
5c20994
codegen metadata
stainless-app[bot] Jul 25, 2025
9b8b2c5
codegen metadata
stainless-app[bot] Jul 25, 2025
b0fe3a7
codegen metadata
stainless-app[bot] Jul 25, 2025
a8e5cc8
codegen metadata
stainless-app[bot] Jul 25, 2025
798ad9b
feat(api): api update
stainless-app[bot] Jul 25, 2025
f34ac3b
feat(api): api update
stainless-app[bot] Jul 25, 2025
3f5eb9f
codegen metadata
stainless-app[bot] Jul 25, 2025
7def1b1
codegen metadata
stainless-app[bot] Jul 25, 2025
4c912e1
codegen metadata
stainless-app[bot] Jul 25, 2025
dc8b01f
codegen metadata
stainless-app[bot] Jul 25, 2025
5ac1d56
codegen metadata
stainless-app[bot] Jul 25, 2025
ce628e6
codegen metadata
stainless-app[bot] Jul 25, 2025
b64d432
codegen metadata
stainless-app[bot] Jul 25, 2025
3e1e3e4
codegen metadata
stainless-app[bot] Jul 25, 2025
5312e1e
codegen metadata
stainless-app[bot] Jul 25, 2025
f36b1b3
feat(api): api update
stainless-app[bot] Jul 25, 2025
a3dc2b1
codegen metadata
stainless-app[bot] Jul 26, 2025
248469d
codegen metadata
stainless-app[bot] Jul 26, 2025
e4efd82
codegen metadata
stainless-app[bot] Jul 26, 2025
8ced067
codegen metadata
stainless-app[bot] Jul 27, 2025
e0c7da3
codegen metadata
stainless-app[bot] Jul 28, 2025
c3e7449
codegen metadata
stainless-app[bot] Jul 28, 2025
45e6734
codegen metadata
stainless-app[bot] Jul 28, 2025
651e40d
codegen metadata
stainless-app[bot] Jul 28, 2025
3c1137d
codegen metadata
stainless-app[bot] Jul 28, 2025
ff93fa7
feat(api): api update
stainless-app[bot] Jul 28, 2025
0aa000e
codegen metadata
stainless-app[bot] Jul 28, 2025
8f9825e
codegen metadata
stainless-app[bot] Jul 28, 2025
196ea76
codegen metadata
stainless-app[bot] Jul 28, 2025
6ad46e2
codegen metadata
stainless-app[bot] Jul 28, 2025
02d6a60
codegen metadata
stainless-app[bot] Jul 28, 2025
8352090
codegen metadata
stainless-app[bot] Jul 28, 2025
febb5e5
codegen metadata
stainless-app[bot] Jul 28, 2025
180fef7
codegen metadata
stainless-app[bot] Jul 28, 2025
ddf36e2
codegen metadata
stainless-app[bot] Jul 28, 2025
21a31ec
codegen metadata
stainless-app[bot] Jul 28, 2025
0a394f2
codegen metadata
stainless-app[bot] Jul 28, 2025
d731bbd
codegen metadata
stainless-app[bot] Jul 28, 2025
9186fa4
codegen metadata
stainless-app[bot] Jul 28, 2025
6ce9903
codegen metadata
stainless-app[bot] Jul 29, 2025
7ff4f2c
codegen metadata
stainless-app[bot] Jul 29, 2025
2528e34
feat(api): api update
stainless-app[bot] Jul 29, 2025
a51aa98
feat(api): api update
stainless-app[bot] Jul 29, 2025
e4b8495
codegen metadata
stainless-app[bot] Jul 29, 2025
4d04020
codegen metadata
stainless-app[bot] Jul 29, 2025
c141697
codegen metadata
stainless-app[bot] Jul 29, 2025
a2b810f
codegen metadata
stainless-app[bot] Jul 29, 2025
7a3233f
codegen metadata
stainless-app[bot] Jul 29, 2025
5cf8e6c
codegen metadata
stainless-app[bot] Jul 29, 2025
909b415
codegen metadata
stainless-app[bot] Jul 29, 2025
8434154
codegen metadata
stainless-app[bot] Jul 29, 2025
676953a
codegen metadata
stainless-app[bot] Jul 29, 2025
ef4b433
codegen metadata
stainless-app[bot] Jul 29, 2025
2d3e22b
codegen metadata
stainless-app[bot] Jul 29, 2025
3a781a0
codegen metadata
stainless-app[bot] Jul 29, 2025
e568d41
codegen metadata
stainless-app[bot] Jul 29, 2025
ebcf6a2
codegen metadata
stainless-app[bot] Jul 29, 2025
4372d91
codegen metadata
stainless-app[bot] Jul 29, 2025
40b1e48
codegen metadata
stainless-app[bot] Jul 29, 2025
be94ae0
chore(api): upload OpenAPI schema from api-schemas
stainless-app[bot] Jul 30, 2025
2bfa20a
feat(client): support file upload requests
stainless-app[bot] Jul 30, 2025
9cce5ac
chore(api): update composite API spec
stainless-app[bot] Jul 30, 2025
053f18f
feat(api): api update
stainless-app[bot] Jul 30, 2025
e0e13d1
feat(api): api update
stainless-app[bot] Jul 30, 2025
0ea1719
feat(api): api update
stainless-app[bot] Jul 31, 2025
b0defd7
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
f47f76b
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
0d5adaa
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
f548ad4
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
d903656
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
4456fdb
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
8b866ab
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
5d2c28c
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
2496ef6
codegen metadata
stainless-app[bot] Jul 31, 2025
daa7fe0
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Jul 31, 2025
82af7fa
codegen metadata
stainless-app[bot] Jul 31, 2025
7d95ee9
codegen metadata
stainless-app[bot] Aug 1, 2025
1a01a4c
feat(api): api update
stainless-app[bot] Aug 1, 2025
54f39a7
codegen metadata
stainless-app[bot] Aug 1, 2025
4f45fd3
feat(api): api update
stainless-app[bot] Aug 1, 2025
cde1ea6
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Aug 1, 2025
da40430
chore(api): upload stainless config from cloudflare-config
stainless-app[bot] Aug 1, 2025
e5bfba2
release: 4.4.0
stainless-app[bot] Aug 2, 2025
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
  •  
  •  
  •  
28 changes: 24 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
pull_request:
branches-ignore:
- 'stl-preview-head/**'
- 'stl-preview-base/**'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -18,6 +22,7 @@ jobs:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/cloudflare-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4

Expand All @@ -35,17 +40,31 @@ jobs:
- name: Run lints
run: ./scripts/lint

upload:
if: github.repository == 'stainless-sdks/cloudflare-python'
build:
if: github.repository == 'stainless-sdks/cloudflare-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork)
timeout-minutes: 10
name: upload
name: build
permissions:
contents: read
id-token: write
runs-on: depot-ubuntu-24.04
steps:
- uses: actions/checkout@v4

- name: Install Rye
run: |
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'

- name: Install dependencies
run: rye sync --all-features

- name: Run build
run: rye build

- name: Get GitHub OIDC Token
id: github-oidc
uses: actions/github-script@v6
Expand All @@ -63,6 +82,7 @@ jobs:
timeout-minutes: 30
name: test
runs-on: ${{ github.repository == 'stainless-sdks/cloudflare-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4

Expand All @@ -84,7 +104,7 @@ jobs:
timeout-minutes: 10
name: examples
runs-on: ${{ github.repository == 'stainless-sdks/cloudflare-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.repository == 'cloudflare/cloudflare-python'
if: github.repository == 'cloudflare/cloudflare-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork)

steps:
- uses: actions/checkout@v4
Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/detect-breaking-changes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CI
on:
pull_request:
branches:
- main
- next

jobs:
detect_breaking_changes:
runs-on: 'ubuntu-latest'
name: detect-breaking-changes
if: github.repository == 'cloudflare/cloudflare-python'
steps:
- name: Calculate fetch-depth
run: |
echo "FETCH_DEPTH=$(expr ${{ github.event.pull_request.commits }} + 1)" >> $GITHUB_ENV
- uses: actions/checkout@v4
with:
# Ensure we can check out the pull request base in the script below.
fetch-depth: ${{ env.FETCH_DEPTH }}

- name: Install Rye
run: |
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'
- name: Install dependencies
run: |
rye sync --all-features
- name: Detect breaking changes
run: ./scripts/detect-breaking-changes ${{ github.event.pull_request.base.sha }}
Comment on lines +10 to +35

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI about 1 month ago

To fix the issue, we will add a permissions block at the root of the workflow file. This block will define the minimal permissions required for the workflow to function. Based on the tasks in the workflow, it only needs read access to repository contents (contents: read). No write permissions are necessary.

The permissions block will be added immediately after the name field at the top of the file. This ensures that the permissions apply to all jobs in the workflow unless overridden by a job-specific permissions block.


Suggested changeset 1
.github/workflows/detect-breaking-changes.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/detect-breaking-changes.yml b/.github/workflows/detect-breaking-changes.yml
--- a/.github/workflows/detect-breaking-changes.yml
+++ b/.github/workflows/detect-breaking-changes.yml
@@ -1,2 +1,4 @@
 name: CI
+permissions:
+  contents: read
 on:
EOF
@@ -1,2 +1,4 @@
name: CI
permissions:
contents: read
on:
Copilot is powered by AI and may make mistakes. Always verify output.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
.prism.log
.vscode
_dev

__pycache__
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 @@
{
".": "4.3.1"
".": "4.4.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 1752
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-b15b44e0efd207de48e7e74e742b0b4b190c74f12a941a1a0ef59a51656a5224.yml
openapi_spec_hash: 83243c9ee06f88d0fa91e9b185d8a42e
config_hash: 8601d43fd5ccaf9e3d08f26748a5a63a
configured_endpoints: 1783
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-e408a7cdec2dae3d1a18842dcc59280c56050fb042569139aec3fe0f12e0d461.yml
openapi_spec_hash: 7e210c76f5dd4c79b3e67204ad279b81
config_hash: 1d1f62e87686c0d8571be460876f347c
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"python.analysis.importFormat": "relative",
}
97 changes: 97 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,102 @@
# Changelog

## 4.4.0 (2025-08-02)

Full Changelog: [v4.3.1...v4.4.0](https://github.com/cloudflare/cloudflare-python/compare/v4.3.1...v4.4.0)

### Features

* **api:** api update ([4f45fd3](https://github.com/cloudflare/cloudflare-python/commit/4f45fd34ff28ffc24a0dd6e184e84cb9e600048b))
* **api:** api update ([1a01a4c](https://github.com/cloudflare/cloudflare-python/commit/1a01a4cef3884c2342cc9fc3091f15f175c10f64))
* **api:** api update ([0ea1719](https://github.com/cloudflare/cloudflare-python/commit/0ea1719087ab998f84f42b4531a31ac211fc499a))
* **api:** api update ([e0e13d1](https://github.com/cloudflare/cloudflare-python/commit/e0e13d1e05ee85b87e97a525ba226bc1e2978d61))
* **api:** api update ([053f18f](https://github.com/cloudflare/cloudflare-python/commit/053f18f518d9a667b36a6787a9a098acda63ee16))
* **api:** api update ([a51aa98](https://github.com/cloudflare/cloudflare-python/commit/a51aa985775acb99497a9c477d7dc09139c2aac9))
* **api:** api update ([2528e34](https://github.com/cloudflare/cloudflare-python/commit/2528e345a3ba076ccbe8625662aa380616632332))
* **api:** api update ([ff93fa7](https://github.com/cloudflare/cloudflare-python/commit/ff93fa75d4fb56cd32905f0b038b4bbf7f5461a7))
* **api:** api update ([f36b1b3](https://github.com/cloudflare/cloudflare-python/commit/f36b1b337c568609dcb285729cdfd9ad645abf85))
* **api:** api update ([f34ac3b](https://github.com/cloudflare/cloudflare-python/commit/f34ac3bd57d88ae4a7b85191191ab8681d47b85d))
* **api:** api update ([798ad9b](https://github.com/cloudflare/cloudflare-python/commit/798ad9bbc747d55eddc313bcb44505d29bd54850))
* **api:** api update ([da95a3c](https://github.com/cloudflare/cloudflare-python/commit/da95a3cd4f8964b00fba8ae4c1d92e9560d795d4))
* **api:** api update ([9dc28ef](https://github.com/cloudflare/cloudflare-python/commit/9dc28ef7777e9ca06064d9a892c9090f162c0880))
* **api:** api update ([6ddf7bd](https://github.com/cloudflare/cloudflare-python/commit/6ddf7bdcc9c35488d04d741bdeaea32d9fc3df87))
* **api:** api update ([b607779](https://github.com/cloudflare/cloudflare-python/commit/b607779817e42a725f1829b6ae1bec472995d1fa))
* **api:** api update ([d62a22f](https://github.com/cloudflare/cloudflare-python/commit/d62a22f109cbd7e17d03f635744d10b8bc62468b))
* **api:** api update ([f180318](https://github.com/cloudflare/cloudflare-python/commit/f18031897607bed8160e374ad16f5e6fa44e9a6b))
* **api:** api update ([1a667f2](https://github.com/cloudflare/cloudflare-python/commit/1a667f27d3339aac885d2c757a1805f16dbb7aee))
* **api:** api update ([c7ead27](https://github.com/cloudflare/cloudflare-python/commit/c7ead27c8046a2be4bfc9f1ac3bb10b6845fe106))
* **api:** api update ([f9de8af](https://github.com/cloudflare/cloudflare-python/commit/f9de8af04c3de32ba9749af92432545af3aed49f))
* **api:** api update ([d0bc41a](https://github.com/cloudflare/cloudflare-python/commit/d0bc41a0c0a45911045c66543f66aebd66d7da2e))
* **api:** api update ([0925597](https://github.com/cloudflare/cloudflare-python/commit/0925597d91bfb6c529426f41d023be7f8b97ffd3))
* **api:** api update ([5745f74](https://github.com/cloudflare/cloudflare-python/commit/5745f74557e1289536cb11fa6e701411b2621066))
* **api:** api update ([1a935f1](https://github.com/cloudflare/cloudflare-python/commit/1a935f11a343cca19171cf5de8c38f58856ae738))
* **api:** api update ([54d6d21](https://github.com/cloudflare/cloudflare-python/commit/54d6d217d4f3b8ae2b87db2eb426819839f38315))
* **api:** api update ([ae7588d](https://github.com/cloudflare/cloudflare-python/commit/ae7588d0b75a63f629fe304f434c616d521b5f3d))
* **api:** api update ([7773d8a](https://github.com/cloudflare/cloudflare-python/commit/7773d8abc67e3a475fe2cd7c73301f3e9c7044bb))
* **api:** api update ([d43aff4](https://github.com/cloudflare/cloudflare-python/commit/d43aff4a49f54e2b66cd1cf173a1bbbbd67e9de6))
* **api:** api update ([90035b1](https://github.com/cloudflare/cloudflare-python/commit/90035b1ef5df466e26f5569005042342f34685a4))
* **api:** api update ([4b25769](https://github.com/cloudflare/cloudflare-python/commit/4b2576975390342d64a58d6181e8a3f77f58e7b0))
* **api:** api update ([4ab783f](https://github.com/cloudflare/cloudflare-python/commit/4ab783f798c1d2ac041afe9cc0f1829131a4cbba))
* **api:** api update ([094a1c0](https://github.com/cloudflare/cloudflare-python/commit/094a1c0f2481b8e41ad5f06c12ada4d22776299f))
* **api:** api update ([0084a4d](https://github.com/cloudflare/cloudflare-python/commit/0084a4d643e56ef69978eb3868b73beb4e9c24e2))
* **api:** api update ([1bea8ae](https://github.com/cloudflare/cloudflare-python/commit/1bea8ae838936eab4da1b81092e6a184d4cbee38))
* **api:** api update ([ad06dcd](https://github.com/cloudflare/cloudflare-python/commit/ad06dcd9de8fa91a2876359c865fd3441c7efee5))
* **api:** api update ([b9c025b](https://github.com/cloudflare/cloudflare-python/commit/b9c025b2745b45eb9d4ce743dd4d4131d0b9034b))
* **api:** api update ([20da11a](https://github.com/cloudflare/cloudflare-python/commit/20da11a728f7581238769b01e9b6dce525d7e235))
* **api:** api update ([aef7eb7](https://github.com/cloudflare/cloudflare-python/commit/aef7eb77a0565f001bcef1d28e1adddcbdcda821))
* **api:** api update ([5364bb7](https://github.com/cloudflare/cloudflare-python/commit/5364bb7fafdd4d85525232ee90c4e7b4dbae4488))
* **api:** api update ([0d26a36](https://github.com/cloudflare/cloudflare-python/commit/0d26a36fbcd6c82968489f22c2db349aeb020878))
* **api:** api update ([8a99cf5](https://github.com/cloudflare/cloudflare-python/commit/8a99cf5e25f69079acbef07f32f2b728a0f10849))
* **api:** api update ([4ec7e83](https://github.com/cloudflare/cloudflare-python/commit/4ec7e833fd5ee4250b96231366343131d0008b72))
* **api:** api update ([a46cf0d](https://github.com/cloudflare/cloudflare-python/commit/a46cf0d8fdfc88a45ce131656a0a7c3cb9c53fcc))
* **api:** api update ([c6096ae](https://github.com/cloudflare/cloudflare-python/commit/c6096aeb9836a7d19c358d0a0217649d9e5455dd))
* clean up environment call outs ([f24f43d](https://github.com/cloudflare/cloudflare-python/commit/f24f43d8132d0efc31d49954209549932bba6f75))
* **client:** support file upload requests ([2bfa20a](https://github.com/cloudflare/cloudflare-python/commit/2bfa20a5ce735617e95729fa7f7e15e7b7aa34cc))


### Bug Fixes

* **api:** add missing `items` param ([f1eda00](https://github.com/cloudflare/cloudflare-python/commit/f1eda003cec7a593680d7e58106fad0e029cf5ee))
* **client:** don't send Content-Type header on GET requests ([43041fb](https://github.com/cloudflare/cloudflare-python/commit/43041fba5e43c7e8022c5ece6d98d055e150a47b))
* dns record example ([8f2f7a4](https://github.com/cloudflare/cloudflare-python/commit/8f2f7a4662883ae4cb85f956dda2b82a7ed952e4))
* dns record example ([9085347](https://github.com/cloudflare/cloudflare-python/commit/908534756a4f8321407ced2dea94531e895989b8))
* **parsing:** correctly handle nested discriminated unions ([9e6eb88](https://github.com/cloudflare/cloudflare-python/commit/9e6eb8890842b715b91c029ed3ad46b52d6fa9b3))
* **parsing:** ignore empty metadata ([7569336](https://github.com/cloudflare/cloudflare-python/commit/7569336edf388157a87d85747180c925c9a4227a))
* **parsing:** parse extra field types ([5c5c79d](https://github.com/cloudflare/cloudflare-python/commit/5c5c79d6d3d3601c38fc470d49d03d1e46716b7d))
* radar types ([42c2209](https://github.com/cloudflare/cloudflare-python/commit/42c22098266df3dc6ebc0c19cfec97b6d851c9cd))
* radar types ([234b609](https://github.com/cloudflare/cloudflare-python/commit/234b609b77d476c89f92fb289d02a1aaf6decf01))
* **types:** add missing types ([8c44db9](https://github.com/cloudflare/cloudflare-python/commit/8c44db926c36c9734fcf7f07a7b82fc609f29297))


### Chores

* **api:** Skip broken prism test for updating custom DLP entries ([71baeb0](https://github.com/cloudflare/cloudflare-python/commit/71baeb0e4ca8145723f85233fa05cc42958a92e0))
* **api:** skip broken prism tests ([c87b536](https://github.com/cloudflare/cloudflare-python/commit/c87b53618d2d3fde0d9f76e910bd9166d52b3b9a))
* **api:** update composite API spec ([9cce5ac](https://github.com/cloudflare/cloudflare-python/commit/9cce5acde48c47ed3a59e5662ba87e8a38e83414))
* **api:** upload OpenAPI schema from api-schemas ([be94ae0](https://github.com/cloudflare/cloudflare-python/commit/be94ae004837ec8e2c6fa132747a8378337ecb93))
* **api:** upload stainless config from cloudflare-config ([da40430](https://github.com/cloudflare/cloudflare-python/commit/da40430abf95b44de17abbc172bcfb7477b08ec7))
* **api:** upload stainless config from cloudflare-config ([cde1ea6](https://github.com/cloudflare/cloudflare-python/commit/cde1ea60050d99f02a275d3fb84625afd79154e7))
* **api:** upload stainless config from cloudflare-config ([daa7fe0](https://github.com/cloudflare/cloudflare-python/commit/daa7fe0beca11ed9ba77bcf2d16a67ae9a8e83c0))
* **api:** upload stainless config from cloudflare-config ([5d2c28c](https://github.com/cloudflare/cloudflare-python/commit/5d2c28c0fff36330feeacacbfa7039a5d3291e14))
* **api:** upload stainless config from cloudflare-config ([8b866ab](https://github.com/cloudflare/cloudflare-python/commit/8b866ab3e5d548593a824fb4407fbacdd9a94fe0))
* **api:** upload stainless config from cloudflare-config ([4456fdb](https://github.com/cloudflare/cloudflare-python/commit/4456fdb5bfc62a726f66f3705a3bddd8fc73407b))
* **api:** upload stainless config from cloudflare-config ([d903656](https://github.com/cloudflare/cloudflare-python/commit/d903656ac46dffde681ddd97cdae697184e1c440))
* **api:** upload stainless config from cloudflare-config ([f548ad4](https://github.com/cloudflare/cloudflare-python/commit/f548ad490f3f7d7b887a7c6691eae3234209f258))
* **api:** upload stainless config from cloudflare-config ([0d5adaa](https://github.com/cloudflare/cloudflare-python/commit/0d5adaab4397dc11b3730304e796fb331102424b))
* **api:** upload stainless config from cloudflare-config ([f47f76b](https://github.com/cloudflare/cloudflare-python/commit/f47f76b7499ed679f722ffcbfba3abafe77be702))
* **api:** upload stainless config from cloudflare-config ([b0defd7](https://github.com/cloudflare/cloudflare-python/commit/b0defd7fef30a561cd1ce0adcf7444c3973d5bb8))
* **api:** upload stainless config from cloudflare-config ([543a81b](https://github.com/cloudflare/cloudflare-python/commit/543a81b65159c05bef60ccf5d6dfd838fcfb6ca5))
* **api:** upload stainless config from cloudflare-config ([e4b71d8](https://github.com/cloudflare/cloudflare-python/commit/e4b71d892d68eb6b6d491162e9b47f26b3407169))
* **api:** upload stainless config from cloudflare-config ([c9fa067](https://github.com/cloudflare/cloudflare-python/commit/c9fa067b88ebeda085c44c2f014b8ee3c087e55a))
* **api:** upload stainless config from cloudflare-config ([960e4e4](https://github.com/cloudflare/cloudflare-python/commit/960e4e4a5fd933107270c5808fc3ea45372a9de0))
* **api:** upload stainless config from cloudflare-config ([d00a8be](https://github.com/cloudflare/cloudflare-python/commit/d00a8be88733a8a5aa1af3abdb942e47befc2b47))
* **internal:** bump pinned h11 dep ([a151be0](https://github.com/cloudflare/cloudflare-python/commit/a151be01332015a572bfe280f9708a2abf82dbaf))
* **internal:** codegen related update ([371845c](https://github.com/cloudflare/cloudflare-python/commit/371845cca805cc6fa3bb84680d4e5d698c38235e))
* **package:** mark python 3.13 as supported ([9e18f39](https://github.com/cloudflare/cloudflare-python/commit/9e18f39e933b396a425b0a3f6976a1130e7218c2))
* **project:** add settings file for vscode ([967462d](https://github.com/cloudflare/cloudflare-python/commit/967462dfb5a37e4b7334fc0ce24c08abc37f3e62))
* **readme:** fix version rendering on pypi ([d3d7dd6](https://github.com/cloudflare/cloudflare-python/commit/d3d7dd61af8899c760d066d53c69e5b0e4e99fe8))
* **types:** rebuild Pydantic models after all types are defined ([cf574a4](https://github.com/cloudflare/cloudflare-python/commit/cf574a4c28ea55613d66da64bd55d89d1ffb8859))

## 4.3.1 (2025-06-16)

Full Changelog: [v4.3.0...v4.3.1](https://github.com/cloudflare/cloudflare-python/compare/v4.3.0...v4.3.1)
Expand Down
40 changes: 38 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Cloudflare Python API library

[![PyPI version](https://img.shields.io/pypi/v/cloudflare.svg)](https://pypi.org/project/cloudflare/)
<!-- prettier-ignore -->
[![PyPI version](https://img.shields.io/pypi/v/cloudflare.svg?label=pypi%20(stable))](https://pypi.org/project/cloudflare/)

The Cloudflare Python library provides convenient access to the Cloudflare REST API from any Python 3.8+
application. The library includes type definitions for all request params and response fields,
Expand Down Expand Up @@ -70,6 +71,41 @@ asyncio.run(main())

Functionality between the synchronous and asynchronous clients is otherwise identical.

### With aiohttp

By default, the async client uses `httpx` for HTTP requests. However, for improved concurrency performance you may also use `aiohttp` as the HTTP backend.

You can enable this by installing `aiohttp`:

```sh
# install from PyPI
pip install cloudflare[aiohttp]
```

Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:

```python
import asyncio
from cloudflare import DefaultAioHttpClient
from cloudflare import AsyncCloudflare


async def main() -> None:
async with AsyncCloudflare(
api_token="Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY",
http_client=DefaultAioHttpClient(),
) as client:
zone = await client.zones.create(
account={"id": "023e105f4ecef8ad9ca31a8372d0c353"},
name="example.com",
type="full",
)
print(zone.id)


asyncio.run(main())
```

## Using types

Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typing.html#typing.TypedDict). Responses are [Pydantic models](https://docs.pydantic.dev) which also provide helper methods for things like:
Expand Down Expand Up @@ -244,7 +280,7 @@ client.with_options(max_retries=5).zones.get(
### Timeouts

By default requests time out after 1 minute. You can configure this with a `timeout` option,
which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/#fine-tuning-the-configuration) object:
which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:

```python
from cloudflare import Cloudflare
Expand Down
Loading
Loading