Files
napalm-device-types/CHANGELOG.md
T
Christian Manivong fbd3cf0129
driver / standard (pull_request) Successful in 21s
driver / lint (pull_request) Successful in 14s
driver / types (pull_request) Successful in 1m3s
driver / test (3.12) (pull_request) Successful in 1m2s
driver / lowest (pull_request) Failing after 30s
driver / test (3.13) (pull_request) Successful in 1m0s
driver / build (pull_request) Successful in 31s
driver / security (pull_request) Successful in 1m13s
CI / driver (pull_request) Failing after 2m50s
driver / publish (pull_request) Skipped
chore: Python 3.12 is the floor (NAPALM/driver-standard#6)
netOrk runs every driver in its own containers on Python 3.12, so 3.10
and 3.11 are no longer supported or tested. requires-python, mypy and
ruff move to 3.12, along with what ruff's pyupgrade rules then rewrite.
2026-10-27 10:18:55 +01:00

2.5 KiB
Raw Blame History

Changelog

All notable changes to napalm-device-types. The format follows Keep a Changelog, versions follow Semantic Versioning. Versions up to 4.21.0 were not recorded here; their history is the git log.

[Unreleased]

Changed

  • Python 3.12 is the floor (requires-python = ">=3.12"): netOrk runs every driver on 3.12, so 3.10 and 3.11 are no longer tested (NAPALM/driver-standard#6).

Added

  • HostShutdownMixin.shutdown_host(), on DeviceTypeDriver: shut the device itself down cleanly through its own means; declared, so hasattr says whether a driver can. No forced variant (NetOrk/netork#1636).
  • VmStopRequestMixin.begin_stop_vm(name): ask for a VM's clean shutdown and return at once, for callers that wait on a timer instead of in stop_vm. No role demands it (NetOrk/netork#1636).

[4.22.0] - 2026-10-23

Added

  • AptProxyMixin (napalm_device_types.apt_proxy): apt's proxy on a Debian-family host, for a driver to mix in (NetOrk/netork#1397).
    • get_package_proxy() is the proxy apt really fetches through, as apt-config dump says, and no longer the content of one file. A proxy the Debian or Ubuntu installer set elsewhere wins over 00proxy, and was missed.
    • get_package_proxy_report() adds where it is set: every line of apt's configuration that sets it, in the order apt reads them, the per-host proxies, and the sources fetched over http and over https.
    • check_package_proxy(url, expect) fetches a page from the host with apt's own downloader, past any proxy, and says whether the host reached it and whether the page says what you expected.
    • configure_package_proxy(url) writes the proxy, comments out every other line that sets a different one, reads the result back and fetches one source through the proxy. It fails when apt still fetches elsewhere.
    • same_proxy_url() compares two proxy URLs by scheme, host and port.

[4.21.1] - 2026-10-22

The first release on PyPI since 0.1.0.

Changed

  • The package follows the NAPALM driver standard (https://git.netork.io/NAPALM/driver-standard): CI on Gitea runs ruff, strict 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.
  • Type annotations use builtin generics (list[str], X | None) instead of typing.List and Optional. They mean the same to a type checker.
  • The project links point at git.netork.io instead of GitHub.