All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Public DecodeHeaders function for getting header data without processing the body parts (thanks requaos.)
- Test coverage over 90% (thanks requaos!)
- Update dependencies
- Do not attempt to detect character set for short messages (#131, thanks requaos.)
- Possible slice out of bounds error (#134, thanks requaos.)
- Tests on Go 1.13 no longer fail due to textproto change (#137, thanks to requaos.)
0.6.0 - 2019-08-10
- Make ParseMediaType public.
- Improve quoted display name handling (#112, thanks to requaos.)
- Refactor MIME part boundary detection (thanks to requaos.)
- Several improvements to MIME attribute decoding (thanks to requaos.)
- Detect text/plain attachments properly (thanks to davrux.)
0.5.0 - 2018-12-15
- Use github.com/pkg/errors to decorate errors with stack traces (thanks to dcomier.)
- Several improvements to Content-Type header decoding (thanks to dcormier.)
- File modification date to encode/decode (thanks to dann7387.)
- Handle non-delimited address lists (thanks to requaos.)
- RFC-2047 attribute name deocding (thanks to requaos.)
- Only detect charset on
text/*
parts (thanks to dcormier.) - Stop adding extra newline during encode (thanks to dann7387.)
- Math bug in selecting QP or base64 encoding (thanks to dann7387.)
0.4.0 - 2018-11-21
- Override declared character set if another is detected with high confidence (thanks to nerdlich.)
- Handle unquoted specials in media type parameters (thanks to requaos.)
- Handle barren Content-Type headers (thanks to dcormier.)
- Better handle malformed media type parameters (thanks to dcormier.)
- Use iso-8859-1 character map when implicitly declared (thanks to requaos.)
- Treat "inline" disposition as message content, not attachment unless it is accompanied by parameters (e.g. a filename, thanks to requaos.)
0.3.0 - 2018-11-01
- CLI utils now output inlines and other parts in addition to attachments.
- Clone() method to Envelope and Part (thanks to nerdlich.)
- GetHeaderKeys() method to Envelope (thanks to allenluce.)
- GetHeaderValues() plus a suite of setters for Envelope (thanks to nerdlich.)
- Use value instead of pointer receivers and return types on MailBuilder methods. Cleaner API, but may break some users.
enmime.Error
now conforms to the Go error interface, itsString()
method is now deprecated.NewPart()
constructor no longer takes a parent parameter.- Part.Errors now holds pointers, matching Envelope.Errors.
- Content is now populated for binary-only mails root part (thank to ostcar.)
- Part no longer implements
io.Reader
, content is stored as a byte slice inPart.Content
instead.
0.2.1 - 2018-10-20
- Go modules support for reproducible builds.
0.2.0 - 2018-02-24
- Encoded filenames now have unicode accents stripped instead of escaped, making them more readable.
- Part.ContentID
- is now properly encoded into the headers when using the builder.
- is now populated from headers when decoding messages.
- Update go doc, add info about headers and errors.
- Part.Read() and Part.Utf8Reader, they are deprecated but should continue to function until 1.0.0.
- Initial implementation of MIME encoding, using
enmime.MailBuilder
- Create release branch:
git flow release start 1.x.0
- Update CHANGELOG.md:
- Ensure Unreleased section is up to date.
- Rename Unreleased section to release name and date.
- Add new GitHub
/compare
link.
- Run tests
- Commit changes and merge release:
git flow release finish
See http://keepachangelog.com/ for additional instructions on how to update this file.