iprange 2.0.0
Major release adding IPv6 support and significant code quality improvements.
New features
- IPv6 support —
--ipv6/-6flag enables IPv6 mode with full set operations (merge, intersect, exclude, diff, compare, reduce, count) - IPv4 input normalized to
::ffff:x.x.x.xin IPv6 mode - IPv4-mapped IPv6 (
::ffff:x.x.x.x) converted back to IPv4 in IPv4 mode - IPv6 DNS resolution (both AAAA and A records)
- IPv6 binary format v2.0 with family-aware header
--has-ipv6feature detection flag@filenamefile list and@directorydirectory loading--has-filelist-loadingand--has-directory-loadingflags
Bug fixes
- Fix UINT32_MAX boundary overflow — ranges at
255.255.255.255no longer incorrectly merge with ranges at0.0.0.0(#28) - Fix IPv6 diff algorithm at address space boundary
- Strict numeric parsing for
--ipset-reducevalue (#24)
Build improvements
-O3and LTO enabled for GCC builds- CMakeLists.txt for IDE support
- Updated test suite: 93 CLI tests, 7 build tests, 5 sanitizer tests, 6 unit tests, 1 TSAN test
Documentation
- Comprehensive README and wiki with verified examples
- One wiki page per operation
- Detailed guides for input/output formats, IPv6, DNS resolution, ipset optimization