Revision history for Perl extension Email::MIME.

1.954     2024-05-02 17:12:30-04:00 America/New_York
        - Fix for CVE-2024-4140: An excessive memory use issue (CWE-770)
          exists in Email-MIME, before version 1.954, which can cause denial of
          service when parsing multipart MIME messages.  The fix is the new
          $MAX_PARTS configuration limits how many parts we will consider
          parsing.  The default $MAX_PARTS is 100.

1.953     2023-01-08 19:02:24-05:00 America/New_York
        - as promised, this release no longer works on v5.8; in fact, due to
          some upstream libraries, it hasn't in some time
        - documentation has been cleaned up to stop referencing long-dead other
          libraries or methods
        - some small code changes to benefit from v5.10 and v5.12 improvements

1.952     2021-12-14 09:57:27-05:00 America/New_York
        - exactly 1.951, except will install on 5.8.8
        - **ACHTUNG!**  Do not expect any future release to work on Perl v5.8

1.951     2021-12-14 09:41:01-05:00 America/New_York
        - non-trial release of 1.950 changes

1.950     2020-11-02 19:21:52-05:00 America/New_York (TRIAL RELEASE)
        - when computing filename, start from raw  Content-Disposition (thanks,
          Mishrakk)
        - avoid a potentially very slow regex in parsing (thanks, ivulfson)

1.949     2020-05-24 10:25:36-04:00 America/New_York
        - no changes since trial release

1.948     2020-05-09 14:57:17-04:00 America/New_York (TRIAL RELEASE)
        - fixes to handling of content-type parameters (thanks, dlucredativ and
          Pali Rohár)

1.947     2020-05-09 14:30:06-04:00 America/New_York (TRIAL RELEASE)
        - add $Email::MIME::MAX_DEPTH and refuse to parse deeper than that many
          parts; current default: 10

1.946     2017-08-31 09:29:41-04:00 America/New_York
        - propagate encode_check to subparts (thanks, Michael McClimon)
        - use the new parse_content_disposition function in
          Email::MIME::ContentType (thanks, Pali Rohár)
        - fix a bug in AddressList handling (thanks, Pali Rohár)

1.945     2017-07-25 14:17:32-04:00 America/New_York
        - fix encode-check.t to pass under legacy Test::Builder

1.944     2017-07-25 12:38:41-04:00 America/New_York
        - non-trial release of header_as_obj changes
        - support for supplying a non-croak encode_check (thanks, Matthew
          Horsfall)

1.943     2017-06-09 19:00:09-04:00 America/New_York (TRIAL RELEASE)
        - add Email::MIME::Header::AddressList and related support code

1.942     2017-03-05 08:15:00-05:00 America/New_York (TRIAL RELEASE)
        - This adds ->header_as_obj to get MIME headers out of the header not
          as strings, but as objects.  The field-to-header mapping can be
          amended with the ->set_class_for_header method.

1.941     2017-03-04 19:12:11-05:00 America/New_York (TRIAL RELEASE)
        - pointless mistake release

1.940     2017-01-29 10:33:45-05:00 America/New_York
        - no code changes since 1.939 trial release

1.939     2017-01-14 14:58:44-05:00 America/New_York (TRIAL RELEASE)
        - do not decode MIME headers known to be never encoded (Pali Rohár)
        - ...and that includes the Downgraded-* headers (Pali Rohár)

1.938     2017-01-01 20:03:38-05:00 America/New_York (TRIAL RELEASE)
        - numerous small fixes to header encoding (thanks, Pali Rohár)
          for more details see https://github.com/rjbs/Email-MIME/pull/32
        - When a single-part content type has been provided with multiple
          parts, the user is now warned that the type has been changed to
          multipart/mixed.  This helps catch typos like
          "mutlipart/alternative".

1.937     2016-01-28 13:31:06-05:00 America/New_York
        - eliminate memory leak in walk_parts (again, rjbs)

1.936     2015-09-10 22:46:29-04:00 America/New_York
        - no changes since 1.935, but a stable release

1.935     2015-08-31 16:47:46-04:00 America/New_York (TRIAL RELEASE)
        - do not remove too many newlines at the end (bug introduced in 1.926)

1.934     2015-08-01 20:33:57-04:00 America/New_York
        - fix debug_structure for multipart mail with only one subpart

1.933     2015-07-25 09:30:56-04:00 America/New_York
        - correct Email::Simple prereq
        - skip omitting content-type attributes with undef value

1.932     2015-07-24 22:24:06-04:00 America/New_York
        - stable release of previous trial releases
        - see v1.930 and v1.931, below

1.931     2015-07-12 17:31:01-04:00 America/New_York (TRIAL RELEASE)
        - When doing parts_set to become single-part, do not lose the charset
          and set the mail to us-ascii.

          This is almost certainly a half measure, and this whole hunk of code
          should be improved.

1.930     2015-03-25 22:58:42-04:00 America/New_York (TRIAL RELEASE)
        - rely on the new header_raw methods in new Email::Simple

1.929     2015-02-17 09:31:35-05:00 America/New_York
        - try not to lose unrecognized content-type parameters
        - avoid copying the body content when not needed during construction

1.928     2014-12-15 21:47:49-05:00 America/New_York
        - when converting from single part to multipart, drop
          Content-Transfer-Encoding and Content-Type's charset property
        - update subparts in walk_parts if stringification changes

1.927     2014-12-04 10:19:58-05:00 America/New_York
        - add header_str_pairs; like header_pairs, but decoded
        - remove Email:MIME::Creator from synopsis

1.926     2014-01-28 23:28:41-05:00 America/New_York
        - improve EOL processing with quoted-printable (thanks, Tomohiro
          Hosaka!)
        - avoid uninitialized warnings [rt.cpan.org #91707]

1.925     2013-11-08 07:01:03 America/New_York
        - improve reliability of mail reconstruction during walk_parts (thanks,
          Tomohiro Hosaka!)

1.924     2013-08-10 23:23:55 America/New_York
          update use of Email::MIME::ContentType to match new, fixed hash keys:
          type/subtype

1.923     2013-08-08 21:59:02 America/New_York
          do not consider the part-ending CRLF part of the body

          avoid undefined warnings in debug_structure [rt.cpan.org #82388]
          (Thanks, Kurt Anderson)

          better error message when the given body is a ref but not a scalar
          ref [rt.cpan.org #59205]

1.922     2013-07-10 08:45:02 America/New_York
          repackage, fixing version number

1.921     2013-07-01 22:51:01 America/New_York
          repackage, remove PEP links, update bugtracker

1.920     2013-06-17
          do not call parts_set during walk_parts unless the parts have
          actually changed

          When trying to decode a body, fall back to 7bit if the encoding is
          unknown.  Trying to create a new body in an unknown encoding is still
          forbidden.  This should make it easier to handle broken messages
          from "the internet."  ("Content-Transfer-Encoding: n"!?)

1.912_01  2013-04-08
          try to encode headers based on the header structure, if it has one,
          rather than treating the header as a big string in all cases; thanks
          for this work go to Jesse Luehrs

1.911     2012-07-22
          require a newer Email::Simple and cope with its improved line ending
          tweaks

1.910     2011-09-12

          document the header_str arg to ->create more thoroughly (i.e., at
          all)

1.909     2011-09-08

          dial the perl prereq back to 5.8.1 by popular demand... actually

1.908     2011-06-01

          dial the perl prereq back to 5.8.1 by popular demand

1.907     2011-02-02

          require 5.8.5 for sane encoding

          be more lenient with Content-Tranfser-Encoding values; stop at
          semicolons

1.906     2010-10-07
          update our prereq on Test::More to 0.88

1.905     2010-09-06
          fix a long-standing bug that prevent walk_parts from reaching all
          parts (thanks, Erik Logtenberg)

1.904     2010-09-04
          eliminate memory leak in walk_parts (reported by MKANAT, RT #59581)

1.903     2009-12-23
          correct typo in body_set_str (RT #53004) (thanks, Herbert Leitz)

1.902     2009-11-11
          allow for padding spaces in the Content-Transfer-Encoding header
          (Geraint Edwards)

1.901     2009-11-05
          bump up Email::MIME::Encodings version required

1.900     2009-11-03
          merge in Email-MIME-Modifier and Email-MIME-Creator
          add better support for Unicode with body_str, header_str_set, etc.

1.863     2009-01-30
          no code changes
          add strangely missing copyright information

1.862     2009-01-22
          add repository location metadata
          always require Encode, never MIME::Words; this means that using
            Email::MIME on pre-5.008 will be difficult, if not impossible
          if a header can't be decoded, fall back to the raw header
          move decoding methods to Email::MIME::Header, add header_raw

1.861     2007-11-05
          added perl-minver.t -- Email::MIME requires perl >= 5.006
          we now require Email::Simple 2.003

1.860     2007-07-13
          tentative tweak to tests and C-T-E handling for charset
          probably needs more research, testing, and fixing

1.859     2007-03-20
          minor test improvements
          add "subparts" method

1.858     2007-02-09
          fixed laxity which allowed leading newlines in parts passed to 'new'
          for instantiation; this only broke when used with Email::Simple 1.998

          Shout out to all my former co-workers from General Cinemas unit 858!
          This version is for you.

1.857     2006-11-27
          further severing of Email::MIME from ::Simple's guts

1.856     2006-11-27
          reduce the extent to which Email::MIME touches Email::Simple guts
          improve documentation a bit
          improve packaging

1.855     2006-11-19
1.854     2006-11-12
          fix as_string to work with latest Email::Simple

1.853     2006-11-12
          always call header in scalar context when getting content type
          (thanks, JESSE)

1.852     2006-09-05
          avoid some warnings with undef headers or bodies

1.851     2006-08-22
          test coverage and layout improvements by SSORICHE

1.85      2006-07-13
          avoid memory leak due to circular references
            (bug 7007, starter patch from MARCB)
          pod tests

1.81      2004-10-29
          Fix bug in headers, now returns list in list context.
          Dependency updates.
          Author change.

1.8       Wed Aug 25 10:47:15 BST 2004
          Split filename and invent_filename to separate methods, for the
          Stripper

1.6       Sun Jul  4 21:15:07 BST 2004
          Another fix by Casey - this time, don't decode on as_string

1.5       Thu Jul  1 18:38:06 BST 2004
          That didn't actually fix the bug at all.

1.4       Thu Jul  1 18:35:32 BST 2004
          Only parse attributes if there are some!

1.3       Mon Apr  5 17:25:03 BST 2004
          Bug found by Joshua Hoblitt, fixed by Richard Clamp

1.2       Fri Apr  2 09:50:34 BST 2004
          Test fix from Richard Clamp

0.01      Thu Apr 10 13:38:09 2003
          original version; created by h2xs 1.2 with options -AX -n Email::MIME