## 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][]) [RFC 2387]: https://datatracker.ietf.org/doc/html/rfc2387#section-3.1 [#68]: https://github.com/purebred-mua/purebred-email/issues/68 [#69]: https://github.com/purebred-mua/purebred-email/issues/69 ## Older versions See Git commit history