Releases: zscaler/zscaler-sdk-python
v1.9.17
1.9.17 (March 12, 2025)
Notes
- Python Versions: v3.10, v3.11, v3.12
Breaking Changes
- Python 3.9 no longer supported. Minimum required Python version is now 3.10. This change resolves dependency conflicts with
vcrpyandurllib3.
Enhancements
-
PR #467 - Added ZPA Tag Controller resources:
tag_namespace- Tag namespaces: list, get, get_by_name, create, update, delete, update_namespace_statustag_key- Tag keys (scoped to namespace): list, get, get_by_name, create, update, delete, bulk_update_statustag_group- Tag groups: list, get, get_by_name, create, update, delete- Access via
client.zpa.tag_namespace,client.zpa.tag_key,client.zpa.tag_group
-
PR #467 - Added ZTB (Zero Trust Branch) package resources:
alarms- Alarms: list_alarms, get_alarm, create_alarm, update_alarm_patch, update_alarm_put, delete_alarm, bulk_acknowledge, bulk_acknowledge_all, bulk_ignore, bulk_ignore_allapi_keys- API Key Auth: list_api_keys, create_api_key, revoke_api_keyapp_connector_config- App Connector Config: get_app_connector_config, create_app_connector_config, delete_app_connectordevices- Devices: list_active_devices, list_devices_by_category, get_device_tags, get_group_by_list, list_operating_systems, get_dhcp_history, get_device_details_v2, get_device_details_v3, get_filter_values, list_devices_group_bygroups_router- Groups Router: list_groups, get_group, create_group, update_group_patch, update_group_put, delete_grouptemplate_router- Template Router: list_templates, get_template, create_template, update_template_put, delete_template, list_template_interfaces, list_template_names- Access via
client.ztb.alarms,client.ztb.api_keys,client.ztb.app_connector_config,client.ztb.devices,client.ztb.groups_router,client.ztb.template_router, or viaLegacyZTBClientfor API key authentication
v1.9.16
v1.9.15
1.9.15 (February 16, 2026)
Notes
- Python Versions: v3.9, v3.10, v3.11, v3.12
Enhancements:
-
PR #459 - Added support to the following ZIA Endpoints:
- Added
GET /customFileTypesRetrieves the list of custom file types. Custom file types can be configured as rule conditions in different ZIA policies. - Added
POST /customFileTypesAdds a new custom file type. - Added
PUT /customFileTypesUpdates information for a custom file type based on the specified ID - Added
DELETE /customFileTypes/{id}Deletes a custom file type based on the specified ID - Added
GET /customFileTypes/countRetrieves the count of custom file types available - Added
GET /fileTypeCategoriesRetrieves the list of all file types, including predefined and custom file types
- Added
-
PR #459 - Added new attributes
url_type,regex_patterns, andregex_patterns_retaining_parent_categorytozia_url_categoriesresource to specify whether the category uses exact URLs or regex patterns. Supported values areEXACTandREGEX. See Zscaler Release Notes for details. To enable this feature, contact Zscaler Support. -
PR #459 - Added new attributes to ZIA:
ipscontrolpolicies:eunEnabled, andeunTemplateIdfirewalldnscontrolpolicies:isWebEunEnabledanddefaultDnsRuleNameUseddlp_web_rules:eunTemplateId
-
PR #459 - Added new
tagsfield to ZPAapplicationsegment -
PR #459 - Added new attributes to all ZPA Application Segments:
policyStyleto enableFQDN-to-IP Policy Evaluation
Bug Fixes
v1.9.14
1.9.14 (February 10, 2026)
Notes
- Python Versions: v3.9, v3.10, v3.11, v3.12
Enhancements:
Zscaler AI Guard
- PR #457 - Added new Zscaler AI Guard API endpoints
/detection/execute-policy/detection/resolve-and-execute-policy
ZTW API
-
PR #457 - Added
DELETEmethod forforwarding_rulesresource. -
PR #457 - Added new attributes
url_type,regex_patterns, andregex_patterns_retaining_parent_categorytozia_url_categoriesresource to specify whether the category uses exact URLs or regex patterns. Supported values areEXACTandREGEX. See Zscaler Release Notes for details. To enable this feature, contact Zscaler Support.
Bug Fixes
- PR #457 - Replaced
flatdictdependency with internalflatten_dict/unflatten_dicthelpers to fix build failures onsetuptools 82+. Thanks @pankaj28843 for reporting #454 and @enza252 for the initial implementation.
v1.9.13
1.9.13 (January 22, 2025)
Notes
- Python Versions: v3.9, v3.10, v3.11, v3.12
v1.9.12
v1.9.11
1.9.11 (December 16, 2025)
Notes
- Python Versions: v3.9, v3.10, v3.11, v3.12
- PR #443 - Removed extraneous Z-Insights domain modules (data_protection, genai, industry_peer, news_feed, risk_score, sandbox) that were incorrectly created for GraphQL types not exposed in the root Query. Z-Insights now correctly implements only the 6 queryable domains.
v1.9.10
1.9.10 (December 16, 2025)
Notes
- Python Versions: v3.9, v3.10, v3.11, v3.12
Enhancements:
Z-Insights Analytics API Support (GraphQL)
- PR #442 - Added comprehensive support for Z-Insights Analytics GraphQL API. Z-Insights provides unified real-time visibility into security analytics across web traffic, cyber security incidents, firewall activity, IoT devices, SaaS security, and Shadow IT discovery.
- Added
client.zinsightsservice with domain-specific API clients:web_traffic- Web traffic analytics (location, protocols, threat categories, trends)cyber_security- Security incidents and threat analysisfirewall- Zero Trust Firewall traffic and actionssaas_security- Cloud Access Security Broker (CASB) reportsshadow_it- Discovered application analytics and risk assessmentiot- IoT device visibility and classification statistics
- Added GraphQL-specific error handling with
GraphQLAPIErrorexception class - Implemented comprehensive input models with DRY architecture:
StringFilter- Universal filter supporting eq, ne, in, nin operations- Base classes
BaseNameFilterByandBaseNameTotalOrderByfor code reuse - Domain-specific filters and ordering options for all API domains
- Added 14 enum types for type-safe API interactions (SortOrder, WebTrafficUnits, TrendInterval, etc.)
- Included 6 comprehensive example scripts demonstrating real-world usage patterns
- Full support for filtering, ordering, pagination, trend data, and nested GraphQL queries
- Compatible with OneAPI authentication only (OAuth2.0 via Zidentity)
- Added
v1.9.9
1.9.9 (December 11, 2025)
Notes
- Python Versions: v3.9, v3.10, v3.11, v3.12
Bug Fixes:
- PR #439 - Fixed ZPA legacy client
retry-afterheader parsing for non-standard format with 's' suffix (e.g.,"8s"instead of"8"). - PR #439 - Fixed ZIA legacy client
Retry-Afterheader parsing for format with " seconds" suffix (e.g.,"0 seconds"). - PR #439 - Fixed ZTW legacy client
Retry-Afterheader parsing for format with " seconds" suffix (e.g.,"0 seconds").
v1.9.8
1.9.8(December 10, 2025)
Notes
- Python Versions: v3.9, v3.10, v3.11, v3.12
Bug Fixes:
- PR #438 - Fixed ZPA Legacy Client missing 429 rate limiting handling. The
send()method now properly retries on 429 responses usingretry-afterheader with fallback to default 2 seconds. - PR #438 - Added unit tests for legacy client rate limiting across all legacy clients (ZPA, ZIA, ZCC, ZDX, ZTW, ZWA).