Skip to content

Sisimai 5

Compare
Choose a tag to compare
@azumakuniyuki azumakuniyuki released this 02 Feb 14:41
· 98 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 version 5 requires Perl 5.26 or later
        • #446, 448 Use the postfix dereference
      • Sisimai->make marked as obsoleted, use Sisimai->rise instead
      • Sisimai does not return the result which reason is vacation by default. Use vacation => 1
        option at Sisimai->rise() method to get the parsed results for vacation reason. #436 #437
      • Sisimai::Data and Sisimai::Fact
        • #419, #420 Sisimai::Data class has been renamed to Sisimai::Fact
        • #402 Sisimai::Data->softboucne marked as obsoleted and will be removed at v5.1.0, use
          Sisimai::Fact->hardbounce instead
      • #401 Sisimai::Message
        • Sisimai::Message no longer create an object
        • Sisimai::Message->make has been renamed to Sisimai::Message->rise
      • #399 Callback feature
        • Parameter hook for a callback has been removed from Sisimai->make and Sisimai->dump.
          Use the first element of the 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 as the hook parameter, is for a callback method
          email headers and entire message body
        • The second element of the 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 #467
          • BadReputation is a bounce reason which rejected due to an IP address reputation #469
          • 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 #466
    • Implement Sisimai::RFC2045: Born again Sisimai::MIME for compatibility with the Go language
      version of Sisimai #407
    • #429 Sisimai::Message->rise() parses twice when the entire message body of a bounced mail is
      multi parted begins with "message/rfc822".
    • #431 Add error messages in some European languages into Office365 and Domino
    • #445 Implement Sisimai::STMP::Transcript for parsing a transcript of session log
    • #451 Reduce substitution code by using for
    • #490, #495 Reduce 82% 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 🐈