Releases: NLnetLabs/domain
0.7.2
0.7.1
0.7.0
Breaking Changes
-
The minimum supported Rust version is now 1.56.1. (#128)
-
The
OctetsBuilder
trait does not requireAsRef<[u8]>
andAsMut<[u8]>
any more. These have been added as explicit trait bounds where needed. In return,Cow<[u8]>
can now be used as an octets builder whereAsMut<[u8]>
is not needed. (#130). -
The
Display
implementation forUncertainDname
now ends an absolute name with a dot to match the behaviour of theFromStr
implementation. (#116) -
The salt and hash parameters of
Nsec3
andNsec3Param
have been wrapped in newtypes. (#116) -
Functions depending on the
rand
crate have been moved behind a newrandom
feature asrand
is not available on all systems, even with std support. The feature is, however, part of the default features.In particular, this means that
Header::set_random_id
,MessageBuilder::request_axfr
, andopt::rfc7830::PaddingMode::Random
are only available if the feature is enabled. (#117 by @Jezza) -
resolv::Resolver::Query
now has to beSend
. This will allow the resolver to be used in async functions spawned onto a Tokio runtime.The stub resolver’s query struct is already Send, so no actual changes are necessary. However, because this changes the definition of the Resolver trait, this is a breaking change, anyway. (#125)
New
- ``base::header::Flag` for easier working for the flags of a message header. (#109 by @tomaskrizek)
base::name::OwnedLabel
now implementsClone
andCopy
as well asDisplay
andDebug
. (#112)base::record::Record::into_owner_and_name
allows decomposing a record into its two parts that aren’tCopy
. (#114)- Initial support for SVCB and HTTPS record types. (#115 by @xofyarg)
- Introduced Serde support for all relevant types. (#116)
- The
OctetsBuilder
trait is now also implemented for mutable references of types that are octet builders and turn into themselves when frozen (i.e.,OctetsBuilder::Octets = Self
). (#121) - Support for [
heapless::Vec<u8, N>
] as an octets sequence via the newheapless
feature. (#122 by @bugadani) - The parameter types for SVCB record data now also implement
Eq
(#135)
Bug Fixes
- Correctly encode and decode the address in EDNS client subnet when the number of bits isn’t divisible by 8. (#101 and #102 by @xofyarg)
validate
:- Support for no-std environments now actually works. (#117 by @Jezza)
- Canonalize IANA types when scanning so that, e.g.,
CLASS3
becomesClass::Ch
instead ofClass::Int(3)
. (#127 by @vavrusa) resolv
: Fixed generation of the domain name to be used for reverse IPv6 lookups. (#131)
Other Changes
- Enable
doc_cfg
feature flag documentation for docs.rs. (#104 by Martin Fischer)
0.6.1
0.6.0
Breaking Changes
- The crate
domain-resolv
has been merged into this crate as thedomain::resolv
crate. It requires theresolv
feature to be enabled. Thesync
feature fromdomain-resolv
has been renamed toresolv-sync
. (#74) - The trait
domain::base::octets::IntoOctets
has been merged intodomain::base::octets::OctetsBuilder
. It’s methodinto_octets
is now available asfreeze
onOctetsBuilder
. (#75) - Upgrade to tokio 1.0, bytes 1.0, and latest of other dependencies (#84 by @koivunej)
New
- Support for extended errors defined in RFC 8914. (#79 by @xofyarg)
- New traits
domain::base::octets::OctetsFrom
andOctetsInto
to convert types that are generic over octets sequences between different octets sequences. (#77)
Bug Fixes
- Fix domain name compressors when giving a root label only. (#76 by @vavrusa)
- Fix OptIter not skipping over other options correctly. (#76 by @vavrusa)
- Fix canonical comparison of TXT RDATA by taking the length labels into account. (#76 by @vavrusa)
- Fix parser not rejecting malformed TXT RDATA. (#80 by @vavrusa)
- Resolver: Host lookup now considers possibly separate CNAME chains for the responses to the A and AAAA queries. (#90 by [@varusa])
domain 0.5.3 & domain-resolv 0.5.1
domain 0.5.3
New
Bug Fixes
- Various minor fixes for building in no-std mode. (#72)
domain-resolv 0.5.1
New
- The UDP payload size announced in a request can now be set as part of the
server config. It defaults to 1232 octets for both IPv4 and IPv6. (#71)
Bug Fixes
- The receive buffer size was smaller than the size advertised in a request,
resulting to very long UDP responses being cut off. (#71)