Skip to content

Releases: aruba/pycentral

v2.0a16

20 Mar 20:28
997b8e9

Choose a tag to compare

This release removes the deprecated search parameter from monitoring functions and updates the httpx dependency to the latest patch version.

Improvements

  • Removed search parameter from monitoring functions
    • get_device_inventory() and get_all_device_inventory() no longer accept search parameter as the underlying Central API no longer supports this filter
  • Updated httpx dependency
    • Bumped httpx[http2] from 0.28.0 to 0.28.1 in pyproject.toml
  • Changed default log_level from "DEBUG" to "INFO" in NewCentralBase
    • Reduces noise for users who don’t explicitly configure logging
  • README updated
    • Quickstart example now uses the context manager pattern (with NewCentralBase(...) as conn) to reflect current best practices
    • Updated Documentation URLs

v2.0a15

12 Mar 16:28
5ff8d5e

Choose a tag to compare

This release migrates core monitoring modules to stable v1 APIs, replaces the HTTP client with HTTPX for persistent connection reuse, and introduces several bug fixes, stability improvements, and developer experience enhancements across the SDK.

New Features

  • HTTPX Migration

    • Replaced requests.Session with httpx for persistent connection reuse across API calls for base.py
    • Eliminates per-call connection overhead, significantly improving SDK performance
    • Supporting helper functions added to base to modularize command function internals
  • v1 API Migration

    • Migrated modules of MonitoringAPs, Clients, MonitoringDevices, and MonitoringSites from Alpha/Beta APIs to stable v1 endpoints
    • Higher rate limits and expanded capabilities available for all migrated modules due to v1 API support
  • Context Manager Support

    • with syntax now supported for SDK client instantiation
  • Streaming: Ping-Pong Support

    • Added ping-pong capability to the streaming module to sustain longer-lived WebSocket connections
  • Project Modernization

    • Migrated project initialization from setup.py to pyproject.toml

Improvements

  • Fixed duplicate requests.Session instantiation in Classic Central’s base.py; session is now initialized once at startup and reused across API calls (Closes #65)
  • Resolved bugs in log statements and return values within util modules - scope_utils.py & monitoring_utils.py
  • Abstracted valid personas into a dedicated structure for easier maintenance in constants.py
  • Added extra validation checks across scope-related helper functions in scope_base.py & scopemaps.py
  • Updated URL utils to default to v1 endpoints unless explicitly overridden
  • Documentation updates for all above changes

v2.0a14

26 Feb 23:00
8c40d73

Choose a tag to compare

This release improves profile retrieval reliability, refines the show commands interface to support increased input handling, and extends client management functionality with new helper utilities and dependency updates.

Improvements

  • Updated get_profile docstring and added handling for invalid URL responses to improve robustness during profile lookups.
  • Updated show command methods across Troubleshooting & Device classes to reflect API changes. Related functions now accept either a string or a list of strings representing the set of show commands to be run on the devices.
  • Updated dependencies: requests==2.32.5, PyYAML==6.0.3, protobuf==6.33.5 to ensure compatibility and stability.
  • Added get_client_details method to fetch client-specific details.
  • Added _validate_mac_address helper method to support input validation for MAC address fields.

Maintenance Release — Dependency Updates

03 Feb 15:25
6f94596

Choose a tag to compare

This minor release includes routine dependency updates as part of ongoing maintenance and security hardening. There are no functional changes and no breaking API updates in this release.

The following core dependencies have been updated to their latest stable versions to address security advisories, bug fixes, and long-term compatibility:

  • requests: 2.31.0 → 2.32.5
  • PyYAML: 6.0.1 → 6.0.3
  • urllib3: 2.2.2 → 2.6.3
  • certifi: 2024.7.4 → 2026.1.4

v2.0a13

20 Jan 20:56
2e4a774

Choose a tag to compare

This release expands monitoring and troubleshooting capabilities and introduces SDK-level support for Streaming APIs, enabling developers to consume supported WebSocket-based event streams using a native client and decoders.

New Features

  • Monitoring Enhancements
    • Added new methods under MonitoringAPIs:
      • get_wlans
      • get_ap_wlans
    • These methods allow users to retrieve WLAN data associated with a specific AP or across all APs, aligning with the underlying monitoring API implementations.
  • Troubleshooting Events Support
    • Added support for troubleshooting events via the new list_events method. This method enables retrieval of network events using query-based filtering.
    • Implemented method across Troubleshooting and Device classes to provide consistent access patterns.
  • Streaming APIs Support
    • Added SDK support for consuming Streaming APIs with a built-in streaming client that handles connection management and event decoding.
    • Introduced streaming topic decoders with support for the following event types:
      • Audit Trail
      • Location
      • Location Analytics
      • Geofence
    • Added accompanying documentation to guide users on streaming setup, topic usage, and event decoding.

Improvements

  • Fixed minor bugs and applied cleanup across methods in scope_utils.py.
  • Improved stability and consistency of scope-related helper functions, including get_all_scope_elements

v2.0a12

10 Dec 16:34
3893c55

Choose a tag to compare

This release focuses on expanding troubleshooting capabilities and improving how the SDK documents and exposes its public methods.

New Features

  • Added new troubleshooting modules that expose additional troubleshooting methods - list_show_commands, list_active_tasks, run_show_command, initiate_show_command, get_show_command_result
  • Introduced troubleshooting helpers in the Devices class to support new methods mentioned above.

Updates

  • Migrated docstrings from Sphinx style to Google style across core modules (e.g. Devices, Monitoring, Troubleshooting, Sites, Profiles, and related utilities).
    • Standardized parameter/return/exception sections for better readability and IDE support.
    • Added missing docstrings for existing public methods to keep behavior and usage clearly documented.
  • Removed legacy Sphinx documentation files that are no longer used by the current docs pipeline.
  • Removed unused custom exceptions such as UnsupportedCapabilityError & GenericOperationError
  • Replaced direct exit calls with raised exceptions so error handling is consistent and easier for applications to manage.

Improvements

  • Removed duplicate endpoint implementations in the Devices class where equivalent functionality already exists in the Monitoring modules; Devices now reuses the Monitoring implementations instead of maintaining separate copies.
  • Improved overall error-handling to align with the new exception model.

v2.0a11

19 Nov 22:48
0e84849

Choose a tag to compare

  1. Updated logic of device function to persona mapping to match API behaviour
  2. Updates to documentation for certain functions
  3. Resolved minor issues of GLP Subscriptions module

v2.0a10

03 Nov 21:13
c3a2301

Choose a tag to compare

This update introduces new Monitoring modules that simplify how users access site/device/client metrics, while also removing deprecated profiles and improving URL generation for a cleaner and more efficient SDK usage experience.

New Features

This release introduces new Monitoring modules that expose Monitoring API capabilities across Sites, Devices, Access Points, Gateways, and Clients.
These modules provide direct methods for common monitoring tasks, eliminating the need to manually call endpoints, handle pagination, or build aggregation logic.

Monitoring Modules Added:

  • Sites: get_all_sites, get_sites, get_site_device_health, list_site_information
  • Devices: get_all_devices, get_devices, get_device_inventory, delete_device
  • Access Points: get_all_aps, get_aps, get_latest_ap_stats, get_ap_cpu_utilization, get_ap_memory_utilization, get_ap_poe_utilization
  • Gateways: get_all_gateways, get_gateways, get_cluster_leader_details, get_gateway_details, get_gateway_interfaces, get_gateway_lan_tunnels, get_stats, get_latest_gateway_stats, get_gateway_cpu_utilization, get_gateway_memory_utilization, get_gateway_wan_availability, get_tunnel_health_summary
  • Clients: get_all_site_clients, get_wireless_clients, get_wired_clients, get_clients_associated_device, get_connected_clients, get_disconnected_clients, get_site_clients, get_client_trends, get_top_n_site_clients

Updates

  • Removed deprecated modules and related dead code - Policy, Role, SystemInfo, Vlan, Wlan
    • Please use Profiles class instead of the above modules
  • Improved Profiles documentation and overall code quality of methods of module

Improvements

  • Introduced new generate_url function to simplify URL generation and parameter handling
  • Split category mappings and API endpoints into dedicated files for cleaner import flows
  • Replaced all legacy fetch_url and generate_url_with_params usage
  • Removed unused NewCentralURLs imports

v2.0a9

08 Sep 12:59
6208d97

Choose a tag to compare

v2.0a9 Pre-release
Pre-release

This update primarily extends the Troubleshooting module with new methods, and introduces supporting documentation. It also reorganizes the Troubleshooting class for improved efficiency and readability, while ensuring the Device class supports all new troubleshooting methods.

New Features

  • Troubleshooting Class

    • Added support for new methods:
      • AAA test implementation for Access Points (APs)
      • NSLOOKUP test for APs
      • User disconnect functions for APs
      • Client disconnect functions for Gateways
    • Added a troubleshooting.md file that documents all supported troubleshooting test in the SDK, including corresponding methods along with supported device types
  • Device Class

    • Added support for all newly introduced troubleshooting methods.
  • Scopes Module

    • Added find_device_group method.

Updates

  • Troubleshooting Class
    • Replaced ping_test method with ping_aps_test, ping_cx_test, ping_aoss_test, ping_gateways_test to align with device-type–specific troubleshooting attributes
    • Replaced traceroute_test method with traceroute_aps_test, traceroute_cx_test, traceroute_aoss_test, traceroute_gateways_test to align with device-type–specific troubleshooting attributes

Improvements

  • Troubleshooting Class
    • Reorganized Troubleshooting class for efficiency, readability, and easier future maintenance.
    • Removed redundant checks on troubleshooting test attributes.

v2.0a8

12 Aug 15:09

Choose a tag to compare

v2.0a8 Pre-release
Pre-release

This update adds a dedicated Troubleshooting class with new diagnostic methods across multiple device types, enhances the Device class, and includes key dependency updates and cleanup.

New Features

  • Troubleshooting Class – Added support for Access Points, AOS-CX, AOS-S, and Gateways.
    • New Troubleshooting Methods –Ping, Traceroute, Reboot, Locate, HTTP/HTTPS Tests, Port Bounce, PoE Bounce, ARP Table, Speedtest, AAA Test, Cable Test, and Iperf Test.
  • Device Class – Now supports all troubleshooting methods.

Updates

  • Updated dependencies:
    • requests: 2.32.3 → 2.32.4
    • pytz: 2024.1 → 2025.2
  • Removed unused dependencies: urllib3, certifi, termcolor.

Improvements

  • Removed minimum site collection requirement for fetching global ID and profile correlation in scopes.
  • Enhanced error logging for scope initialization without a site.