Changes for version 0.09 - 2026-08-02

  • Performance
    • Skip DNS lookup entirely in _is_cloud_host() for private, loopback, and link-local addresses (IPv4: 127/8, 10/8, 172.16/12, 192.168/16, 169.254/16; IPv6: ::1, fc00::/7, fe80::/10) — these can never resolve to cloud-provider hostnames
    • Cache per-IP cloud-lookup results in all_denied() with a 300-second TTL; repeated requests from the same IP skip both DNS round-trips entirely. DNS errors and timeouts are not cached so the next request retries. Cache is cleared when an object is cloned via new()
  • Testing
    • Bump minimum version of Test::Mockingbird

Documentation

Modules

Decide whether to allow a client to run a CGI script