github NLnetLabs/domain v0.11.0
Release 0.11.0

3 months ago

Breaking changes

  • FIX: Use base 16 per RFC 4034 for the DS digest, not base 64. (#423)
  • FIX: NSEC3 salt strings should only be accepted if within the salt size limit. (#431)
  • Stricter RFC 1035 compliance by default in the Zonefile parser. ([#477])
  • Rename {DigestAlg, Nsec3HashAlg, SecAlg, ZonemdAlg} to {DigestAlgorithm, Nsec3HashAlgorithm, SecurityAlgorithm, ZonemdAlgorithm}

New

  • Added HashCompressor, an unlimited name compressor that uses a hash map rather than a tree. (#396)
  • Changed fmt::Display for HINFO records to a show a quoted string. (#421)
  • Added support for NAPTR record type. (#427 by @weilence)
  • Added initial fuzz testing support for some types via a new arbitrary feature (not enabled by default). (#441)
  • Added StubResolver::add_connection() to allow adding a connection to the running resolver. In combination with ResolvConf::new() this can also be used to control the connections made when testing code that uses the stub resolver. (#440)
  • Added ZonefileFmt trait for printing records as zonefiles. (#379, #446, #463)

Bug fixes

  • NSEC records should include themselves in the generated bitmap. (#417)
  • Trailing double quote wrongly preserved when parsing record data. (#470, #472)
  • Don't error with unexpected end of entry for RFC 3597 RDATA of length zero. (#475)

Unstable features

  • New unstable feature unstable-crypto that enable cryptography support for features that do not rely on secret keys. This feature needs either or both of the features ring and openssl (#416)

  • New unstable feature unstable-crypto-sign that enable cryptography support including features that rely on secret keys. This feature needs either or both of the features ring and openssl (#416)

  • New unstable feature unstable-client-cache that enable the client transport cache. The reason is that the client cache uses the moka crate.

  • New unstable feature unstable-new that introduces a new API for all of domain (currently only with base, rdata, and edns modules). Also see the associated blog post.

  • unstable-server-transport

    • The trait SingleService which is a simplified service trait for requests that should generate a single response (#353).
    • The trait ComposeReply and an implementation of the trait (ReplyMessage) to assist in capturing EDNS(0) options that should be included in a response message (#353).
    • Adapters to implement Service for SingleService and to implement SingleService for SendRequest (#353).
    • Conversion of a Request to a RequestMessage (#353).
    • A sample query router, called QnameRouter, that routes requests based on the QNAME field in the request (#353).
  • unstable-client-transport

    • introduce timeout option in multi_stream (#424).
    • improve probing in redundant (#424).
    • restructure configuration for multi_stream and redundant (#424).
    • introduce a load balancer client transport. This transport tries to distribute requests equally over upstream transports (#425).
    • the client cache now has it's own feature unstable-client-cache.
  • unstable-sign

    • add key lifecycle management (#459).
    • add support for adding NSEC3 records when signing.
    • add support for ZONEMD.
  • unstable-validator

    • The validate crate is moved to dnssec::validator::base.
    • The validator crate is moved to dnssec::validator.

Other changes

Don't miss a new domain release

NewReleases is sending notifications on new releases.