Skip to content

1.0

Choose a tag to compare

@cygnusb cygnusb released this 25 Jul 08:53
· 4 commits to master since this release
ff66459

First modernized release.

Highlights

  • Python 3.11+ only — dropped Python 2 and all compatibility shims; full PEP 484 type hints.
  • Packaging modernized to pyproject.toml (PEP 621). Distribution packages are built automatically for this release: .deb (Debian 12/13, Ubuntu 24.04) and .rpm (Fedora, Enterprise Linux 9 as python3.12-pypureomapi), plus sdist/wheel on PyPI.

New features

  • encode_classless_static_routes() and add_host_supersede(..., statements=...) to push classless static routes (RFC 3442 / MS option 249) — closes #31.
  • Omapi.signal_shutdown() to gracefully stop the DHCP server via the OMAPI control object — closes #8.
  • lookup_host_by_ip() and failover-state lookups (lookup_failoverstate, lookup_by_failoverstate).

Bug fixes

  • Fixed add_group, add_host_with_group, add_host_supersede and change_group, which passed str instead of bytes and failed on Python 3.
  • Fixed a PEP 479-fragile generator in parse_bindict.

Quality

  • Comprehensive test suite (98% coverage): unit, in-process end-to-end, and real ISC dhcpd integration tests. CI on Python 3.11/3.12/3.13.