Skip to content

v0.8.1 — Parallel ASN Resolution

Choose a tag to compare

@dweekly dweekly released this 24 Nov 20:55
· 226 commits to main since this release

Performance Improvements

Parallel ASN Resolution (5-10x faster)

  • CymruDNSResolver.resolve() now executes DNS queries in parallel with bounded concurrency (max 8)
  • Two-phase resolution: parallel origin ASN lookups, then deduplicated AS name lookups
  • Performance: 5-10x faster ASN resolution for typical traces (40s worst case → 5s)
  • Uses actor-based semaphore for rate limiting to avoid overwhelming DNS servers
  • Blocking DNS calls wrapped in Task.detached to prevent cooperative thread pool starvation

Improved Reverse DNS Handling

  • RDNSCache now uses runDetachedBlockingIO for consistency with other blocking I/O patterns

Testing

Comprehensive Cache Test Coverage

  • Cache correctness: deduplication, empty input handling, empty string filtering, data integrity
  • Concurrent access: verifies no data corruption under parallel access (50 concurrent tasks)
  • Non-blocking verification: concurrent calls execute in parallel, not serially
  • Stress test: 100 concurrent tasks with overlapping IP sets complete efficiently

Documentation

Cleanup

  • Consolidated AI assistant context files (AGENTS.md, GEMINI.md) into CLAUDE.md
  • Removed obsolete planning documents
  • Updated SECURITY.md with current supported versions (0.7.x, 0.8.x)

Full Changelog: v0.8.0...v0.8.1

Full Changelog: v0.8.0...v0.8.1