Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
# Zscaler Python SDK Changelog

## 1.9.32 (June 3, 2026)
## 1.9.33 (June 23, 2026)

### Notes

- Python Versions: **v3.9, v3.10, v3.11, v3.12**

### Bug Fixes

* [PR #535](https://github.com/zscaler/zscaler-sdk-python/issues/535) Fixed OneAPI (Zidentity US) support for the government (FedRAMP) clouds.

## 1.9.32 (June 23, 2026)

### Notes

- Python Versions: **v3.9, v3.10, v3.11, v3.12**

### Enhancements

* [PR #534](https://github.com/zscaler/zscaler-sdk-python/issues/534) - Added OneAPI (Zidentity) support for the government (FedRAMP) clouds. Setting `cloud=gov` or `cloud=govus` on `ZscalerClient` now routes OAuth to the correct Zidentity identity provider (`https://{vanityDomain}.zidentitygov.net` / `https://{vanityDomain}.zidentitygovus.net`) and API calls to the correct gateway (`https://api.zscalergov.net` / `https://api.zscalergov.us`). Previously these clouds produced non-resolvable hostnames and failed on every call. [Issue #526](https://github.com/zscaler/zscaler-sdk-python/issues/526)
* [PR #534](https://github.com/zscaler/zscaler-sdk-python/issues/534) - Added OneAPI (Zidentity) support for the government (FedRAMP) clouds. Setting `cloud=gov` or `cloud=govus` on `ZscalerClient` now routes OAuth to the correct Zidentity identity provider (`https://{vanityDomain}.zidentitygov.net` / `https://{vanityDomain}.zidentitygov.us`) and API calls to the correct gateway (`https://api.zscalergov.net` / `https://api.zscalergov.us`). Previously these clouds produced non-resolvable hostnames and failed on every call. [Issue #526](https://github.com/zscaler/zscaler-sdk-python/issues/526)

### Bug Fixes

Expand All @@ -35,7 +45,7 @@

* [PR #525](https://github.com/zscaler/zscaler-sdk-python/pull/525) - Fixed resource registration `app_connectors` within the Legacy ZPA Client.

* [Issue #526](https://github.com/zscaler/zscaler-sdk-python/issues/526) - Added OneAPI (Zidentity) support for the government (FedRAMP) clouds. Setting `cloud=gov` or `cloud=govus` on `ZscalerClient` now routes OAuth to the correct Zidentity identity provider (`https://{vanityDomain}.zidentitygov.net` / `https://{vanityDomain}.zidentitygovus.net`) and API calls to the correct gateway (`https://api.zscalergov.net` / `https://api.zscalergov.us`). Previously these clouds produced non-resolvable hostnames and failed on every call.
* [Issue #526](https://github.com/zscaler/zscaler-sdk-python/issues/526) - Added OneAPI (Zidentity) support for the government (FedRAMP) clouds. Setting `cloud=gov` or `cloud=govus` on `ZscalerClient` now routes OAuth to the correct Zidentity identity provider (`https://{vanityDomain}.zidentitygov.net` / `https://{vanityDomain}.zidentitygov.us`) and API calls to the correct gateway (`https://api.zscalergov.net` / `https://api.zscalergov.us`). Previously these clouds produced non-resolvable hostnames and failed on every call.

## 1.9.30 (May 21, 2026)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ OneAPI supports the Zscaler government (FedRAMP) clouds. These are FedRAMP-isola
| `cloud` value | OAuth token endpoint | API base URL |
|---------------|----------------------|--------------|
| `gov` | `https://<vanity_domain>.zidentitygov.net/oauth2/v1/token` | `https://api.zscalergov.net` |
| `govus` | `https://<vanity_domain>.zidentitygovus.net/oauth2/v1/token` | `https://api.zscalergov.us` |
| `govus` | `https://<vanity_domain>.zidentitygov.us/oauth2/v1/token` | `https://api.zscalergov.us` |

For example, authenticating to the GOV environment:

Expand Down
2 changes: 1 addition & 1 deletion docsrc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ government values:
+===================+===============================================================+==============================+
| ``gov`` | ``https://<vanity_domain>.zidentitygov.net/oauth2/v1/token`` | ``https://api.zscalergov.net`` |
+-------------------+---------------------------------------------------------------+------------------------------+
| ``govus`` | ``https://<vanity_domain>.zidentitygovus.net/oauth2/v1/token``| ``https://api.zscalergov.us`` |
| ``govus`` | ``https://<vanity_domain>.zidentitygov.us/oauth2/v1/token``| ``https://api.zscalergov.us`` |
+-------------------+---------------------------------------------------------------+------------------------------+

For example, authenticating to the GOV environment:
Expand Down
19 changes: 16 additions & 3 deletions docsrc/zs/guides/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,20 @@ Release Notes
Zscaler Python SDK Changelog
----------------------------

1.9.32 (June 3, 2026)
1.9.33 (June 23, 2026)
---------------------------

Notes
-------

- Python Versions: **v3.9, v3.10, v3.11, v3.12**

Bug Fixes
---------

* (`#535 <https://github.com/zscaler/zscaler-sdk-python/pull/535>`_) - Fixed OneAPI (Zidentity US) support for the government (FedRAMP) clouds.

1.9.32 (June 23, 2026)
---------------------------

Notes
Expand All @@ -17,7 +30,7 @@ Notes
Enhancements
-------------

* (`Issue #526 <https://github.com/zscaler/zscaler-sdk-python/issues/526>`_) - Added OneAPI (Zidentity) support for the government (FedRAMP) clouds. Setting ``cloud=gov`` or ``cloud=govus`` on ``ZscalerClient`` now routes OAuth to the correct Zidentity identity provider (``https://{vanityDomain}.zidentitygov.net`` / ``https://{vanityDomain}.zidentitygovus.net``) and API calls to the correct gateway (``https://api.zscalergov.net`` / ``https://api.zscalergov.us``). Previously these clouds produced non-resolvable hostnames and failed on every call.
* (`Issue #526 <https://github.com/zscaler/zscaler-sdk-python/issues/526>`_) - Added OneAPI (Zidentity) support for the government (FedRAMP) clouds. Setting ``cloud=gov`` or ``cloud=govus`` on ``ZscalerClient`` now routes OAuth to the correct Zidentity identity provider (``https://{vanityDomain}.zidentitygov.net`` / ``https://{vanityDomain}.zidentitygov.us``) and API calls to the correct gateway (``https://api.zscalergov.net`` / ``https://api.zscalergov.us``). Previously these clouds produced non-resolvable hostnames and failed on every call.

Bug Fixes
---------
Expand Down Expand Up @@ -50,7 +63,7 @@ Bug Fixes:

`* (`#525 <https://github.com/zscaler/zscaler-sdk-python/pull/525>`_)` - Fixed resource registration `app_connectors` within the Legacy ZPA Client.

* (`Issue #526 <https://github.com/zscaler/zscaler-sdk-python/issues/526>`_) - Added OneAPI (Zidentity) support for the government (FedRAMP) clouds. Setting ``cloud=gov`` or ``cloud=govus`` on ``ZscalerClient`` now routes OAuth to the correct Zidentity identity provider (``https://{vanityDomain}.zidentitygov.net`` / ``https://{vanityDomain}.zidentitygovus.net``) and API calls to the correct gateway (``https://api.zscalergov.net`` / ``https://api.zscalergov.us``). Previously these clouds produced non-resolvable hostnames and failed on every call.
* (`Issue #526 <https://github.com/zscaler/zscaler-sdk-python/issues/526>`_) - Added OneAPI (Zidentity) support for the government (FedRAMP) clouds. Setting ``cloud=gov`` or ``cloud=govus`` on ``ZscalerClient`` now routes OAuth to the correct Zidentity identity provider (``https://{vanityDomain}.zidentitygov.net`` / ``https://{vanityDomain}.zidentitygov.us``) and API calls to the correct gateway (``https://api.zscalergov.net`` / ``https://api.zscalergov.us``). Previously these clouds produced non-resolvable hostnames and failed on every call.

1.9.30 (May 21, 2026)
---------------------------
Expand Down
4 changes: 2 additions & 2 deletions tests/unit/test_oauth_proxy.py
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ def test_oauth_get_auth_url_clouds():

# Government (FedRAMP) clouds use the dedicated Zidentity identity providers
assert oauth._get_auth_url("zsgovlab-net", "gov") == "https://zsgovlab-net.zidentitygov.net/oauth2/v1/token"
assert oauth._get_auth_url("zsgovlab-us", "govus") == "https://zsgovlab-us.zidentitygovus.net/oauth2/v1/token"
assert oauth._get_auth_url("zsgovlab-us", "govus") == "https://zsgovlab-us.zidentitygov.us/oauth2/v1/token"

# Other non-production commercial clouds keep the legacy zslogin{cloud} pattern
assert oauth._get_auth_url("testcompany", "beta") == "https://testcompany.zsloginbeta.net/oauth2/v1/token"
Expand All @@ -433,7 +433,7 @@ def test_oauth_get_auth_url_clouds():
"cloud,expected_url",
[
("gov", "https://zsgovlab.zidentitygov.net/oauth2/v1/token"),
("govus", "https://zsgovlab.zidentitygovus.net/oauth2/v1/token"),
("govus", "https://zsgovlab.zidentitygov.us/oauth2/v1/token"),
],
)
def test_oauth_client_secret_uses_gov_auth_url(cloud, expected_url):
Expand Down
2 changes: 1 addition & 1 deletion zscaler/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# client selects them via the lowercased ``cloud`` parameter (``gov``/``govus``).
ONEAPI_GOV_AUTH_DOMAINS = {
"gov": "zidentitygov.net",
"govus": "zidentitygovus.net",
"govus": "zidentitygov.us",
}

ONEAPI_GOV_API_BASE_URLS = {
Expand Down
Loading