# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## v0.7.1 (06.11.2024) ### Changed - Updated base image of Docker container from `rust:1.81.0` to `rust:1.82.0` ### Documentation - Fixed default requests count in features section of readme file. - Added opt-in table of contents to the readme file and DockerHub overview. - Refactored list of built-in servers into two columns to make it more compact inside the readme file and DockerHub overview. - Added crates.io downloads badge into the readme file. ### Dependencies - Updated `serde` from 1.0.210 to 1.0.214 ## v0.7.0 (27.10.2024) ### Added - Colorized the contents of the success rate and duration columns in the output table, depending on the values. - Add SafeDNS to the built-in servers list. - Add NextDNS to the built-in servers list. ### Changed - Significantly modified the progress bar appearance; instead of a single progress bar, it now shows the progress of each DNS server separately. - Increased the frequency of progress bar updates. - Updated base image of Docker container from `rust:1.78.0` to `rust:1.81.0` - Changed default number of requests to each DNS server from `10` to `25` to make the benchmark more accurate. ### Documentation - Added `-it` arguments to Docker container usage command. Without this arguments, the progress bar will not be displayed and the stdout will be empty until the end of the benchmark. - Fixed broken links on the custom servers file example inside the Docker overview. - Updated the example gif-animation. ### Dependencies - Updated `clap` from 4.5.4 to 4.5.20 - Updated `toml` from 0.8.13 to 0.8.19 - Updated `lazy_static` from 1.4.0 to 1.5.0 - Updated `serde` from 1.0.203 to 1.0.210 - Updated `tabled` from 0.15.0 to 0.16.0 ## v0.6.0 (02.06.2024) ### Added - Added `--custom-servers-file` option to specify a custom file with DNS servers list to use instead of built-in list. - Added DNS.WATCH to built-in list. - Added Norton ConnectSafe to built-in list. - Added docker image and published it to Docker Hub for users who don't have Rust programming language environment installed on their machines. - Covered some code with tests. ### Documentation - Added "Which method to choose?" article into installation section. ### Dependencies - Updated `serde` from 1.0.201 to 1.0.203 - Updated `toml` from 0.8.12 to 0.8.13 ## v0.5.1 (16.05.2024) ### Added - Covered some code with tests. ### Build - Removed redundant default features of `serde` crate. ### Documentation - Fixed default requests count in features list. - Fixed default table style in features list. - Updated example gif-animation. - Make example gif-animation to take full page width. ## v0.5.0 (14.05.2024) ### Added - Added `--style` option to configure table style. By default, ASCII style is used. - Added `--save-config` option to save favorite configurations in a file inside user's home directory (`/home/user/.dns-bench/config.toml`) to avoid typing them every time. ### Changed - Changed arguments summary formatting to make it more compact. - Changed table columns names formatting to make to more comfortable to read (i.e. `server_name` => `Server name`, `last_resolved_ip` => `Last resolved IP`). - Changed default table style from `ascii` to `rounded`. - Changed default number of requests to each DNS server from `3` to `10`. - Changed description property inside Cargo.toml. ### Dependencies - Updated `hickory-resolver` from 0.24.0 to 0.24.1 ## v0.4.0 (25.04.2024) ### Added - Added `--protocol` option to specify protocol (either TCP or UDP). - Added `--lookup-ip` option to specify lookup IP version (either IPv4 or IPv6). - Added `--name-servers-ip` option to specify IP version used to establish connection (either IPv4 or IPv6). - Significant code refactoring. - Various minor documentation improvements. ### Changed - Changed MSRV from 1.70.0 to 1.74.1 ### Dependencies - Updated `tabled` from 0.14.0 to 0.15.0 - Updated `clap` from 4.4.11 to 4.5.4 ## v0.3.0 (23.12.2023) - Added `--requests` option to specify custom number of requests to each DNS server. - Added `--timeout` option to specify custom timeout in seconds. - Added Verisign public DNS to built-in list. - Fixed tabled sorting, now failed DNS entries are always at the end of the table. - Fixed error handling, now it shows actual error descriptions instead of static "Failed to resolve" message. - Fixed sending extra requests on fails, `hickory-resolver` got default retries count of 2. - Improved progress bar appearance. - Improved documentation. ## v0.2.0 (17.12.2023) - Boosted performance 5x times by multi thread implementation (now by default 8 threads). - Added `--threads` option to specify custom number of threads. - Added output of total benchmark time. - Updated dependencies: - `clap` from 4.4.7 to 4.4.11 - Replaced `trust-dns-resolver` with `hickory-resolver` ## v0.1.3 (10.11.2023) - Add Level3 DNS to list - README improvements - Updated dependencies: - `trust-dns-resolver` from 0.23.0 to 0.23.2 - `clap` from 4.4.6 to 4.4.7 ## v0.1.2 (05.10.2023) - Add keywords and categories fields into Cargo.toml ## v0.1.1 (04.10.2023) - Add Comodo Secure DNS to list - README improvements ## v0.1.0 (04.10.2023) Initial release