OpenXE/vendor/laminas/laminas-mail/CHANGELOG.md
2021-05-21 08:49:41 +02:00

20 KiB

Changelog

All notable changes to this project will be documented in this file, in reverse chronological order by release.

2.12.5 - 2020-12-31


Release Notes for 2.12.5

2.12.x bugfix release (patch)

2.12.5

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug

2.12.3 - TBD

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #107 corrects a return type annotation in Laminas\Mail\Address\AddressInterface and in implementer.

2.12.2 - 2020-08-06

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #103 fixes issues on Windows whereby the "Subject" and "To" headers were duplicated.

  • #104 fixes an issue that occured when the Sendmail transport was configured with a -f option (From address). Prior to the fix, the option would be overwritten by the message From or Sender headers, which could lead to errors on systems where all mail must be sent from a specific address. The fixed behavior is to always honor the -f option, and ignore the From and Sender headers if it was provided to the transport.

2.12.1 - 2020-08-05

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #102 corrects a parameter typehint and a return type within the Protocol\Imap subcomponent to correctly detail what they allow.

2.12.0 - 2020-07-30

Added

  • #95 adds a new interface, Laminas\Mail\Header\HeaderLocatorInterface. This defines classes that will locate header classes based on an email header name.

  • #95 adds a new class, Laminas\Mail\Header\HeaderLocator, implementing Laminas\Mail\Header\HeaderLocatorInterface. This is the default implementation of that new interface.

  • #95 adds the methods setHeaderLocator(Laminas\Mail\Header\HeaderLocatorInterface $locator) and getHeaderLocator(): Laminas\Mail\Header\HeaderLocatorInterface to the Laminas\Mail\Headers implementation. Users are encouraged to use these when providing custom header implementations in order to prepare for a 3.0 release. The value of getHeaderLocator() will now be used as the default mechanism for resolving header names to header classes.

  • #94 and #99 add the "novalidatecert" option for each of the POP3, IMAP, and SMTP protocol implementations. When toggled true, you can connect to servers using self-signed certificates.

Changed

  • #95 bumps the minimum supported PHP version to 7.1.

Deprecated

  • #99 deprecates the Laminas\Mail\Protocol\AbstractProtocol::_connect() method, as it is no longer used internally.

  • #95 deprecates Laminas\Mail\Header\HeaderLoader in favor of the new Laminas\Mail\Header\HeaderLocator class. The class will be removed in version 3.0.0.

  • #95 deprecates the Headers::getPluginClassLoader() and Headers::setPluginClassLoader() methods, in favor of the new setHeaderLocator() and getHeaderLocator() methods. These methods will be removed in version 3.0.0, and laminas-loader PluginClassLocator instances will no longer be supported. Please update your code to use the new HeaderLocatorInterface instead.

Removed

  • #98 removes Laminas\Mail\Transport\Null, as it is unusable with the new minimum supported PHP version (7.1). Users should use Laminas\Mail\Transport\InMemory instead. As this has been the default when requesting a "null" transport from Laminas\Mail\Transport\Factory for the past several minor releases, end-users should be unaffected. However, users are encouraged to specify "inmemory" instead of "null" when requiring a no-op transport.

Fixed

  • Nothing.

2.11.1 - 2020-07-28

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #97 adds code to Header\ContentType::addParameter() to ensure the value is trimmed of whitespace, fixing issues whereby filenames might contain a leading or trailing space.

2.11.0 - 2020-06-30

Added

  • #31 adds the class Laminas\Main\Header\ContentDisposition, which implements Laminas\Mail\Header\UnstructuredInterface, and which provides propery encoding and escaping for Content-Disposition mail headers.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #31 provides a fix to ensure that the Content-Disposition header is properly encoded.

2.10.2 - 2020-06-30

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #89 corrects two parameter typehints within the Storage subcomponent to correctly detail what they allow.

  • #93 fixes an issue whereby an address containing a ; character was not getting quoted, causing it to be interpreted as an address separator instead of part of the address.

2.10.1 - 2020-04-21

Added

  • #81 adds PHP 7.3 and 7.4 support.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #83 fixes PHPDocs in Transport\InMemory (last message can be null).

  • #84 fixes PHP 7.4 compatibility.

  • #82 fixes numerous issues in Storage\Maildir. This storage adapter was not working before and unit tests were disabled.

  • #75 fixes how Laminas\Mail\Header\ListParser::parse() parses the string with quotes.

  • #88 fixes recognising encoding of Subject and GenericHeader headers.

2.10.0 - 2018-06-07

Added

  • zendframework/zend-mail#213 re-adds support for PHP 5.6 and 7.0; Laminas policy is never to bump the major version of a PHP requirement unless the package is bumping major version.

  • zendframework/zend-mail#172 adds the flag connection_time_limit to the possible Laminas\Mail\Transport\Smtp options. This flag, when provided as a positive integer, and in conjunction with the use_complete_quit flag, will reconnect to the server after the specified interval.

  • zendframework/zend-mail#166 adds functionality for handling References and In-Reply-To headers.

  • zendframework/zend-mail#148 adds the optional constructor argument $comment and the method getComment() to the class Laminas\Mail\Address. When a comment is present, toString() will include it in the representation.

  • zendframework/zend-mail#148 adds the method Laminas\Mail\Address::fromString(string $address, $comment = null) : Address. The method can be used to generate an instance from a string containing a (name)?<email> value. The $comment argument can be used to associate a comment with the address.

Changed

  • zendframework/zend-mail#196 updates how the Headers::fromString() handles header line continuations that include a single empty line, ensuring they are concatenated to the header value.

  • zendframework/zend-mail#165 changes the AbstractAddressList IDN<->ASCII conversion; it now no longer requires ext-intl, but instead uses a bundled true/punycode library to accomplish it. This also means that the conversions will work on any PHP installation.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • zendframework/zend-mail#211 fixes how the ContentType header class parses the value it receives. Previously, it was incorrectly splitting the value on semi-colons that were inside quotes; in now correctly ignores them.

  • zendframework/zend-mail#204 fixes HeaderWrap::mimeDecodeValue() behavior when handling a multiline UTF-8 header split across a character. The fix will only work when ext-imap is present, however.

  • zendframework/zend-mail#164 fixes the return value from Laminas\Mail\Protocol\Imap::capability() when no response is returned from the server; previously, it returned false, but now correctly returns an empty array.

  • zendframework/zend-mail#148 fixes how Laminas\Mail\Header\AbstractAddressList parses address values, ensuring that they now retain any address comment discovered to include in the generated Laminas\Mail\Address instances.

  • zendframework/zend-mail#147 fixes how address lists are parsed, expanding the functionality to allow either , or ; delimiters (or both in combination).

2.9.0 - 2017-03-01

Added

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

2.8.0 - 2017-06-08

Added

  • zendframework/zend-mail#117 adds support configuring whether or not an SMTP transport should issue a QUIT at __destruct() and/or end of script execution. Use the use_complete_quit configuration flag and/or the setuseCompleteQuit($flag) method to change the setting (default is to enable this behavior, which was the previous behavior).
  • zendframework/zend-mail#128 adds a requirement on ext/iconv, as it is used internally.
  • zendframework/zend-mail#132 bumps minimum php version to 5.6
  • zendframework/zend-mail#144 adds support for TLS versions 1.1 and 1.2 for all protocols supporting TLS operations.

Changed

  • zendframework/zend-mail#140 updates the Sendmail transport such that From and Sender addresses are passed to escapeshellarg() when forming the -f argument for the sendmail binary. While malformed addresses should never reach this class, this extra hardening helps ensure safety in cases where a developer codes their own AddressInterface implementations for these types of addresses.
  • zendframework/zend-mail#141 updates Laminas\Mail\Message::getHeaders() to throw an exception in a case where the $headers property is not a Headers instance.
  • zendframework/zend-mail#150 updates the Smtp protocol to allow an empty or none value for the SSL configuration value.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

2.7.3 - 2017-02-14

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • zendframework/zend-mail#93 fixes a situation whereby getSender() was unintentionally creating a blank Sender header, instead of returning null if none exists, fixing an issue in the SMTP transport.
  • zendframework/zend-mail#105 fixes the header implementation to allow zero (0) values for header values.
  • zendframework/zend-mail#116 fixes how the AbstractProtocol handles stream_socket_client() errors, ensuring an exception is thrown with detailed information regarding the failure.

2.7.2 - 2016-12-19

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

2.7.1 - 2016-05-09

Added

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • zendframework/zend-mail#9 fixes the Laminas\Mail\Header\Sender::fromString() implementation to more closely follow the ABNF defined in RFC-5322, specifically to allow addresses in the form user@domain (with no TLD).
  • zendframework/zend-mail#28 and zendframework/zend-mail#87 fix header value validation when headers wrap using the sequence \r\n\t; prior to this release, such sequences incorrectly marked a header value invalid.
  • zendframework/zend-mail#37 ensures that empty lines do not result in PHP errors when consuming messages from a Courier IMAP server.
  • zendframework/zend-mail#81 fixes the validation in Laminas\Mail\Address to also DNS hostnames as well as local addresses.

2.7.0 - 2016-04-11

Added

  • zendframework/zend-mail#41 adds support for IMAP delimiters in the IMAP storage adapter.
  • zendframework/zend-mail#80 adds:
    • Laminas\Mail\Protocol\SmtpPluginManagerFactory, for creating and returning an SmtpPluginManagerFactory instance.
    • Laminas\Mail\ConfigProvider, which maps the SmtpPluginManager to the above factory.
    • Laminas\Mail\Module, which does the same, for laminas-mvc contexts.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

2.6.2 - 2016-04-11

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • zendframework/zend-mail#44 fixes an issue with decoding of addresses where the full name contains a comma (e.g., "Lastname, Firstname").
  • zendframework/zend-mail#45 ensures that the message parser allows deserializing message bodies containing multiple EOL sequences.
  • zendframework/zend-mail#78 fixes the logic of HeaderWrap::canBeEncoded() to ensure it returns correctly for header lines containing at least one multibyte character, and particularly when that character falls at specific locations (per a reported bug at php.net).

2.6.1 - 2016-02-24

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • zendframework/zend-mail#72 re-implements SmtpPluginManager as a laminas-servicemanager AbstractPluginManager, after reports that making it standalone broke important extensibility use cases (specifically, replacing existing plugins and/or providing additional plugins could only be managed with significant code changes).

2.6.0 - 2016-02-18

Added

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • zendframework/zend-mail#47 updates the component to remove the (soft) dependency on laminas-servicemanager, by altering the SmtpPluginManager to implement container-interop's ContainerInterface instead of extending from AbstractPluginManager. Usage remains the same, though developers who were adding services to the plugin manager will need to instead extend it now.
  • zendframework/zend-mail#70 updates dependencies to stable, forwards-compatible versions, and removes unused dependencies.

2.5.2 - 2015-09-10

Added

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • zendframework/zend-mail#26 fixes the ContentType header to properly handle parameters with encoded values.
  • zendframework/zend-mail#11 fixes the behavior of the Sender header, ensuring it can handle domains that do not contain a TLD, as well as addresses referencing mailboxes (no domain).
  • zendframework/zend-mail#24 fixes parsing of mail messages that contain an initial blank line (prior to the headers), a situation observed in particular with GMail.