The change log describes what is "Added", "Removed", "Changed" or "Fixed" between each release.
- Support for new webhook endpoints (#609 by @svenbw & #749 by @Nyholm)
- Fix double urlencoding (#747 by @uavn)
- Email Validation (#726 by @uavn)
- Please note the Email Validation requires always to use the US servers. The Mailgun Team didn't enable this service on the European endpoints.
- Support for PHP 8 (#727 by @DavidGarciaCat)
- Added
opened
,clicked
,unsubscribed
andstored
to theTotalResponseItem
(#739 by @Arkitecht)
- Support for PHP 7.1 and 7.2 as they both have reached their end of life
- Domain tracking implementation (#711 by @uavn)
- Mailing list validation (#712 by @uavn)
- Suppression Whitelists (#713 by @uavn)
- Added pagination to tags (#717 by @uavn)
- Expect Client to be of type ClientInterface or PluginClient (#660 by @tonythomas01)
- Suppressions allow now deleting an address passing an optional tag (#643 by @iwahara)
- Allow both
^1.0
and^2.0
forphp-http/guzzle6-adapter
(#680 by @boboldehampsink) - Add support for Mailing List
reply_preference
parameter (#684 by @twoonesixdigital) - Add support for
Force DKIM Authority
when creating a Domain (#686 by @Tiboonn) - Add support for PHP 7.4 (#698 by @snapshotpl)
- Allow assigning a domain to a list of ips during creation (#703 by @josephshanak)
- Add unmapped
log-level
property for Events (#704 by @uavn)
- Provide the Member's name just when it's not
null
(#639 by @indapublic) - Fix typehint for Message
ShowResponse::getContentIdMap()
(#664 by @lvdhoorn) - Fix endpoint for Domain's API (#668 by @tomschlick)
- Webhook support for array handling (#675 by @martin-sanjuan)
- Fix parameter name when assigning an IP to the specified Domain (#702 by @josephshanak)
Ip::index()
now returns all IPs instead of the shared IPs (#707 by @josephshanak)
- Updated examples for Debugging and Hydrator usage (#634 by @tonybolzan and #681 by @Jiia)
- Updated link to the Mailgun Documentation page (#688 by @Casmo)
- Remove deprecated Laravel package due to it is archived (#695 by @tomschlick)
- Remove method for non-existing Stats URL (#705 by @uavn)
- Support for PSR-4
- All classes
Mailgun\Model
are final or abstract.
- Dropped PHP5 support
- Removed deprecated code
- Moved
RequestBuilder
andHttpClientConfigurator
toMailgun\HttpClient
namespace - Updated signature of
Mailgun::__construct()
- Dependency on
php-http/message
.
- Added missing method to use all Mailing List and Ip features.
- Add support for IPs endpoints
- Add spport for Mailing Lists
- Add
complaints
to Stats / Total Response - Add more tests for our models
- Change the PHP Exception message for Bad Request errors to help to find the issue
- Fix an issue validating the max path length
- Allow to set the Mailgun server when instantiating the Mailgun's client:
$mailgun = Mailgun::create('key', 'server');
- Add new PHPUnit tests for our models
- Add new PHPUnit tests for our API
- Added
Mailgun\Api\Attachment
- Fluent interface for
MessageBuilder
andBatchMessage
- Support for HTTPlug 2.0
- Second argument to
Mailgun\Message\MessageBuilder::addBccRecipient()
is now optional. - We try to close open resources
- Fixed the type error when creating tags.
- Ported MessageBuilder and BatchMessage #472
- Cast campaign IDs to string #460
- Suggest packages used on Dev #440
- Support for 413 HTTP status codes, when we send too large payloads to the API
- Add new
Suppressions::getTotalCount()
method
- Apply fixes from StyleCI
- Updated
README.md
file
- Fix
Tags
onUnsubscribe
- Fix typo on
Mailgun\Exception\HttpServerException
- Add cached property for DNS record
- Add domain verification
HttpClientException::getResponseCode()
- Added
AbstractDomainResponse
thatVerifyResponse
andCreateResponse
extends.
- Possible empty content of
WebhookIndexResponse
. - Typo in
TotalResponse
that caused the content to be empty.
- Allow some parameters to
Domain::create
to be optional.
- Typo in DnsRecord::isValid. This make sure the correct result of the function is returned.
- Using stable version of
php-http/multipart-stream-builder
- Improved tests
- When parsing an address in
MessageBuilder
we surround the recipient name with double quotes instead of single quotes.
- Make sure to reset the
MultipartStreamBuilder
after a stream is built.
- Support for sending messages with Mime.
$mailgun->messages()->sendMime()
This version contains a new way of using the API. Each endpoint return a domain object and the endpoints are grouped like the API documentation.
- Api classes in Mailgun\Api*
- Api models/responses in Mailgun\Model*
- Added Hydrators to hydrate PSR-7 responses to arrays or domain objects.
- All exceptions extend
Mailgun\Exception
. - New exceptions in
Mailgun\Exception
namespace. - Added
HttpClientConfigurator
to configure the HTTP client. - Added HttpClient plugins
History
andReplaceUriPlugin
- Assertions with Webmozart\Assert
Mailgun\Mailgun::getLastResponse()
Mailgun\Connection\RestClient::getAttachment($url)
- Clear license information
- Fix disordered POST parameters. We do not use array syntax.
- Code styles
The following classes will be removed in version 3.0.
Mailgun\Connection\Exceptions\GenericHTTPError
Mailgun\Connection\Exceptions\InvalidCredentials
Mailgun\Connection\Exceptions\MissingEndpoint
Mailgun\Connection\Exceptions\MissingRequiredParameters
Mailgun\Connection\Exceptions\NoDomainsConfigured
Mailgun\Connection\RestClient
Mailgun\Constants\Api
Mailgun\Constants\ExceptionMessages
Mailgun\Mailgun::$resetClient
Mailgun\Mailgun::sendMessage()
Mailgun\Mailgun::verifyWebhookSignature()
Mailgun\Mailgun::post()
Mailgun\Mailgun::get()
Mailgun\Mailgun::delete()
Mailgun\Mailgun::put()
Mailgun\Mailgun::setApiVersion()
Mailgun\Mailgun::setSslEnabled()
Mailgun\Mailgun::MessageBuilder()
Mailgun\Mailgun::OptInHandler()
Mailgun\Mailgun::BatchMessage()
- Bug fixes with multiple recipients, inline images and attachments.
- Added more tests
- Using PSR-2 code style
- Require php-http/message (#142)
- Declare BatchMessage::endpointUrl (#112)
- Strict comparison of hash (#117)
- No dependency on Guzzle/PSR7 (#139)
- Build URL string form an array (#138)
- Docblock update (#134)
- Minor fixes (#90, #121, #98)
- Migrated to PHP-HTTP (#94)
- Dropped support for PHP 5.4.
- Updated to Guzzle5 (#79)
- Updated default API version from v2 to v3 (#75)
- Show response message on 400, 401 and 404. (#72)
- PHP DocBlocks, Constants Changes, and Minor Refactors (#66)
- Added PHP 7.0 support for Travis-CI, removed PHP 5.3 support (#79)
- Added webhook signature verification - (#50)
- Test PHP 5.6 and HHVM - (#51)
- Improved error handling - (#48)
- Fixed attachment handling in Message Builder - (#56)
- Allow any data type in custom data - (#57)
- Return non-JSON response data - (#60)
- Removed legacy closing braces - (#64)
- Improved security of OptInHandler - (#31)
- Fixed typo for including an Exception - (#41)
- Fixed Mocks, removed unnecessary code, applied styling - (#44 & #42)
- Less restrictive Guzzle requirement - (#45)
Bugfixes:
- patched bug for attachments related to duplicate aggregator bug in Guzzle (#32 @travelton)
Enhancement:
- adjust file attachment/inline name (#21 @travelton)
Bugfixes:
- fixed issue with unordered route actions (#23 @travelton)
Enhancement:
- added ability to define non-https endpoint for debugging purposes (#23 @travelton)
Bugfixes:
- template IDs were missing from recipient-variables (#15 @travelton)
- batch jobs trigger on to, cc, and bcc (#18 @travelton)
- batch jobs include recipient-variables for to, cc, and bcc (#18 @travelton)
- added method to return message-ids, for easier access (#19 @travelton)
Bugfixes:
- relaxed Guzzle requirement (#7 @travelton)
- fixed reply-to bug (#9 @travelton)
Bugfixes:
- fixed exception handling constants (@travelton)
- fixed MessageBuilder $baseAddress return (#1 @yoye)
- adjusted scope of recipient-variables (#3 @yoye)
- fixed misspellings of Exceptions (#2 @dboggus)
- undefined DEFAULT_TIME_ZONE (#4 @yoye)
- added message IDs to return for BatchMessage (@travelton)
Initial Release!