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
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]

## [26.6.0] - 2026-07-08

### Added
- **API spec:** `graphiant_api_docs_v26.6.0.json`
- **Public VIF (PVIF) gateway:** **`GET`/`POST /v1/pvif`**, **`GET`/`PUT`/`DELETE /v1/pvif/{id}`**, **`GET /v1/pvif/{id}/details`**, **`GET /v1/pvif/summary`**; models **`V1Pvif*`** and **`ManaV2PublicVifGateway*`** (centralized/decentralized NAT, consumer LAN devices, NAT prefix strategy, write request)
- **Assurance AI adoption:** **`POST /v2/assurance/ai-adoption-summary`**, **`POST /v2/assurance/create-ai-adoption-approve-entry`**, **`POST /v2/assurance/read-ai-adoption-approve-entries`**, **`POST /v2/assurance/update-ai-adoption-approve-entry`**, **`POST /v2/assurance/delete-ai-adoption-approve-entry`**, **`POST /v2/assurance/get-app-names`**; models **`AssuranceApprovedAppEntry`**, **`AssuranceApprovedAppEntryRequest`**, **`AssuranceKpiMetric`**, **`AssuranceTopLevelKpi`**, **`AssuranceUserDefinition`**, **`AssuranceWhatWidget`**, **`AssuranceWhenWidget`**, **`AssuranceWhereWidget`**, and related **`V2AssuranceAiAdoption*`** / **`V2AssuranceGetAppNames*`** types
- **LAN segment public interfaces:** **`GET /v1/lan-segments/interfaces/public`** with **`V1LanSegmentsInterfacesPublicGetResponse`**, **`ManaV2LanSegmentPublicInterfaceEntry`**, **`ManaV2LanSegmentPublicInterfacesLists`**
- **Region gateways:** **`GET /v1/regions/{regionId}/gateways`** with **`V1RegionsRegionIdGatewaysGetResponse`**, **`ManaV2IPsecGatewayPeersConfig`**, **`ManaV2IPsecGatewayRemotePeer`**
- **ZTAgent agents:** **`GET /v1/ztagent/agents`** with **`V1ZtagentAgentsGetResponse`** and **`ConcealAgent`**
- **Mana:** **`ManaV2ZeroTrustConsumptionSummary`**

### Changed
- **Version:** Package **26.6.0**; OpenAPI bundle **`graphiant_api_docs_v26.6.0.json`** (replaces **26.5.0** bundle in-repo).
- **Schemas / docs (updated):** **`AssuranceAppNameRecord`**, **`ManaV2GuestConsumerSiteToSiteVpnConfig`**, **`ManaV2SiteDeviceSummary`**, **`UpgradeRollout`**, **`V1EnterpriseAllocationGetResponse`**, **`V1GatewaysReferenceConsumerGetResponse`**, **`DefaultApi`**, README, and generated **`docs/`** model pages.
- **SDK (generated):** Refreshed **`default_api`**, model exports, and **`docs/`** to match the **26.6.0** spec.

### Removed
- **API spec:** removed **`graphiant_api_docs_v26.5.0.json`** (superseded by **26.6.0** bundle).

## [26.5.0] - 2026-06-10

### Added
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ install:

## test: Run pytest with coverage
test:
pytest --cov=graphiant_sdk --cov-report=term --cov-report=xml
python -m pytest --cov=graphiant_sdk --cov-report=term --cov-report=xml

## lint: Run flake8 on hand-written files only (generated files excluded via .flake8)
lint:
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ More product and platform context: [Graphiant Docs](https://docs.graphiant.com).
| **Automation** | [Graphiant Automation](https://docs.graphiant.com/docs/automation) |
| **REST API** | [Graphiant Portal REST API](https://docs.graphiant.com/docs/graphiant-portal-rest-api) |
| **Method index (repo)** | [DefaultApi.md](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/docs/DefaultApi.md) |
| **OpenAPI bundle (this build)** | [`api/graphiant_api_docs_v26.5.0.json`](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/api/graphiant_api_docs_v26.5.0.json) — source for generated paths and models |
| **OpenAPI bundle (this build)** | [`api/graphiant_api_docs_v26.6.0.json`](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/api/graphiant_api_docs_v26.6.0.json) — source for generated paths and models |
| **Model docs (`*.md`)** | [`docs/`](https://github.com/Graphiant-Inc/graphiant-sdk-python/tree/main/docs) (same names as Python classes, e.g. `V1EdgesSummaryGetResponse.md`) |
| **PyPI** | [graphiant-sdk](https://pypi.org/project/graphiant-sdk) |
| **Changelog** | [CHANGELOG.md](https://github.com/Graphiant-Inc/graphiant-sdk-python/blob/main/CHANGELOG.md) |
Expand Down Expand Up @@ -425,7 +425,7 @@ def get_device_info(api, bearer_token, device_id):

- Python 3.10+ (3.13 recommended)
- Git
- OpenAPI Generator (for code generation) — `brew install openapi-generator`
- OpenAPI Generator **>= 7.23.0** (for code generation) — `brew install openapi-generator` or `npm install -g @openapitools/openapi-generator-cli`

### CI/CD Workflows

Expand Down Expand Up @@ -477,12 +477,12 @@ To regenerate the SDK from the latest API specification:
make generate

# Or run the script directly (supports OPENAPI_SPEC override)
OPENAPI_SPEC=api/graphiant_api_docs_v26.5.0.json bash scripts/generate.sh
OPENAPI_SPEC=api/graphiant_api_docs_v26.6.0.json bash scripts/generate.sh
```

`scripts/generate.sh` wraps the full `openapi-generator-cli generate` invocation. It auto-detects `openapi-generator` (Homebrew) or `openapi-generator-cli` (npm), reads the current version from `pyproject.toml`, and passes `--git-user-id`/`--git-repo-id` so generated docs never contain `GIT_USER_ID` placeholders.
`scripts/generate.sh` wraps the full `openapi-generator-cli generate` invocation (requires OpenAPI Generator **>= 7.23.0**). It auto-detects `openapi-generator` (Homebrew) or `openapi-generator-cli` (npm), reads the current version from `pyproject.toml`, and passes `--git-user-id`/`--git-repo-id` so generated docs never contain `GIT_USER_ID` placeholders.

> **Note:** Download the latest API bundle from the Graphiant portal under **Support Hub** → **Developer Tools** and place it in `api/`. The versioned JSON bundle (`api/graphiant_api_docs_v26.5.0.json`) is the snapshot used for this release; `api/openapi.yaml` is the primary YAML spec. Hand-written files listed in `.openapi-generator-ignore` (`graphiant_cli/`, `graphiant_sdk/api_client.py`, `configuration.py`, etc.) are never overwritten by the generator.
> **Note:** Download the latest API bundle from the Graphiant portal under **Support Hub** → **Developer Tools** and place it in `api/`. The versioned JSON bundle (`api/graphiant_api_docs_v26.6.0.json`) is the snapshot used for this release; `api/openapi.yaml` is the primary YAML spec. Hand-written files listed in `.openapi-generator-ignore` (`graphiant_cli/`, `graphiant_sdk/api_client.py`, `configuration.py`, etc.) are never overwritten by the generator.

### Testing

Expand All @@ -498,7 +498,7 @@ pytest tests/ --cov=graphiant_sdk --cov-report=html

### Source of truth (this release)

Operations and schemas are generated from **`api/graphiant_api_docs_v26.5.0.json`** (in `api/` and bundled in the PyPI wheel). For a newer portal/API, download the current bundle (Support Hub → Developer Tools) and diff paths before relying on URLs here.
Operations and schemas are generated from **`api/graphiant_api_docs_v26.6.0.json`** (in `api/` and bundled in the PyPI wheel). For a newer portal/API, download the current bundle (Support Hub → Developer Tools) and diff paths before relying on URLs here.

| How to explore | Where |
|----------------|-------|
Expand Down Expand Up @@ -529,7 +529,7 @@ REST query parameters use **camelCase** in URLs (`enterpriseId`). Generated Pyth
| **`V1GlobalSummaryPostRequest`**, **`V1GlobalSummaryPostResponse`** | **`POST /v1/global/summary`** |
| **`V2ParentalertlistPostRequest`**, **`V2ParentalertlistPostResponse`** | **`POST /v2/parentalertlist`** |

### Sample HTTP endpoints (from `graphiant_api_docs_v26.5.0.json`)
### Sample HTTP endpoints (from `graphiant_api_docs_v26.6.0.json`)

The API surface is large; this table lists **real** paths from the bundled spec. For the full set, use **`graphiant api list`** or **`DefaultApi.md`**.

Expand Down
7 changes: 4 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ We actively support the following versions with security updates:

| Version | Supported | Notes |
| ------- | ------------------ | ---------------------------------------- |
| 26.5.x | :white_check_mark: | Current stable release (latest: **26.5.0**) |
| 26.4.x | :white_check_mark: | Previous release line (latest: **26.4.0**) |
| 26.6.x | :white_check_mark: | Current stable release (latest: **26.6.0**) |
| 26.5.x | :white_check_mark: | Previous release line (latest: **26.5.0**) |
| 26.4.x | :white_check_mark: | Older supported release (latest: **26.4.0**) |
| 26.3.x | :white_check_mark: | Older supported release (latest: **26.3.3**) |
| 26.2.x | :white_check_mark: | Older supported release |
| 26.1.x | :white_check_mark: | Older supported release |
Expand Down Expand Up @@ -276,4 +277,4 @@ For security concerns, please contact: **security@graphiant.com**

---

**Last Updated**: 2026-06-10
**Last Updated**: 2026-07-08
Loading
Loading