Skip to content

V2.0a17#77

Merged
KarthikSKumar98 merged 9 commits into
v2(pre-release)from
v2.0a17
Mar 24, 2026
Merged

V2.0a17#77
KarthikSKumar98 merged 9 commits into
v2(pre-release)from
v2.0a17

Conversation

@KarthikSKumar98

@KarthikSKumar98 KarthikSKumar98 commented Mar 24, 2026

Copy link
Copy Markdown
Collaborator

This release introduces transient error retry with exponential backoff in the HTTP layer, refactors device attribute initialization, expands the known cluster URL registry, and updates getting-started documentation to clarify authentication prerequisites.

New Features

  • Retry with Exponential Backoff
    • request_url now automatically retries on transient transport failures (DNS errors, connection failures, timeouts, proxy errors) with exponential backoff up to 3 attempts
    • Added RETRY_MAX_RETRIES, RETRY_INITIAL_BACKOFF, RETRY_BACKOFF_MULTIPLIER, and TRANSIENT_TRANSPORT_ERRORS constants to base.py
    • All other exceptions are raised immediately as ResponseError without retrying
  • Unknown Base URL Warning
    • _resolve_base_url now validates the resolved URL against known cluster URLs
    • Issues a non-fatal UserWarning if the URL is not a recognized Central cluster, expected for Central-On Prem & other non-production environments

Improvements

  • Added explicit self.materialized = False initialization at the top of Device.__init__ for clarity
  • from_api branch in Device.__init__ now raises ValueError if device_attributes is None, preventing silent failures
  • Replaced manual key-rename loop and setattr calls in Device.__init__ with new _apply_api_attributes() helper method
  • Device inventory fetch in Device.get() now uses filter_str="serialNumber eq {serial}" instead of the search= parameter to match updated API behavior
  • Expanded CLUSTER_BASE_URLS in constants.py with changes to API Gateway Base URLs
  • Removed unused _return_client_credentials method from base.py
  • Updates to Authentication & Quickstart guide

@KarthikSKumar98 KarthikSKumar98 marked this pull request as ready for review March 24, 2026 20:25
@KarthikSKumar98 KarthikSKumar98 merged commit 3f63012 into v2(pre-release) Mar 24, 2026
@KarthikSKumar98 KarthikSKumar98 deleted the v2.0a17 branch March 24, 2026 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant