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]

Reply via email to