Releases: JithendraNara/tplinkctl
Releases · JithendraNara/tplinkctl
Release list
v0.3.0
Added
state diffnow filters rate/counter/timestamp noise by default so a no-op diff returns zero changes and a real mutation surfaces cleanly.state diff --rawto disable the default filter and see every field.state diff --only <prefix>to scope the diff to a subtree (e.g.wifi).state diff --ignore <path>(repeatable) to add additional dotted paths to skip.
Changed
state diffoutput now includesignored_leaves,ignored_prefixes,only_prefix, andrawfor self-describing results.
Fixed
_path_matchesnow handles list bracket notation (devices[0]) so--only devicesand--ignore devicescorrectly cover list elements.- List-length changes no longer collapse to a single summary record; per-element added/removed diffs always surface.
- dict-add / dict-remove events for noise leaves (e.g.
signal_dbmappearing on a new device) are no longer silently dropped — they surface as structural changes.
Verified: 54 unit tests passing, live state diff on Archer BE3500 returns 0 changes for no-op snapshots (was 17 false positives before this release).
v0.2.0
Added
- Guarded LED status, on/off, and nightly schedule commands with planning, confirmation, rollback guidance, live verification, and MCP tools.
- Read-only firmware update audit with normalized availability, auto-update status, and MCP access.
Changed
- Migrate CI from Travis to GitHub Actions (test matrix on Python 3.10–3.12).
- Publish to PyPI automatically on GitHub Release via trusted publishing (OIDC).
Fixed
- Place
operation=readin both the URL and encrypted payload for BE-series endpoints that require it. - Report the live BE3500 VPN client-status failure truthfully in capability and doctor output.
Verified: 41 unit tests passing, live doctor --deep healthy against Archer BE3500 (firmware 1.1.3).