Repository navigation
Releases: uvjim/pyvelop
Release list
2026.10.2
What's Changed
- feat: introduce
ActionFeatures.MESH_DETAILSto allow retrieving only the required information when gathering details for the mesh by @uvjim in #441
Full Changelog: 2026.10.1...2026.10.2
2026.10.1
What's Changed
- fix: errors when applying parental control schedules by @uvjim in #435
- feat: add backup/restore for parental control in the CLI by @uvjim in #436
- feat: allow ignoring the auth boundary check by @uvjim in #437
- feat: catch admin account being locked by @uvjim in #438
- fix: provide a default message for the
MeshAdminAccountLockedby @uvjim in #439 - fix: only raise
MeshInvalidCredentialsNoRetryif there are attempts remaining by @uvjim in #440
Full Changelog: 2026.9.4...2026.10.1
2026.9.4
What's Changed
Full Changelog: 2026.9.3...2026.9.4
2026.9.3
What's Changed
- refactor: reduce the boilerplate in
MeshEntity.adapter_infoby @uvjim in #432 - feat: implement backup and restore for device details from the CLI by @uvjim in #433
Full Changelog: 2026.9.2...2026.9.3
2026.9.2
2026.9.1
Note
Huge amounts of refactoring has happened in 2026.9.1.
The idea has been to reduce the number of calls made to the primary node when establishing the available capabilities.
The module now makes an unauthenticated call to retrieve the available services.
The ActionRegistry has been updated to include a mapping between service versions and action versions, allowing the module to use the latest available (but implemented) action.
Where necessary the module highlights where it has had to fallback.
Tip
As part of the refactor some additional actions have been made available. Additional versions of some of the existing
actions have also been implemented. The main one affected by this is testing credentials.
The module will now, if supported, inform of how many attempts are remaining and advise of the cooldown period before another test can be made.
To ensure that the number of retry attempts is not exhausted, attempts will not be allowed if there are 2 or less remaining.
If that is the case, the expectation is that you will use either the router Web UI or mobile app to login and ensure that the
Linksys security policies are followed.
Warning
If you were using the capabilities property on the Mesh class for anything you will need to refactor you code.
The returned format has been updated to include all available capabilities and some underlying information that might be useful.
If you were using this property to determine what functionality was available then your code should be refactored to use hasattr instead.
All properties on Mesh now raise an AttributeError if they are not available.
The check for availability is based on whether a capability is present but can also be based on the version of the action used for that capability.
If in doubt, check the CLI source which has been updated to use hasttr when processing the details that can be rendered.
What's Changed
- refactor: rewrite of the capability management, action execution and action registry by @uvjim in #357
- refactor: tidy up mesh attribute by @uvjim in #358
- refactor simplify and tidy the cli by @uvjim in #359
- refactor: introduce namespaced mappings for cli workflows by @uvjim in #360
- refactor: improve comments and type hinting by @uvjim in #361
- refactor: rehome JNAP types by @uvjim in #362
- refactor: normalise the JNAP responses for a more consistent approach by @uvjim in #363
- info: fix reboot action and introduce system stats by @uvjim in #364
- fix: stop loggin exception when it is being raised anyway by @uvjim in #365
- feat: add helpers for timeout scenarios by @uvjim in #366
- fix: reboot was broken as a regression and introduce the ability to wait for a reboot to complete by @uvjim in #367
- refactor: accommodate reboot better and add uptime by @uvjim in #368
- fix: reduce the logging noise from capability logging by @uvjim in #369
- feat: allow waiting for the whole mesh to reboot by @uvjim in #370
- feat: add last reboot property for nodes by @uvjim in #371
- refactor: use
uptimeproperty inlast_rebootcalculation by @uvjim in #372 - fix: ensure all remediations are carrried out in
async_get_devicesby @uvjim in #373 - feat: add
last_rebootanduptimeto theto_dictlist to output by @uvjim in #374 - fix: ensure
GET_SYSTEM_STATSis used when gettting node information by @uvjim in #375 - feat: add callbacks for speedtest and make more robust by @uvjim in #376
- refactor: tidy up the speedtest work by @uvjim in #377
- fix: logging redaction regression by @uvjim in #378
- feat: implement
CheckAdminPassword2by @uvjim in #379 - info: additional default redactions by @uvjim in #380
- refactor: adjust the default number of speedtest results to return by @uvjim in #381
- feat: implement
CheckAdminPassword3by @uvjim in #382 - feat: guard login attempts against elayed retries and draining the number of attempts by @uvjim in #383
- feat: flag capabilities as having either a fallback service or action by @uvjim in #384
- refactor: adjust
capabilitiesproperty to provide more information by @uvjim in #385 - feat: raise
AttributeErrorif the property should not be available based on detected capabilities by @uvjim in #386 - fix: make
async_detect_capabilitiesauthoritative by @uvjim in #387 - fix: ensure
GET_PASSWORD_AUTHis optional inasync_test_credentialsby @uvjim in #388 - refactor: cli output now allows grouping, sections and detection based on attribute availability by @uvjim in #389
- fix: regression when setting parental controls by @uvjim in #390
- feat: allow CLI to know the available icons by @uvjim in #391
- refactor: tidy up the
ParentalControlclass by @uvjim in #392 - fix: make
Mesh.wan_statusexplicit in return and not munch a missing attribute by @uvjim in #393 - refactor: handle some edge cases for detecting capabilities by @uvjim in #394
- refactor: make more use of the CLI rendering functions by @uvjim in #395
- feat: add
AbortedByUsertoSpeedtestExitCodeby @uvjim in #396 - refactor: implement some
ruffrecommendations by @uvjim in #397 - refactor: rename
async_initialiseto something more meaningful by @uvjim in #398 - fix:
GET_DEVICE_MODEwas not showing as a capability by @uvjim in #399 - feat: add
async_refreshto gather data without detecting capabilities and testing auth again by @uvjim in #400 - fix: allow requests that aren't directed to the primary node to mark validity by @uvjim in #401
- refactor: rename
wait_for_predicatetowait_untilby @uvjim in #402 - feat: add
speedtest_latest_completeproperty by @uvjim in #403 - fix: speedtest friendly status didn't reflect it wasn't running when the test was complete by @uvjim in #404
- fix: various speedtest enhancements by @uvjim in #406
- fix: speedtest is still available when it shouldn't be by @uvjim in #407
- info: update default redactions by @uvjim in #408
- refactor: introduce
MeshSnapshotto provide access to the point in time properties by @uvjim in #409 - fix: restore some missing properties for
Meshby @uvjim in #410 - cli: remove unnecessary cast by @uvjim in #411
- refactor: stop mangling in
MeshSnapshotby @uvjim in #412 - refactor: better selection of node IP address from raw details by @uvjim in #415
- fix: ignore errors when using node scoped requests by @uvjim in #416
- refactor: serialisation of
MeshSnapshotby @uvjim in #417 - fix: add the primary node to the raw nodes for querying by @uvjim in #418
- feat: add some default redactions for wireless backhaul by @uvjim in #419
- fix: regression in
adapter_infoconnected state by @uvjim in #420 - fix: node wireless connections MAC index by @uvjim in #421
- feat: add support for retrieving ethernet port connections by @uvjim in #422
- refactor: break up
_async_detect_capabilitiesby @uvjim in #423 - fix: degrade gracefully if
GET_PASSWORD_AUTH_STATUSisn't available by @uvjim in #424 - feat: support retrieving the DHCP client list by @uvjim in #425
- refactor: flatten conditional assignments in
_build_mesh_entitiesby @uvjim in #426 - refactor: small tidy up for capabilities by @uvjim in #427
- refactor: reduce the noise in
MeshEntity.adapter_infoby @uvjim in #428
Full Changelog: 2026.8.15...2026.9.1
2026.9.1b11
2026.9.1b10
What's Changed
- fix: regression in
adapter_infoconnected state by @uvjim in #420 - fix: node wireless connections MAC index by @uvjim in #421
Full Changelog: 2026.9.1b9...2026.9.1b10
2026.9.1b9
What's Changed
- refactor: stop mangling in
MeshSnapshotby @uvjim in #412 - refactor: better selection of node IP address from raw details by @uvjim in #415
- fix: ignore errors when using node scoped requests by @uvjim in #416
- refactor: serialisation of
MeshSnapshotby @uvjim in #417 - fix: add the primary node to the raw nodes for querying by @uvjim in #418
- feat: add some default redactions for wireless backhaul by @uvjim in #419
Full Changelog: 2026.9.1b8...2026.9.1b9