Files
christianmanivong a07ced2df6
driver / standard (pull_request) Successful in 13s
driver / lint (pull_request) Successful in 1m24s
driver / types (pull_request) Successful in 44s
driver / test (3.10) (pull_request) Successful in 50s
driver / test (3.11) (pull_request) Successful in 48s
driver / test (3.12) (pull_request) Successful in 48s
driver / test (3.13) (pull_request) Successful in 41s
driver / lowest (pull_request) Successful in 24s
driver / security (pull_request) Successful in 46s
driver / build (pull_request) Successful in 23s
CI / driver (pull_request) Successful in 7m2s
driver / publish (pull_request) Skipped
Merge branch 'main' into feat/apt-proxy-verify
The NAPALM driver standard landed on main (#52, 4.21.1). apt_proxy follows
it: builtin generics, strict mypy, complexity 10 at most (parse_apt_proxy,
same_proxy_url and the comment-out step split into helpers), 100 % covered.
Its TypedDicts live in apt_proxy.py, since models.py is over 1000 lines and
may not grow. Version 4.22.0 with its CHANGELOG section.
2026-10-23 00:14:59 +02:00

1.9 KiB
Raw Permalink 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]

[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.