All notable changes to Spring-Boot-Email-Tools project will be documented in this file. This project adheres to Semantic Versioning.
- Revise unit testing by only using AssertJ and JUnit5.
- Append a listener to be notified on email sent.
- Using Spring Boot 3.2.0.
- Compiled for JDK17.
- Using Spring Boot 1.5.6.RELEASE.
- Using Pebble 2.4.0.RELEASE.
- Fixed issue with
MimeMessagenot saved after changes. - Fixed encoding of attachment file names.
- Change in LoggingProperties to have constructors with all arguments.
- Thymeleaf template engine was not receiving templates with subpath from the
resources/templatefolder.
SchedulerServicehas now a more semantic name, i.e.EmailSchedulerService. This change breaks backward compatibility.- Template engines now accept template names with no extension.
- Fixed bug in the email logger due to null collections.
- Bug with conversion of email reply to and deposition notification to values.
- Bug with hide option in logging.
- Added logging formatter/anonymizer for email, used by default in default email scheduler and sender.
- Using Spring Boot 1.5.2.RELEASE
SchedulerServicehas two new methods that schedule an email at time now with time zone UTC.
- Added support for custom headers in
Emailinterface.
- Annotation to avoid using
@ComponentScanin the spring boot main application (refer to issue #32).
- Large refactoring of packages.
- Class
PriorityQueueSchedulerServicehas been simplified, with a large refactoring to provide better interaction with persistence service (now having it own thread).
- More examples with scheduling and persistence.
- New config key for REDIS settings
spring.mail.scheduler.persistence.redis.settings.
- Fixed concurrency issues in the scheduler.
- Used new version of EmbeddedRedis that shutdown the
ThreadExecutorproperly.
- The property to enable the
SchedulerServiceclass is the boolean onespring.mail.scheduler.enabled. - The application property
spring.mail.scheduler.enabled.priorityLevelsfor the default scheduler classPriorityQueueSchedulerServiceis required on ifspring.mail.scheduler.enabled=true. - The main properties in
application.propertiesrequired by the extension are now hardcoded in classApplicationPropertiesConstants.
- The
SchedulerServiceis not enabled by default anymore, it needs to be activated viaapplication.properties. - The
PersistenceServiceis becomes enabled if the proper properties are provided plus if theSchedulerServiceis enabled as well. - The application properties
spring.mail.persistence.*are now renamed intospring.mail.scheduler.persistence.*, since they can work only with the scheduler. - The application properties
spring.mail.scheduler.persistenceLayer.*are now renamed intospring.mail.scheduler.persistence.*.
- Persistence has been introduced with optional
PersistenceService: default implementation relies on embedded-REDIS. - GreenMail is used for integration tests with
EmailServicein order to increase the coverage after recent bugs.
- All the classes ending with
Implare now renamed by removing the suffic and by starting withDefault. Moreover, the package containing these classes has been renamed fromimpltodefaultimpl. - Using Spring Boot 1.5.1.RELEASE
- Using Pebble 2.3.0.RELEASE
- The default scheduler class
PriorityQueueSchedulerServicerequires the propertyspring.mail.scheduler.enabled.priorityLevels.
- Fixed NPE when attachments were missing (issue 19)
- Support to email attachment has been fixed by removing the content type of attachments (issue 15)
- Using Spring Boot 1.4.3.RELEASE
- Support to email attachment has been fixed (issue 15)
- Added receipt notification in email header
- Using Spring Boot 1.3.6.RELEASE
- Corrected annotation for autowiring beans in
README.md - Made
TemplateServiceoptional inEmailService
- Added support for Thymeleaf (version from Spring Boot 1.3.5.RELEASE)
- Using Spring Boot 1.3.5.RELEASE
- Added support for Mustache (version from Spring Boot 1.3.4.RELEASE) and Pebble (version 2.2.1)
- Main module changed to
spring-boot-email-coreto support generic template engines - Added specific modules based on known template engines (Freemarker, Mustache and Pebble)
- Closing mechanism of the scheduler is now responsive
- Added implementation of a scheduler service with class
PriorityQueueSchedulerService
- Using Spring Boot 1.3.4.RELEASE
- Increased dependencies version
- Removed dependency
zalando/problem-spring-web(you can handle exceptions as you prefer)
- Minor bugfix for detecting mime type when not set for an email.
- Increased dependencies version
- Added more unit test to increase coverage
- Basic implementation with an
EmailServicethat may use the Freemarker template engine .