release: 5.4.0#2734
Merged
Merged
Conversation
* feat(tenants): add tenants resource SDK mapping Production promotion of staging MR !931 (PT-2567). Adds the tenants top-level resource and the user.tenants subresource (GET /user/tenants) to enable SDK/docs coverage for tenant-api public routes documented under the No Private APIs initiative. JIRA: PT-2567
* feat(ct_alerter): add CT alerting subscription endpoint mappings
* feat(ai_gateway): add custom_providers resource
…tes for magic-on-ramps
* fix(api): remove unnecessary skip_test_reason from ipsec_tunnels psk_set
psk_set was carrying a copied "TODO: investigate broken test" skip, but it is a new endpoint whose generated test has never run. Its closest analogue psk_generate (also POST) is unskipped and passes, and psk_set does not share the modified_ipsec_tunnel response wrapper that breaks the update/bulk_update tests. Removing the skip so the test runs; if it genuinely fails downstream it can be re-added with a concrete reason.
* fix(api): remove app_policies mapping from magic-on-ramps
app_policies has no implementation in conduit-api and none is planned, so mapping GET /accounts/{account_id}/magic/sites/{site_id}/app_policies would document a route that does not exist. Removing the skipped entry; psk_set and cf1_sites are unaffected.
* fix(api): add models, terraform, skip guards for magic-on-ramps resources
- Add skip_test_reason to psk_set (aligns with sibling update/bulk_update)
- Add skip guard to app_policies (aligns with sibling app_configuration)
- Add terraform.name and models block to cf1_sites
- Add models block to cf1_sites.ramps sub-resource
* feat(api): map cf1_sites and ramps for magic-on-ramps
Add cf1_sites resource with CRUD methods and ramps sub-resource
to magic_transit in Stainless config for SDK generation.
Ref: APIX-667, APIX-795
* feat(api): map ipsec_tunnels/psk and sites/app_policies for magic-on-ramps
Add Stainless config mappings for two undocumented routes from APIX-667:
- ipsec_tunnels.psk_set: POST /accounts/{account_id}/magic/ipsec_tunnels/psk
- sites.app_policies.list: GET /accounts/{account_id}/magic/sites/{site_id}/app_policies
✽ Sync staged changes
musa-cf
approved these changes
Jun 16, 2026
Contributor
Author
|
🤖 Release is at https://github.com/cloudflare/cloudflare-python/releases/tag/v5.4.0 🌻 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated Release PR
5.4.0 (2026-06-16)
Full Changelog: v5.3.0...v5.4.0
Features
custom_providerssub-resource (b982ff3)client.zones.ct.alerting) (5bb529c)fieldsparameter toclient.d1.database.get(2b0e738)flagshipresource with apps, flags, changelog, and evaluate endpoints (2b0e738)cf1_sitessub-resource with ramps, andipsec_tunnels.psk_setmethod (5d8e422)origin_tls_compliance_modesresource (2b0e738)auto_origin_tls_kexsub-resource (2b0e738)tenantstop-level resource anduser.tenantssub-resource (7677b4c)sensitivity_groups,data_tag_categories, anddata_classessub-resources (2b0e738)tunnels.warp_connector.configurationssub-resource (2b0e738)Bug Fixes
OAuthScopeListResponsetype import path moved fromcloudflare.types.iam.oauth_scopestocloudflare.types.iam(2b0e738)Chores
New Resources
Tenants (
client.tenants)get(tenant_id) -> Tenanttenants.account_types.list(tenant_id) -> SyncSinglePage[AccountTypeListResponse]tenants.accounts.list(tenant_id) -> SyncSinglePage[TenantAccount]tenants.entitlements.get(tenant_id) -> TenantEntitlementstenants.memberships.list(tenant_id) -> SyncSinglePage[TenantMembership]New types:
Flagship (
client.flagship)flagship.apps.create(*, account_id, **params) -> AppCreateResponseflagship.apps.update(app_id, *, account_id, **params) -> AppUpdateResponseflagship.apps.list(*, account_id) -> SyncSinglePage[AppListResponse]flagship.apps.delete(app_id, *, account_id) -> AppDeleteResponseflagship.apps.get(app_id, *, account_id) -> AppGetResponseflagship.apps.flags.create(app_id, *, account_id, **params) -> FlagCreateResponseflagship.apps.flags.update(flag_key, *, account_id, app_id, **params) -> FlagUpdateResponseflagship.apps.flags.list(app_id, *, account_id, **params) -> SyncCursorPaginationAfter[FlagListResponse]flagship.apps.flags.delete(flag_key, *, account_id, app_id) -> FlagDeleteResponseflagship.apps.flags.get(flag_key, *, account_id, app_id) -> FlagGetResponseflagship.apps.flags.changelog.list(flag_key, *, account_id, app_id, **params) -> SyncCursorPaginationAfter[ChangelogListResponse]flagship.apps.evaluate.get(app_id, *, account_id, **params) -> EvaluateGetResponseNew types:
Origin TLS Compliance Modes (
client.origin_tls_compliance_modes)update(*, zone_id, **params) -> Optional[OriginTLSComplianceModeUpdateResponse]delete(*, zone_id) -> Optional[OriginTLSComplianceModeDeleteResponse]edit(*, zone_id, **params) -> Optional[OriginTLSComplianceModeEditResponse]get(*, zone_id) -> Optional[OriginTLSComplianceModeGetResponse]New types:
New Sub-Resources on Existing Resources
AI Gateway - Custom Providers (
client.ai_gateway.custom_providers)create(*, account_id, **params) -> CustomProviderCreateResponselist(*, account_id, **params) -> SyncV4PagePaginationArray[CustomProviderListResponse]delete(id, *, account_id) -> CustomProviderDeleteResponseget(id, *, account_id) -> CustomProviderGetResponseNew types:
Magic Transit - CF1 Sites (
client.magic_transit.cf1_sites)create(*, account_id, **params) -> SyncSinglePage[Cf1Site]update(cf1_site_id, *, account_id, **params) -> Cf1Sitelist(*, account_id) -> SyncSinglePage[Cf1Site]delete(cf1_site_id, *, account_id) -> Cf1Siteget(cf1_site_id, *, account_id) -> Cf1Sitecf1_sites.ramps.create(cf1_site_id, *, account_id, **params) -> SyncSinglePage[Ramp]cf1_sites.ramps.list(cf1_site_id, *, account_id) -> SyncSinglePage[Ramp]cf1_sites.ramps.delete(ramp_id, *, account_id, cf1_site_id) -> Rampcf1_sites.ramps.get(ramp_id, *, account_id, cf1_site_id) -> RampNew types:
Magic Transit - IPsec Tunnels PSK Set (
client.magic_transit.ipsec_tunnels)psk_set(*, account_id, **params) -> IPSECTunnelPSKSetResponseNew types:
SSL - Auto Origin TLS Kex (
client.ssl.auto_origin_tls_kex)edit(*, zone_id, **params) -> AutoOriginTLSKexEditResponseget(*, zone_id) -> AutoOriginTLSKexGetResponseNew types:
Zones - CT Alerting (
client.zones.ct.alerting)edit(*, zone_id, **params) -> Optional[AlertingEditResponse]get(*, zone_id) -> Optional[AlertingGetResponse]New types:
User - Tenants (
client.user.tenants)list() -> SyncSinglePage[Organization]Zero Trust - DLP Sensitivity Groups (
client.zero_trust.dlp.sensitivity_groups)create(*, account_id, **params) -> Optional[SensitivityGroupCreateResponse]update(sensitivity_group_id, *, account_id, **params) -> Optional[SensitivityGroupUpdateResponse]list(*, account_id) -> SyncSinglePage[SensitivityGroupListResponse]delete(sensitivity_group_id, *, account_id) -> objectget(sensitivity_group_id, *, account_id) -> Optional[SensitivityGroupGetResponse]sensitivity_groups.levels.create(...)/update(...)/list(...)/delete(...)/get(...)sensitivity_groups.levels.order.update(...)/get(...)Zero Trust - DLP Data Tag Categories (
client.zero_trust.dlp.data_tag_categories)create(*, account_id, **params) -> Optional[DataTagCategoryCreateResponse]update(category_id, *, account_id, **params) -> Optional[DataTagCategoryUpdateResponse]list(*, account_id) -> SyncSinglePage[DataTagCategoryListResponse]delete(category_id, *, account_id) -> objectget(category_id, *, account_id) -> Optional[DataTagCategoryGetResponse]data_tag_categories.data_tags.create(...)/update(...)/list(...)/delete(...)/get(...)Zero Trust - DLP Data Classes (
client.zero_trust.dlp.data_classes)create(*, account_id, **params) -> Optional[DataClassCreateResponse]update(data_class_id, *, account_id, **params) -> Optional[DataClassUpdateResponse]list(*, account_id) -> SyncSinglePage[DataClassListResponse]delete(data_class_id, *, account_id) -> objectget(data_class_id, *, account_id) -> Optional[DataClassGetResponse]Zero Trust - WARP Connector Configurations (
client.zero_trust.tunnels.warp_connector.configurations)update(tunnel_id, *, account_id, **params) -> Optional[ConfigurationUpdateResponse]get(tunnel_id, *, account_id) -> Optional[ConfigurationGetResponse]New types:
Updated Methods
D1 - Database Get
client.d1.database.getnow accepts an optionalfieldsparameter to select which fields to include in the response.IAM - OAuth Scopes
client.iam.oauth_scopesmodule was flattened from a sub-package to a single module. TheOAuthScopeListResponsetype import path changed:This pull request is managed by Stainless's GitHub App.
The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.
For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.
🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions