Releases: aruba/pycentral
v2.0a16
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()andget_all_device_inventory()no longer acceptsearchparameter 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
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
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_profiledocstring 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_detailsmethod to fetch client-specific details. - Added
_validate_mac_addresshelper method to support input validation for MAC address fields.
Maintenance Release — Dependency Updates
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
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_wlansget_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.
- Added new methods under MonitoringAPIs:
- Troubleshooting Events Support
- Added support for troubleshooting events via the new
list_eventsmethod. This method enables retrieval of network events using query-based filtering. - Implemented method across
TroubleshootingandDeviceclasses to provide consistent access patterns.
- Added support for troubleshooting events via the new
- 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
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
Devicesclass 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
exitcalls with raised exceptions so error handling is consistent and easier for applications to manage.
Improvements
- Removed duplicate endpoint implementations in the
Devicesclass where equivalent functionality already exists in the Monitoring modules;Devicesnow reuses the Monitoring implementations instead of maintaining separate copies. - Improved overall error-handling to align with the new exception model.
v2.0a11
- Updated logic of device function to persona mapping to match API behaviour
- Updates to documentation for certain functions
- Resolved minor issues of GLP Subscriptions module
v2.0a10
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
Profilesclass instead of the above modules
- Please use
- Improved Profiles documentation and overall code quality of methods of module
⸻
Improvements
- Introduced new
generate_urlfunction 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
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.mdfile that documents all supported troubleshooting test in the SDK, including corresponding methods along with supported device types
- Added support for new methods:
-
Device Class
- Added support for all newly introduced troubleshooting methods.
-
Scopes Module
- Added
find_device_groupmethod.
- Added
Updates
- Troubleshooting Class
- Replaced
ping_testmethod withping_aps_test,ping_cx_test,ping_aoss_test,ping_gateways_testto align with device-type–specific troubleshooting attributes - Replaced
traceroute_testmethod withtraceroute_aps_test,traceroute_cx_test,traceroute_aoss_test,traceroute_gateways_testto align with device-type–specific troubleshooting attributes
- Replaced
Improvements
- Troubleshooting Class
- Reorganized Troubleshooting class for efficiency, readability, and easier future maintenance.
- Removed redundant checks on troubleshooting test attributes.
v2.0a8
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
TroubleshootingClass – 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.
DeviceClass – Now supports all troubleshooting methods.
Updates
- Updated dependencies:
requests: 2.32.3 → 2.32.4pytz: 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.