Releases: CygnusNetworks/pypureomapi
Releases · CygnusNetworks/pypureomapi
Release list
1.1
Changes
- Support variable-length hardware addresses (6 to 16 bytes) in
pack_mac()andunpack_mac(), adding support for e.g. 8 byte EUI-64 addresses of IEEE 802.15.4 devices (#49, #50) - Stricter input validation in
pack_mac(): each colon separated group must be 1 or 2 hex digits
Fully backward compatible with 1.0.
1.0
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 aspython3.12-pypureomapi), plus sdist/wheel on PyPI.
New features
encode_classless_static_routes()andadd_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_supersedeandchange_group, which passedstrinstead ofbytesand 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.