All Versions
35
Latest Version
Avg Release Cycle
24 days
Latest Release
321 days ago

Changelog History
Page 1

  • v2.2.1 Changes

    December 06, 2020

    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 Changes

    December 01, 2020

    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 falseend
    
    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 Changes

    November 21, 2020

    🚀 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 Changes

    November 14, 2020
    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 Changes

    October 20, 2020

    ⚡️ 1. Updated gem development dependencies 📚 2. Updated gem documentation, changelog ⚡️ 3. Updated gem version to 2.0.1

  • v2.0.0 Changes

    October 20, 2020

    🛠 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:0x00007fa74704cd10port\_opened=true,connection=true,helo=true, # Returns Boolean instead of Net::SMTP::Response instancemailfrom=false,rcptto=nil,errors={:mailfrom=\>"server response timeout"}\>
    
  • v1.9.2 Changes

    October 02, 2020

    ➕ 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
  • v1.9.1 Changes

    September 21, 2020

    ⚡️ 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

  • v1.9.0 Changes

    September 01, 2020

    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

  • v1.8.0 Changes

    June 21, 2020

    ➕ Added

    Separated audit features for verifier host.

    • Truemail::Audit::Ip
    • Truemail::Audit::Dns
    Truemail.host_audit
    
    => #<Truemail::Auditor:0x00005580df358828
    @result=
      #<struct Truemail::Auditor::Result
        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=
        #<Truemail::Configuration:0x00005615e86327a8
          @blacklisted_domains=[],
          @connection_attempts=2,
          @connection_timeout=2,
          @default_validation_type=:smtp,
          @email_pattern=/(?=\A.{6,255}\z)(\A([\p{L}0-9]+[\w|\-|\.|\+]*)@((?i-mx:[\p{L}0-9]+([\-\.]{1}[\p{L}0-9]+)*\.[\p{L}]{2,63}))\z)/,
          @response_timeout=2,
          @smtp_error_body_pattern=/(?=.*550)(?=.*(user|account|customer|mailbox)).*/i,
          @not_rfc_mx_lookup_flow=false,
          @smtp_safe_check=false,
          @validation_type_by_domain={},
          @verifier_domain="example.com",
          @verifier_email="[email protected]",
          @whitelist_validation=false,
          @whitelisted_domains=[]>
    

    🔄 Changed

    • Truemail::Auditor
    • Truemail::Auditor::Result
    • Truemail::Audit::Base
    • Truemail::Audit::Ptr
    • Truemail::VERSION
    • 📚 gem documentation