Thu 14 Jul 2016  

Second beta release for getdns-1.0.0


We are please to announce a second beta release of getdns 1.0.0 is available for testing.


  • RFC2782 style ordering of SRV resource records after a call to getdns_service() is now implemented (was missing from the previous beta release).
  • The DNSSEC authentication chain returned by using the dnssec_return_validation_chain extension, will now be in canonicalized from and order
  • A new extension dnssec_return_full_validation_chain that will return the DNSSEC authentication chain in canonicalized form and order, including the authenticated resource record set.
  • The return_call_reporting extension will also report on tried upstreams with timeouts
  • A new getdns_context_get_eventloop() companion function to the already existing getdns_context_set_evenloop() function, that will allow applications postpone the choice for a specific event library or use the getdns default eventloop for their own I/O.
  • More leniency in what to accept as an representation for IP and IPv6 addresses (i.e. missing address_type keys in the dict, or just the bindate without the dict container).
  • Significant improvements to the getdns_query test tool including option to use as a daemon listening on a specified address and option to configure getdns_query via a configuration file. For more details see
  • API and Additional API information for this implementation is now available in doxygen format which can be generated using make doc.


  • An issue with DNSSEC wildcard validation
  • An issue with CNAME loop protection in generating the response dicts
  • Correct processing of callbacks that are fired before the scheduling call has returned
  • Correct processing of multiple requests on an open state-full transport
  • Correctly reusing a TLS transport after a request on it timed out

Documentation is available at:

We would kindly ask that you review and try out this beta release thoroughly. Depending on feedback, we hope to have a production release available in early October.

* 2016-07-14: Version 1.0.0b2
  * Collect coverage information from the unit tests
    Thanks Shane Kerr
  * pkg-config for the getdns_ext_event library
    Thanks Tom Pusateri
  * Bugfix: Multiple requests on the same upstream with a transport 
    that keeps connections open in synchronous stub mode.
  * Canonicalized DNSSEC chain with dnssec_return_validation_chain
    (when validated)
  * A dnssec_return_full_validation_chain extension which includes
    then validated resource records.
  * Bugfix: Callbacks fired while scheduling (answer from cache)
    with the unbound plugable event API
  * header extension to set opcode and flags in stub mode
  * Unit tests that cover more code
  * Static checking with the clang analyzer
  * getdns_pretty_print_dict prints dname's as primitives
  * Accept just bindata's instead of address dicts.
    Allow misshing "address_type" in address dicts.
  * TLS session resumption
  * -C <config file> option to getdns_query to configure context 
    from a json like formatted file.  The output of -i (print API
    information) can be used as config file directly.
    Settings may also be given in this format as arguments of
    the getdns_query command directly.
  * DNS server mode for getdns_query.  Enable by providing addresses
    to listen on, either by giving "-z <listen address>" options or by
    providing "listen_addresses" in the config file or settings.
  * Bugfixes from deckard testing: CNAME loop protection.
  * "srv_addresses" in response dict with getdns_service()
  * use libbsd when available
    Thanks Guillem Jover
  * Bugfix: DNSSEC wildcard validation issue
  * Bugfix: TLS timeouts not re-using a connection
  * A getdns_context_get_eventloop(), to get the current
    (pluggable) eventloop from context
  * getdns_query now uses the default event loop (instead of custom)
  * Return call_reporting info in case of timeout
    Thanks Robert Groenenberg
  * Bugfix: Build fails with autoconf 2.63, works with 2.68.
    Thanks Robert Groenenberg
  * Do not call SSL_library_init() from getdns_context_create() when
    the second bit from the set_from_os parameter is set.

Related by 1.0.0 release

  getdns-1.0.0 release
  Tue 17 Jan 2017
  1.0.0 release
First spec complete implementation of getdns.
  First beta release for getdns-1.0.0
  Thu 31 Mar 2016
  1.0.0 release
100% spec complete. MS Windows 100% working. Almost ready for production