0.15     2011-06-28

- Skip a test which may fail on other people's machines, as File::LibMagic
  does not return consistent results on all machines.


0.14     2011-06-25

- An email part with non-text content would still be treated as character data
  rather than binary data, and its Content-Type header would end up with a
  charset of us-ascii. This has been fixed, and now you must explicitly ask
  for a charset in the Content-Type header when creating a
  Courriel::ContentType object. Note that plain and html body parts created
  via Courriel::Builder are unaffected, since these always default to UTF-8 as
  the charset. Reported by ico. RT #69085.

- Added Courriel::ContentType->has_charset() and
  Courriel::ContentType->is_binary() methods.


0.13     2011-06-20

- A multipart email build with Courriel::Builder would have a broken
  Content-Type header, missing the required boundary attribute. Reported by
  ico. RT #68694.

- If you explicitly passed unencoded content when creating a part (which
  happens when using Courriel::Builder), that content would be modified so it
  had CRLF line endings. Now, such content is left untouched. Reported by
  ico. RT #68695.

- When passing encoded content to the Courriel::Part::Single constructor, the
  constructor used to modify the content so it had CRLF line endings. Now it
  is left alone.

- Note that if you're passing raw content to the Single constructor _and_
  setting the transfer encoding to 7bit, 8bit, or binary, then you'll end up
  with a noncomformant email. However, by default all raw content is base64
  encoded. It is strongly recommended that you pass raw content and let
  Courriel take care of the transfer encoding.


0.12     2011-06-07

[BUG FIXES]

- The value returned by Courriel::Part::Single->content() was not decoded to
  Perl's native utf-8 character set. Similarly, when encoding content for
  transfer, it was not first transformed to raw bytes.


0.11     2011-06-07

[BUG FIXES]

- Courriel::Builder now adds a "MIME-Version: 1.0" header to all emails it
  creates unless you explicitly set this header, which you probably shouldn't,
  since the only valid value is "1.0". This is a required header for MIME
  emails per RFC2045.


0.10     2011-06-07

[BUG FIXES]

- When parsing an email, the encoding attribute for parts was not set
  correctly, and ended up defaulting to 8bit for all parts. Now the encoding
  is set based on the part's Content-Transfer-Encoding header.


0.09     2011-06-06

[NEW FEATURES]

- This distro now ships a plugin for Email::Abstract, meaning you can use
  Courriel with Email::Sender.


0.08     2011-06-06

[API CHANGES]

- The content() and encoded_content() methods for Courriel::Part::Single now
  return strings, rather than references. This makes the typical use
  simpler. You can still get the reference directly by calling content_ref()
  and encoded_content_ref().

[BUG FIXES]

- Make sure that any Content-ID header set via Courriel::Builder is formatted
  properly (the id value should be wrapped in angle brackets).


0.07     2011-06-06

- Some tests were failing because File::LibMagic may return slightly different
  results on different systems (application/x-perl versus text/x-perl).


0.06     2011-06-05

- Add missing test prereq on File::Slurp.

- The clone_without_attachments() method could end up setting the wrong
  encoding when creating a new single part email.


0.05     2011-06-04

- The clone_without_attachments() method would die when calling on an email
  that contained both plain and html inline parts.


0.04     2011-06-04

- Add missing prereq on File::LibMagic (needed since 0.02).


0.03     2011-06-04

- The encoding parameter is now always set in a part's headers.


0.02     2011-06-04

- Added all_parts_matching() method to Courriel class.

- Added clone_without_attachments() method to Courriel class.

- The Courriel::Part::Single attribute raw_content has been renamed as
  encoded_content.

- The text_body_part() method is now called plain_body_part().

- The add() and unshift() methods in Courriel::Headers now accept only one
  value.

- Added Courriel::Headers->replace as a convenience method.

- A header with attributes (like Content-Type) can escape values inside a
  quoted string, like value="foo \" bar". Courriel wasn't unescaping these
  values.

- It is now possible to pass a Courriel::Disposition object explicitly when
  constructing a Courriel::Part::Single object. The docs said this was
  possible in 0.01, but the parameter was just ignored.

- If a part is created with an explicit content_type and/or disposition
  object, the part's headers will be updated so that the Content-Type and
  Content-Disposition match the given object.

- The boundary for a Multipart part and the boundary in its ContentType's
  attributes will always be the same.

- All classes now use MooseX::StrictConstructor.

- Some hacks to make it possible for Courriel to play nice with
  Email::Abstract.

- Fixed some small doc errors.


0.01     2011-05-31

- First release upon an unsuspecting world.