Files
napalm-opnsense/CHANGELOG.md
T
Christian Manivong 9f45952605
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
fix: WireGuard peers keep their tunnel key when others come and go (#32)
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).
2026-10-27 09:20:30 +01:00

2.0 KiB
Raw Blame History

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.typed and 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 and get_update_progress() reports the upgrade's state and log; get_dns_forwards(), set_dns_forward() and remove_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 in get_available_updates().

[0.2.0] - 2026-10-17

Changed

  • Breaking: run_device_action is removed. The SNMP agent is set up through napalm-device-types 4.13's configure_snmp_agent with the caller's community, contact, location and listen address, and the firewall opens UDP/161 only to the allowed sources (#13).