Library change log
About 6 min
Library change log
1.13.0 ☎️ DSL support and connection improvements
2024-09-07
→ 🐙 GitHub release ←
🚀 Features
- Added new
AsusData.DSL
state (by @GaryHuang-ASUS) - Added DSL endpoint check for the identity
- Improved session management in the connection module
- Improved initialization of the connection module
📦 Dependencies
- Bumped
python-dateutil
to2.9.0.post0
1.12.2 💻 Firmware handling improvements
2024-08-28
→ 🐙 GitHub release ←
🚀 Features
- Improved beta flag handling in firmware strings
1.12.1 🐛 Bugfixes
2024-08-28
→ 🐙 GitHub release ←
🐛 Bug fixes
- Fixed blocking call when fetching Aura data on non-Aura devices
1.12.0 🚨 Aura support & firmware improvements
2024-08-28
→ 🐙 GitHub release ←
🚀 Features
- Added Aura RGB support (
aura
module) - Upgraded
firmware
module - Migrated
AsusSystem
update and upgrade members to the new format (non-breaking change)
🐛 Bug fixes
- Fixed unsafe int conversion in the
onboarding
module
🚨 Testing
- Added mypy type checking settings
🔨 Other changes
- Fixed typo in the
AsusSystem
enum (by @TheCjw) - Removed code duplication in the generic
read
function of endpoints
🐣 GitHub
- Added templates for issue reports
📚 Documentation
- Added better code example to the README (by @tomer-w)
- Added AsusRouter logo
- Updated supported devices
1.11.0 Ping-ping & JSON fixes
2024-05-28
→ 🐙 GitHub release ←
🚀 Features
- Added possibility to force request type for aiohttp with
asusrouter.const.RequestType
.POST
andGET
are available - Added custom
request
argument support forAsusRouter.async_get_data
(any dict). - Added
AsusData.PING
state to to ping a device or get the last ping result (request is required to get result)request = {"type": $type$, "target": $domain$}
type
is one of:0
(get data),1
(ping, loss, jitter),2
(ping only)target
can be a domain or IP address
🐛 Bug fixes
- Fixed JSON parsing for missing values
📚 Documentation
- Updated supported devices
1.10.0 🔨 AiMesh, threading & logging
2024-05-21
→ 🐙 GitHub release ←
🚀 Features
- Import modules in a separate thread to avoid blocking the main thread
- Improved logging on the exceptions
- Added support for AiMesh reboot via
AsusSystem.AIMESH_REBOOT
state - Moved AiMesh rebuild to
AsusSystem.AIMESH_REBUILD
state
⚰️ Deprecation
- Marked
AsusSystem.REBUILD_AIMESH
as deprecated. The newAsusSystem.AIMESH_REBUILD
should be used instead. There is no yet defined version of removal, but its usage will cause a warning in the logs.
1.9.0 🤖 Merlin 388.7 support
2024-05-01
→ 🐙 GitHub release ←
🚀 Features
- Added support for the new sysinfo layout with Merlin
388.7
1.8.0 💻 Firmware control & quality features
2024-03-20
→ 🐙 GitHub release ←
🚀 Features
- Added
AsusSystem.FIRMWARE_UPGRADE
(no feedback) state to install a new firmware from web (if available). The firmware will be installed in the background and the device will reboot after the installation. - Added
AsusSystem.FIRMWARE_CHECK
(no feedback) state to check for a new firmware. - Added support for release note in the non-AiMesh mode to support more devices.
🐛 Bug fixes
- Added a check on the VPNC client data availability before processing it
- Added explicit string conversion on saving parent control rules
1.7.0 🚀 Unbind client forcing & more system services
2024-02-15
→ 🐙 GitHub release ←
🚀 Features
- Added more system services (
AsusSystem.{x}
). Refer to the code for the full list - Added handling of the unknown port types in the legacy endpoint
- Removed
force_clients
from clients poll (non-breaking) - Added FW release note when available
🐛 Bug fixes
- Fixed issue with unknown port types in the legacy endpoint
📦 Dependencies
- Fixed
pytest
to7.4.4
untilpytest-asyncio
becomes compatible
1.6.1 📜 Model name and identity
2023-12-31
→ 🐙 GitHub release ←
🚀 Features
- Get model name for identity from onboarding (if available) to correspond to the
UI Model Name
in Web UI - Added
product_id
to identity
1.6.0 🐣 Parental control & clients stability
2023-12-31
→ 🐙 GitHub release ←
🚀 Features
- Added
AsusSystem.REBUILD_AIMESH
state to start AiMesh optimization - Added
int_as_bits
andint_as_capabilities
converters - Added
AccessPoint
dataclass - Added support for ports when using modern endpoint for
AsusData.PORTS
:- Monitor the main (default, no arguments), selected (providing
device = MAC_ADDRESS
) or all (device = "all"
) AiMesh node(s) PortSpeed
members:LINK_10
(10 Mb/s),LINK_5000
(5 Gb/s)USBSpeed
members:USB_20
(480 Mb/s),USB_30
(5 Gb/s),USB_31
(10 Gb/s),USB_32
(20 Gb/s)PortType
members:MOCA
,SFPP
(implemented)POWERLINE
(planned)
PortCapability
members:WAN
,LAN
,GAME
,PLC
,WAN2
,WAN3
,SFPP
,USB
,MOBILE
,WANLAN
,MOCA
,IPTV_BRIDGE
,IPTV_VOIP
,IPTV_STB
,DUALWAN_SECONDARY
,DUALWAN_PRIMIRY
- Monitor the main (default, no arguments), selected (providing
- Added support for ports when using legacy endpoint for
AsusData.PORTS
:PortSpeed
members:LINK_10
(10 Mb/s),LINK_5000
(5 Gb/s),LINK_10000
(10 Gb/s)
- Added parental control rule features:
- Allowed
ParentalControlRule
to be sent as a state toAsusRouter.async_set_state
- Added
PCRuleType
enum with members:DISABLE
,BLOCK
,TIME
corresponding to the rule types - using any of them as the rule type will add or update the ruleREMOVE
- using this as a type will remove the rule for a corresponding MAC address
- Allowed
- Switched to creation of a new session if the old one is not available anymore
🐛 Bug fixes
- Fixed issue on the client status detection when AiMesh is supported but no nodes assigned
🔨 Other changes
- Moved and refactored all the parental control rules processing to be in
asusrouter.modules.parental_control
module
📚 Documentation
- Confirmed support for the new device
GT-AX11000 Pro
/388.24198
RT-AX88U Pro
/388.4_0
(Merlin)Zen WiFi ET8
/388.23759
Zen WiFi Pro ET12
/388.23013
- Confirmed support for the new FW versions which were not reported before:
4G-AX55U
/380.8102
GT-AX11000
/388.4_0
(Merlin)RT-AC88U
/386.12_2
RT-AX55
/386.52041
RT-AX56U
/388.1_0
(Merlin),388.2_2
(Merlin)RT-AX58U
/388.4_0
(Merlin)RT-AX86U
/388.4_0
(Merlin)TUF-AX5400
/388.23285
,388.4_0
(Merlin)
1.5.0 💻 Clients tracking & multiple instances improvements
2023-12-24
→ 🐙 GitHub release ←
🚀 Features
- Improved client status detection
🐛 Bug fixes
- Fixed issue with data mix in cache when multiple instances are used
1.4.0 🚨 Tests and updates to workflows
2023-12-21
→ 🐙 GitHub release ←
🚀 Features
- Added WLAN rename (
5ghz2 -> 6ghz
) forRT-AXE95Q
(ZenWiFi ET8
)
🚨 Testing
- Added tests for:
asusrouter.modules.endpoint.onboarding
🐣 GitHub
- Updated code coverage CI workflow
- Bumped
actions/setup-python
to5.0.0
- Bumped
actions/download-artifact
to4.0.0
,4.1.0
- Bumped
actions/upload-artifact
to4.0.0
1.3.0 🔨 More tests and improvements
2023-12-03
→ 🐙 GitHub release ←
🚀 Features
- Added
get_arguments
converter - Added support for
l2pt
,pptp
andsurfshark
VPNs as part ofvpnc
module - Added WLAN rename when indeces are not in the expected order (e.g.
6ghz
is present, but not5ghz2
) - Added
AsusBlockAll
state for the general internet access block
🐛 Bug fixes
- Switched to keyword arguments in
AsusRouter.keep_state
call
🚨 Testing
- Added tests for:
asusrouter.modules.client
asusrouter.modules.led
asusrouter.modules.openvpn
asusrouter.modules.parental_control
asusrouter.modules.port_forwarding
asusrouter.modules.state
asusrouter.modules.system
asusrouter.modules.vpnc
asusrouter.modules.wireguard
asusrouter.modules.wlan
🔨 Other changes
- Refactored:
- All the modules listed above in the testing section
AsusRouter.async_set_state
to usekwargs
📚 Documentation
- Added Python Library section with a short manual on how to use the library
1.2.0 💻 Force clients update, services & more
2023-11-23
→ 🐙 GitHub release ←
🚀 Features
- Added
AsusSystem.UPDATE_CLIENTS
state and compatible service - Added
force_clients
possibility on eachAsusData.CLIENTS
queue - Added runtime-available
set_force_clients()
method for setting both state and wait time of the feature - Added new
AsusSystem
states:RESTART_CHPASS
,RESTART_DNSMASQ
,RESTART_LEDS
,RESTART_OPENVPND
,RESTART_SAMBA
,RESTART_TIME
,RESTART_USB_IDLE
,RESTART_VPNC
,RESTART_WGS
,STOP_OPENVPND
,STOP_VPNC
- Added new
.tools.converters
:safe_timestamp_to_utc
,safe_utc_to_timestamp
,safe_utc_to_timestamp_milli
- Added
AsusData.SPEEDTEST
andAsusData.SPEEDTEST_RESULT
🚨 Testing
- Added tests for
asusrouter.modules.service
🔨 Other changes
- Improved exceptions messages
🐣 GitHub
- Updated CI workflow to be more modular and allow parallel unit- and device-testing
- Added testing with
Python 3.12
1.1.2 🩹
2023-11-21
→ 🐙 GitHub release ←
🐛 Bug fixes
- Fixed reboot flag not being reset
- Fixed connection type code
🚨 Testing
- Added tests for the connection module
📚 Documentation
- Updated supported devices
1.1.1 🩹
2023-11-20
→ 🐙 GitHub release ←
🐛 Bug fixes
- Removed WireGuard and VPNC data maps for version below 388
🔨 Other changes
- Fixed typo in logging
1.1.0 🌍 VPNs, WANs and tests
2023-11-19
→ 🐙 GitHub release ←
🚀 Features
- Added support for VPN Fusion (stock
388+
) - Added support for OpenVPN (stock
388+
) - Added support for WireGuard (stock and merlin
388+
) - Improved HA converters (+ new
convert_to_ha_data
for proper flattening data) - Added start-up calculated values as
None
(CPU) - Added data drop for cases of the same data on multiple endpoints
- Added
dump
tools for logging and dumping replies of the device - Small improvements over the code
- Improved logging on connection failure
- Added Dual WAN support
- Added WAN Aggregation support
🐛 Bug fixes
- Fixed error in historic data calculation
- Other minor fixes in data processing
- Blocked request attempts on closed session
- Fixed missing values for OpenVPN client
- Fixed unsafe dict pop
- Fixed missing arguments on state setting
🚨 Testing
- Added unit tests for tools: cleaners, converters, readers, writers
- Added unit tests for some endpoint modules
- Added full device test for RT-AX88U / Merlin / 388
🔨 Other changes
- Minor improvements to logging and code stability
🐣 GitHub
- Added testing workflow for all incomming PRs and pushes to the dev / main branch
1.1.0b1
2023-11-13
→ 🐙 GitHub release ←
🐛 Bug fixes
- Fixed missing values for OpenVPN client
- Fixed unsafe dict pop
1.1.0b0
2023-11-12
→ 🐙 GitHub release ←
🚀 Features
- Added support for VPN Fusion (stock
388+
) - Added support for OpenVPN (stock
388+
) - Added support for WireGuard (stock and merlin
388+
) - Improved HA converters (+ new
convert_to_ha_data
for proper flattening data) - Added start-up calculated values as
None
(CPU) - Added data drop for cases of the same data on multiple endpoints
- Added
dump
tools for logging and dumping replies of the device - Small improvements over the code
- Improved logging on connection failure
- Added Dual WAN support
- Added WAN Aggregation support
🐛 Bug fixes
- Blocked request attempts on closed session
1.0.5 🕐 Error loop fix
2023-11-05
→ 🐙 GitHub release ←
🐛 Bug fixes
- Fixed an infinite loop with authorization error
1.0.4 🐛 More legacy bugfixes
2023-11-04
→ 🐙 GitHub release ←
🐛 Bug fixes
- Fixed bug with 5 GHz clients for older devices
1.0.3 🐛 380
- 384
bugfixes
2023-11-04
→ 🐙 GitHub release ←
🐛 Bug fixes
- Fixed issue for
380
-384
FW versions
🐣 GitHub
- Updated build and release workflow
1.0.2 🚀 Better features for older devices
2023-11-03
→ 🐙 GitHub release ←
🚀 Features
- Added parsing for the legacy format of
Update Clients
endpoint
🐛 Bug fixes
- Improved temperature reading code to prevent errors with older FW
1.0.1 🐛 Bugfix / FW 380
2023-11-02
→ 🐙 GitHub release ←
🐛 Bug fixes
- Fixed identity error on 380 FW
1.0.0 🔨 New core
2023-11-01
→ 🐙 GitHub release ←
This release brings a fully-rebuild core of the library, making it faster and simpler.
💥 Breaking
- Python
3.11+
is now required
🚀 Features
- Added error codes 9, 10 and 11 reported by device
- Improved FW processing for different generations
- Improved clients monitoring
- Added USB WAN data recovery when interface is off
- Added network speed values on first empty run
- Added proper timeout when login blocked
🐛 Bug fixes
- Improved JSON parsing
- Added UnicodeDecodeError ignore on reading content
📚 Documentation
- Confirmed support for device / firmware:
DSL-AC68U
/386.50117
RT-AC66U B1
/386.51255
RT-AC86U
/386.49709
RT-AC88U
/386.48260
,386.5_0
RT-AX58U
/388.22237
RT-AX86U Pro
/388.23565
RT-AX88U
/388.24198
,388.2_0
,388.4_0
RT-AXE7800
/388_22068
TUF-AX5400
/388.22525
TUF-AX6000
/388.32432
TUF-AX3000 V2
/388.23785
ZenWiFi AX (XT8)
/388.23285
ZenWiFi XT9
/388_23285