JAMES-4025 Drop Jmap draft - update document
diff --git a/examples/oidc/james/jmap.properties b/examples/oidc/james/jmap.properties
index f3d8a16..4755a08 100644
--- a/examples/oidc/james/jmap.properties
+++ b/examples/oidc/james/jmap.properties
@@ -23,10 +23,6 @@
 # This enables a higher resilience, but the projection needs to be correctly populated. False by default.
 # view.email.query.enabled=true
 
-# If you want to specify authentication strategies for Jmap draft version
-# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
-# authentication.strategy.draft=AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,QueryParameterAccessTokenAuthenticationStrategy
-
 # If you want to specify authentication strategies for Jmap rfc-8621 version
 # For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
 authentication.strategy.rfc8621=BasicAuthenticationStrategy,XUserAuthenticationStrategy
\ No newline at end of file
diff --git a/server/apps/cassandra-app/sample-configuration/jmap.properties b/server/apps/cassandra-app/sample-configuration/jmap.properties
index f794c05..80a254d 100644
--- a/server/apps/cassandra-app/sample-configuration/jmap.properties
+++ b/server/apps/cassandra-app/sample-configuration/jmap.properties
@@ -23,10 +23,6 @@
 # This enables a higher resilience, but the projection needs to be correctly populated. False by default.
 # view.email.query.enabled=true
 
-# If you want to specify authentication strategies for Jmap draft version
-# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
-# authentication.strategy.draft=AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,QueryParameterAccessTokenAuthenticationStrategy
-
 # If you want to specify authentication strategies for Jmap rfc-8621 version
 # For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
 # authentication.strategy.rfc8621=JWTAuthenticationStrategy,BasicAuthenticationStrategy
diff --git a/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
index c26d12e..2ed4772 100644
--- a/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
@@ -38,10 +38,6 @@
 * *JMAP* (RFC-8620 &RFC-8621 specifications and known limitations of the James implementation are defined link:https://github.com/apache/james-project/tree/master/server/protocols/jmap-rfc-8621/doc[here])
 * *ManagedSieve*
 
-The following protocols should be considered deprecated:
-
-* *JMAP-draft* (draft specification as defined link:https://github.com/apache/james-project/tree/master/server/protocols/jmap-draft/doc[here])
-
 Read more on xref:architecture/implemented-standards.adoc[implemented standards].
 
 == Topology
diff --git a/server/apps/distributed-app/docs/modules/ROOT/pages/benchmark/james-benchmark.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/benchmark/james-benchmark.adoc
index 839c429..21f1bb2 100644
--- a/server/apps/distributed-app/docs/modules/ROOT/pages/benchmark/james-benchmark.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/benchmark/james-benchmark.adoc
@@ -88,7 +88,6 @@
 Some symbolic simulations we often use:
 
 * IMAP: `org.apache.james.gatling.simulation.imap.PlatformValidationSimulation`
-* JMAP draft: `org.apache.james.gatling.simulation.jmap.draft.PlatformValidationSimulation`
 * JMAP rfc8621: `org.apache.james.gatling.simulation.jmap.rfc8621.PushPlatformValidationSimulation`
 
 === Base performance result
diff --git a/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc
index a1775ae..9d7611b 100644
--- a/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc
@@ -37,7 +37,7 @@
 | Optional. URL for JMAP WebSocket route. Default value: ws://localhost
 
 | email.send.max.size
-| Optional. Configuration max size for message created in both JMAP Draft amd RFC-8621.
+| Optional. Configuration max size for message created in RFC-8621.
 Default value: None. Supported units are B (bytes) K (KB) M (MB) G (GB).
 
 | max.size.attachments.per.mail
@@ -62,13 +62,6 @@
 | user.provisioning.enabled
 | Optional boolean. Defaults to true. Governs whether authenticated users that do not exist locally should be created in the users repository.
 
-
-| authentication.strategy.draft
-| Optional List[String] with delimiter `,` . Specify which authentication strategies system admin want to use for JMAP draft server.
-The implicit package name is `org.apache.james.jmap.http`. If you have a custom authentication strategy outside this package, you have to specify its FQDN.
-If no authentication strategy is specified, JMAP draft server will fallback to default strategies:
-`AccessTokenAuthenticationStrategy`, `JWTAuthenticationStrategy`, `QueryParameterAccessTokenAuthenticationStrategy`
-
 | authentication.strategy.rfc8621
 | Optional List[String] with delimiter `,` . Specify which authentication strategies system admin want to use for JMAP RFC-8621 server.
 The implicit package name is `org.apache.james.jmap.http`. If you have a custom authentication strategy outside this package, you have to specify its FQDN.
@@ -76,10 +69,8 @@
 `JWTAuthenticationStrategy`, `BasicAuthenticationStrategy`.
 
 | jmap.version.default
-| Optional string. Defaults to draft. Allowed values: draft, rfc-8621.
+| Optional string. Defaults to `rfc-8621`. Allowed values: rfc-8621
 Which version of the JMAP protocol should be served when none supplied in the Accept header.
-Defaults to draft for legacy reasons (avoid breaking changes) but setting the value to
-rfc-8621 allow compatibility with other third party apps.
 
 | dynamic.jmap.prefix.resolution.enabled
 | Optional boolean. Defaults to false. Supported Jmap session endpoint returns dynamic prefix in response.
@@ -169,8 +160,6 @@
 
 The list of tested JMAP clients are:
 
- - [OpenPaaS](https://open-paas.org/) is actively using the draft version of the JMAP implementation. Migration to
- RFC-8621 is planned.
  - Experiments had been run on top of [LTT.RS](https://github.com/iNPUTmice/lttrs-android). Version in the Accept
  headers needs to be explicitly set to `rfc-8621`. [Read more](https://github.com/linagora/james-project/pull/4089).
 
diff --git a/server/apps/distributed-app/sample-configuration/jmap.properties b/server/apps/distributed-app/sample-configuration/jmap.properties
index d703857..73fb3f9 100644
--- a/server/apps/distributed-app/sample-configuration/jmap.properties
+++ b/server/apps/distributed-app/sample-configuration/jmap.properties
@@ -26,10 +26,6 @@
 # This enables a higher resilience, but the projection needs to be correctly populated. False by default.
 # view.email.query.enabled=true
 
-# If you want to specify authentication strategies for Jmap draft version
-# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
-# authentication.strategy.draft=AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,QueryParameterAccessTokenAuthenticationStrategy
-
 # If you want to specify authentication strategies for Jmap rfc-8621 version
 # For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
 # authentication.strategy.rfc8621=JWTAuthenticationStrategy,BasicAuthenticationStrategy
diff --git a/server/apps/memory-app/sample-configuration/jmap.properties b/server/apps/memory-app/sample-configuration/jmap.properties
index f8b0611..72e279e 100644
--- a/server/apps/memory-app/sample-configuration/jmap.properties
+++ b/server/apps/memory-app/sample-configuration/jmap.properties
@@ -24,10 +24,6 @@
 # This enables a higher resilience, but the projection needs to be correctly populated. False by default.
 # view.email.query.enabled=true
 
-# If you want to specify authentication strategies for Jmap draft version
-# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
-# authentication.strategy.draft=AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,QueryParameterAccessTokenAuthenticationStrategy
-
 # If you want to specify authentication strategies for Jmap rfc-8621 version
 # For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
 # authentication.strategy.rfc8621=JWTAuthenticationStrategy,BasicAuthenticationStrategy
diff --git a/server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/model/MessageProperties.java b/server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/model/MessageProperties.java
index d5a7c0d..b256e9d 100644
--- a/server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/model/MessageProperties.java
+++ b/server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/model/MessageProperties.java
@@ -80,7 +80,7 @@
                 .map(MessageProperty::getReadProfile),
             headerPropertiesReadLevel());
 
-        // If `null`, all properties will be fetched (JMAP Draft)
+        // If `null`, all properties will be fetched
         // This defer from RFC-8621 behavior (not implemented here)
         // If omitted, this defaults to: [ "partId", "blobId", "size", "name", "type", "charset", "disposition", "cid",
         // "language", "location" ]
diff --git a/src/site/xdoc/server/config-jmap.xml b/src/site/xdoc/server/config-jmap.xml
index 7043f02..e8b70e6 100644
--- a/src/site/xdoc/server/config-jmap.xml
+++ b/src/site/xdoc/server/config-jmap.xml
@@ -75,7 +75,7 @@
                     <dd>Default value: 200M. Supported units are B (bytes) K (KB) M (MB) G (GB).</dd>
 
                     <dt><strong>email.send.max.size</strong></dt>
-                    <dd>Optional. Configuration max size for message created in both JMAP Draft amd RFC-8621.</dd>
+                    <dd>Optional. Configuration max size for message created in RFC-8621.</dd>
                     <dd>Default value: None. Supported units are B (bytes) K (KB) M (MB) G (GB).</dd>
 
                     <dt><strong>max.size.attachments.per.mail</strong></dt>
@@ -96,14 +96,6 @@
                     <dd>Governs whether authenticated users that do not exist locally should be created in the users repository.
                     </dd>
 
-                    <dt><strong>authentication.strategy.draft</strong></dt>
-                    <dd>List[String] with delimiter ",". Defaults to AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,
-                        QueryParameterAccessTokenAuthenticationStrategy.</dd>
-                    <dd>Specify which authentication strategies system admin want to use for JMAP draft server.
-                        The implicit package name is "org.apache.james.jmap.http". If you have a custom authentication strategy outside this package, you have to specify its FQDN.
-                        If no authentication strategy is specified, JMAP draft server will fallback to default strategies:
-                    AccessTokenAuthenticationStrategy, JWTAuthenticationStrategy, QueryParameterAccessTokenAuthenticationStrategy.</dd>
-
                     <dt><strong>authentication.strategy.rfc8621</strong></dt>
                     <dd>List[String] with delimiter ",". Defaults to JWTAuthenticationStrategy,BasicAuthenticationStrategy.</dd>
                     <dd>Specify which authentication strategies system admin want to use for JMAP RFC-8621 server.
@@ -112,10 +104,8 @@
                     JWTAuthenticationStrategy, BasicAuthenticationStrategy.</dd>
 
                     <dt><strong>jmap.version.default</strong></dt>
-                    <dd>Optional string. Defaults to draft. Allowed values: draft, rfc-8621.</dd>
-                    <dd>Which version of the JMAP protocol should be served when none supplied in the Accept header.
-                    Defaults to draft for legacy reasons (avoid breaking changes) but setting the value to
-                    rfc-8621 allow compatibility with other third party apps.</dd>
+                    <dd>Optional string. Defaults to rfc-8621. Allowed values: rfc-8621</dd>
+                    <dd>Which version of the JMAP protocol should be served when none supplied in the Accept header.</dd>
 
                     <dt><strong>dynamic.jmap.prefix.resolution.enabled</strong></dt>
                     <dd>Optional boolean. Defaults to false. Supported Jmap session endpoint returns dynamic prefix in response.
@@ -169,22 +159,14 @@
                     <a href="https://www.krakend.io/">Krackend</a> API gateway, but usage of similar technologies is definitely doable.</p>
             </subsection>
 
-            <subsection name="JMAP-draft vs JMAP-RFC-8621">
-                <p>James had been supporting an implementation based on an early specification of JMAP, what we call here
-                <em>JMAP-draft</em> version. But the protocol went under a lot of changes until its finalization as an
-                official RFC.</p>
-
+            <subsection name="JMAP-RFC-8621">
                 <p>The finalized version of JMAP regarding the core specifications [<a href="https://tools.ietf.org/html/rfc8620">RFC-8620</a>]
                 and the mail specifications [<a href="https://tools.ietf.org/html/rfc8621">RFC-8621</a>] are being
-                currently implemented in James (<em>JMAP-RFC-8621</em> version). It's supposed to replace at term the
-                <em>JMAP-draft</em> version.</p>
+                currently implemented in James (<em>JMAP-RFC-8621</em> version).</p>
 
-                <p>Meanwhile, both versions will be available. The version by default will be <em>JMAP-draft</em> during
-                the time it takes to implement the new version. If you want to use a specific version for a request,
-                you will need to add an extra <em>jmapVersion</em> field in your <b>Accept</b> header of your JMAP request:</p>
+                <p>You need to add an extra <em>jmapVersion</em> field in your <b>Accept</b> header of your JMAP request:</p>
 
                 <ul>
-                    <li><b>JMAP-draft</b>: <em>Accept: application/json; jmapVersion=draft</em></li>
                     <li><b>JMAP-RFC-8621</b>: <em>Accept: application/json; jmapVersion=rfc-8621</em></li>
                 </ul>
             </subsection>
@@ -202,8 +184,6 @@
                 <p>Contributions enhancing support are furthermore welcomed.</p>
 
                 <ul>The list of tested JMAP clients are:
-                    <li><a href="https://open-paas.org/">OpenPaaS</a> is actively using the draft version of the JMAP implementation. Migration to
-                    RFC-8621 is planned.</li>
                     <li>Experiments had been run on top of <a href="https://github.com/iNPUTmice/lttrs-android">LTT.RS</a>. Version in the Accept
                         headers needs to be explicitly set to `rfc-8621`. <a href="https://github.com/linagora/james-project/pull/4089">Read more</a>.</li>
                 </ul>