Skip to content

swift-cidr 0.6.1

Latest

Choose a tag to compare

@camunro camunro released this 20 Aug 01:45
Immutable release. Only release title and notes can be modified.
0.6.1
3a1359e

swift-cidr 0.6.1 connects the in-tree CIDRNIO SocketAddress bridge to the
fixed-size, network-byte-order octet projections introduced in 0.6.0.
Integer-backed identity and CIDR math remain canonical.

Highlights

  • On Linux and Apple OS 26 or later, IPv4 and IPv6 socket conversions transfer
    address bytes through IPv4Address.octets and IPv6Address.octets.
  • Preserves address bits, including prefixed IPv4 host bits, during outbound
    projection.
  • Materializes /32 for inbound IPv4 and /128 for inbound IPv6 because
    SocketAddress carries no prefix length.
  • Leaves IPv4 network and directed-broadcast validation, IPv6 flow-info and
    scope-ID rejection, and port handling unchanged.
  • Keeps ByteBuffer on its existing integer network-byte-order path;
    CIDRPOSIX is unchanged.

The InlineArray is a transient, owned transfer value copied to or from the
POSIX socket field. It is not SocketAddress storage, a zero-copy
representation, or a borrowed View.

Compatibility

This patch release adds no public symbols and changes no public signatures or
availability compared with 0.6.0. The package retains its Swift 6.2 tools floor
and macOS 15 and iOS 18 deployment floors.

Because InlineArray is not back-deployed, supported pre-26 Apple deployments
retain the behavior-equivalent private integer network-byte-order bridge.
Existing .upToNextMinor(from: "0.6.0") dependency constraints can resolve
this update without source or deployment changes.

The allocation-free evidence applies to the core octet projection itself; it
is not a claim that constructing a complete SwiftNIO SocketAddress performs
no allocations.

Validation

  • The annotated 0.6.1 tag is SSH-signed and GitHub-verified.
  • 180 tests across 22 suites pass in debug and release validation, including 22
    CIDRNIO tests.
  • Swift 6.2 and Swift 6.3 Linux CI, macOS 26/Xcode 26.6 CI, and the macOS
    15/Xcode 26.3 compatibility lane pass.
  • CIDRNIO builds at the retained macOS 15 and iOS 18 simulator deployment
    floors.
  • Exact IPv4 and IPv6 socket-byte identity, host-bit preservation, inbound
    prefix normalization, and existing rejection contracts are covered.
  • Public API comparison with 0.6.0 reports no breaking changes; normalized
    CIDRNIO symbol graphs have no declaration or availability delta.
  • Same-machine measurements preserve allocation and ARC counts for all four
    existing CIDRNIO socket benchmarks. Whole-SocketAddress timings remain
    informational.
  • DocC validation passes with warnings treated as errors.

Full details are available in
Documentation/ReleaseNotes/0.6.1.md.