trust-dns v0.20.0 Release Notes

  • ๐Ÿ”„ Changed

    • โšก๏ธ (all) upgraded to Tokio 1.0 (@messense) #1330 (0.3 updates in #1262)
    • ๐Ÿ‘ (proto) Add serde support for the RecordType in the proto crate (@LEXUGE) #1319
    • (https) dns_hostname args all are Arc<str> rather than Arc<String>, use Arc::from
    • ๐Ÿ— (proto) Set TCP_NODELAY when building a TCP connection (@djc) #1249
    • ๐Ÿ’ฅ (all) BREAKING The UdpSocket trait has grown an associated Time type.
    • ๐Ÿ’ฅ (all) BREAKING The Connect trait has lost its Transport associated type, instead relying on the Self type.
    • ๐Ÿ’ฅ (all) BREAKING Introduced a new DnsTcpStream trait, which is now a bound for implementing the Connect trait.
    • ๐Ÿ’ฅ (resolver) BREAKING Move CachingClient from lookup_state to caching_client module
    • ๐Ÿ’ฅ (resolver) BREAKING Move ResolverOpts::distrust_nx_responses to NameServerConfig::trust_nx_responses (@djc) #1212
    • (proto) data-encoding is now a required dependency #1208
    • (all) minimum rustc version now 1.45
    • (resolver) For all NxDomain and NoError/NoData responses, ResolveErrorKind::NoRecordsFound will be returned #1197
    • ๐Ÿ‘ (server) Support for lowercase DNSClass and RecordType fields in zonefiles (@zhanif3) #1186
    • (resolver) Make EDNS optional for resolvers (@CtrlZvi) #1173
    • (all) Fully support ring for all DNSSEC operations. #1145
    • ๐Ÿšš (all) No more master (branch, moved to main) slave, in honor of Juneteenth #1141
    • (all) Minimize futures dependencies (@JohnTitor) #1109
    • ๐Ÿ›ฐ (proto) increases the UDP buffer size from 2048 to 4096 to allow larger payloads (@DevQps) #1096
    • ๐Ÿ”€ (resolver) use IntoName trait on synchronous resolver interface (@krisztian-kovacs) #1095
    • ๐Ÿ’ฅ (resolver) BREAKING removed async for AsyncResolver::new (@balboah) #1077 #1056
    • ๐Ÿ’ฅ (server) BREAKING removed Runtime from ServerFuture::register_socket (@LucioFranco) #1088 #1087
    • ๐Ÿ’ฅ (proto) Breaking Adjust the return value from ResponseCode::high from u16 to u8 #1202

    ๐Ÿ›  Fixed

    • ๐Ÿ‘ (client) Support reading the root hints file (@mattias-p) #1261
    • (resolver) Fix Glue records resolving (@wavenator) #1188
    • (resolver) Only fall back on TCP if cons are available (@lukaspustina) #1181
    • (proto) fix empty option at end of edns (@jonasbb) #1143, #744
    • (resolver) Return REFUSED instead of NXDOMAIN when server is not an authority (@AnIrishDuck) #1137
    • (resolver) forwarder: return NXDomain on e.is_nx_domain() (@balboah) #1123
    • (resolver) Regards NXDomain and NoError empty responses as errors (continues searching for records), #1086 #933

    โž• Added

    • ๐Ÿ†• (util) new Add resolve.rs as CLI for trust-dns-resolver #1208
    • (proto) Added proper zone display to all RData as an impl of Display #1208
    • (proto) xfer::dns_response::NegativeType and DnsResponse::negative_type to classify negative response type #1197
    • (proto) DnsResponse::contains_answer to determine if a response message has data related to the query #1197
    • (proto) RecordType::is_soa and RecordType::is_ns to easily check for these types #1197
    • (proto) Message::all_sections to allow iteration over all Records in all sections in a Message #1197
    • ๐Ÿšš (proto) Message::take_queries to remove from a Message without requiring clone #1197
    • ๐Ÿ‘ (proto) DnsHandle::Error associated type to support generic errors across trust-dns libraries #1197
    • (resolver) Add support for tlsa RRs in trust_dns_resolver (@smutt) #1189
    • ๐Ÿ‘ (resolver) Support pointer ending label compression (@jacoblin1994) #1182
    • (proto) Keep OS error information on io::Error (@brunowonka) #1163
    • ๐Ÿ‘ (proto) Support mDNS cache-flush bit (@fluxxu) #1144
    • (proto) Allow creating TXT Rdata with binary data (@bltavares) #1125
    • (proto) Add mutable access to Message fields (@leshow) #1118
    • (proto) Add Name.parse_ptr_name, to IP address (@Mygod) #1107
    • (resolver) Allow HTTPS to be generic over Runtime (@balboah) #1077 #1074