Skip to content

cidrmerge 0.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Aug 14:59
Immutable release. Only release title and notes can be modified.
0.1.0
c729986

cidrmerge 0.1.0

The first public release of cidrmerge, an offline policy compiler and reusable Swift library for producing deterministic, minimal exact IP-address coverage.

Highlights

  • Accepts IPv4 and IPv6 addresses, networks, and inclusive address ranges.
  • Coalesces duplicate, contained, overlapping, and adjacent coverage without filling uncovered gaps.
  • Emits IPv4 before IPv6 with stable numeric ordering.
  • Defaults to minimal disjoint closed ranges; use --representation cidr for canonical CIDR output.
  • Provides deterministic raw text or structured JSON with separate ipv4 and ipv6 arrays.
  • Keeps diagnostics and --stats on standard error and buffers processing before output, preserving pipeline-safe, no-partial-output behavior.

CIDRMergeCore

The reusable SwiftPM library exposes:

  • IPAddressRange<Family>
  • AnyIPAddressRange
  • IPAddressCoverage<Family>
  • Exact union and logarithmic containment lookup
  • Range-to-CIDR summarization delegated to swift-cidr

swift-cidr remains the canonical authority for address parsing, normalization, containment, network construction, and CIDR summarization.

Platforms

Prebuilt archives are provided for:

  • macOS 15 or newer: ARM64 and x86-64
  • Ubuntu 22.04 or newer: ARM64 and x86-64

Building from source or importing CIDRMergeCore requires Swift 6.1 or newer. The library also supports iOS 18 or newer.

Installation and checksums

Download the archive matching your platform together with SHA256SUMS, then verify the selected archive before extracting it. Each archive contains only cidrmerge, LICENSE, and THIRD_PARTY_NOTICES.txt.

See the README installation instructions for platform selection, checksum verification, and local installation commands.

Offline by design

cidrmerge reads standard input and local files only. It does not download URLs or perform DNS, IRRd, RPKI, or vendor-feed queries.

The compiler operates exclusively on address coverage. It does not preserve routing metadata such as ASN, AS path, communities, RPKI state, maxLength, TAL, or source provenance.

Full changelog: https://github.com/RouteObjects/cidrmerge/commits/0.1.0