Avg Release Cycle
57 days ago
No code changes, just retagging for a misordered commit for 6.1.0.
🚀 This is a feature and maintenance release.
- 🛠 Multiple bug fixes for folding of long header lines, thanks to @caugner
- ➕ Add support for RFC2387 child element content-type hint in
- 👌 Support for Ical event methods other than
REQUEST, thanks to @puhr-mde
- 🔄 Change header folding and param separation to use spaces instead of tabs
- 👉 Use ; to separate multiple MIME header params
- ➕ Add support for RFC3461 DSN messages
- 🛠 IMAP example code fixed
- 👉 Use PHP temp streams instead of temp files
- 👍 Allow for longer SMTP error codes
- ⚡️ Updated Brazilian Portuguese translation
- Throw exceptions on invalid encoding values
- ➕ Add Afrikaans translation, thanks to @Donno191
- ⚡️ Updated Farsi/Persian translation
- ➕ Add PHP 7.4 to test config
- ✂ Remove some ambiguity about setting XMailer property
- 👌 Improve error checking in mailing list example
- ⬇️ Drop PHP 5.5 from CI config as it's no longer supported by Travis-CI
- 🛠 Fix S/MIME signing
- ➕ Add constants for encryption type
- More consistent use of constants for encryption, charset, encoding
- ➕ Add PHPMailer logo images
🚀 This is a maintenance release.
- 👀 Include RedHat GPL Cooperation Commitment - see the COMMITMENT file for details.
- ⚡️ Don't exclude composer.json from git exports as it breaks composer updates in projects that use PHPMailer
- ⚡️ Updated Malay translation
- 🛠 Fix language tests
- 🔒 SECURITY Fix potential object injection vulnerability. CVE-2018-19296. Reported by Sehun Oh of cyberone.kr.
- ➕ Added Tagalog translation, thanks to @StoneArtz
- ➕ Added Malagache translation, thanks to @Hackinet
- ⚡️ Updated Serbian translation, fixed incorrect language code, thanks to @mmilanovic4
- ⚡️ Updated Arabic translations (@MicroDroid)
- ⚡️ Updated Hungarian translations
- ⚡️ Updated Dutch translations
- ⚡️ Updated Slovenian translation (@filips123)
- ⚡️ Updated Slovak translation (@pcmanik)
- ⚡️ Updated Italian translation (@sabas)
- ⚡️ Updated Norwegian translation (@aleskr)
- ⚡️ Updated Indonesian translation (@mylastof)
- ➕ Add constants for common values, such as
quoted-printable, and use them
- ➕ Added support for copied headers in DKIM, helping with debugging, and an option to add extra headers to the DKIM signature. See DKIM_sign example for how to use them. Thanks to @gwi-mmuths.
- ➕ Add Campaign Monitor transaction ID pattern matcher
- ✂ Remove deprecated constant and ini values causing warnings in PHP 7.3, added PHP 7.3 build to Travis config.
- ✅ Expanded test coverage
- Re-roll of 6.0.4 to fix missed version file entry. No code changes.
🚀 This is a general maintenance release.
- Don't make max line length depend on line break format
- 👌 Improve Travis-CI config - thanks to Filippo Tessarotto
- Match SendGrid transaction IDs
idnSupported()now static, as previously documented
- 👌 Improve error messages for invalid addresses
- 👌 Improve Indonesian translation (thanks to @januridp)
- 👌 Improve Esperanto translation (thanks to @dknacht)
- Clean up git export ignore settings for production and zip bundles
- ⚡️ Update license doc
- ⚡️ Updated upgrading docs
- 📄 Clarify
- Hide auth credentials in all but lowest level debug output, prevents leakage in bug reports
- 💅 Code style cleanup
- 👉 Use shorter Message-ID headers (with more entropy) to avoid iCloud blackhole bug
- 💅 Switch to Symfony code style (though it's not well defined)
- 💅 CI builds now apply syntax & code style checks, so make your PRs tidy!
- 🏗 CI code coverage only applied on latest version of PHP to speed up builds (thanks to @Slamdunk for these CI changes)
- ✂ Remove
composer.lock- it's important that libraries break early; keeping it is for apps
- ✅ Rename test scripts to PSR-4 spec
- 👉 Make content-id values settable on attachments, not just embedded items
- ➕ Add SMTP transaction IDs to callbacks & allow for future expansion
- ✅ Expand test coverage
⚡️ This is a major update that breaks backwards compatibility.
- Requires PHP 5.5 or later
- 👉 Uses the
- File structure simplified and PSR-4 compatible, classes live in the
- 👉 The custom autoloader has been removed: use composer!
- Classes & Exceptions renamed to make use of the namespace
- Most statically called functions now use the
statickeyword instead of
self, so it's possible to override static internal functions in subclasses, for example
- 0️⃣ Complete RFC standardisation on CRLF (
\r\n) line breaks for SMTP by default:
PHPMailer:$LEdefaults to CRLF
- All uses of
PHPMailer::$LEproperty converted to use
static::$LEconstant for consistency and ease of overriding
- Similar changes to line break handling in SMTP and POP3 classes.
- Line break format for
mail()transport is set automatically.
- Warnings emitted for buggy
mail()in PHP versions 7.0.0 - 7.0.16 and 7.1.0 - 7.1.2; either upgrade or switch to SMTP.
- 👍 Extensive reworking of XOAUTH2, adding support for Google, Yahoo and Microsoft providers, thanks to @sherryl4george
- 📄 Major cleanup of docs and examples
- 🚚 All elements previously marked as deprecated have been removed:
- 🚚 NTLM authentication has been removed - it never worked anyway!
SingleTofunctionality is deprecated; this belongs at a higher level - PHPMailer is not a mailing list system.
SMTP::authenticatemethod signature changed
parseAddresses()is now static
validateAddress()is now called statically from
idnSupported()is now static and is called statically from
PHPMailer->SingleToArrayis now protected
fixEOL()method removed - it duplicates
PHPMailer::normalizeBreaks(), so use that instead
- 👍 Don't try to use an auth mechanism if it's not supported by the server
- Reorder automatic AUTH mechanism selector to try most secure method first
Extrasclasses have been removed - use alternative packages from packagist.org instead
- 👍 Better handling of automatic transfer encoding switch in the presence of long lines
- Simplification of address validation - now uses PHP's
FILTER_VALIDATE_EMAILpattern by default, retains advanced options
Debugoutputcan accept a PSR-3 logger instance
- 🚀 To reduce code footprint, the examples folder is no longer included in composer deployments or github zip files
- Trap low-level errors in SMTP, reports via debug output
- More reliable folding of message headers
- Inject your own SMTP implementation via
setSMTPInstance()instead of having to subclass and override
- 👉 Make obtaining SMTP transaction ID more reliable
- 👍 Better handling of unreliable PHP timeouts
SMTPDebug = 4slightly less noisy