Releases
v2.0.0
Compare
Sorry, something went wrong.
No results found
Highlights
Laravel-first DNS checker built on pear/net_dns2 with improved DX: Facade, fluent API, DI contract.
Optional typed exceptions for robust try/catch error handling.
Laravel Cache integration (Redis/Memcached/Database/File) for DNS result caching, avoiding netdns2 file/shmop cache issues.
Added
Facade + DI
Alyakin\DnsChecker\Facades\DnsChecker
Alyakin\DnsChecker\Contracts\DnsLookup for type-hint injection
Fluent API
DnsChecker::usingServer(...) ->withTimeout(...) ->setRetries(...) ->query(...)
getConfig() / setConfig() / resetConfig() for fluent client config control
Config options
fallback_to_system (default true) to control system resolver fallback
log_nxdomain (default false) to suppress report() on NXDOMAIN
throw_exceptions (default false) to throw typed exceptions instead of returning []
domain_validator ("Class@method" or null) to validate/disable validation
cache.* to enable Laravel Cache-backed caching for DNS query results
Typed exceptions
DnsRecordNotFoundException (NXDOMAIN)
DnsTimeoutException
DnsQueryFailedException
Changed
Dependency constraint hardening
Requires pear/net_dns2 >= 1.5.5 (avoids critical issues in 1.5.4) and supports 2.x.
NXDOMAIN handling
Correct NXDOMAIN detection for both netdns2 v1 and v2 so log_nxdomain=false suppresses report() consistently.
Documentation
README rewritten in English and expanded with professional usage/configuration examples.
Migration notes
If you want to pin netdns2 to 1.5.x in your project: composer require pear/net_dns2:^1.5.5.
To enable exception-based flow: set throw_exceptions=true and catch DnsRecordNotFoundException, DnsTimeoutException, DnsQueryFailedException.
To enable Laravel Cache DNS caching: set cache.enabled=true and optionally cache.store='redis' (or leave null to use the default store).
Known considerations
retry_count is applied for netdns2 v1; netdns2 v2 does not expose retry_count as an option in the same way.
You can’t perform that action at this time.