hickory-dns/CHANGELOG.md

291 lines
9.6 KiB
Markdown
Raw Normal View History

2017-06-28 05:49:55 +00:00
# Change Log: TRust-DNS
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
2017-06-23 14:34:50 +00:00
## 0.10.4
2017-06-28 05:49:55 +00:00
### Added
- Allow more options with Key and KeyUsage
- Initial Resolver implementation
2017-06-23 14:34:50 +00:00
### Fixed
2017-06-28 05:49:55 +00:00
- NSEC coverage bitmap overflow in nightly
- Name::zone_of panic (@SAPikachu)
2017-06-23 14:34:50 +00:00
2017-06-11 04:44:13 +00:00
## 0.10.3
2017-05-30 13:08:47 +00:00
### Fixed
2017-06-11 04:44:13 +00:00
- Proper TCP connection timeout
- Fixed signature format of ECDSA (@SAPikachu) #141
2017-05-30 13:08:47 +00:00
## 0.10.2
### Fixed
- Fixed format of ED25519 keys (@briansmith) #129
### Changed
- Revamped signer and keypair to better deal with public key (possible breaking change)
- Upgraded *ring* to 0.9.x series, requires pkcs8 for key storage
- Dropped support for dangerous private key byte access (possible breaking change)
- Upgraded tokio-rustls and rustls dependencies to support *ring* updates
### Added
- PublicKey and Verifier for verifying with zero copy from KEY and DNSKEY (possible breaking change)
- Pkcs8 as a supported KeyFormat for storage (possible breaking change)
2017-05-09 04:47:17 +00:00
## 0.10.1
2017-03-26 01:42:32 +00:00
### Added
- Added `From<IpAddr>` for Name (reverse DNS) #105
- AppVeyor support #103
2017-04-22 02:11:51 +00:00
- rustls client tls support (seperate crate)
- full support for KEY RR in client
2017-05-08 06:55:28 +00:00
- compatibility tests with BIND for SIG0 updates
- Added full implementation of KEY type
2017-03-12 06:29:04 +00:00
### Changed
2017-05-08 06:55:28 +00:00
- Updated TLS documentation, added more elsewhere, docs required; fixes #102
2017-03-26 01:42:32 +00:00
- Upgraded tokio-core and moved to tokio-io
- *Important* Some `Server` types have been migrated to [RFC#344](https://github.com/aturon/rfcs/blob/conventions-galore/active/0000-conventions-galore.md#gettersetter-apis) style. `get_field()` -> `field()`; `field()` -> `set_field()`
2017-04-22 02:11:51 +00:00
- Moved native-tls client impl to seperate crate
- Defaulted to OpenSSL for tls implementation
2017-03-12 06:29:04 +00:00
2017-05-08 06:55:28 +00:00
### Fixed
- key_tag calculation for DNSKEY and KEY now correct #118 (@jannic)
- SIG0 signing fixed to match RFC and BIND #120 (@jannic)
## 0.10.0
### Changed
- *Important* Possible breaking API change, the original Client has been renamed
In an attempt to reduce the overhead of managing the project. The original
Client has now been revamped to essentially be a synchronous Client over the
ClientFuture implementation. The ClientFuture has proven to be a more stable
and reliable implementation. It was attempted to make the move seamless,
but two new types were introduced, `SyncClient` and `SecureSyncClient`, which
are both synchronous implementations of the old Client function interfaces.
Please read those docs on those new types and the Client trait.
2017-02-09 08:35:44 +00:00
- When EDNS option is present, return only the digest understood matching RRSETs
- All code reformatted with rustfmt
- *Important* breaking change, all `Record` and associated types have been migrated to [RFC#344](https://github.com/aturon/rfcs/blob/conventions-galore/active/0000-conventions-galore.md#gettersetter-apis) style. `get_field()` -> `field()`; `field()` -> `set_field()`
### Removed
- *Important* The original Server implementation was removed entirely. Please
use the ServerFuture implementation from now on. Sorry for the inconvenience,
but this is necessary to make sure that the software remains at a high quality
and there is no easy way to migrate the original Server to use ServerFuture.
### Added
2017-02-09 08:35:44 +00:00
- Initial support for ECDSAP256SHA256, ECDSAP384SHA384 and ED25519 (client and server)
- additional config options for keys to named, see `tests/named_test_configs/example.toml`
2017-02-09 08:35:44 +00:00
- Added DNS over TLS support, RFC 7858, #38
- Added native-tls with support for macOS and Linux (DNS over TLS)
- matrixed tests for all features to Travis
## 0.9.3
### Changed
- updated to rust-openssl 0.9.x series
- restructured dnssec code to better support alternate key formats
## 0.9.2
### Changed
- mio_client is now an optional feature in favor of the futures-rs ClientFuture
2016-12-19 01:39:09 +00:00
## 0.9.1
### Changed
- OpenSSL is now an optional feature for the client
## 0.9.0
2016-11-23 20:05:09 +00:00
### Added
- new ServerFuture tokio and futures based server, #61
- UdpStream & TcpSteam to support stream of messages with src address
- TimeoutStream to wrap TcpStreams to help guard against malicious clients
- Added Notify support to ClientFuture
2016-12-17 07:48:58 +00:00
- Added IntoRecordSet and conversion impls for RecordSet and Record
2016-11-23 20:05:09 +00:00
### Changed
- Split Server and Client into separate crates, #43
- Moved many integration tests to `tests` from `src`, #52
2016-11-24 07:11:57 +00:00
- Migrated all handles to new futures::sync::mpsc impls
2016-12-17 07:48:58 +00:00
- Modified all requisite client methods for IntoRecordSet.
- All client methods now support multiple records per query, update, notify and delete
2016-11-23 20:05:09 +00:00
### Fixed
- Flush TcpStream after fully sending Message
- Recognize no bytes read as closed TcpStream
2016-11-04 02:30:58 +00:00
## 0.8.1
### Fixed
- Fix build on rustc 1.11, #66
2016-11-03 07:17:22 +00:00
## 0.8.0
2016-10-01 14:08:40 +00:00
### Added
2016-10-21 04:49:00 +00:00
- SecureClientHandle, for future based DNSSec validation.
2016-10-01 14:08:40 +00:00
- ClientFuture, futures based client implementation, #32
2016-06-29 06:36:15 +00:00
### Fixed
- Randomized ports for client connections and message ids, #23
2016-10-21 04:49:00 +00:00
- OpCode::From for u8 removed, added OpCode::from_u8(), #36
- Fix for named startup related to ipv6, #56
2016-06-29 06:36:15 +00:00
### Changed
2016-10-21 04:49:00 +00:00
- Upgraded OpenSSL to 0.8.* #50
- Cleaned up the Server implementation to isolate connection handlers
2016-11-03 05:54:58 +00:00
- Deprecated old Client will possibly remove in the future
2016-10-01 14:08:40 +00:00
## 0.7.3 2016-08-12
### Fixed
- Issue #27: label case sensitivity revisited for RRSIG signing, RFC 6840
- TCP reregister on would-block errors
## 0.7.2 2016-08-10
### Fixed
- Issue #28: RRSIG validation of wildcards, label length > wildcard length
## 0.7.1 2016-08-09
### Fixed
- Issue #27: remove implicit case conversion of labels (fixes NSEC validation)
2016-06-21 06:57:18 +00:00
## 0.7.0 2016-06-20
### Added
- Added recovery from journal to named startup
- SQLite journal for dynamic update persistence
2016-06-21 06:28:34 +00:00
- Private Key generation during startup, for dnssec zones
- Read private key from filesystem during start and registers to zone
### Changed
- Removed many of the unwraps in named binary
2016-06-21 06:28:34 +00:00
- Reworked all errors to use error-chain
- Adjusted interface for Signer to use duration
- All `#[cfg(ftest)]` tests now `#[ignore]`
### Fixed
- TXT record case sensitivity
2016-06-02 06:24:25 +00:00
## 0.6.0 2016-06-01
### Added
2016-05-15 08:15:34 +00:00
- Documentation on all modules, and many standard RFC types
- Authority zone signing now complete, still need to load/save private keys
2016-05-19 07:00:40 +00:00
- DNSKEYs auto inserted for added private keys
- New mocked network client tests, to verify zone signing
2016-05-23 06:58:29 +00:00
- NSEC record creation for zone, with tests
2016-05-30 08:28:25 +00:00
- SIG0 validation for Authentication on for dynamic updates
- Client CQADDD operations, delete_by_rdata, delete_rrset, delete_all
- Client compare_and_swap operation... atomics are here!
### Fixed
- Added loop on TCP accept requests
- Added loop on UDP reads
2016-05-03 04:54:35 +00:00
- Upgraded to mio 0.5.1 for some bug fixes
2016-05-23 06:58:29 +00:00
- Not returning RRSIGs with SOA records on authoritative answers
### Changed
- Internal representation of record sets now a full data structure
- Better rrset keys for fewer clones
- Removed many excessive clones (should make requests even faster)
- Cleaned up authority upsert and lookup interfaces
- All authorities default to IN DNSCLASS now (none others currently supported)
- Cleaned up the Signer interface to support zone signing
2016-05-11 05:11:45 +00:00
- Simplified RData variant implementations
2016-05-30 08:28:25 +00:00
- Improved ENDS and SIG0 parsing on Message deserialization
2016-04-08 06:46:25 +00:00
## 0.5.3 2016-04-07
### Fixed
- [Linux TCP server mio issues](https://github.com/bluejekyll/trust-dns/issues/9)
### Changed
- combined the TCP client and server handlers
- reusing buffer in TCP handler between send and receive (performance)
2016-04-05 04:37:30 +00:00
## 0.5.2 2016-04-04
2016-03-31 06:40:05 +00:00
### Changed
- updated mio to 0.5.0
2016-03-31 06:40:05 +00:00
- updated chrono to 0.2.21
- updated docopt to 0.6.78
- updated log to 0.3.5
- updated openssl to 0.7.8
- updated openssl-sys to 0.7.8
- updated rustc-serialize to 0.3.18
- updated toml to 0.1.28
2016-03-31 06:20:11 +00:00
## 0.5.1 2016-03-30
### Added
2016-03-23 04:36:17 +00:00
- NSEC3 resolver validation
- data-ecoding as a dependency (base32hex)
- trust-dns banner on boot of server
### Changed
- Changed the bin.rs to named.rs, more accurate, allow for other binaries
2016-03-23 04:36:17 +00:00
## 0.5.0 2016-03-22
### Added
2016-03-23 04:48:54 +00:00
- Updated rust-openssl to 0.7.8 which include new RSA creation bindings
2016-03-23 04:36:17 +00:00
- NSEC resolver validation
2016-03-15 06:59:49 +00:00
- NSEC3 parsing support
- DNSSec validation of RRSIG and DNSKEY records back to root cert
- Integration with OpenSSL (depends on fork until rust-openssl 0.7.6+ is cut)
2016-03-15 06:59:49 +00:00
- Binary serialization and deserialization of all DNSSec RFC4034 record types
- EDNS support
- Coveralls support added
- Partial implementation of SIG0 support for dynamic update
- SRV record support
### Changed
- Dual licensed with MIT (and Apache 2.0)
- Abstracted Client over TCP and UDP for common implementation of queries
### Fixed
- Binary Serialization and Deserialization of NSEC3
- AXFR SOA ordering
- Travis build failing
### Deprecated
2016-03-15 06:59:49 +00:00
- See updated trust_dns::client::Client API
## 0.4.0 2015-10-17
### Added
- Added AXFR support
- Dynamic update support
### Fixed
- Name pointer support
## 0.3.1 2015-10-04
### Fixed
- Removed buffer clone during label pointer decoding (speed/memory)
2016-03-15 06:59:49 +00:00
- Removed a lot of unnecessary clones, heavier use of Rc
- Binary server bugs (fully functional)
## 0.3.0 2015-09-27
### Added
- Master zone files support BIND time formats, e.g. #h#d
- Toml config file support (not compatible with BIND)
## 0.2.1 2015-09-17
### Added
- Functional tests to verify against other DNS servers
### Changed
- mio replaced std::net operators
## 0.2.0 2015-09-07
### Added
- Server support with catalog and tests for example.com
- Parsing example rfc1035 master file
- new lexer for master zone files with simplified FSM
- Travis CI testing support
- Supported Client with operational query
- Writers for Record Data
- All RFC1035 fields parsing!
- label parsing with UTF8 support
- DNS Class and RecordType enums
### Fixed
- Crates.io keywords, etc.
### Changed
- Cleaned up binary encoders and decoders with objects
## 0.1.0 2015-08-07
### Added
- Started parsing resource records
- Initial Commit!