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)