Releases: Vaskivskyi/asusrouter
Release list
🐞 1.21.3 Bug fix for a bug fix

🚀 Features
- Added exception protection for device data processing. The library should not crash fully on faulty data received from a single endpoint.
🐞 Bug Fixes
- Fixed complex JS variables parsing
🐣 GitHub & Development
- Extended unit tests for the JS parser
🐞 1.21.1 Bug Fix for new FW

🐞 Bug Fixes
- Fixed issue with onboarding endpoint parsing (client data) for the new firmware versions
🌐 1.21.0 AiMesh network monitoring

🚀 Features
- Added traffic monitoring for the AiMesh network via
asusrouter.modules.traffic- Data rates can be independently monitored for any of the nodes (routers) connected to the AiMesh
- Wired traffic (fronthaul or backhaul) via
ARTrafficSourceEthernet - Wireless fronthaul (per band via its MAC address) via
ARTrafficSourceWiFi - Wireless backhaul via
ARTrafficSourceBackhaul
- Added units (and corresponding converters) for data and data rate in
asusrouter.tools.units
🐞 Bug Fixes
- Improved error handling on data fetch
🧑🚀 v2 preparation
- Added new data fetch flow
- Already in use for traffic monitoring (directly accessible through v1 calls)
- Added universal source module in
asusrouter.modules.sourcefor handling data sources
🐣 GitHub & Development
- Added new exception type
AsusRouterRequestFormatError - Other code improvements
- Bumped
ruffto0.12.11
🐞 1.20.1 Bug fix

🐞 Bug Fixes
- Fixed bug in sensors list generation on raw data failure
⚙️ 1.20.0 Instance configurations

🚀 Features
- Added instance configuration management to
AsusRouterclass viaARInstanceConfigclass inasusrouter.configmodule - Added enum tools with
FromIntMixinandFromStrMixinmixins to standardise value-to-enum conversion - Added
DeviceOperationModedefinition inasusrouter.modules.device - Added
dict_to_requestwriter
🧑🚀 v2 preparation
This release starts implementing non-breaking changes to the library in preparation for the v2 upgrade. Such changes will be gradually introduced and will not be directly available without an explicit call.
- Added
ARCallableRegistryviaasusrouter.registry - Added
MacAddressclass inasusrouter.tools.identifiers - Added masking tools for
MacAddressinstances inasusrouter.tools.masking
🐣 GitHub & Development
- Bumped
codecov-actionto5.5.0
⚙️ 1.19.0 Connection configurations

🚀 Features
- Added
asusrouter.tools.securitymodule andARSecurityLevellevel definition - Added universal configuration manager base
ARConfigBaseand key baseARConfigKeyBase - Added
ARConfigKey.DEBUG_PAYLOADconfiguration key to define which data can be exposed in the debug logging. Defaults toARSecurityLevel.DEFAULT, which will automatically block any sensitive data (from the known sensitive endpoints + login endpoint) - Added configuration management for connection settings in
asusrouter.connection_configmoduleARConnectionConfigconnection configuration classARConnectionConfigKeyconnection configuration parameters- Configurations are set per instance of the
Connectionclass and can be passed duringAsusRouter, directConnectioninitialisation, or dynamically set during runtime.
- Added fallback features for the connection:
- To be enabled manually via
ARConnectionConfigKey.ALLOW_FALLBACK - Fallback matrix follows:
- HTTPS @ Custom port -> HTTPS @ Default port
- HTTPS @ Default port -> HTTP @ Default port (if
ARConnectionConfigKey.STRICT_SSLisfalse, default) - HTTP @ Custom port -> HTTP @ Default port
- HTTP @ Default port -> HTTPS @ Default port (if
ARConnectionConfigKey.ALLOW_UPGRADE_HTTP_TO_HTTPSistrue, default)
- Loop protection via tracking which fallback was already used
- To be enabled manually via
- Added new exceptions to the
asusrouter.errormodule (SSL certificate errors, fallback errors)
🐞 Bug Fixes
- Fixed issue when SSL certificate verification relied on the provided session configs rather than AR settings
🐣 GitHub & Development
- Improved and extended unit tests for the
asusrouter.connectionmodule - Bumped
uv.lockdependencies:aiohttpto3.12.15pytest-covto6.2.1ruffto0.12.9
📖 Documentation
- Updated documentation for the latest features
🌡️ 1.18.2 More config controls

🚀 Features
- Added
ARConfigKey.NOTIFIED_OPTIMISTIC_TEMPERATUREvalue for custom control of the optimistic temperature notification warning
🐣 GitHub & Development
- Bumped
uv.lockdependencies:pytestto8.4.1pytest-asyncioto1.1.0pydanticto2.11.7mypyto1.17.1urllib3to2.5.0
⛏️ 1.18.1 Development release

🐣 GitHub & Development
- Added
py.typedand marked project as typed - Bumped and fixed setuptools to
80.9.0 - Updated deprecated fields in package description
- Updated dependabot configuration
- Bumped CI dependencies
🛠️ 1.18.0 DDNS, robust boottime and many dev improvements

🚀 Features
- Added DDNS support via
AsusData.DDNS- Full compatibility with Asus DDNS servers (
.comand.cn)
- Full compatibility with Asus DDNS servers (
- Added
ARConfigKeyenum to help with configuration management. This is now the only supported way to get and setARConfigkeys - Added robust boot time measurement to fix 1-second jitter. Optional, can be set via
ARConfigKey.ROBUST_BOOTTIME(default:False)
🐣 GitHub & Development
- Added
ruffconfigurations - Added
pre-commithooks - Added CI check on
ruff - Improved the
CONTRIBUTING.mddocumentation
📦 Dependencies
- Bumped
ruffto0.12.8 - Set
pre-committo4.3.0
1.17.0 🐣 ARConfig, node control and optimistic temperature

🚀 Features
- Added global
ARConfigconfiguration to store settings during the library usage - Added optimistic temperature conversion for automatic data fix when it is obviously wrong (controlled via the corresponding config)
- Added single AiMesh node reboot via
AsusSystem.NODE_REBOOTstate (requires MAC of the target node) - Added config control for target node via
AsusSystem.NODE_CONFIG_CHANGEstate (requires MAC of the target node and config data)