# Changelog All notable changes to this driver. The format follows [Keep a Changelog](https://keepachangelog.com/), versions follow [Semantic Versioning](https://semver.org/). ## [Unreleased] ## [0.5.0] - 2026-10-23 The first release on PyPI through the shared workflow; 0.1.0 and 0.1.1 there are an old upload. ### 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. It requires Python 3.10 and napalm-device-types 4.21.1. - A failure to read the current VLANs before `set_interface()` moves a port to another access VLAN is now logged at debug level. ## [0.4.0] - 2026-10-18 ### Changed - The SSH host key is verified: with a known key in `optional_args["ssh_host_keys"]` any other key is refused before login, and every key seen is reported to `optional_args["ssh_host_key_observer"]`. Without either argument the driver connects as before. Requires napalm-device-types 4.19.0. ## [0.3.0] - 2026-10-17 ### Added - `configure_snmp_agent()`: the caller's community (read-only), the source interface set to the VLAN whose address is exactly the listen or management address, saved and checked in `show snmp community`. ### Removed - **Breaking:** `fix_snmp` and `run_device_action`; `fix_snmp` set the community `public` and could pick the wrong VLAN. ## [0.2.0] - 2026-10-16 ### Added - SNMP configuration (`get_snmp_config()`), PoE status and configuration (`get_poe_status()`, `set_poe()`), interface enable and description, LAG membership in `get_interfaces()`, and fingerprints for discovery. ### Changed - The driver no longer collects over SNMP: `SNMP_HEALTH_PROFILE` declares where the switch publishes uptime, CPU and memory, and interface counters come from the 64-bit ifXTable. - `get_config()` drops the timestamped event-log lines the switch embeds in the running configuration. - `set_interface()` uses the switch's own commands for the access VLAN and the native VLAN of a trunk. - Requires Python 3.10 and paramiko 5.0.0 or newer (CVE-2026-44405). ## [0.1.2] - 2026-05-29 ### Added - VLAN and interface configuration; TL-SG3210 support. ## [0.1.1] - 2026-05-12 ### Fixed - VLAN membership is read correctly when the switch wraps it over several lines. ## [0.1.0] - 2026-05-09 ### Added - `tplink_jetstream` driver for TP-Link Jetstream switches over SSH: facts, interfaces and their addresses, configuration, ARP and MAC tables, LLDP neighbours and VLANs.