JAMES-2579 Upgrade instructions: include `Mail::getMaybeSender`
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/370d7320 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/370d7320 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/370d7320 Branch: refs/heads/master Commit: 370d73200c6192cadfa1adadb77504b9af4e59a9 Parents: 16c6f29 Author: Benoit Tellier <[email protected]> Authored: Wed Oct 31 11:09:09 2018 +0700 Committer: Benoit Tellier <[email protected]> Committed: Wed Nov 14 14:51:09 2018 +0700 ---------------------------------------------------------------------- upgrade-instructions.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/370d7320/upgrade-instructions.md ---------------------------------------------------------------------- diff --git a/upgrade-instructions.md b/upgrade-instructions.md index 7a98a25..2de7d94 100644 --- a/upgrade-instructions.md +++ b/upgrade-instructions.md @@ -12,13 +12,39 @@ software documentation. Do not follow this guide blindly! Note: this section is in progress. It will be updated during all the development process until the release. -Changes to apply between 3.1.x and 3.2.x will be reported here. +Changes to apply between 3.2.x and 3.3.x will be reported here. + +## 3.2.0 version + +Changes to apply between 3.1.0 and 3.2.0 had been reported here. Changelist: - [JMAPFiltering mailet is required for JMAP capable servers](#jmapfiltering-mailet-is-required-for-jmap-capable-servers) - [Cassandra 3.11.3 upgrade](#cassandra-3113-upgrade) +### Noticeable changes in Mail API: Mail::getMaybeSender + +Date: 31/10/2018 + +SHA-1: 485406252d82c2d23a4078c76b26d6fc8973bbd7 + +JIRA: https://issues.apache.org/jira/browse/JAMES-2557 + +Required: Yes + +Concerned products: User developed extensions - mailet/matcher + +As part of the SMTP protocol, a mail can be sent without sender. This was represented implicitly in James by a potentially null MailAddress +(`null` or `MailAddress.nullSender()`). This means that mailet/matcher implementers needs to be aware, and handle these cases. This implicit +handling makes nullSender hard to work with, and prooved to be error prone as part of the 3.2.0 development process. + +Hence we propose an alternative API returning a `MaybeSender` object, requiring the caller to explicitly handle missing sender. + +`Mail::getSender` had then been deprecated. We strongly encourage our users to rely on `Mail::getMaybeSender`. + +Note: thanks to java-8 default API methods, this is not a breaking change. + ### JMAPFiltering mailet is required for JMAP capable servers Date: 30/08/2018 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
