Skip to content

Sisimai 5

Compare
Choose a tag to compare
@azumakuniyuki azumakuniyuki released this 02 Feb 14:42
· 84 commits to master since this release
  • release: ""Fri, 2 Feb 2024 23:22:22 +0900 (JST)
  • version: "5.0.0"
  • changes:
    • INCOMPATIBLE CHANGES SINCE SISIMAI VERSION 4
      • Sisimai requires Ruby 2.4 or later
      • Sisimai.make marked as obsoleted and will be removed at Sisimai v5.1.0, use Sisimai.rise
        instead
      • Sisimai doesn't return the result which reason is vacation by default. Use vacation: true
        option at Sisimai.rise() method to get the parsed results for vacation reason. #220, #222
      • Sisimai::Data and Sisimai::Fact
        • #208 Sisimai::Data has been renamed to Sisimai::Fact
        • #197 Sisimai::Data.softboucne marked as obsoleted and will be removed at v5.1.0, use
          Sisimai::Fact.hardbounce instead
      • #198 Sisimai::Message
        • Sisimai::Message no longer creates an object
        • Sisimai::Message.make renamed to Sisimai::Message.rise
      • Callback feature #191
        • Parameter :hook for the callback feature has been removed from Sisimai.rise() and
          Sisimai.dump() methods. Use the first element of :c___ parameter for setting a callback
          method instead.
        • Parameter :c___ is a parameter of Sisimai.rise and Sisimai.dump, is an array refer-
          ence and have two elements:
        • The first element of :c___ is the same with :hook parameter, is for a callback method
          email headers and entire message body
        • The second element of c___ parameter is for a callback method for each email file in
          Maildir/. The callback method is called at the end of each email file parsing.
        • Implement the following error reasons:
          • AuthFailure is a bounce reason which rejected due to SPF, DKIM, or DMARC failure #236
          • BadReputation is a bounce reason which rejected due to an IP address reputation #240
          • NotCompliantRFC is a bounce reason which rejected due to non-compliance with RFC
          • RequirePTR is a bounce reason which rejected due to missing PTR or having invalid PTR
          • Speeding is a bounce reason which rejected due to exceeding a rate limit or sending too
            fast #239
    • Implement Sisimai::RFC2045: Born again Sisimai::MIME for compatibility with the Go language
      version of Sisimai #199
    • Sisimai uses minitest as a test framework, RSpec has been removed
    • #217 Sisimai::Message.rise() parses twice when the entire message body of a bounced mail is
      multi parted begins with "message/rfc822".
    • #218 Add error messages in some European languages into Office365 and Domino
    • #228 Implement Sisimai::SMTP::Transcript for parsing a transcript of session log
    • #254, #255 Reduce 78% of regular expressions
      • Implement the following methods:
        • Sisimai::SMTP::Command.test
        • Sisimai::SMTP::Reply.test
        • Sisimai::SMTP::Status.test
        • Sisimai::SMTP::Status.prefer
        • Sisimai::String.aligned
        • Sisimai::String.ipv4
    • Rename the following classes in Sisimai::Rhost:
      • Sisimai::Rhost::Microsoft (ExchangeOnline)
      • Sisimai::Rhost::Google (GoogleApps)
      • Sisimai::Rhost::Tencent (TencentQQ)
    • Add a sample email bounced from Rakuten Mobile: sisimai/set-of-emails#20
      • lhost-postfix-76.eml (userunknown)
    • Add sample emails bounced from Amazon SES
      • lhost-postfix-77.eml (norelaying)
      • lhost-postfix-78.eml (contenterror)
    • Happy Birthday to Suzu a.k.a. "Neko-dono" Michitsuna 🐈