Skip to content

Latest commit

 

History

History
590 lines (315 loc) · 33.6 KB

CHANGELOG.md

File metadata and controls

590 lines (315 loc) · 33.6 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.9.1 (2023-10-08)

Features

Bug Fixes

  • backend: Fix CI priting (748940c)
  • backend: Fix deploy to docker (20fcfa6)
  • backend: Fix dockerfile (f0ed49f)
  • backend: Improve sentry error messages (#1155) (d90d998)
  • backend: Redact email in sentry bug tracking (2c2d1d8)
  • cli: Update flags default values (a4fe57e)
  • core: Add more invalid parsing and improve logging (#1156) (b5ae9f8)
  • core: Default SMTP timeout to 15 (0d4fa4d)
  • core: Don't use headless on Microsoft 465 addresses (#1196) (0c3c21d)
  • core: Fix default CheckEmailInput (09215a1)
  • core: Fix hotmail headless option parsing (6ddc3b9)
  • core: Fix hotmail headless with authenticator (51cdb2e)
  • core: Fix MX random record selection (#1263) (9fae593)
  • core: Improve invalid parser (#1166) (bb46004)
  • core: Improve parser and headless hotmail runner (#1167) (0de33a5)
  • core: Improve parser from Sentry errors (fbaf588)
  • core: Improve parser's is_invalid (#1159) (ec1c4d5)
  • core: No sandbox in headless Hotmail check (0590438)
  • core: Remove antispam check (#1337) (06f18ed)
  • core: Yahoo add back IDENTIFIER_EXISTS (2b63556)
  • core: yahoo api changes: yid is userId now, sessionIndex is required and fo… (#1314) (0209111)
  • Don't auto-fetch Chrome, install in Docker (84fcc0d)
  • split Microsoft 365/Hotmail functionality (#1204) (e987b13)
  • Switch back to upstream fast-socks (#1164) (db356f1)
  • TLS accept unsafe (778692b)
  • Use chromedriver instead of gecko for parallel requests (e282e28)

0.9.0 (2022-08-15)

⚠ BREAKING CHANGES

  • The RUST_LOG target has been changed from check-if-email-exists to reacher.
- RUST_LOG=check-if-email-exists=debug cargo run
- RUST_LOG=reacher=debug cargo run
  • The library's main function check_email's argument CheckEmailInput nows takes a single to_email field, instead of a to_emails: Vec<String>
pub struct CheckEmailInput {
- pub to_emails: Vec<String>,
+ pub to_email: String,
  // --snip--
}
  • The --http flag has been removed from check-if-email-exists CLI. To run a HTTP backend, please refer to the backend subfolder.

Features

0.8.32 (2022-08-13)

Features

Bug Fixes

  • Fix parsing some invalid emails (cb65c0f)
  • Syntax also check using using mailchecker (8385bec)

0.8.31 (2022-08-10)

Improvements

0.8.30 (2022-06-02)

Features

  • Add smtp.error.description field for human-readable description of error (#1111) (43b47ea)

Bug Fixes

  • Fix has_full_inbox check too lenient (93de444)

0.8.29 (2022-03-02)

Features

0.8.28 (2022-02-11)

Features

0.8.27 (2022-02-07)

Features

  • Allow user to define SMTP client security for TLS (#1043) (bc722ff)
  • Break SmtpError into {Helo,Connect,ConnectWithStream,MailFrom,RcptTo,Close}Error (#1055) (64e5193)

0.8.26 (2022-01-26)

Features

Bug Fixes

0.8.25 (2021-10-05)

Features

Bug Fixes

0.8.24 (2021-07-03)

Features

  • Add CheckEmailInput setter set_ prefix to differentiate with accessing fields (#933) (276f656)
  • Add deprecated warning when running HTTP server (#943) (e4b1570)

0.8.23 (2021-06-20)

Bug Fixes

  • Add serde (De)Serialize to pub structs (#931) (949475d)

0.8.22 (2021-03-31)

This is an empty release just to re-run the CI process for building binaries.

0.8.21 (2021-03-31)

This is an empty release just to re-run the CI process for building binaries.

0.8.20 (2021-03-30)

Updates

  • This release only bumps versions of dependencies, and does not introduce any bugfix or improvements.

0.8.19 (2021-01-10)

Features

  • Consider CLI config parameters in HTTP request checks (#827) (88b751a)

Bug Fixes

  • Reconnect auto-closed SMTP connections by foreign server (#825) (01ccf0d)

0.8.18 (2021-01-07)

Bug Fixes

  • Check deliverability using successful response code instead of message parsing (#822) (39d0ecd)

0.8.17 (2021-01-05)

Bug Fixes

  • Add better checks for existing mailboxes (#819) (9f88d01)

0.8.16 (2020-12-07)

Features

  • Add proxy_host and proxy_port info to HTTP (#770) (123f431)

0.8.15 (2020-11-11)

Bug Fixes

  • Don't check inputted email if catch-all (#714) (5129dd1)
  • Fix 'reached the type-length limit while instantiating' (#665) (fa040fd)

0.8.14 (2020-09-24)

Features

  • Add optional timeout on smtp verification (#611) (c70de7d)

Bug Fixes

  • Add more known errors for invalid email (#543) (ad209c7)

0.8.13 (2020-08-04)

Bug Fixes

0.8.12 (2020-08-04)

Bug Fixes

0.8.11 (2020-07-11)

Bug Fixes

  • Add "Invalid email address" check (#471) (3b03617)
  • Add possibility to use proxy in Yahoo API request (#472) (aafcedf)

0.8.10 (2020-07-04)

Bug Fixes

  • Correct message parsing for "receiving at a rate" error (#462) (4b31706)

0.8.9 (2020-07-04)

Features

0.8.8 (2020-06-28)

Bug Fixes

  • Add debug logs for Yahoo (e534670)

0.8.7 (2020-06-28)

Bug Fixes

0.8.6 (2020-06-28)

Bug Fixes

  • Add additional error check for undeliverable (#374) (e52a8f0)
  • Use HTTP requests to verify Yahoo emails (#412) (5fad57d)

0.8.5 (2020-05-21)

Features

  • Expose misc, syntax, mx, smtp modules (#373) (7c1d741)

0.8.4 (2020-05-19)

Bug Fixes

0.8.3 (2020-05-12)

Bug Fixes

0.8.2 (2020-05-12)

Features

Bug Fixes

0.8.1 (2020-05-09)

Bug Fixes

  • Lowercase the error string before matching (#321) (d983b2f)

0.8.0 (2020-05-08)

⚠ BREAKING CHANGES

  • This new version includes an overhaul of the codebase, mainly to prepare the groundwork for the upcoming work on bulk validation. These changes include:
  • The main function email_exists has been renamed to check_email:
- email_exists(&input).await;
+ check_email(&input).await;
  • The input EmailInput has been renamed to CheckEmailInput. Its ::new() method, instead of taking a single String, now takes Vec<String>.

  • The output SingleEmail has been renamed to CheckEmailOutput. The main function check_emails now returns a Vec<CheckEmailOutput>.

pub async fn check_email(inputs: &CheckEmailInput) -> Vec<CheckEmailOutput>
  • The syntax field in CheckEmailOutput is no longer a Result<SyntaxDetails, SyntaxError>, but only SyntaxDetails. Error cases are guaranteed not to happen for syntax validation.

  • The misc, mx, and smtp fields' signatures stay the same: Result<{Misc,Mx,Smtp}Details, {Misc,Mx,Smtp}Error>. However, the Result is an Err only when an internal error arrives. In case of errors due to user input (e.g. incorrect email inputted), the Default trait has been implemented on {Misc,Mx,Smtp}Details and will be returned. As such, the Skipped variant of error enums has been removed.

{
  "input": "foo@bar.baz",
  "mx": {
-    "error": { "cannot resolve" }
+    "accepts_mail": false, // This is Default
+    "records": [] // This is Default
  }
  • The misc, mx, smtp, syntax modules have been made private.
  • The field syntax.valid_format has been renamed to syntax.is_valid_syntax.

Bug Fixes

  • Rename valid_format to is_valid_syntax (#288) (eae6482)

  • Rename main function to check_email (#319) (bd12b7d)

0.7.1 (2020-04-14)

Features

  • Add possibility to verify emails via proxy (#286) (a0ab93f)

0.7.0 (2020-03-26)

⚠ BREAKING CHANGES

  • email_exists only takes one input now, an EmailInput which is built using the builder pattern.
- use check_if_email_exists::email_exists;
+ use check_if_email_exists::{email_exists, EmailInput};

- email_exists("someone@gmail.com", "user@example.org");
+ email_exists(
+   EmailInput::new("someone@gmail.com".to_string()).from_email("user@example.org".to_string())
+ )

EmailInput additionally takes a hello_name() method, which is used to set the name in the EHLO smtp command.

--from in CLI has been replaced with --from-email.

Features

0.6.7 (2020-03-20)

0.6.6 (2020-03-01)

Bug Fixes

  • Allow http to listen to $PORT env variable (#215) (3b0c262)

0.6.1 (2020-02-18)

Features

0.6.0 (2019-12-01)

⚠ BREAKING CHANGES

    • The is_disposable subfield has been moved from the mx field to a separate misc field

Features

  • Add a HTTP server behind the --http flag (#85) (d8b733e)
  • Add Dockerfile & x86_64-unknown-linux-musl target (#86) (cba1241)

0.5.0 (2019-11-16)

Code Refactoring

BREAKING CHANGES

    • The main function email_exists now returns a Future:
pub async fn email_exists(to_email: &str, from_email: &str) -> SingleEmail {}
  • The SmtpError::SmtpError has been renamed to SmtpError::LettreError to show the underlying error more correctly (i.e., coming from lettre crate).
  • The BlockedByISP error has been removed. Instead, you'll see e.g. "connection refused", or whatever is returned by the SMTP server:
{
  // ...,
  "smtp": {
    "error": {
      "type": "LettreError",
      "message": "connection refused"
    }
  },
}

0.4.0 (2019-09-30)

Features

BREAKING CHANGES

  • the smtp's object keys have changed. Instead of
{
  "deliverable": ...,
  "full_inbox": ...,
  "has_catch_all": ...
}

it now returns

{
  "has_full_inbox": ...,
  "is_deliverable": ...,
  "is_disabled": ...,
  "is_catch_all": ...
}

where is_disabled checks if the address has been disabled/blocked by the email provider

0.3.2 (2019-09-26)

Bug Fixes

  • core: SyntaxError also is type & message (#60) (996633b)

0.3.1 (2019-09-26)

Bug Fixes

  • Don't use virtual workspace, be able to build (#59) (6c93893)

0.3.0 (2019-09-26)

Features

  • New error JSON format (#56) (fec4315)
  • Output JSON information with CLI (#53) (1d026d5)
  • Return Result instead of Result, with much more details (#23) (39b13f5)

0.2.3 (2019-05-09)

Bug Fixes

  • Update version to correct version in cli (992777c)

0.2.2 (2019-05-09)

Bug Fixes

  • Fix travis and appveyor to build binaries (f743e67)

0.2.1 (2019-05-09)

Bug Fixes

  • Refactor app to make travis build binaries (#17) (9616ef5)

0.2.0 (2019-05-09)

Features

0.1.1 (2018-12-29)

0.1.0 (2018-12-29)

Features