driver / lint (pull_request) Successful in 17s
driver / standard (pull_request) Failing after 17s
driver / test (3.10) (pull_request) Failing after 3s
driver / test (3.11) (pull_request) Failing after 6s
driver / types (pull_request) Successful in 1m2s
driver / lowest (pull_request) Successful in 59s
driver / test (3.13) (pull_request) Successful in 1m39s
driver / test (3.12) (pull_request) Successful in 1m42s
driver / build (pull_request) Successful in 29s
driver / security (pull_request) Successful in 1m11s
CI / driver (pull_request) Failing after 3m12s
driver / publish (pull_request) Skipped
get_vpn_tunnels() keyed WireGuard peers with a running counter over the peer rows, so a peer added ahead of an existing one renumbered every peer after it. Whatever a consumer stores per key moved with it: netOrk's site link and tunnel check ended up on a new, offline peer and alarmed while the real tunnel was up. The key is now the interface and the start of the public key, as in napalm-linux, made URL-safe because the key is a path segment. Two peers sharing the prefix get the whole key; a row without a public key keeps its position. IPsec and OpenVPN keys were already stable. Every WireGuard key changes once; netOrk carries its per-tunnel metadata across (netork#1654).
2.0 KiB
2.0 KiB
Changelog
All notable changes to this driver. The format follows Keep a Changelog, versions follow Semantic Versioning.
[Unreleased]
Fixed
get_vpn_tunnels()keys a WireGuard peer by its interface and the start of its public key (wireguard-wg0-aBcD1234, URL-safe) instead of its position, so a peer added ahead of another no longer renumbers it (#32). Every WireGuard key changes once with this release.
[0.5.0] - 2026-10-23
The first release on PyPI.
Changed
- The driver follows the NAPALM driver standard
(https://git.netork.io/NAPALM/driver-standard): CI on Gitea runs ruff, mypy, the
tests on Python 3.10–3.13 and at the lowest declared versions, bandit, pip-audit and
a build check, and a release tag publishes to PyPI. The package now ships
py.typedand a LICENSE file. Python 3.10 remains the floor. Requires napalm-device-types 4.21.1.
Fixed
get_dhcp_leases()raises when Kea, ISC DHCP and the ARP fallback all failed, instead of returning an empty list that looks like a server without leases (#27).create_dhcp_reservation()leaves a reservation that already holds what was asked alone, and does not reconfigure (restart) Kea for it.
[0.4.0] - 2026-10-18
Added
- napalm-device-types 4.17's public contracts:
apply_updates()passes the packages it is given andget_update_progress()reports the upgrade's state and log;get_dns_forwards(),set_dns_forward()andremove_dns_forward()for Unbound;get_ospf(). Requires napalm-device-types 4.17.0.
[0.3.0] - 2026-10-17
Removed
- Breaking:
get_device_warnings(). The pending updates are inget_available_updates().
[0.2.0] - 2026-10-17
Changed
- Breaking:
run_device_actionis removed. The SNMP agent is set up through napalm-device-types 4.13'sconfigure_snmp_agentwith the caller's community, contact, location and listen address, and the firewall opens UDP/161 only to the allowed sources (#13).