Skip to content

cidrwalk 0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Nov 04:27
0.3.0
fa55cc0

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, rangeStart is the lowest first address and rangeEnd is
    the highest last address across the inputs. Each boundary retains the prefix
    length of the network that supplies it, rather than becoming /32 or /128.
  • For 10.0.0.0/24 and 10.0.2.0/25, the JSON boundaries are
    10.0.0.0/24 and 10.0.2.127/25. The summarized prefixes remain
    10.0.0.0/23 and 10.0.2.0/25.
  • For 2001:db8::/126 and 2001:db8::8/127, the JSON boundaries are
    2001:db8::/126 and 2001:db8::9/127.
  • JSON field names are unchanged. The inputs array preserves canonical
    networks in command-line order. Reversing valid inputs preserves the
    boundaries and summarized prefixes.
  • Address mode still requires /32 or /128 host 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-cidr requirement is now >= 0.9.0 and < 0.10.0.
  • Package.resolved records the reviewed swift-cidr 0.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 shared SHA256SUMS file.
  • Linux archives statically include the Swift runtime and are checked in
    Ubuntu 22.04 containers without a Swift installation.