Skip to content

v0.20.0 with Tokio 1.0 support

Compare
Choose a tag to compare
@bluejekyll bluejekyll released this 29 Dec 21:37
· 949 commits to main since this release

0.20.0

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