Skip to content

prep(v5.3.0): fix IPv6 endpoint classification — Release Pending (2026-04-09)#126

Merged
saurabhjain1592 merged 1 commit intomainfrom
prep/v5.3.0-review-fixes
Apr 8, 2026
Merged

prep(v5.3.0): fix IPv6 endpoint classification — Release Pending (2026-04-09)#126
saurabhjain1592 merged 1 commit intomainfrom
prep/v5.3.0-review-fixes

Conversation

@saurabhjain1592
Copy link
Copy Markdown
Member

Summary

v5.3.0 prep — Release Pending (2026-04-09). Staged for the planned release tomorrow with Greg's work. NOT released here.

Review findings addressed

P3 (user-reported) — IPv6 classification

  • IPv6 ULA (fc00::/7) → private_network
  • IPv6 link-local (fe80::/10) → private_network
  • Expanded IPv6 loopback (0:0:0:0:0:0:0:1) → localhost
  • IPv6 unspecified ::localhost
  • Public IPv6 → remote
  • Deprecated fec0::/10remote

Implementation

  • expandIPv6(addr) static helper expands :: compression into a full 8-hextet form for prefix comparison. Assumes input is from URI.getHost() after bracket stripping.
  • ULA detection: first hextet starts with fc or fd.
  • Link-local: first hextet in [fe80..febf] (lex comparison).

Changelog + manifest

  • pom.xml: 5.2.0 → 5.3.0 (manifest bump per user direction)
  • ## [5.3.0] - Release Pending (2026-04-09) header — user finalizes at release time
  • v5.2.0 entry date corrected from 2026-04-09 → 2026-04-08 (actual release day)

Tests

mvn test -Dtest=TelemetryEndpointTypeTest → 26/26 pass (up from 20 in v5.2.0). New cases: IPv6 ULA (fd00, fd12:3456, fc00, fcff:ffff), link-local (fe80, febf), expanded loopback, unspecified, deprecated site-local, public IPv6 (2001:4860, 2606:4700).

Not released

No tag, no publish, no merge. PR stays OPEN for user review.

v5.3.0 prep for the planned 2026-04-09 release. Not cut here — PR stays
open for user review.

Review finding P3 (user-reported):
- classifyEndpoint now handles IPv6 private ranges and expanded loopback
  forms that previously fell through to REMOTE:
  - IPv6 ULA (fc00::/7, RFC 4193) → private_network
  - IPv6 link-local (fe80::/10) → private_network
  - Expanded IPv6 loopback (0:0:0:0:0:0:0:1) → localhost
  - IPv6 unspecified (::) → localhost
- Matches Python and Go SDK behavior.

Implementation: new expandIPv6(addr) helper expands :: compression into
a full 8-hextet form for prefix comparison. ULA detection checks first
hextet starts with 'fc' or 'fd'. Link-local detection checks first
hextet in [fe80..febf]. Deprecated site-local fec0::/10 stays remote.

Tests: 26/26 pass (up from 20 in v5.2.0). New cases for IPv6 ULA, link-
local, expanded loopback, unspecified, public IPv6, deprecated site-local.

Manifest bumps:
- pom.xml: 5.2.0 → 5.3.0
- v5.2.0 changelog entry date corrected 2026-04-09 → 2026-04-08
@saurabhjain1592 saurabhjain1592 merged commit 5288bd1 into main Apr 8, 2026
9 checks passed
@saurabhjain1592 saurabhjain1592 deleted the prep/v5.3.0-review-fixes branch April 10, 2026 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant