Features:
* #647 – IMAP: specify IMAP server search charset with Mail.find(search_charset: 'UTF-8'). (yalab)
* #664 - RSpec: with_html and with_text matchers. (zakkie)
* #723 – IMAP: support `enable_starttls: true` for TLS upgrade on non-IMAPS/SSL servers. (doits)
* #856 - Added :logger delivery method. (zacholauson)
* #900 - Support non-instance_eval builder API. Yield self to Mail.new if the provided block takes any arguments. (taavo)
* #1111 - Mail::Field.parse API which deprecates calling Mail::Field.new with unparsed header fields. (jeremy)
* #1117 - Configurable POP3 read_timeout. (hspazio)
Performance:
* #1119 - Speed up large attachment encoding by memoizing slow ASCII-only checks. (dalibor)
Compatibility:
* #535 - IMAP: fetch messages WITH IMAP FLAGS by passing a block with four args. (lawrencepit)
* #558 - Parser: cope with unknown charsets in header fields by falling back to ASCII. (boesemar)
* #683 - SMTP: Work around Net::SMTP dot-stuffing bug with unterminated newlines on Ruby 1.8 and 1.9. (yyyc514)
* #766 - No longer strip 'Subject: ' from legit subject lines. (grosser)
* #1103 – Support parsing UTF-8 headers. Implements RFC 6532. (jeremy)
* #1106 – Limit message/rfc822 parts' transfer encoding per RFC 2046. (ahorek)
* #1112 – Support Windows-1258 charset by parsing it as Windows-1252 in Ruby. (jeremy)
* #1114 – Setting `mail.body = …` on a multipart message now adds a new text part instead of adding a raw MIME part. (jeremy)
* #1159 – Parse emails with \n newlines so long as they have no binary content. (jeremy)
Bugs:
* #684 - Fix recursively fetching attachments from an embedded message/rfc822 part whose Content-Type header has additional parameters. (vongruenigen)
* #689 - Fix Exim delivery method broken by #477 in 2.5.4. (jethrogb)
* #792 - Allow blank filenames in Content-Disposition field. (robinroestenburg)
* #876 - Fix that Mail::Message#add_file was adding a stray filename header (kirikak2)
* #923 – Fix decoding nested quotes around non-US-ASCII addresses. (averell23)
* #1107 - Fix Address#display_name and other formatting flip-flopping between encoded and decoded forms depending on whether #encoded or decoded was called last. (jeremy)
* #1110 - Fix that Mail::Multibyte::Chars#initialize mutated its argument by calling force_encoding on it. (jeremy)
* #1113 - Eliminate attachment corruption caused by CRLF conversion. (jeremy)
* #1131 - Fix that Message#without_attachments! didn't parse the remaining parts. (jeremy)
* #1019 - Fix b value encoder incorrectly splitting multibyte characters. (Kenneth-KT)
* #1157 - Fix base64 attachment transfer encoding being overridden by quoted-printable. (dalibor)