This is an automated email from the ASF dual-hosted git repository.

jbertram pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-website.git

commit f46213d5c056a2071df8fb3f86b14a05132b0057
Author: Justin Bertram <[email protected]>
AuthorDate: Wed Nov 27 13:35:50 2019 -0600

    rework roadmap for clarity and comprehensiveness
---
 content/activemq-artemis-roadmap.html | 634 +++++++++++++++++++++++++++++-----
 src/activemq-artemis-roadmap.md       | 183 ++++++----
 2 files changed, 680 insertions(+), 137 deletions(-)

diff --git a/content/activemq-artemis-roadmap.html 
b/content/activemq-artemis-roadmap.html
index aef00d7..e760ca9 100644
--- a/content/activemq-artemis-roadmap.html
+++ b/content/activemq-artemis-roadmap.html
@@ -86,15 +86,13 @@
 <div class="content">
   <div class="page-title-activemq5">
     <div class="container">
-      <h1>ActiveMQ Artemis Roadmap</h1>
+      <h1>ActiveMQ Artemis Roadmap to 6.0</h1>
     </div>
   </div>
   <div class="container" >
     <div class="row" style="margin-top: 30px">
       <div class="col-12 activemq5">
-        <p><a href="activemq-artemis-roadmap">ActiveMQ Artemis Roadmap</a></p>
-
-<p>The goal of this page is to identify the outstanding issues that must be 
addressed by Artemis in order to achieve some level of feature parity with 
ActiveMQ 5.x. The overall objective for working toward feature parity between 
ActiveMQ 5.x and Artemis is for Artemis to eventually become ActiveMQ 6.x. This 
page exists so that we can work together as a group to achieve this goal.</p>
+        <p>The goal of this page is to identify the outstanding issues that 
must be addressed by Artemis in order to achieve some level of feature parity 
with ActiveMQ 5.x. The overall objective for working toward feature parity 
between ActiveMQ 5.x and Artemis is for Artemis to eventually become ActiveMQ 
6.x. This page exists so that we can work together as a group to achieve this 
goal. This page does <strong>not</strong> list the features which Artemis has 
<em>beyond</em> what currentl [...]
 
 <blockquote>
   <p><strong>Work in Progress</strong></p>
@@ -102,92 +100,574 @@
   <p>This page is a work in progress and will be updated frequently.</p>
 </blockquote>
 
-<h1 id="using-this-page">Using this page</h1>
-
-<p>Feature items can be listed, with links to JIRA tickets for longer 
conversation and hashing out specific feature details</p>
-
 <h1 id="featuresscenarios">Features/Scenarios</h1>
 
-<p>This section should be used to identify all the ActiveMQ 5.x features that 
Artemis needs. This should include <strong>all</strong> Artemis features that 
we can identify, including those from ActiveMQ that Artemis has already 
implemented. This will help us to more clearly track everything that Artemis 
needs.</p>
-
-<h3 id="advisory-support">Advisory Support</h3>
-
-<ul>
-  <li>Support for broker state change advisories (master -&gt; slave, slave 
-&gt; master)</li>
-  <li>Support for connection advisories (connect, disconnect, unclean 
disconnect, authn fail, authz fail)</li>
-  <li>Support for consumer advisories (new consumer, closed, slow 
consumer)</li>
-  <li>Support for producer advisories (new producer, closed, fast producer, 
message size exceeded, memoryLimit reached, storage limit reached)</li>
-  <li>Support for destination advisories (new dest, deleted)</li>
-</ul>
-
-<h3 id="broker-clustering">Broker Clustering</h3>
-
-<ul>
-  <li>Support full-duplex broker-to-broker cluster connections <a 
href="https://issues.apache.org/jira/browse/ARTEMIS-838";>ARTEMIS-838</a></li>
-</ul>
-
-<h3 id="activemq-5x-client-compatibility">ActiveMQ 5.x Client 
Compatibility</h3>
-
-<ul>
-  <li>Full support of Openwire (TODO: specifically, which versions)</li>
-  <li>PooledConnectionFactory</li>
-</ul>
-
-<h3 id="destination-interceptors">Destination Interceptors</h3>
-
-<ul>
-  <li>Virtual Topic support <a 
href="https://issues.apache.org/jira/browse/ARTEMIS-550";>ARTEMIS-550</a></li>
-</ul>
+<p>This section should be used to compare what features from ActiveMQ 5.x have 
been implemented in Artemis. Feature items can be listed, with links to JIRA 
tickets for longer conversation and hashing out specific feature details. This 
will help us to more clearly track everything that Artemis needs. This list of 
ActiveMQ 5.x features was taken from the <a href="features">5.x features 
page</a>.</p>
+
+<p>Keep in mind that not every feature must have an ✅. Artemis may still be 
ready to become ActiveMQ 6.0 even if a feature on this page still has an ❌ if 
that feature is deemed low priority. Artemis is not meant to be a 100% complete 
reimplementation of ActiveMQ 5.x. Features should only be reimplimented where 
it makes good sense.</p>
+
+<h3 id="protocol-support">Protocol Support</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>Version(s)</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td>OpenWire</td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td>Stomp</td>
+      <td style="text-align: center">✅</td>
+      <td>1.0, 1.1, 1.2</td>
+    </tr>
+    <tr>
+      <td>AMQP</td>
+      <td style="text-align: center">✅</td>
+      <td>1.0</td>
+    </tr>
+    <tr>
+      <td>MQTT</td>
+      <td style="text-align: center">✅</td>
+      <td>3.1</td>
+    </tr>
+    <tr>
+      <td>REST</td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="general">General</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="broker-camel-component">Broker Camel Component</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="https://github.com/apache/activemq-artemis/tree/master/examples/features/standard/camel";>example</a></td>
+    </tr>
+    <tr>
+      <td><a href="discovery">Discovery</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a href="components/artemis/documentation/latest/using-jms">UDP 
multicast &amp; JGroups</a></td>
+    </tr>
+    <tr>
+      <td><a href="enterprise-integration-patterns">Enterprise Integration 
Patterns</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>see “Broker Camel Component”</td>
+    </tr>
+    <tr>
+      <td><a href="horizontal-scaling">Horizontal Scaling</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>supported via <a 
href="components/artemis/documentation/latest/clusters">clustering</a> or <a 
href="components/artemis/documentation/latest/federation">federation</a></td>
+    </tr>
+    <tr>
+      <td><a href="jmsxuserid">JMSXUserID</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="activemq.apache.org/components/artemis/documentation/latest/security.html#tracking-the-validated-user">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="jmx">JMX</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/management">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a 
href="logging-a-warning-if-you-forget-to-start-a-connection">Logging a warning 
if you forget to start a connection</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="mdc-logging">MDC Logging</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="scaling-the-depth-of-a-queue">Scaling the depth of a 
queue</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/paging">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="uri-protocols">URI Protocols</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a href="components/artemis/documentation/latest/using-jms">vm, tcp, 
udp, jgroups</a></td>
+    </tr>
+    <tr>
+      <td><a href="the-proxy-connector">Proxy Connector</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="unix-shell-script">Unix Shell Script</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="clustering">Clustering</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="masterslave">Master-slave</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>using JDBC, shared filesystem, &amp; replication; <a 
href="components/artemis/documentation/latest/ha">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="networks-of-brokers">Network of brokers</a></td>
+      <td style="text-align: center">✅</td>
+      <td><a 
href="https://issues.apache.org/jira/browse/ARTEMIS-2265";>ARTEMIS-2265</a></td>
+      <td>equivalent through <a 
href="components/artemis/documentation/latest/clusters">clustering</a> or <a 
href="components/artemis/documentation/latest/federation">federation</a></td>
+    </tr>
+    <tr>
+      <td><a href="replicated-message-store">Replicated message store</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>equivalent via <a 
href="components/artemis/documentation/latest/ha">replication</a> HA config</td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="consumer-features">Consumer Features</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="consumer-dispatch-async">Consumer Dispatch Async</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/configuring-transports.html#configuring-netty-tcp">equivalent
 via the <code class="highlighter-rouge">directDeliver</code> URL 
parameter</a></td>
+    </tr>
+    <tr>
+      <td><a href="consumer-priority">Consumer Priority</a></td>
+      <td style="text-align: center">✅</td>
+      <td><a 
href="https://issues.apache.org/jira/browse/ARTEMIS-196";>ARTEMIS-196</a></td>
+      <td><a 
href="components/artemis/documentation/latest/consumer-priority">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="exclusive-consumer">Exclusive Consumer</a></td>
+      <td style="text-align: center">✅</td>
+      <td><a 
href="https://issues.apache.org/jira/browse/ARTEMIS-853";>ARTEMIS-853</a></td>
+      <td><a 
href="components/artemis/documentation/latest/exclusive-queues">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="manage-durable-subscribers">Manage Durable 
Subscribers</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/address-model.html#configuring-addresses-and-queues-via-address-settings">equivalent
 via the <code class="highlighter-rouge">expiry-delay</code> address 
setting</a></td>
+    </tr>
+    <tr>
+      <td><a href="message-groups">Message Groups</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/message-grouping">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="redelivery-policy">Redelivery Policy</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/undelivered-messages">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="retroactive-consumer">Retroactive Consumer</a></td>
+      <td style="text-align: center">✅</td>
+      <td><a 
href="https://issues.apache.org/jira/browse/ARTEMIS-2504";>ARTEMIS-2504</a></td>
+      <td>documentation coming in 2.11</td>
+    </tr>
+    <tr>
+      <td><a href="selectors">Selectors</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/filter-expressions">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="slow-consumer-handling">Slow Consumer Handling</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/slow-consumers">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="subscription-recovery-policy">Subscription Recovery 
Policy</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td>rough equivalent via retroactive addresses and <a 
href="components/artemis/documentation/latest/last-value-queues">last value 
queues</a></td>
+    </tr>
+  </tbody>
+</table>
 
 <h3 id="destination-features">Destination Features</h3>
 
-<ul>
-  <li>Destination Policy: Garbage collection and advisory support for that 
activity <a 
href="https://issues.apache.org/jira/browse/ARTEMIS-1148";>ARTEMIS-1148</a></li>
-  <li>Exclusive consumer support <a 
href="https://issues.apache.org/jira/browse/ARTEMIS-854";>ARTEMIS-854</a></li>
-  <li>Exclusive consumer features: consumersBeforeDispatchStarts, 
timeBeforeDispatchStarts <a 
href="https://issues.apache.org/jira/browse/ARTEMIS-856";>ARTEMIS-856</a></li>
-</ul>
-
-<h3 id="plugin-support">Plugin Support</h3>
-
-<ul>
-  <li>Destination Policies (there is a slew of functionality in ActiveMQ 5.x 
dest policies that should be detailed out)</li>
-</ul>
-
-<h3 id="storage-backend">Storage Backend</h3>
-
-<ul>
-  <li>Support for multiple shared persistence stores similar to multi-kahadb 
(allow for storage across multiple disk volumes.. ie.  queue://ORDER.&gt; on 
/mnt/order queue://BILLING.&gt; on /mnt/billing, etc) <a 
href="https://issues.apache.org/jira/browse/ARTEMIS-839";>ARTEMIS-839</a></li>
-</ul>
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="composite-destinations">Composite Destinations</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>supported for OpenWire clients; see also <a 
href="components/artemis/documentation/latest/diverts">diverts</a></td>
+    </tr>
+    <tr>
+      <td><a href="configure-startup-destinations">Configure Startup 
Destinations</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="delete-inactive-destinations">Delete Inactive 
Destinations</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="destination-options">Destination Options</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="mirrored-queues">Mirrored Queues</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td>rough equivalent via non-exclusive <a 
href="components/artemis/documentation/latest/diverts">diverts</a></td>
+    </tr>
+    <tr>
+      <td><a href="per-destination-policies">Per Destination Policies</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>config via <code 
class="highlighter-rouge">address-settings</code></td>
+    </tr>
+    <tr>
+      <td><a href="virtual-destinations">Virtual Destinations</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/openwire.html#virtual-topic-consumer-destination-translation">docs</a>
 for backwards compatibility with OpenWire clients</td>
+    </tr>
+    <tr>
+      <td><a href="wildcards">Wildcards</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/wildcard-syntax">documentation</a></td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="interceptors">Interceptors</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="destinations-plugin">Destinations Plugin</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="activemq.apache.org/components/artemis/documentation/latest/broker-plugins">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="logging-interceptor">Logging Interceptor</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/broker-plugins.html#using-the-loggingactivemqserverplugin">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="statisticsplugin">StatisticsPlugin</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>equivalent via <a 
href="activemq.apache.org/components/artemis/documentation/latest/management.html#using-management-message-api">management
 messages</a></td>
+    </tr>
+    <tr>
+      <td><a href="timestampplugin">TimeStampPlugin</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="message-dispatching-features">Message Dispatching Features</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="async-sends">Async Sends</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>supported for OpenWire &amp; also for core (via <code 
class="highlighter-rouge">blockOnDurableSend</code> and <code 
class="highlighter-rouge">blockOnNonDurableSend</code> URL parameters)</td>
+    </tr>
+    <tr>
+      <td><a href="dispatch-policies">Dispatch Policies</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="message-cursors">Message Cursors</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>equivalent via <a 
href="components/artemis/documentation/latest/paging">paging</a></td>
+    </tr>
+    <tr>
+      <td><a href="optimized-acknowledgement">Optimized 
Acknowledgement</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>supported for OpenWire &amp; core as well via <code 
class="highlighter-rouge">ackBatchSize</code> URL parameter</td>
+    </tr>
+    <tr>
+      <td><a href="producer-flow-control">Producer Flow Control</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/flow-control">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="total-ordering">Total Ordering</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="message-features">Message Features</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="activemq-message-properties">ActiveMQ Message 
Properties</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="advisory-message">Advisory Message</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>equivalent support via <a 
href="components/artemis/documentation/latest/management.html#management-notifications">management
 notifications</a></td>
+    </tr>
+    <tr>
+      <td><a href="blob-messages">Blob Messages</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>arbitrarily <a 
href="components/artemis/documentation/latest/large-messages">large 
messages</a> supported</td>
+    </tr>
+    <tr>
+      <td><a href="delay-and-schedule-message-delivery">Delay and Schedule 
Message Delivery</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/scheduled-messages">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="message-transformation">Message Transformation</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>supported via transformers and <a 
href="components/artemis/documentation/latest/intercepting-operations">remoting 
interceptors</a></td>
+    </tr>
+    <tr>
+      <td><a href="objectmessage">ObjectMessage</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/security.html#controlling-jms-objectmessage-deserialization">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="structured-message-properties-and-mapmessages">Structured 
Message Properties and MapMessages</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="persistence">Persistence</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="amq-message-store">AMQ Message Store</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>equivalent functionality via <a 
href="components/artemis/documentation/latest/persistence">journal</a></td>
+    </tr>
+    <tr>
+      <td><a href="configurable-ioexception-handling">Configurable IOException 
Handling</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td>all IO errors considered critical</td>
+    </tr>
+    <tr>
+      <td><a href="jdbc-support">JDBC Support</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="kahadb">KahaDB</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>equivalent functionality via <a 
href="components/artemis/documentation/latest/persistence">journal</a></td>
+    </tr>
+    <tr>
+      <td><a href="kaha-persistence">Kaha Persistence</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>equivalent functionality via <a 
href="components/artemis/documentation/latest/persistence">journal</a></td>
+    </tr>
+    <tr>
+      <td><a href="periodically-checking-disk-limits">Periodically checking 
disk limits</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="pluggable-storage-lockers">Pluggable storage 
lockers</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td> </td>
+    </tr>
+    <tr>
+      <td><a href="replicated-Persistenceleveldb-store">Replicated LevelDB 
Store</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td>equivalent functionality via <a 
href="components/artemis/documentation/latest/ha">journal replication HA 
config</a></td>
+    </tr>
+    <tr>
+      <td><a href="https://activemq.apache.org/kahadb";>Multi-kahaDB</a></td>
+      <td style="text-align: center">❌</td>
+      <td><a 
href="https://issues.apache.org/jira/browse/ARTEMIS-839";>ARTEMIS-839</a></td>
+      <td> </td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="security">Security</h3>
+
+<table>
+  <thead>
+    <tr>
+      <th>Feature</th>
+      <th style="text-align: center">Artemis Support</th>
+      <th>JIRA</th>
+      <th>Notes</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td><a href="audit-logging">Audit Logging</a></td>
+      <td style="text-align: center">✅</td>
+      <td><a 
href="https://issues.apache.org/jira/browse/ARTEMIS-2273";>ARTEMIS-2273</a></td>
+      <td><a 
href="components/artemis/documentation/latest/logging.html#configuring-audit-log">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="cached-ldap-authorization-module">Cached LDAP Authorization 
Module</a></td>
+      <td style="text-align: center">✅</td>
+      <td><a 
href="https://issues.apache.org/jira/browse/ARTEMIS-168";>ARTEMIS-168</a></td>
+      <td><a 
href="components/artemis/documentation/latest/security.html#legacyldapsecuritysettingplugin">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="encrypted-passwords">Encrypted passwords</a></td>
+      <td style="text-align: center">✅</td>
+      <td> </td>
+      <td><a 
href="components/artemis/documentation/latest/masking-passwords">documentation</a></td>
+    </tr>
+    <tr>
+      <td><a href="shiro">Shiro</a></td>
+      <td style="text-align: center">❌</td>
+      <td> </td>
+      <td>equivalent functionality available via JAAS</td>
+    </tr>
+  </tbody>
+</table>
 
 <h1 id="migration">Migration</h1>
 
 <p>This section should help to answer the end user question, <em>‘How do I 
migrate from ActiveMQ 5.x to Artemis?’</em>. This should include the 
identification of any tools that can help make this easier, as well as 
documenting information and procedures specific to migrating.</p>
 
-<h1 id="wishlist">Wishlist</h1>
-
-<h3 id="protocol-features">Protocol features</h3>
-
-<ul>
-  <li>Exclusive consumer support across all protocols STOMP, MQTT, AMQP, etc. 
<a href="https://issues.apache.org/jira/browse/ARTEMIS-855";>ARTEMIS-855</a></li>
-</ul>
-
-<h3 id="kahadb-migration-tool">KahaDB Migration Tool</h3>
-
 <ul>
-  <li>Support exporting messages from KahaDB format to Artemis</li>
+  <li><a href="components/artemis/migration">Migration Guide</a></li>
+  <li>Export messages from KahaDB using <a 
href="https://github.com/apache/activemq-cli-tools/tree/master/activemq-kahadb-exporter";>this
 tool</a>. The exported XML can be imported via the <code 
class="highlighter-rouge">./artemis data imp</code> command.</li>
+  <li>For non-standard backends (where direct export isn’t an option) follow 
<a 
href="https://github.com/apache/activemq-artemis/tree/master/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge";>this
 example</a> to migrate messages from ActiveMQ 5.x to Artemis over the 
wire.</li>
 </ul>
 
-<h3 id="over-the-wire-migration-tool">Over-the-wire migration tool</h3>
-
-<ul>
-  <li>Support a tool for migrating messages from ActiveMQ 5.x brokers to 
Artemis-based brokers (for non-standard backends)
-    <ul>
-      <li>Goal: preserve messageId</li>
-    </ul>
-  </li>
-</ul>
-
-
       </div>
     </div>
   </div>
diff --git a/src/activemq-artemis-roadmap.md b/src/activemq-artemis-roadmap.md
index 4b386f5..6325e31 100644
--- a/src/activemq-artemis-roadmap.md
+++ b/src/activemq-artemis-roadmap.md
@@ -1,83 +1,146 @@
 ---
 layout: default_md
-title: ActiveMQ Artemis Roadmap 
+title: ActiveMQ Artemis Roadmap to 6.0
 title-class: page-title-activemq5
 type: activemq5
 ---
 
-[ActiveMQ Artemis Roadmap](activemq-artemis-roadmap)
-
-
-The goal of this page is to identify the outstanding issues that must be 
addressed by Artemis in order to achieve some level of feature parity with 
ActiveMQ 5.x. The overall objective for working toward feature parity between 
ActiveMQ 5.x and Artemis is for Artemis to eventually become ActiveMQ 6.x. This 
page exists so that we can work together as a group to achieve this goal.
+The goal of this page is to identify the outstanding issues that must be 
addressed by Artemis in order to achieve some level of feature parity with 
ActiveMQ 5.x. The overall objective for working toward feature parity between 
ActiveMQ 5.x and Artemis is for Artemis to eventually become ActiveMQ 6.x. This 
page exists so that we can work together as a group to achieve this goal. This 
page does **not** list the features which Artemis has *beyond* what currently 
exists in ActiveMQ 5.x.
 
 > **Work in Progress**
 > 
 > This page is a work in progress and will be updated frequently.
 
-Using this page
-===============
-
-Feature items can be listed, with links to JIRA tickets for longer 
conversation and hashing out specific feature details
-
 Features/Scenarios
 ==================
 
-This section should be used to identify all the ActiveMQ 5.x features that 
Artemis needs. This should include **all** Artemis features that we can 
identify, including those from ActiveMQ that Artemis has already implemented. 
This will help us to more clearly track everything that Artemis needs.
-
-### Advisory Support
-
-*   Support for broker state change advisories (master -> slave, slave -> 
master)
-*   Support for connection advisories (connect, disconnect, unclean 
disconnect, authn fail, authz fail)
-*   Support for consumer advisories (new consumer, closed, slow consumer)
-*   Support for producer advisories (new producer, closed, fast producer, 
message size exceeded, memoryLimit reached, storage limit reached)
-*   Support for destination advisories (new dest, deleted)
-
-### Broker Clustering
-
-*   Support full-duplex broker-to-broker cluster connections 
[ARTEMIS-838](https://issues.apache.org/jira/browse/ARTEMIS-838)
-
-### ActiveMQ 5.x Client Compatibility
-
-*    Full support of Openwire (TODO: specifically, which versions)
-*    PooledConnectionFactory
-
-### Destination Interceptors
-
-*   Virtual Topic support 
[ARTEMIS-550](https://issues.apache.org/jira/browse/ARTEMIS-550)
+This section should be used to compare what features from ActiveMQ 5.x have 
been implemented in Artemis. Feature items can be listed, with links to JIRA 
tickets for longer conversation and hashing out specific feature details. This 
will help us to more clearly track everything that Artemis needs. This list of 
ActiveMQ 5.x features was taken from the [5.x features page](features).
+
+Keep in mind that not every feature must have an &#9989;. Artemis may still be 
ready to become ActiveMQ 6.0 even if a feature on this page still has an 
&#10060; if that feature is deemed low priority. Artemis is not meant to be a 
100% complete reimplementation of ActiveMQ 5.x. Features should only be 
reimplimented where it makes good sense.
+
+### Protocol Support
+
+|Feature|Artemis Support|Version(s)|
+|---|:---:|---|---|
+|OpenWire|&#9989;||
+|Stomp|&#9989;|1.0, 1.1, 1.2|
+|AMQP|&#9989;|1.0|
+|MQTT|&#9989;|3.1|
+|REST|&#9989;||
+
+### General
+
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[Broker Camel 
Component](broker-camel-component)|&#9989;||[example](https://github.com/apache/activemq-artemis/tree/master/examples/features/standard/camel)|
+|[Discovery](discovery)|&#9989;||[UDP multicast & 
JGroups](components/artemis/documentation/latest/using-jms)|
+|[Enterprise Integration 
Patterns](enterprise-integration-patterns)|&#9989;||see "Broker Camel 
Component"|
+|[Horizontal Scaling](horizontal-scaling)|&#9989;||supported via 
[clustering](components/artemis/documentation/latest/clusters) or 
[federation](components/artemis/documentation/latest/federation)|
+|[JMSXUserID](jmsxuserid)|&#9989;||[documentation](activemq.apache.org/components/artemis/documentation/latest/security.html#tracking-the-validated-user)|
+|[JMX](jmx)|&#9989;||[documentation](components/artemis/documentation/latest/management)|
+|[Logging a warning if you forget to start a 
connection](logging-a-warning-if-you-forget-to-start-a-connection)|&#10060;|||
+|[MDC Logging](mdc-logging)|&#10060;|||
+|[Scaling the depth of a 
queue](scaling-the-depth-of-a-queue)|&#9989;||[documentation](components/artemis/documentation/latest/paging)|
+|[URI Protocols](uri-protocols)|&#9989;||[vm, tcp, udp, 
jgroups](components/artemis/documentation/latest/using-jms)|
+|[Proxy Connector](the-proxy-connector)|&#10060;|||
+|[Unix Shell Script](unix-shell-script)|&#9989;|||
+
+### Clustering
+
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[Master-slave](masterslave)|&#9989;||using JDBC, shared filesystem, & 
replication; [documentation](components/artemis/documentation/latest/ha)|
+|[Network of 
brokers](networks-of-brokers)|&#9989;|[ARTEMIS-2265](https://issues.apache.org/jira/browse/ARTEMIS-2265)|equivalent
 through [clustering](components/artemis/documentation/latest/clusters) or 
[federation](components/artemis/documentation/latest/federation)|
+|[Replicated message store](replicated-message-store)|&#9989;||equivalent via 
[replication](components/artemis/documentation/latest/ha) HA config|
+
+### Consumer Features
+
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[Consumer Dispatch Async](consumer-dispatch-async)|&#9989;||[equivalent via 
the `directDeliver` URL 
parameter](components/artemis/documentation/latest/configuring-transports.html#configuring-netty-tcp)|
+|[Consumer 
Priority](consumer-priority)|&#9989;|[ARTEMIS-196](https://issues.apache.org/jira/browse/ARTEMIS-196)|[documentation](components/artemis/documentation/latest/consumer-priority)|
+|[Exclusive 
Consumer](exclusive-consumer)|&#9989;|[ARTEMIS-853](https://issues.apache.org/jira/browse/ARTEMIS-853)|[documentation](components/artemis/documentation/latest/exclusive-queues)|
+|[Manage Durable Subscribers](manage-durable-subscribers)|&#9989;||[equivalent 
via the `expiry-delay` address 
setting](components/artemis/documentation/latest/address-model.html#configuring-addresses-and-queues-via-address-settings)|
+|[Message 
Groups](message-groups)|&#9989;||[documentation](components/artemis/documentation/latest/message-grouping)|
+|[Redelivery 
Policy](redelivery-policy)|&#9989;||[documentation](components/artemis/documentation/latest/undelivered-messages)|
+|[Retroactive 
Consumer](retroactive-consumer)|&#9989;|[ARTEMIS-2504](https://issues.apache.org/jira/browse/ARTEMIS-2504)|documentation
 coming in 2.11|
+|[Selectors](selectors)|&#9989;||[documentation](components/artemis/documentation/latest/filter-expressions)|
+|[Slow Consumer 
Handling](slow-consumer-handling)|&#9989;||[documentation](components/artemis/documentation/latest/slow-consumers)|
+|[Subscription Recovery Policy](subscription-recovery-policy)|&#10060;||rough 
equivalent via retroactive addresses and [last value 
queues](components/artemis/documentation/latest/last-value-queues)|
 
 ### Destination Features
 
-*   Destination Policy: Garbage collection and advisory support for that 
activity [ARTEMIS-1148](https://issues.apache.org/jira/browse/ARTEMIS-1148)
-*   Exclusive consumer support 
[ARTEMIS-854](https://issues.apache.org/jira/browse/ARTEMIS-854)
-*   Exclusive consumer features: consumersBeforeDispatchStarts, 
timeBeforeDispatchStarts 
[ARTEMIS-856](https://issues.apache.org/jira/browse/ARTEMIS-856)
-
-### Plugin Support
-
-*   Destination Policies (there is a slew of functionality in ActiveMQ 5.x 
dest policies that should be detailed out)
-
-### Storage Backend
-
-*   Support for multiple shared persistence stores similar to multi-kahadb 
(allow for storage across multiple disk volumes.. ie.  queue://ORDER.> on 
/mnt/order queue://BILLING.> on /mnt/billing, etc) 
[ARTEMIS-839](https://issues.apache.org/jira/browse/ARTEMIS-839)
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[Composite Destinations](composite-destinations)|&#9989;||supported for 
OpenWire clients; see also 
[diverts](components/artemis/documentation/latest/diverts)|
+|[Configure Startup Destinations](configure-startup-destinations)|&#9989;|||
+|[Delete Inactive Destinations](delete-inactive-destinations)|&#10060;|||
+|[Destination Options](destination-options)|&#9989;|||
+|[Mirrored Queues](mirrored-queues)|&#10060;||rough equivalent via 
non-exclusive [diverts](components/artemis/documentation/latest/diverts)|
+|[Per Destination Policies](per-destination-policies)|&#9989;||config via 
`address-settings`|
+|[Virtual 
Destinations](virtual-destinations)|&#9989;||[docs](components/artemis/documentation/latest/openwire.html#virtual-topic-consumer-destination-translation)
 for backwards compatibility with OpenWire clients|
+|[Wildcards](wildcards)|&#9989;||[documentation](components/artemis/documentation/latest/wildcard-syntax)|
+
+### Interceptors
+
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[Destinations 
Plugin](destinations-plugin)|&#9989;||[documentation](activemq.apache.org/components/artemis/documentation/latest/broker-plugins)|
+|[Logging 
Interceptor](logging-interceptor)|&#9989;||[documentation](components/artemis/documentation/latest/broker-plugins.html#using-the-loggingactivemqserverplugin)|
+|[StatisticsPlugin](statisticsplugin)|&#9989;||equivalent via [management 
messages](activemq.apache.org/components/artemis/documentation/latest/management.html#using-management-message-api)|
+|[TimeStampPlugin](timestampplugin)|&#10060;|||
+
+### Message Dispatching Features
+
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[Async Sends](async-sends)|&#9989;||supported for OpenWire & also for core 
(via `blockOnDurableSend` and `blockOnNonDurableSend` URL parameters)|
+|[Dispatch Policies](dispatch-policies)|&#10060;|||
+|[Message Cursors](message-cursors)|&#9989;||equivalent via 
[paging](components/artemis/documentation/latest/paging)|
+|[Optimized Acknowledgement](optimized-acknowledgement)|&#9989;||supported for 
OpenWire & core as well via `ackBatchSize` URL parameter|
+|[Producer Flow 
Control](producer-flow-control)|&#9989;||[documentation](components/artemis/documentation/latest/flow-control)|
+|[Total Ordering](total-ordering)|&#10060;|||
+
+### Message Features
+
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[ActiveMQ Message Properties](activemq-message-properties)|&#9989;|||
+|[Advisory Message](advisory-message)|&#9989;||equivalent support via 
[management 
notifications](components/artemis/documentation/latest/management.html#management-notifications)|
+|[Blob Messages](blob-messages)|&#9989;||arbitrarily [large 
messages](components/artemis/documentation/latest/large-messages) supported|
+|[Delay and Schedule Message 
Delivery](delay-and-schedule-message-delivery)|&#9989;||[documentation](components/artemis/documentation/latest/scheduled-messages)|
+|[Message Transformation](message-transformation)|&#9989;||supported via 
transformers and [remoting 
interceptors](components/artemis/documentation/latest/intercepting-operations)|
+|[ObjectMessage](objectmessage)|&#9989;||[documentation](components/artemis/documentation/latest/security.html#controlling-jms-objectmessage-deserialization)|
+|[Structured Message Properties and 
MapMessages](structured-message-properties-and-mapmessages)|&#10060;|||
+
+### Persistence
+
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[AMQ Message Store](amq-message-store)|&#9989;||equivalent functionality via 
[journal](components/artemis/documentation/latest/persistence)|
+|[Configurable IOException 
Handling](configurable-ioexception-handling)|&#10060;||all IO errors considered 
critical|
+|[JDBC Support](jdbc-support)|&#9989;|||
+|[KahaDB](kahadb)|&#9989;||equivalent functionality via 
[journal](components/artemis/documentation/latest/persistence)|
+|[Kaha Persistence](kaha-persistence)|&#9989;||equivalent functionality via 
[journal](components/artemis/documentation/latest/persistence)|
+|[Periodically checking disk 
limits](periodically-checking-disk-limits)|&#9989;|||
+|[Pluggable storage lockers](pluggable-storage-lockers)|&#10060;|||
+|[Replicated LevelDB 
Store](replicated-Persistenceleveldb-store)|&#9989;||equivalent functionality 
via [journal replication HA config](components/artemis/documentation/latest/ha)|
+|[Multi-kahaDB](https://activemq.apache.org/kahadb)|&#10060;|[ARTEMIS-839](https://issues.apache.org/jira/browse/ARTEMIS-839)||
+
+### Security
+
+|Feature|Artemis Support|JIRA|Notes|
+|---|:---:|---|---|
+|[Audit 
Logging](audit-logging)|&#9989;|[ARTEMIS-2273](https://issues.apache.org/jira/browse/ARTEMIS-2273)|[documentation](components/artemis/documentation/latest/logging.html#configuring-audit-log)|
+|[Cached LDAP Authorization 
Module](cached-ldap-authorization-module)|&#9989;|[ARTEMIS-168](https://issues.apache.org/jira/browse/ARTEMIS-168)|[documentation](components/artemis/documentation/latest/security.html#legacyldapsecuritysettingplugin)|
+|[Encrypted 
passwords](encrypted-passwords)|&#9989;||[documentation](components/artemis/documentation/latest/masking-passwords)|
+|[Shiro](shiro)|&#10060;||equivalent functionality available via JAAS|
 
 Migration
 =========
 
 This section should help to answer the end user question, _'How do I migrate 
from ActiveMQ 5.x to Artemis?'_. This should include the identification of any 
tools that can help make this easier, as well as documenting information and 
procedures specific to migrating.
 
-Wishlist
-========
-
-### Protocol features
-
-*   Exclusive consumer support across all protocols STOMP, MQTT, AMQP, etc. 
[ARTEMIS-855](https://issues.apache.org/jira/browse/ARTEMIS-855)
-    
-
-### KahaDB Migration Tool
-
-*   Support exporting messages from KahaDB format to Artemis
-
-### Over-the-wire migration tool
-
-*   Support a tool for migrating messages from ActiveMQ 5.x brokers to 
Artemis-based brokers (for non-standard backends)
-    *   Goal: preserve messageId
-
+* [Migration Guide](components/artemis/migration)
+* Export messages from KahaDB using [this 
tool](https://github.com/apache/activemq-cli-tools/tree/master/activemq-kahadb-exporter).
 The exported XML can be imported via the `./artemis data imp` command.
+* For non-standard backends (where direct export isn't an option) follow [this 
example](https://github.com/apache/activemq-artemis/tree/master/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge)
 to migrate messages from ActiveMQ 5.x to Artemis over the wire.

Reply via email to