Skip to content

Latest commit

 

History

History
228 lines (159 loc) · 8.18 KB

CHANGELOG.md

File metadata and controls

228 lines (159 loc) · 8.18 KB

v0.10.0 (unreleased)

Upgrade notes

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

  • MSRV is now 1.49
  • 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)
  • The new method of ClientId is deprecated
  • Rename serde-impls feature to serde
  • 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

v0.9.2 (2019-06-11)

Bug Fixes

  • email:
    • Fix compilation with Rust 1.36+ (393ef8d)

v0.9.1 (2019-05-05)

Features

  • email:

v0.9.0 (2019-03-17)

Bug Fixes

  • email:

    • Inserting 'from' from envelope into message headers (058fa69)
    • Do not include Bcc addresses in headers (ee31bbe)
  • transport:

    • Write timeout is not set in smtp transport (d71b560)
    • Client::read_response infinite loop (72f3cd8)

Features

  • all:

    • Update dependencies
    • Start using the failure crate for errors (c10fe3d)
  • transport:

    • Remove TLS 1.1 in accepted protocols by default (only allow TLS 1.2) (4b48bdb)
    • Initial support for XOAUTH2 (ed7c164)
    • Remove support for CRAM-MD5 (bc09aa2)
    • SMTP connection pool implementation with r2d2 (434654e)
    • Use md-5 and hmac instead of rust-crypto (e7e0f34)
    • Gmail transport simple example (a8d8e2a)
  • email:

    • Add In-Reply-To and References headers (fc91bb6)
    • Remove non-chaining builder methods (1baf8a9)

v0.8.2 (2018-05-03)

Bug Fixes

  • transport: Write timeout is not set in smtp transport (cc3580a8)

Style

Features

  • all:
    • Add set -xe option to build scripts (57bbabaa)
    • Move post-success scripts to separate files (3177b58c)
    • Add website upload to travis build script (a5294df6)
    • Add codecov upload in travis (a03bfa00)
    • Update README to put useful links at the top (1ebbe660)
    • Update badges in README and Cargo.toml (f7ee5c42)
    • Move docs from hugo to gitbook (27935e32)
  • transport: Use md-5 and hmac instead of rust-crypto (0cf018a8)

v0.8.1 (2018-04-11)

Fix

  • all:
    • Replace skeptic by some custom rustdoc invocations (81bad131)

Documentation

  • all:
    • Add changelog sections for style and docs (b4d03ead)
    • Use clog to generate changelogs (8981a775, closes #233)

Style

  • transport-smtp: Avoid useless empty format strings (f3271715)

v0.8.0 (2018-03-31)

Added

  • Support binary files as attachment
  • Move doc to a dedicated website
  • Add tests for the doc using skeptic
  • Added a code of conduct
  • Use hostname as ClientId when available

Changed

  • Detail in SMTP Response is now an enum
  • Use nom for parsing smtp responses
  • Envelope was moved from lettre_email to lettre
  • EmailAddress::new() now returns a Result
  • SendableEmail replaces from and to by envelope that returns an Envelope
  • File transport storage format has changed

Fixed

  • Add missing "Bcc" headers when building the email
  • Specify utf-8 charset for html
  • Use parts for text and html methods to work with attachments

Removed

  • get_ehlo and reset in SmtpTransport are now private

v0.7.0 (2017-10-08)

Added

  • Allow validating server certificate
  • Initial (incomplete) attachments support

Changed

  • Split into the lettre and lettre_email crates
  • A lot of small improvements
  • Use tls-native instead of openssl in smtp transport

v0.6.2 (2017-02-18)

Changed

  • Update env-logger crate to 0.4
  • Update openssl crate to 0.9
  • Update uuid crate to 0.4

v0.6.1 (2016-10-19)

Changes

  • documentation
    • #91: Build separate docs for each release
    • #96: Add complete documentation information to README

Fixed

  • #85: Use address-list for "To", "From" etc.
  • #93: Force building tests before coverage computing

v0.6.0 (2016-05-05)

Changes

  • multipart support
  • add non-consuming methods for Email builders
  • add_header does not return the builder anymore, for consistency with other methods. Use the header method instead