# Change Log ## 0.4.0 Breaking Changes * `bits::message_builder` module: * most of the record section builder functionality was moved to the trait `SectionBuilder` which they now implement. (Thanks to Marek Vavruša!) * `iana::opt` module: * Some variants of `OptionCode` have been renamed, loosing their `Edns` prefix. * `rdata` module: * `AllRecordData` now has a variant for `OPT` records, * `MasterRecordData` and `AllRecordData` are now non-exhaustive in order to avoid future breaking changes when adding additional types. * `MasterRecordData` and `AllRecordData` lost their `PartialOrd` impl since that doesn’t really make sense. New * `bits::message` module * new `Message::copy_records` method allows copying select records to a message builder. (Thanks to Marek Vavruša!) * `bits::message_builder` module * all builders now allow access to the bytes before the message, referred to as the ‘prelude.’ * `bits::message_builder::OptBuilder` now behaves more like all other builders with access to the preview, header, and prelude. * `bits::query` contains a simplified builder and a dedicated message wrapper for queries; together they allow re-use of a query for trying with several servers. * `bits::opt` module: * `OptRecord`: a more convenient alternative to `Record<_, Opt>` that provides access to the re-used record header. * `AllOptData`: an enum of all implemented EDNS options. * new methods: * `bits::name::ToRelativeDname::chain` and `chain_root`, * `bits::rdata::UnknownRecordData::rtype` and `data`, * `rdata::rfc1035::Ptr::into_ptrdname` * new re-exports: * `bits::ToDname` and `bits::ToRelativeDname`. Bug fixes * `bits::message::Message::is_answer` also compares the message ID. Updates * IANA DNS data (`iana` module) updated to 2019-01-28 * new record types `ZONEMD` and `DOA`, * new Opcode `DSO`, * new OPT code `DeviceID`, * new security algorithm entry `DELETE`. Dependencies * updated rand to 0.6. ## 0.3.0 Breaking Changes * re-organized part of the old `domain` crate into `domain-core` * re-write of nearly everything # Change Log of Old domain Crate ## 0.2.2 New * `bits` module * `bits::opt`` module for parsing and composing of OPT records and OPT options. Bug fixes * `resolver` module * Resolver may crash with ‘rotate’ option and failing upstream servers. ([#20](https://github.com/partim/domain/issues/20)). Dependencies * updated tokio-core to 0.1.9. ## 0.2.1 Breaking Changes * `bits` module * `DNameBuf::from_iter` renamed to `DNameBuf::try_from_iter` to avoid confusing with `FromIterator` trait. New * `rdata` module * Support for SRV records. (Thanks, @ThibG!) * `resolver` module * Resolving server addresses with SRV records. (Thanks, @ThibG!) Bug fixes * `bits` module * Correctly build later sections of a message in `MessageBuilder`. Dependencies * updated to futures 0.1.14 and tokio-core 0.1.8. ## 0.2.0 Breaking Changes * `bits` module * Domain name iterators have been reworked: * `NameLabels` and `NameLabelettes` are now `DoubleEndedIterator`s. * `RevNameLabels` and `RevNameLabelettes` are gone. Use the `next_back()` methods on the regular iterators instead. * `DName` has lost the `rev_labels()` and `rev_labelettes()` methods. * Method name harmonization: * `DNameSlice::iter()` is now `DNameSlice::labels()`, * `ParsedDName::iter()` is now `ParsedDName::labels()`. * `resolv` module * Almost complete rewrite of the actual resolver to be compatible with tokio’s 0.1 release. * `ResolverTask` is gone. You can now run queries directly on a resolver. * The lookup functions now return a concrete type as their future instead of a boxed future. The names of their success types have been changed in order to harmonize names of future returning functions and the name of their returned types (as in `lookup_host()` returns a `LookupHost` as its future). The functionality of the success types has not changed. Bug fixes New ## 0.1.0 Initial public release.