Added
- Type annotations (PEP 484)
Removed
- Dropped support for Python 2.6
- Removed the usage of third-party packages (
netifaces,psutil,scapy, andarpreq).
This should improve the performance of lookups of non-existant interfaces
or hosts, since feature was punishing that path without providing much value.
If you want to use these packages directly, I have a guide on how to do so on a
GitHub Gist.
Changed
- Significantly improved the performance of the common cases on Linux
for interfaces and remote hosts - Improved POSIX interface performance. Commands specific to OSX
will be run only on that platform, and vice-versa. - Significantly improved the speed and accuracy of determining
the default interface on Linux - Python 2 will install an executor named getmac2 and Python 3 an
executor named getmac so they don't conflict when both RPMs are
installed on the same system (Credit: @hargoniX) - The
warningsmodule will only be imported if a error/warning
occurs (improve compatibility with some freezers, notably PyInstaller) - Improved system platform detection
- Various other minor performance improvements
Development
- Added unit tests for the samples (Credit: @frizz925)
- Scripts for building RPMs in the /scripts directory (Credit: @hargoniX)
- Improved code quality and health checks
- Include the CHANGELOG on the PyPI project page
- Using
pytestfor all tests now instead ofunittest
Documentation
- Added instructions on how to build a Debian package (Credit: @kofrezo)