Repository navigation
cidrwalk 0.3.0
cidrwalk 0.3.0 adopts swift-cidr 0.9 and makes network range endpoints
retain their input prefix context. This release intentionally changes
network-mode JSON boundaries and rejects redundant network pairs.
Output compatibility
- In network mode,
rangeStartis the lowest first address andrangeEndis
the highest last address across the inputs. Each boundary retains the prefix
length of the network that supplies it, rather than becoming/32or/128. - For
10.0.0.0/24and10.0.2.0/25, the JSON boundaries are
10.0.0.0/24and10.0.2.127/25. The summarized prefixes remain
10.0.0.0/23and10.0.2.0/25. - For
2001:db8::/126and2001:db8::8/127, the JSON boundaries are
2001:db8::/126and2001:db8::9/127. - JSON field names are unchanged. The
inputsarray preserves canonical
networks in command-line order. Reversing valid inputs preserves the
boundaries and summarized prefixes. - Address mode still requires
/32or/128host endpoints. Deterministic
IPv6 text and the envelope summarization algorithm are unchanged.
Input validation
- Network inputs must use the same address family, be different after
canonicalization, and neither may contain the other. - Equal, canonically equivalent, and nested network pairs now produce a
validation error on stderr, a nonzero exit status, and no summary output.
Mixed-family inputs continue to be rejected. - Distinct adjacent networks and host-length networks remain valid.
- The summary covers the entire envelope between the boundaries, including
any gap between the two networks.
Dependency boundary
- The
swift-cidrrequirement is now>= 0.9.0and< 0.10.0. Package.resolvedrecords the reviewedswift-cidr0.9.0 implementation.- Building from source now requires Swift 6.2 or newer.
Release integrity
- Signed annotated tags are verified before packaging.
- Native macOS and Linux archives are provided for arm64 and x86-64, with
LICENSE,THIRD_PARTY_NOTICES.txt, and a sharedSHA256SUMSfile. - Linux archives statically include the Swift runtime and are checked in
Ubuntu 22.04 containers without a Swift installation.