Skip to content

Releases: truemail-rb/truemail

v2.2.2

30 Dec 21:39
c358845
Compare
Choose a tag to compare
  1. Updated gem development dependencies
  2. Updated rubocop config
  3. Updated gem changelog
  4. Updated gem version to 2.2.2

v2.2.1: Bugfix/UndefinedConversionError

06 Dec 18:12
235e2e8
Compare
Choose a tag to compare

Fixed Encoding::UndefinedConversionError in Truemail::Log::Serializer::ValidatorJson#serialize. Filter out ASCII-8BIT chars for serialized SMTP response errors. Also added missed smtp_fail_fast attribute to serialized validator and auditor results.

  1. Updated Truemail::Log::Serializer::Base
  2. Updated Truemail::Log::Serializer::ValidatorBase
  3. Refactored Truemail::Configuration
  4. Updated gem development depemdencies
  5. Updated linters/codeclimate configs
  6. Updated JSON auditor/validator schemas
  7. Updated readme, changelog
  8. Updated gem version to 2.2.1

v2.2.0: Feature/SMTP fail fast

01 Dec 06:39
a72374f
Compare
Choose a tag to compare

Ability to use fail fast behaviour for SMTP validation layer. When smtp_fail_fast = true it means that truemail ends smtp validation session after first attempt on the first mx server in any fail cases (network connection/timeout error, smtp validation error). This feature helps to reduce total time of SMTP validation session up to 1 second.

Truemail.configure do |config|
  config.smtp_fail_fast = true # by default it's equal to false
end
  1. Added Truemail::Configuration#smtp_fail_fast
  2. Added Truemail::Validate::Smtp#smtp_fail_fast?
  3. Added Truemail::Validate::Smtp#filtered_mail_servers_by_fail_fast_scenario
  4. Updated Truemail::Validate::Smtp#establish_smtp_connection
  5. Updated readme, changelog
  6. Updated gem version to 2.2.0

v2.1.0: Feature/Collect only unique ip-addresses for target mail servers

21 Nov 11:02
949af3c
Compare
Choose a tag to compare

This release should reduce email validation time for case when remote server have closed connection via avoiding connection attempt to server with the same ip address.

  1. Updated Truemail::Validate::Mx#fetch_target_hosts
  2. Updated gem changelog
  3. Updated gem version to 2.1.0

v2.0.2

14 Nov 21:56
eb118bd
Compare
Choose a tag to compare
  1. Updated Truemail::RegexConstant::REGEX_EMAIL_PATTERN
  2. Updated gem development dependencies
  3. Updated linter config
  4. Updated gem changelog, documentation
  5. Updated repository github templates
  6. Updated gem version to 2.0.2

v2.0.1

20 Oct 08:46
Compare
Choose a tag to compare
  1. Updated gem development dependencies
  2. Updated gem documentation, changelog
  3. Updated gem version to 2.0.1

Bugfix/SMTP connection errors

20 Oct 07:30
0d0d623
Compare
Choose a tag to compare

FIxed SMTP connection errors: invalid HELO hostname (localhost), duplicate HELO (verifier domain).

  1. Updated Truemail::Validate::Smtp::Request#run
  2. Updated Truemail::Validate::Smtp::Request#session_data
  3. Updated behaviour of collecting Truemail::Validate::Smtp::Response instance
  4. Updated gem documentation, changelog
  5. Updated gem version to 2.0.0

Now helo is a Boolean instead of Net::SMTP::Response instance. It was changed because helo is sending during SMTP-session initializing (Net::SMTP.new.start), and helo is always true if session up is okay. Also hello response won't logged as error if it happens. Example of Truemail::Validate::Smtp::Response instance from 2.x version.

#<struct Truemail::Validate::Smtp::Response:0x00007fa74704cd10
  port_opened=true,
  connection=true,
  helo=true, # Returns Boolean instead of Net::SMTP::Response instance
  mailfrom=false,
  rcptto=nil,
  errors={:mailfrom=>"server response timeout"}>

Feature/Input email type checking

02 Oct 18:24
e63eabf
Compare
Choose a tag to compare

Added error handling for invalid types as input email.

  1. Added Truemail::TypeError
  2. Updated Truemail.validate
  3. Updated Truemail.valid?
  4. Updated gem changelog
  5. Updated gem version to 1.9.2

Compatibility with Ruby 2.7.x

21 Sep 08:46
8977763
Compare
Choose a tag to compare

Migrated to updated Ruby 2.7.x syntax.

  1. Updated Truemail::Configuration#logger=
  2. Updated gem dependencies
  3. Updated linters configs
  4. Updated gem changelog
  5. Updated gem version to 1.9.1

Feature/Host auditor serializer

01 Sep 08:11
63e96be
Compare
Choose a tag to compare

Ability to use Truemail::Auditor instance represented as json directly:

Truemail.host_audit.as_json

=>
# Serialized Truemail::Auditor instance
{
  "date": "2020-08-31 22:33:43 +0300",
  "current_host_ip": "127.0.0.1",
  "warnings": {
    "dns": "A-record of verifier domain not refers to current host ip address", "ptr": "PTR-record does not reference to current verifier domain"
  },
 "configuration": {
    "validation_type_by_domain": null,
    "whitelist_validation": false,
    "whitelisted_domains": null,
    "blacklisted_domains": null,
    "not_rfc_mx_lookup_flow": false,
    "smtp_safe_check": false,
    "email_pattern": "default gem value",
    "smtp_error_body_pattern": "default gem value"
  }
}
  1. Updated Truemail::Auditor, Truemail::Validator
  2. Refactored Truemail::Log::Serializer namespaces
  3. Implemented Truemail::Log::Serializer::AuditorJson
  4. Optimized regex
  5. Updated gem dependencies
  6. Updated linters configs
  7. Updated gem changelog
  8. Updated gem version to 1.9.0