The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

===== ChangeLog of Mail::Message version 3.*

Unless noted otherwise, these changes where initiated and applied by
Mark Overmeer.

Limitations to be fixed:
	- when lines are over 997 chars, then the transfer-encoding should
	 automatically change from 'none' into 'quoted-printable' or 'base64'

version 3.015: Mon 11 Dec 09:58:17 CET 2023

	Fixes:
	- accept empty fields without complaint. [Andy Beverley]
	- fix counting epilogue trailing blank [Gregor Herrmann] GitHub#18, RT#150141

version 3.014: Wed 18 Oct 12:16:55 CEST 2023

	Changes:
	- handle utf8 in address phrases, according to RFC5335 (since
	  2008 experimental)  May show some changes in your regression
	  tests.  [Andy Beverley]

	Fixes:
	- epilogue starter test needs ^ anchor
	  github issue #16 [Jacob Balazer]
	- existing preamble should keep at least one empty string to
	  indicate its existence.
	  github issue #18 [Jacob Balazer]
	- clean error when field names are too long w.r.t. the fold
	  wrap.  Found by [Raphaƫl Gertz]

version 3.013: Sat 24 Jun 17:25:11 CEST 2023

	Changes:
	- In header lines, leave the actual white-space related to FWS
	  intact.  You may want to add s/\t/ / before you print a header.
	  GitHub#7 [Jacob Balazer]
	- When the comment in an address has no closing ')', do consume
	  the whole remaining line, not fail parsing.
	  GitHub#6 [Jacob Balazer]
	- When the charset of a ::Body is not specified, a real attempt is
	  made to autodetect the best setting.  For reading, constructing,
	  and writing bodies.  GitHub#12 [Jacob Balazer]
	  ** This may change the output of your regression tests: previously,
	  the default interpretation was 'us-ascii' for reading and 'utf-8'
	  for writing.

	Fixes:
	- ::Field::Full consumePhrase() should take minimal encoded
	  phrase [Jonas Ryssel]
	- ::Field::Address overloaded cmp() used 'eq' where it should
	  have been 'cmp'
	- partNumber when the multipart parent is a nested [Geoffrey Bennett]
	- ::Body::Multipart, even when there is only a single \n after the
	  trailing boundery, then there is a epilogue.
	  github issue #16 [Jacob Balazer]

	Improvements:
	- run regression-tests with MIME::Entity on devel system.
	- ::Body->decode autodects missing charset.
	- The ability to set the charset detector via ::Body::Encode
	  method charsetDetectAlgorithm()
	- New release of User::Identity
	- When the message/rfc822 and has Content-Transfer-Encoding, then do
	  not parse it as "nested" but as normal part.
	  github issue #17 [Todd Richmond]

version 3.012: Fri 11 Feb 11:34:31 CET 2022

	Fixes:
	- ::Field::Attributes should be stored case intensively
	 rt.cpan.org#140894 [Yanyan Yang]
	- ::Field::Full phrase with encoding qp parsing failed when
	  the qp contains non-atext characters. Github#2 [Andy Beverley]
	- ::Field::Full QP encoding must be more strict for use in
	  MIME headers.  Github#3 [Andy Beverley]
	- Coercion from Mail::Address to Mail::Message::Full::Address
	  is too lazy.  Github#4 [Andy Beverley]

	Improvements:
	- extend date in mbox-separator to accept 203X as well.

version 3.011: Tue 27 Jul 13:30:38 CEST 2021

	Improvements:
	- textAlternativeForHtml can now be configured to actually change
	  left- and rightmargin [Tristan Miller]

version 3.010: Wed 14 Oct 19:22:36 CEST 2020

	Fixes:
	- username of address as quoted-string. [Andy Beverley]

version 3.009: Fri  7 Feb 15:22:18 CET 2020

	Fixes:
	- avoid folding inside phrases.  Also, encode more characters.
	  Reported by [Andrew Beverley]

version 3.008: Mon 11 Feb 12:30:40 CET 2019

	Fixes:
	- test with windows path [cpantesters]
	- when a message gets coerced, its components should not be delayed [fany]
	- date fields recognizing 2-digit years [Andrew Beverley]

	Improvements:
	- failing AUTOLOAD on ::Body gives unclear error
	- dates after 2030 for message separator in mbox

version 3.007: Mon  3 Sep 07:58:36 CEST 2018

	Changes:
	- nicer algorithm to generate disposition filenames.

	Fixes:
	- fix metadata [Mohammad S Anwar]
	- enforce stringification on ::Field::Attribute->new(value) [Andy Beverley]
	- dispositionFilename() accepts (some) blanks, strips more chars
	  rt.cpan.org#125350 [Gary Funck]
	- understand quotes in a field body for get() [Andy Beverley]

	Improvements:
	- add pod tester

version 3.006: Wed 24 Jan 16:55:26 CET 2018

	Improvements:
	- spell corrections rt.cpan.org#123993 [Damyan Ivanov, debian]
	- add some 'use warnings'
	- convert to GIT
	- publish on GitHUB

version 3.005: Fri 22 Dec 09:43:45 CET 2017

	Fixes:
	- repair loose dependency on Mail::Transport [cpantesters]
	  rt.cpan.org#123929 [Slaven Rezic]

version 3.004: Thu 21 Dec 09:08:52 CET 2017

	Fixes:
	- field unfold replaces leading whitespace into blank. [Mark Nienberg]

	Improvements:
	- improve docs on $msg->send().

version 3.003: Wed  8 Nov 13:02:24 CET 2017

	Fixes:
	- incorrect use of reftype.   rt.cpan.org#121244 [Matthew Darwin]
	- missing 'use warnings' in ::Build

version 3.002: Mon  4 Sep 21:30:43 CEST 2017

	Improvements:
	- support structured Authentication-Results header.
	- decompose structured DKIM-Signature header
	- folding of encoded unstructured fields do now take length of header into
	  account.

version 3.001: Wed 26 Jul 14:22:22 CEST 2017

	Fixes:
	- license accidentally changed to 'artistic', back to 'perl'
	  rt.cpan.org#120319 [Jitka Plesnikova]
	- have some log-level on object already during init.

	Improvements:
	- new option ::Body::new(filename)

version 3.000: Thu  2 Feb 15:39:10 CET 2017

	Changes:
	- split-off from Mail::Box
	- supports perl from 5.10 (was 5.8.5)