lettre v0.10.1 Release Notes

Release Date: 2022-07-20 // 5 months ago
  • 🔋 Features

    • ➕ Add boring-tls support for SmtpTransport and AsyncSmtpTransport. The latter is only supported with the tokio runtime. (#797) (#798)
    • 🔧 Make the minimum TLS version configurable. (#799) (#800)

    🐛 Bug Fixes

    • Ensure connections are closed on abort. (#801)
    • 🛠 Fix SMTP dot stuffing. (#803)

Previous changes from v0.10.0

  • ⬆️ Upgrade notes

    Several breaking changes were made between 0.9 and 0.10, but changes should be straightforward:

    • MSRV is now 1.56.0
    • 🔀 The lettre_email crate has been merged into lettre. To migrate, replace lettre_email with lettre::message and make sure to enable the builder feature (it's enabled by default).
    • 🏗 SendableEmail has been renamed to Email and EmailBuilder::build() produces it directly. To migrate, rename SendableEmail to Email.
    • The serde-impls feature has been renamed to serde. To migrate, rename the feature.

    🔋 Features

    • ➕ Add tokio 1 support
    • ➕ Add rustls support
    • ➕ Add async-std support. NOTE: native-tls isn't supported when using async-std for the smtp transport.
    • 👍 Allow enabling multiple SMTP authentication mechanisms
    • 👍 Allow providing a custom message id
    • 👍 Allow sending raw emails

    💥 Breaking Changes

    • 🔀 Merge lettre_email into lettre
    • 🔀 Merge Email and SendableEmail into lettre::message::Email
    • 🏗 SmtpTransport is now an high level SMTP client. It provides connection pooling and shortcuts for building clients using commonly desired values
    • 🔨 Refactor TlsParameters implementation to not expose the internal TLS library
    • FileTransport writes emails into .eml instead of .json
    • 👍 When the hostname feature is disabled or hostname cannot be fetched, 127.0.0.1 is used instead of localhost as EHLO parameter (for better RFC compliance and mail server compatibility)
    • 0️⃣ The sendmail and file transports aren't enabled by default anymore.
    • 🗄 The new method of ClientId is deprecated
    • 📇 Rename serde-impls feature to serde
    • 0️⃣ The SendmailTransport now uses the sendmail command in current PATH by default instead of /usr/bin/sendmail.

    🐛 Bug Fixes

    • 🛠 Fix argument injection in SendmailTransport (see RUSTSEC-2020-0069)
    • Correctly encode header values containing non-ASCII characters
    • ⏱ Timeout bug causing infinite hang
    • 🛠 Fix doc tests in website
    • 🛠 Fix docs for domain field

    Misc

    • 👌 Improve documentation, examples and tests
    • Replace line-wrap, email, bufstream with our own implementations
    • ✂ Remove bytes
    • ✂ Remove time
    • ✂ Remove fast_chemail
    • ⚡️ Update base64 to 0.13
    • ⚡️ Update hostname to 0.3
    • ⚡️ Update to nom 6
    • 🌲 Replace log with tracing
    • 👷 Move CI to Github Actions
    • 👉 Use criterion for benchmarks