Changelog of @hackage/purebred-email 0.7

Version 0.7 (2025-08-31)

  • Support non-ASCII UTF-8 in Subject and other unstructured headers. (#82)

  • Support non-ASCII UTF-8 in display name in the Data.IMF.Text parser (the ByteString parser still only supports non-ASCII input via encoded-word). (#87)

  • Export contentTypeMultipart so that users can create all kinds of multipart messages. (#81)

  • Add headerAuthor, for and reading the Author: header field defined in [RFC 9057]. (#77)

  • Add support for parsing MIME subparts without bodies. The new entities' traversal visits all parts, projecting Just body where there is a body otherwise Nothing. The MIME data type gets the new PartNoBody constructor. (#90)

Version 0.6 (2022-09-13)

  • Parameterise the ContentType data type over the "parameters" field. The type becomes ContentTypeWith a. The data constructor name remains ContentType. Reintroduce ContentType as a type synonym for ContentTypeWith Parameters. A "bare content type" without parameters can be represented as ContentTypeWith ().

  • Introduce emptyParameters :: Parameters. It is the same as mempty but is convenient where mempty is ambiguous.

  • Accept Content-Type: multipart/related without type parameter.

    RFC 2387 requires the type parameter. Nevertheless some producers, including GMail and Fastmail, generate non-conformant messages without the type parameter. Wrap the Related constructor's ContentType field in a Maybe. (#68)

  • Introduce the ContentID type and use it for the multipart/related start parameter.

  • Add missing end-of-input assertions to several "secondary" parsers, which could otherwise accept invalid data.

  • defaultCharsets: recognise ascii as an alias of us-ascii. (#69)

Older versions

See Git commit history