DNS Changelog
2018
Release on GitHub
0.4.16 (2018-11-11)-
Feature: Improve promise cancellation for DNS lookup retries and clean up any garbage references.
(#118 by @clue) -
Fix: Reject parsing malformed DNS response messages such as incomplete DNS response messages,
malformed record data or malformed compressed domain name labels.
(#115 and #117 by @clue) -
Fix: Fix interpretation of TTL as UINT32 with most significant bit unset.
(#116 by @clue) -
Fix: Fix caching advanced MX/SRV/TXT/SOA structures.
(#112 by @clue)
Release on GitHub
0.4.15 (2018-07-02)-
Feature: Add
resolveAll()
method to support custom query types inResolver
.
(#110 by @clue and @WyriHaximus)$resolver->resolveAll('reactphp.org', Message::TYPE_AAAA)->then(function ($ips) { echo 'IPv6 addresses for reactphp.org ' . implode(', ', $ips) . PHP_EOL; });
-
Feature: Support parsing
NS
,TXT
,MX
,SOA
andSRV
records.
(#104, #105, #106, #107 and #108 by @clue) -
Feature: Add support for
Message::TYPE_ANY
and parse unknown types as binary data.
(#104 by @clue) -
Feature: Improve error messages for failed queries and improve documentation.
(#109 by @clue)
Release on GitHub
0.4.14 (2018-06-26)-
Feature: Add
UdpTransportExecutor
, validate incoming DNS response messages
to avoid cache poisoning attacks and deprecate legacyExecutor
.
(#101 and #103 by @clue) -
Feature: Forward compatibility with Cache 0.5
(#102 by @clue) -
Deprecate legacy
Query::$currentTime
and binary parser data attributes to clean up and simplify API.
(#99 by @clue)
Release on GitHub
0.4.13 (2018-02-27)-
Add
Config::loadSystemConfigBlocking()
to load default system config
and support parsing DNS config on all supported platforms
(/etc/resolv.conf
on Unix/Linux/Mac and WMIC on Windows)
(#92, #93, #94 and #95 by @clue)$config = Config::loadSystemConfigBlocking(); $server = $config->nameservers ? reset($config->nameservers) : '8.8.8.8';
-
Remove unneeded cyclic dependency on react/socket
(#96 by @clue)
Release on GitHub
0.4.12 (2018-01-14)- Improve test suite by adding forward compatibility with PHPUnit 6,
test against PHP 7.2, fix forward compatibility with upcoming EventLoop releases,
add test group to skip integration tests relying on internet connection
and add minor documentation improvements.
(#85 and #87 by @carusogabriel, #88 and #89 by @clue and #83 by @jsor)
2017
Release on GitHub
0.4.11 (2017-08-25)-
Feature: Support resolving from default hosts file
(#75, #76 and #77 by @clue)This means that resolving hosts such as
localhost
will now work as
expected across all platforms with no changes required:$resolver->resolve('localhost')->then(function ($ip) { echo 'IP: ' . $ip; });
The new
HostsExecutor
exists for advanced usage and is otherwise used
internally for this feature.
Release on GitHub
0.4.10 (2017-08-10)-
Feature: Forward compatibility with EventLoop v1.0 and v0.5 and
lock minimum dependencies and work around circular dependency for tests
(#70 and #71 by @clue) -
Fix: Work around DNS timeout issues for Windows users
(#74 by @clue) -
Documentation and examples for advanced usage
(#66 by @WyriHaximus) -
Remove broken TCP code, do not retry with invalid TCP query
(#73 by @clue) -
Improve test suite by fixing HHVM build for now again and ignore future HHVM build errors and
lock Travis distro so new defaults will not break the build and
fix failing tests for PHP 7.1
(#68 by @WyriHaximus and #69 and #72 by @clue)
Release on GitHub
0.4.9 (2017-05-01)Release on GitHub
0.4.8 (2017-04-16)- Feature: Add support for the AAAA record type to the protocol parser
(#58 by @othillo) - Feature: Add support for the PTR record type to the protocol parser
(#59 by @othillo)
Release on GitHub
0.4.7 (2017-03-31)Release on GitHub
0.4.6 (2017-03-11)- Fix: Fix DNS timeout issues for Windows users and add forward compatibility
with Stream v0.5 and upcoming v0.6
(#53 by @clue) - Improve test suite by adding PHPUnit to
require-dev
(#54 by @clue)
Release on GitHub
0.4.5 (2017-03-02)- Fix: Ensure we ignore the case of the answer
(#51 by @WyriHaximus) - Feature: Add
TimeoutExecutor
and simplify internal APIs to allow internal
code re-use for upcoming versions.
(#48 and #49 by @clue)
Release on GitHub
0.4.4 (2017-02-13)- Fix: Fix handling connection and stream errors
(#45 by @clue) - Feature: Add examples and forward compatibility with upcoming Socket v0.5 component
(#46 and #47 by @clue)
2016
Release on GitHub
0.4.3 (2016-08-01)-
Feature: Allow for cache adapter injection (#38 by @WyriHaximus)
$factory = new React\Dns\Resolver\Factory(); $cache = new MyCustomCacheInstance(); $resolver = $factory->createCached('8.8.8.8', $loop, $cache);
-
Feature: Support Promise cancellation (#35 by @clue)
$promise = $resolver->resolve('reactphp.org'); $promise->cancel();
Release on GitHub
0.4.2 (2016-02-24)- Repository maintenance, split off from main repo, improve test suite and documentation
- First class support for PHP7 and HHVM (#34 by @clue)
- Adjust compatibility to 5.3 (#30 by @clue)
2014
Release on GitHub
0.4.1 (2014-04-12)- Bug fix: Fixed PSR-4 autoload path (@marcj/WyriHaximus)
Release on GitHub
0.4.0 (2014-02-02)- BC break: Bump minimum PHP version to PHP 5.4, remove 5.3 specific hacks
- BC break: Update to React/Promise 2.0
- Bug fix: Properly resolve CNAME aliases
- Dependency: Autoloading and filesystem structure now PSR-4 instead of PSR-0
- Bump React dependencies to v0.4
2013
Release on GitHub
0.3.2 (2013-04-27)- Feature: Support default port for IPv6 addresses (@clue)
Release on GitHub
0.3.0 (2013-01-20)- Bump React dependencies to v0.3
2012
Release on GitHub
0.2.6 (2012-12-26)- Feature: New cache component, used by DNS
Release on GitHub
0.2.5 (2012-11-19)- Version bump
Release on GitHub
0.2.4 (2012-11-17)- Feature: Change to promise-based API (@jsor)
Release on GitHub
0.2.3 (2012-10-24)- Version bump
Release on GitHub
0.2.2 (2012-10-24)- Feature: DNS executor timeout handling (@arnaud-lb)
- Feature: DNS retry executor (@arnaud-lb)
Release on GitHub
0.2.1 (2012-09-24)- Minor adjustments to DNS parser
Release on GitHub
0.2.0 (2012-09-10)- Feature: DNS resolver