What's Changed
Major changes
* Drop support for Python 3.5.
* Drop support for VM/Raspbian faucet images.
* Build apt packages for more distros and architectures, see [Installation on Debian/Raspbian/Raspberry Pi OS and Ubuntu](https://docs.faucet.nz/en/latest/installation.html#installation-on-debian-raspbian-raspberry-pi-os-and-ubuntu) for more information.
* Upgrade docker base image to Alpine 3.14.
Note: 32 bit ARM devices (armhf/armv7) will require Docker version 19.03.9 or newer and libseccomp version 2.42 or newer. See 3853 for more information.
* Change yaml parser from PyYAML to ruamel.yaml.
Note: This will cause faucet/gauge to parse configuration files as YAML 1.2 instead of 1.1. See [Differences with PyYAML](https://yaml.readthedocs.io/en/latest/pyyaml.html#defaulting-to-yaml-1-2-support) for more information.
* Migrate underlying OpenFlow library from ryu to os-ken.
Note: some faucet command line options may no longer be available, test before upgrading.
Bug fixes
* Ensure VLAN MACs are always configured the same way, for comparison. by anarkiwi in https://github.com/faucetsdn/faucet/pull/3879
* Process current port status on DP connect by mwutzke in https://github.com/faucetsdn/faucet/pull/3878
* interface vlan can be an int or string. by anarkiwi in https://github.com/faucetsdn/faucet/pull/3926
Improvements
* Debian packaging updates by gizmoguy in https://github.com/faucetsdn/faucet/pull/3988
* Only run release CIs if tag format is correct. by gizmoguy in https://github.com/faucetsdn/faucet/pull/3877
* migrate to ruamel.yaml. by anarkiwi in https://github.com/faucetsdn/faucet/pull/3977
* Fix up rabbitmq example for pylint and newer pika by cglewis in https://github.com/faucetsdn/faucet/pull/3894
* Monkey patch refactoring by mwutzke in https://github.com/faucetsdn/faucet/pull/3919
* Remove python 3.5 support. by gizmoguy in https://github.com/faucetsdn/faucet/pull/3958
* use python3 base image for adapter docker images; fix up golang changes by cglewis in https://github.com/faucetsdn/faucet/pull/3986
* Remove faucet VM image and raspbian image builds by gizmoguy in https://github.com/faucetsdn/faucet/pull/3973
* switch from ryu to os_ken. by anarkiwi in https://github.com/faucetsdn/faucet/pull/3975
Documentation changes
* Documentation updates by mwutzke in https://github.com/faucetsdn/faucet/pull/3888
* Add some more projects to our documentation by gizmoguy in https://github.com/faucetsdn/faucet/pull/3902
* Update to newer Open vSwitch apt repo. by gizmoguy in https://github.com/faucetsdn/faucet/pull/3903
* Add documentation on what distro versions/architectures we support. by gizmoguy in https://github.com/faucetsdn/faucet/pull/3991
Test improvements
* prevent potential for path traversal and pylint by cglewis in https://github.com/faucetsdn/faucet/pull/3876
* Send LLDP/CDP frames on 'veth' interfaces by mwutzke in https://github.com/faucetsdn/faucet/pull/3893
* clib: speed up integration test execution by mwutzke in https://github.com/faucetsdn/faucet/pull/3895
* localtest updates for current docker usage by mwutzke in https://github.com/faucetsdn/faucet/pull/3917
* tests: 802.1X successes should be real real successes by mwutzke in https://github.com/faucetsdn/faucet/pull/3923
* Use a single Faucet instance for FaucetUntaggedMaxHostsTest (3925) by mwutzke in https://github.com/faucetsdn/faucet/pull/3927
* pre_start_net() updates by mwutzke in https://github.com/faucetsdn/faucet/pull/3931
* Ensure 'tcpdump's are terminated by mwutzke in https://github.com/faucetsdn/faucet/pull/3934
* Better co-ordination of multiple controllers by mwutzke in https://github.com/faucetsdn/faucet/pull/3933
* Update DHCP server/client support for tests by mwutzke in https://github.com/faucetsdn/faucet/pull/3935
* Improve debug output from test suite when a test fails because of an unhealthy controller by gizmoguy in https://github.com/faucetsdn/faucet/pull/3949
* Allow non-root users to read test suite output directory. by gizmoguy in https://github.com/faucetsdn/faucet/pull/3952
Lint improvements
* lint yaml files and add linter to test workflows by cglewis in https://github.com/faucetsdn/faucet/pull/3875
* Improve pylint score by cglewis in https://github.com/faucetsdn/faucet/pull/3885
* Improve pylint score by cglewis in https://github.com/faucetsdn/faucet/pull/3891
* Simple cleanups by mwutzke in https://github.com/faucetsdn/faucet/pull/3890
* CodeCheck - part 1 by mwutzke in https://github.com/faucetsdn/faucet/pull/3896
* CodeCheck - Part2a by mwutzke in https://github.com/faucetsdn/faucet/pull/3905
* CodeCheck - Part2b by mwutzke in https://github.com/faucetsdn/faucet/pull/3907
* CodeCheck - Part2c by mwutzke in https://github.com/faucetsdn/faucet/pull/3909
* CodeCheck - Part2d by mwutzke in https://github.com/faucetsdn/faucet/pull/3910
* CodeCheck - Part3a by mwutzke in https://github.com/faucetsdn/faucet/pull/3913
* CodeCheck - Part3b by mwutzke in https://github.com/faucetsdn/faucet/pull/3914
* CodeCheck - Part4 by mwutzke in https://github.com/faucetsdn/faucet/pull/3915
* CodeCheck - Part5 by mwutzke in https://github.com/faucetsdn/faucet/pull/3918
* Remove 'pep8' linter by mwutzke in https://github.com/faucetsdn/faucet/pull/3899
* py3k changes by mwutzke in https://github.com/faucetsdn/faucet/pull/3900
* pylint: part-1 by mwutzke in https://github.com/faucetsdn/faucet/pull/3924
* pylint: part-2 by mwutzke in https://github.com/faucetsdn/faucet/pull/3928
* pylint: part-3 by mwutzke in https://github.com/faucetsdn/faucet/pull/3929
* pylint: part-4 by mwutzke in https://github.com/faucetsdn/faucet/pull/3930
* pylint: part-5 by mwutzke in https://github.com/faucetsdn/faucet/pull/3936
* pylint: part-6 by mwutzke in https://github.com/faucetsdn/faucet/pull/3938
* pylint: part-7 by mwutzke in https://github.com/faucetsdn/faucet/pull/3939
* set encoding utf-8. by anarkiwi in https://github.com/faucetsdn/faucet/pull/3942
* use f-strings for pylint by cglewis in https://github.com/faucetsdn/faucet/pull/3947
Python dependency updates
* DownRev Scapy to 2.4.4 (3869) by mwutzke in https://github.com/faucetsdn/faucet/pull/3897
* Update dependency prometheus_client to v0.12.0 by renovate in https://github.com/faucetsdn/faucet/pull/3819
* Update dependency exabgp to v4.2.16 by renovate in https://github.com/faucetsdn/faucet/pull/3956
* Update dependency sphinx to v4.3.1 by renovate in https://github.com/faucetsdn/faucet/pull/3980
* Update dependency sphinx_rtd_theme to v1 by renovate in https://github.com/faucetsdn/faucet/pull/3945
* Update dependency sphinxcontrib-svg2pdfconverter to v1.2.0 by renovate in https://github.com/faucetsdn/faucet/pull/3967
* Update dependency flake8 to v4 by renovate in https://github.com/faucetsdn/faucet/pull/3955
* Update dependency pytype to v2021.11.29 by renovate in https://github.com/faucetsdn/faucet/pull/3981
* Update dependency pylint to v2.12.2 by renovate in https://github.com/faucetsdn/faucet/pull/3990
Docker image updates
* Update faucet/python3 Docker tag to v6 by renovate in https://github.com/faucetsdn/faucet/pull/3983
* Alpine 3.14
* Update faucet/test-base Docker tag to v9.0.2 by renovate in https://github.com/faucetsdn/faucet/pull/3989
* Open vSwitch 2.16.1
* Update prom/prometheus Docker tag to v2.31.1 by renovate in https://github.com/faucetsdn/faucet/pull/3932
* Update grafana/grafana Docker tag to v8.3.1. by gizmoguy in https://github.com/faucetsdn/faucet/pull/3992
* Update influxdb Docker tag to v2.1 by renovate in https://github.com/faucetsdn/faucet/pull/3966
GitHub action changes
* Update actions/checkout action to v2 by renovate in https://github.com/faucetsdn/faucet/pull/3883
* Update codecov/codecov-action action to v2 by renovate in https://github.com/faucetsdn/faucet/pull/3880
**Full Changelog**: https://github.com/faucetsdn/faucet/compare/1.9.55...1.10.1