Version History

## [4.0.2] - 2019-02-05

### Changed

  • Added 'defined or die statement' to config file.


### Removed

  • Removed .gitignore file.


## [4.0.1] - 2019-02-05

### Fixed

 

  • Fixed `Cannot use Concrete\Package\MailService\Core\Mail\MessageBuilder as MessageBuilder...`.


## [4.0.0] - 2018-08-12

### Added

  • Added service provider that enables dependency injection.
  • Added Elastic Email as new email service.
  • Added Inwise as new email service.
  • Added a custom Doctrine repository.
  • Added a Doctrine event listener.
  • Added a service aggregator that wraps all configs.

 

### Changed

  • Renamed 'MailServiceSetting' model to 'MailServiceConfig' and refactored it to Doctrine model.
  • Mail services now available with dependency injection.
  • Moved a lot of classes to a different namespace.
  • Refactored the message builder and client for Sendinblue from api version 2 to api version 3.
  • Implemented DI in dashboard controllers.
  • Moved abstract controllers to different namespace.
  • Changed to change log layout to a more custom format.
  • Package controller::install and ::upgrade now use database transactions.

 

### Removed

  • Removed the mail service factory in favor of DI.
  • Removed the Version class.
  • Removed db.xml in favor of Doctrine model.
  • Removed the MailServiceEnabler trait and delegated code to abstract base controller.
  • Removed the TestMailer trait and delegated code to abstract base controller.

 

### Fixed

  • Updated external urls to transactional email websites that didn't exist anymore.

 

## [3.1.0] - 2017-10-22

### Added

  • Added SendinBlue and Postmark to supported services.

 

### Changed

  • Deprecated MailServiceSetting::isConfigured and refactored all calls to this method.
  • Removed commented-out redundant code.

 

## [3.0.1] - 2017-10-20

### Fixed

  • Fixed bug not showing error message from Mailjet.


### Added

  • Show curl error when sending test mail when applicable.
  • Implemented reply-to for all services.


## [3.0] - 2017-10-18

Refactored the package to work in Concrete version 5.8.2 and higher due to changes in Concrete's core.

 

### Changed

  • Moved message builder composing to mail service base class because this was the same code in every service.
  • Refactored TemporaryFile class to work with file contents rather than with Concrete's File class.
  • Refactored mail service base class to accommodate for the new raw attachments in the mail service.
  • Refactored mail service factory due to changed constructor in Concrete's mail service that now requires arguments.
  • Optimized code in a lot of places.
  • Added email template to be used for test mails.

 

### Fixed

  • Fixed a bug with setting html body that was set as text body for Sendgrid.

 

## [2.0.1] - 2017-10-20

### Fixed

  • Fixed bug when sending Sendgrid html mail that was sent as plain text.
  • Fixed bug The use statement with non-compound name '...' has no effect in single page views.
  • Fixed bug not showing error message from Mailjet.

 

### Added

  • Show curl error when sending test mail when applicable.
  • Implemented reply to for all services.

 

## [2.0] - 2017/10/17

Built to make the add-on suitable for Concrete version 5.8. Users running Concrete versions lower than 5.8 should uninstall and remove this package completely before installing this one.

 

### Added

  • Added Mailjet to list of supported transactional email services with own dashboard page and controller.
  • Added method installOrUpgrade to package controller for all install and upgrade code.
  • Created message builders for transactional email services that didn't have one due to removed vendor libraries.
  • Created REST clients for all transactional email services using curl to make the calls.
  • Added Version class for easing version comparison.
  • Added checks in package controller and install page to prevent installation on Concrete version 5.8.2 or higher (requires different version due to changes in Concrete's mail service.
  • Added an interface for the email message builders.
  • Added possibility to disable ssl checks for curl using an environmental variable (convenient for testing or development when there are issues with certificates on your computer - this often happens on Windows).

 

### Fixed

  • Fixed missing use-statements for RunTimeException class in service classes.
  • Fixed phpDoc comments where necessary.

 

### Changed

  • Dependency injection no longer with ServiceProvider in /application/src folder but in the on_start-method of the package controller and controller no longer modifies config file and /src folder (due to changes in Concrete5 8).
  • Moved methods for message builders to abstract base class for Mandrill and Mailjet.
  • Refactored parameter casting in TemporaryFile class and Service base class to expect \Concrete\Core\Entity\File\File rather than \Concrete\Core\File\File (due to changes in Concrete 5.8).
  • Refactored deprecated UserInfo::getByID() in TestMailer class.
  • Refactored 'self::' method calls to 'static::' method calls (late static binding) in TemporaryFile class.
  • Changed installation screen due to changed installation requirements.
  • Renamed 'src'-folder to 'lib' and refactored namespaces accordingly to avoid possible conflicts with Concrete5.
  • Refactored usages of deprecated Error class to use Core::make('error');.
  • Moved traits to different folder and namespace.
  • Success message for sending test email now includes the email address to which the test email has been sent.
  • Changed namespace of Environment class to \Concrete\Package\MailService\Core\Foundation.

 

### Removed

  • Removed unused Session class.
  • Removed all 3rd party libraries due to maintenance considerations and possible conflicts with Concrete.
 
## [1.1.1] : 2016-01-03
### Fixed
  • Fixed 'form not showing' when saving mail credentials and validation errors occur.
 
 
## [1.1.0] : 2015-11-03
### Added
  • Added extra checks for write permissions (filesystem) and module cURL in install 'screen' and package controller as requirements check to avoid breaking installation. Also adjusted the pre-installation page accordingly.
  • Added enable, disable and send-test-email buttons to the configuration pages and added edit/cancel buttons to toggle
  • Added configuration how-to to columns of configuration pages.
  • Added some redundancy that prevents an unconfigured service from being enabled.
 
### Removed
  • Removed redundant error output on single pages (Errors are already output by Concrete) editing. Delegated the send-test-mail logic and enable/disable logic to traits.
 
### Fixed
  • Fixed bug with Concrete\Package\MailService\Src\Mail\Service::getActualFrom that was returning default from-email instead of from-address of the corresponding mail service.
 
### Changed
  • Set 'enabled' flag for mail service to false on update if the service is not configured properly
 
 
## [1.0.0] : 2015-09-14
### Changed
  • Replaced one usage of 'Loader' which is deprecated
- Bumped version to 1.0 because of release on the marketplace
 
 
[0.9.3] - 2015-09-03
### Added
  • Added upgrade method to package controller to recreate folders on upgrade.
 
 
[0.9.2] - 2015-08-20
### Fixed
  • Fixed issues with t()
 
### Added
  • Add LICENSE AND LICENSE.3rdparty
- Installed full vendor libraries
 
### Removed
  • Removed .git and composer.json
  • Removed deprecated Loader usages
 
 
## [0.9.1] - 2015-08-15
### Removed
  • Removed usages of $_SESSION and 'unexpected T_STRING' in vendor libraries.
 
 
## [0.9.0] - 2015-08-11 (Initial release)
### Added
  • Submitted package for marketplace approval. Will bump version to 1.0 when approved.