Skip to content

0.4.0

Compare
Choose a tag to compare
@GhostofGoes GhostofGoes released this 22 Sep 05:23

Added:

  • New methods for remote host MACs
    • Windows: arp
    • POSIX: arpreq package
  • New methods for interface MACs
    • Windows: wmic nic
  • DEBUG levels: DEBUG value is now an integer, and increasing it will
    increase the amount and verbosity of output. On the CLI, it can be
    configured by increasing the amount of characters for the debug argument,
    e.g. '-dd' for DEBUG level 2.
  • Jython support (Note: on Windows Jython currently only works with interfaces)
  • IronPython support

Changed

  • Significant performance improvement for remote hosts. Previously,
    the average for get_mac_address(ip='10.0.0.100') was 1.71 seconds.
    Now, the average is 12.7 miliseconds, with the special case of a unpopulated
    arp table being only slightly higher. This was brought about by changes in
    how the arp table is populated. The original method was to use the
    host's ping command to send an ICMP packet to the host. This took time,
    which heavily delayed the ability to actually get an address. The solution
    is to instead simply send a empty UDP packet to a high port. The port
    this packet is sent to can be configured using the module variable getmac.PORT.
  • "Fixed" resolution of localhost/127.0.0.1 by hardcoding the response.
    This should resolve a lot of problematic edge cases. I'm ok with this
    for now since I don't know of a case when it isn't all zeroes.
  • Greatly increased the reliability of getting host and interface MACs on Windows
  • Improved debugging output
  • Tightened up the size of getmac.py
  • Various minor stability and performance improvements
  • Add LICENSE to PyPI package

Removed

  • Support for Python 3.2 and 3.3. The total downloads from PyPI with
    those versions in August was ~53k and ~407K, respectfully. The majority
    of those are likely from automated testing (e.g. TravisCI) and not
    actual users. Therefore, I've decided to drop support to simplify
    development, especially since before 3.4 the 3.x series was still
    very much a "work in progress".

Dev

  • Added automated tests for Windows using Appveyor
  • Tox runner for tests
  • Added github.io page
  • Improved TravisCI testing