blob: bb330e5dd251622256296255cd731975bfe755d3 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.18">
<link rel="icon" type="image/png" href="images/favicon.png">
<title>Versions</title>
<link rel="stylesheet" href="css/asciidoctor.css">
<link rel="stylesheet" href="css/font-awesome.css">
<link rel="stylesheet" href="css/rouge-github.css">
</head>
<body class="book toc2 toc-left">
<div id="header">
<h1>Versions</h1>
<div id="toc" class="toc2">
<div id="toctitle"><a href="index.html">User Manual for 2.32.0</a></div>
<ul class="sectlevel1">
<li><a href="#2-32-0">1. 2.32.0</a>
<ul class="sectlevel2">
<li><a href="#highlights">1.1. Highlights</a></li>
<li><a href="#upgrading-from-2-31-x">1.2. Upgrading from 2.31.x</a></li>
</ul>
</li>
<li><a href="#2-31-2">2. 2.31.2</a>
<ul class="sectlevel2">
<li><a href="#highlights-2">2.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-31-1">3. 2.31.1</a>
<ul class="sectlevel2">
<li><a href="#highlights-3">3.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-31-0">4. 2.31.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-4">4.1. Highlights</a></li>
<li><a href="#upgrading-from-2-30-0">4.2. Upgrading from 2.30.0</a></li>
</ul>
</li>
<li><a href="#2-30-0">5. 2.30.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-5">5.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-29-0">6. 2.29.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-6">6.1. Highlights</a></li>
<li><a href="#upgrading-from-2-28-0">6.2. Upgrading from 2.28.0</a></li>
</ul>
</li>
<li><a href="#2-28-0">7. 2.28.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-7">7.1. Highlights</a></li>
<li><a href="#upgrading-from-2-27-0">7.2. Upgrading from 2.27.0</a></li>
</ul>
</li>
<li><a href="#2-27-1">8. 2.27.1</a>
<ul class="sectlevel2">
<li><a href="#highlights-8">8.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-27-0">9. 2.27.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-9">9.1. Highlights</a></li>
<li><a href="#upgrading-from-2-26-0">9.2. Upgrading from 2.26.0</a></li>
<li><a href="#manual-update">9.3. Manual update</a></li>
</ul>
</li>
<li><a href="#2-26-0">10. 2.26.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-10">10.1. Highlights</a></li>
<li><a href="#upgrading-from-2-25-0">10.2. Upgrading from 2.25.0</a></li>
</ul>
</li>
<li><a href="#2-25-0">11. 2.25.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-11">11.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-24-0">12. 2.24.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-12">12.1. Highlights</a></li>
<li><a href="#upgrading-from-2-23-0">12.2. Upgrading from 2.23.0</a></li>
</ul>
</li>
<li><a href="#2-23-1">13. 2.23.1</a>
<ul class="sectlevel2">
<li><a href="#highlights-13">13.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-23-0">14. 2.23.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-14">14.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-22-0">15. 2.22.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-15">15.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-21-0">16. 2.21.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-16">16.1. Highlights</a></li>
<li><a href="#upgrading-from-2-20-0">16.2. Upgrading from 2.20.0</a></li>
</ul>
</li>
<li><a href="#2-20-0">17. 2.20.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-17">17.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-19-0">18. 2.19.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-18">18.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-18-0">19. 2.18.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-19">19.1. Highlights</a></li>
<li><a href="#upgrading-from-2-17-0">19.2. Upgrading from 2.17.0</a></li>
</ul>
</li>
<li><a href="#2-17-0">20. 2.17.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-20">20.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-16-0">21. 2.16.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-21">21.1. Highlights</a></li>
<li><a href="#upgrading-from-2-15-0">21.2. Upgrading from 2.15.0</a></li>
</ul>
</li>
<li><a href="#2-15-0">22. 2.15.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-22">22.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-14-0">23. 2.14.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-23">23.1. Highlights</a></li>
<li><a href="#upgrading-from-2-13-0">23.2. Upgrading from 2.13.0</a></li>
</ul>
</li>
<li><a href="#2-13-0">24. 2.13.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-24">24.1. Highlights</a></li>
<li><a href="#upgrading-from-2-12-0">24.2. Upgrading from 2.12.0</a></li>
</ul>
</li>
<li><a href="#2-12-0">25. 2.12.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-25">25.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-11-0">26. 2.11.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-26">26.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-10-0">27. 2.10.0</a>
<ul class="sectlevel2">
<li><a href="#upgrading-from-2-9-0">27.1. Upgrading from 2.9.0</a></li>
</ul>
</li>
<li><a href="#2-9-0">28. 2.9.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-27">28.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-8-1">29. 2.8.1</a>
<ul class="sectlevel2">
<li><a href="#upgrading-from-2-8-0">29.1. Upgrading from 2.8.0</a></li>
</ul>
</li>
<li><a href="#2-8-0">30. 2.8.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-28">30.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-7-0">31. 2.7.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-29">31.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-6-4">32. 2.6.4</a>
<ul class="sectlevel2">
<li><a href="#highlights-30">32.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-6-3">33. 2.6.3</a></li>
<li><a href="#2-6-2">34. 2.6.2</a></li>
<li><a href="#2-6-1">35. 2.6.1</a></li>
<li><a href="#2-6-0">36. 2.6.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-31">36.1. Highlights</a></li>
</ul>
</li>
<li><a href="#2-5-0">37. 2.5.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-32">37.1. Highlights</a></li>
<li><a href="#upgrading-from-2-4-0">37.2. Upgrading from 2.4.0</a></li>
</ul>
</li>
<li><a href="#2-4-0">38. 2.4.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-33">38.1. Highlights</a></li>
<li><a href="#upgrading-from-2-3-0">38.2. Upgrading from 2.3.0</a></li>
</ul>
</li>
<li><a href="#2-3-0">39. 2.3.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-34">39.1. Highlights</a></li>
<li><a href="#upgrading-from-2-2-0">39.2. Upgrading from 2.2.0</a></li>
</ul>
</li>
<li><a href="#2-2-0">40. 2.2.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-35">40.1. Highlights</a></li>
<li><a href="#highlights-36">40.2. Highlights</a></li>
</ul>
</li>
<li><a href="#2-0-0">41. 2.0.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-37">41.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-5-6">42. 1.5.6</a>
<ul class="sectlevel2">
<li><a href="#highlights-38">42.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-5-5">43. 1.5.5</a>
<ul class="sectlevel2">
<li><a href="#highlights-39">43.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-5-4">44. 1.5.4</a>
<ul class="sectlevel2">
<li><a href="#highlights-40">44.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-5-3">45. 1.5.3</a>
<ul class="sectlevel2">
<li><a href="#highlights-41">45.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-5-2">46. 1.5.2</a>
<ul class="sectlevel2">
<li><a href="#highlights-42">46.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-5-1">47. 1.5.1</a>
<ul class="sectlevel2">
<li><a href="#highlights-43">47.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-5-0">48. 1.5.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-44">48.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-4-0">49. 1.4.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-45">49.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-3-0">50. 1.3.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-46">50.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-2-0">51. 1.2.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-47">51.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-1-0">52. 1.1.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-48">52.1. Highlights</a></li>
</ul>
</li>
<li><a href="#1-0-0">53. 1.0.0</a>
<ul class="sectlevel2">
<li><a href="#highlights-49">53.1. Highlights</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>This chapter provides the following information for each release:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>A link to the full release notes which includes all issues resolved in the release.</p>
</li>
<li>
<p>A brief list of "highlights" when applicable.</p>
</li>
<li>
<p>If necessary, specific steps required when upgrading from the previous version.</p>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
If the upgrade spans multiple versions then the steps from <strong>each</strong> version need to be followed in order.
</td>
</tr>
</table>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
Follow the general upgrade procedure outlined in the <a href="upgrading.html#upgrading-the-broker">Upgrading the Broker</a> chapter in addition to any version-specific upgrade instructions outlined here.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-32-0"><a class="anchor" href="#2-32-0"></a><a class="link" href="#2-32-0">1. 2.32.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12353769">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights"><a class="anchor" href="#highlights"></a><a class="link" href="#highlights">1.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Mirrored Core Messages can now be sent on their native format without conversions</p>
</li>
<li>
<p>Mirror bug fixes and improvements</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/ARTEMIS-3474">ActiveMQ Artemis has now adopted</a> more inclusive language definitions.</p>
</li>
<li>
<p>The examples are now part of its own repository: <a href="https://github.com/apache/activemq-artemis-examples/" class="bare">https://github.com/apache/activemq-artemis-examples/</a></p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-31-x"><a class="anchor" href="#upgrading-from-2-31-x"></a><a class="link" href="#upgrading-from-2-31-x">1.2. Upgrading from 2.31.x</a></h3>
<div class="ulist">
<ul>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-4501">ARTEMIS-4501</a> MQTT subscription queues will be automatically removed when the corresponding session expires, either based on the session expiry interval passed by an MQTT 5 client or based on the configured <code>defaultMqttSessionExpiryInterval</code> for MQTT 3.x clients or MQTT 5 clients which don&#8217;t explicitly pass a session expiry interval.</p>
<div class="paragraph">
<p>Prior to this change removing subscription queues relied on the generic <code>auto-delete-*</code> <code>address-settings</code>.</p>
</div>
<div class="paragraph">
<p>These settings are now no longer required.</p>
</div>
<div class="paragraph">
<p>Configure <code>defaultMqttSessionExpiryInterval</code> instead.</p>
</div>
</li>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3474">ARTEMIS-3474</a> the following configuration elements have changed wherever they occur (e.g. <code>broker.xml</code>, <code>bootstrap.xml</code>, etc.), although all the previous configurations will still be supported for the time being:</p>
<div class="ulist">
<ul>
<li>
<p><code>master</code> &#8594; <code>primary</code></p>
</li>
<li>
<p><code>slave</code> &#8594; <code>backup</code></p>
</li>
<li>
<p><code>check-for-live-server</code> &#8594; <code>check-for-active-server</code></p>
</li>
<li>
<p><code>whitelist</code> &#8594; <code>allowlist</code></p>
</li>
<li>
<p><code>blacklist</code> &#8594; <code>denylist</code></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Additionally, references to these elements have also changed in the documentation and in management interfaces.
Cluster topology information (e.g. returned from the <code>listNetworkTopology</code>) will contain both <code>primary</code> <strong>and</strong> <code>live</code> entries for nodes functioning as primary servers.</p>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-31-2"><a class="anchor" href="#2-31-2"></a><a class="link" href="#2-31-2">2. 2.31.2</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12353776">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-2"><a class="anchor" href="#highlights-2"></a><a class="link" href="#highlights-2">2.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Bug Fix</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-31-1"><a class="anchor" href="#2-31-1"></a><a class="link" href="#2-31-1">3. 2.31.1</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12353642">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-3"><a class="anchor" href="#highlights-3"></a><a class="link" href="#highlights-3">3.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Bug Fixes and component upgrades</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-31-0"><a class="anchor" href="#2-31-0"></a><a class="link" href="#2-31-0">4. 2.31.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12353446">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-4"><a class="anchor" href="#highlights-4"></a><a class="link" href="#highlights-4">4.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Introduced an <a href="using-cli.html#artemis-shell">interactive shell</a> for running CLI command as well as <a href="using-cli.html#bash-and-zsh-auto-complete">Bash &amp; ZSH auto-complete support</a>.</p>
</li>
<li>
<p>Added a CLI cluster verification tool to help monitor broker topologies.
Use via the <code>check cluster</code> command.</p>
</li>
<li>
<p>The <code>queue stat</code> command is now able to to verify the message counts on the entire cluster topology when clustering is in use.</p>
</li>
<li>
<p>Added <a href="amqp-broker-connections.html#federation">AMQP Federation</a> support to broker connections.</p>
</li>
<li>
<p><a href="mqtt.html#persistent-subscriptions">MQTT subscription state is now persisted</a>.</p>
</li>
<li>
<p>Significantly improved the Paging JDBC Persistence.</p>
</li>
<li>
<p>Converted much of the documentation from MarkDown to AsciiDoc.
See <a href="https://issues.apache.org/jira/browse/ARTEMIS-4383">ARTEMIS-4383</a> for more details.</p>
</li>
<li>
<p>Many other bug fixes and improvements.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-30-0"><a class="anchor" href="#upgrading-from-2-30-0"></a><a class="link" href="#upgrading-from-2-30-0">4.2. Upgrading from 2.30.0</a></h3>
<div class="ulist">
<ul>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-4372">ARTEMIS-4372</a> and the introduction of the new Artemis shell feature when you invoke <code>./artemis</code> it will now start the new shell to navigate through the CLI commands rather than just spitting out the <code>help</code> text.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-30-0"><a class="anchor" href="#2-30-0"></a><a class="link" href="#2-30-0">5. 2.30.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12353357">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-5"><a class="anchor" href="#highlights-5"></a><a class="link" href="#highlights-5">5.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>This is mainly a bug-fix release with a few small improvements and a handful of dependency upgrades.
See the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12353357">release notes</a> for all the details.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-29-0"><a class="anchor" href="#2-29-0"></a><a class="link" href="#2-29-0">6. 2.29.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12352880&amp;projectId=12315920">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-6"><a class="anchor" href="#highlights-6"></a><a class="link" href="#highlights-6">6.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>This version underwent extensive testing and fixes regarding Large Messages, with a few JIRAs dedicated to this topic.
Look on the <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12352880&amp;projectId=12315920">release notes</a> for more information.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-28-0"><a class="anchor" href="#upgrading-from-2-28-0"></a><a class="link" href="#upgrading-from-2-28-0">6.2. Upgrading from 2.28.0</a></h3>
<div class="ulist">
<ul>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-4151">ARTEMIS-4151</a> the default access for MBeans not defined in the <code>role-access</code> or <code>allowlist</code> of <code>management.xml</code> is now <em>read only</em>.
This is a precautionary measure to ensure no unanticipated MBean deployed with the broker poses a risk.
However, this will also impact JVM-specific and platform MBeans as well (e.g. which allow manual garbage collection, "flight recording," etc.).
Write access and general operational access to these MBeans will now have to be manually enabled in <code>management.xml</code> either by changing the <code>default-access</code> (not recommended) or specifically configuring a <code>role-access</code> for the particular MBean in question.</p>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
This applies to all MBean access including directly via JMX and via the Jolokia JMX-HTTP bridge.
</td>
</tr>
</table>
</div>
</li>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-4212">ARTEMIS-4212</a> the broker will reject address definitions in <code>broker.xml</code> which don&#8217;t specify a routing type, e.g.:</p>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;address</span> <span class="na">name=</span><span class="s">"myAddress"</span><span class="nt">/&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>Such configurations will need to be changed to specify a routing-type, e.g.:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;address</span> <span class="na">name=</span><span class="s">"myAddress"</span><span class="nt">&gt;</span>
<span class="nt">&lt;anycast/&gt;</span>
<span class="nt">&lt;/address&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>Or</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;address</span> <span class="na">name=</span><span class="s">"myAddress"</span><span class="nt">&gt;</span>
<span class="nt">&lt;multicast/&gt;</span>
<span class="nt">&lt;/address&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>If an address without a routing type is configured the broker will throw an exception like this and fail to start:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">java.lang.IllegalArgumentException: AMQ229247: Invalid address configuration for 'myAddress'. Address must support multicast and/or anycast.
at org.apache.activemq.artemis.core.deployers.impl.FileConfigurationParser.parseAddressConfiguration(FileConfigurationParser.java:1580)
at org.apache.activemq.artemis.core.deployers.impl.FileConfigurationParser.parseAddresses(FileConfigurationParser.java:1038)
at org.apache.activemq.artemis.core.deployers.impl.FileConfigurationParser.parseMainConfig(FileConfigurationParser.java:804)
at org.apache.activemq.artemis.core.config.impl.FileConfiguration.parse(FileConfiguration.java:56)
at org.apache.activemq.artemis.core.config.FileDeploymentManager.readConfiguration(FileDeploymentManager.java:81)
at org.apache.activemq.artemis.integration.FileBroker.createComponents(FileBroker.java:120)
at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:119)
at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:212)
at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:162)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:144)
at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:61)</pre>
</div>
</div>
</li>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3707">ARTEMIS-3707</a> all use of <code>javax.transaction.TransactionManager</code> was removed from the JCA Resource Adapter.
However, this rendered the <code>transactionTimeout</code> activation configuration property useless.
Some existing users rely on this behavior so it has been restored and properly deprecated for future removal.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-28-0"><a class="anchor" href="#2-28-0"></a><a class="link" href="#2-28-0">7. 2.28.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12352523&amp;projectId=12315920">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-7"><a class="anchor" href="#highlights-7"></a><a class="link" href="#highlights-7">7.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Bug Fixes and improvements as usual</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/ARTEMIS-4136">ARTEMIS-4136</a> Mirror sync replication</p>
<div class="ulist">
<ul>
<li>
<p>Mirror now has an option to set sync=true.
Blocking operations from clients will wait a round trip on the mirror.</p>
</li>
</ul>
</div>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/ARTEMIS-4065">ARTEMIS-4065</a> Paging Counter Journal Records were removed</p>
<div class="ulist">
<ul>
<li>
<p>We don&#8217;t store page counters records on the journal any longer what should simplify operation and improve performance.</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-27-0"><a class="anchor" href="#upgrading-from-2-27-0"></a><a class="link" href="#upgrading-from-2-27-0">7.2. Upgrading from 2.27.0</a></h3>
<div class="ulist">
<ul>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3871">ARTEMIS-3871</a> the naming pattern used for MQTT <em>shared</em> subscription queues has changed.
Previously the subscription queue was named according to the subscription name provided in the MQTT <code>SUBSCRIBE</code> packet.
However, MQTT allows the same name to be used across multiple subscriptions whereas queues in the broker must be named uniquely.
Now the subscription queue will be named according to the subscription name and topic name so that all subscription queue names will be unique.
Before upgrading please ensure all MQTT shared subscriptions are empty.
When the subscribers reconnect they will get a new subscription queue.
If they are not empty you can move the messages to the new subscription queue administratively.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-27-1"><a class="anchor" href="#2-27-1"></a><a class="link" href="#2-27-1">8. 2.27.1</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12352610&amp;projectId=12315920">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-8"><a class="anchor" href="#highlights-8"></a><a class="link" href="#highlights-8">8.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Bug Fixes</p>
</li>
<li>
<p>AMQP Large Message over Bridges were broken</p>
</li>
<li>
<p>Rollback of massive transactions would take a long time to process</p>
</li>
<li>
<p>Improvements to auto-create and auto-delete queues.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-27-0"><a class="anchor" href="#2-27-0"></a><a class="link" href="#2-27-0">9. 2.27.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12352246&amp;projectId=12315920">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-9"><a class="anchor" href="#highlights-9"></a><a class="link" href="#highlights-9">9.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>2.27.0 Introduced a new <a href="upgrading.html#upgrading-tool">upgrade tool</a> to help migrating your instance to a newer version.</p>
</li>
<li>
<p>The client and broker now use <a href="https://www.slf4j.org/">SLF4J</a> for their logging API.</p>
</li>
<li>
<p>The broker distribution now uses <a href="https://logging.apache.org/log4j/2.x/manual/">Log4J 2</a> as its logging implementation.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-26-0"><a class="anchor" href="#upgrading-from-2-26-0"></a><a class="link" href="#upgrading-from-2-26-0">9.2. Upgrading from 2.26.0</a></h3>
<div class="paragraph">
<p>Client applications wanting logging will now need to supply an appropriate SLF4J-supporting logging implementation configured appropriately for their needs.
See <a href="logging.html#logging-in-a-client-application">client application logging</a> for more information plus an example around using Log4J 2.</p>
</div>
<div class="paragraph">
<p>The broker distribution now includes and configures Log4J 2 as its logging implementation, see <a href="logging.html#logging">logging</a> for more details.
If upgrading an existing broker instance rather than creating a new instance, some configuration etc updates will be necessary for the brokers existing instance /etc and /bin files.</p>
</div>
<div class="paragraph">
<p>You can use the new <a href="upgrading.html#upgrading-tool">upgrade helper tool</a> from the newly downloaded broker to refresh various configuration files and scripts for an existing broker instance.
The broker.xml and data are left in place as-is.</p>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<i class="fa icon-warning" title="Warning"></i>
</td>
<td class="content">
You should back up your existing broker instance before running the command.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>The command can be executed by running <code>./artemis upgrade &lt;path-to-your-instance&gt;</code> from the new downloaded broker home.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>Most existing customisations to the old configuration files and scripts will be lost in the process of refreshing the files.
As such you should compare the old configuration files with the refreshed ones and then port any missing customisations you may have made as necessary.
The upgrade command itself will copy the older files it changes to an <code>old-config-bkp.</code> folder within the instance directory.</p>
</div>
<div class="paragraph">
<p>Similarly, if you had customised the old <code>logging.properties</code> file you may need to prepare analogous changes for the new <code>log4j2.properties</code> file.</p>
</div>
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>Note also that the <code>configuration-file-refresh-period</code> setting in <code>broker.xml</code> no longer covers logging configuration refresh.
Log4J 2 has its own configuration reload handling, configured via the <code>monitorInterval</code> property within the Log4J configuration file itself.
The default <code>&lt;instance&gt;/etc/log4j2.properties</code> file created has a 5 second <code>monitorInterval</code> value set to align with the prior default broker behaviour.</p>
</div>
</div>
<div class="sect2">
<h3 id="manual-update"><a class="anchor" href="#manual-update"></a><a class="link" href="#manual-update">9.3. Manual update</a></h3>
<div class="paragraph">
<p>Alternatively, rather than using the upgrade helper command as outlined above, you can instead perform the update manually, following the <a href="upgrading.html#general-upgrade-procedure">general upgrading procedure</a> plus the additional steps below:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>The new <code>&lt;instance&gt;/etc/log4j2.properties</code> file should be created with Log4J 2 configuration.
The file used by the "artemis create" CLI command can be downloaded from: <a href="https://github.com/apache/activemq-artemis/blob/2.27.0/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/log4j2.properties">log4j2.properties</a></p>
</li>
<li>
<p>The old <code>&lt;instance&gt;/etc/logging.properties</code> JBoss Logging configuration file should be deleted.</p>
</li>
<li>
<p>Related startup script or profile cleanups are needed: a diff file demonstrating the changes needed since 2.26.0 is available <a href="02-27-00-scripts-profiles.diff">here</a> for *nix or <a href="02-27-00-scripts-profiles-windows.diff">here</a> for Windows.</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-26-0"><a class="anchor" href="#2-26-0"></a><a class="link" href="#2-26-0">10. 2.26.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12352297&amp;projectId=12315920">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-10"><a class="anchor" href="#highlights-10"></a><a class="link" href="#highlights-10">10.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Bug fixes and improvements</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-25-0"><a class="anchor" href="#upgrading-from-2-25-0"></a><a class="link" href="#upgrading-from-2-25-0">10.2. Upgrading from 2.25.0</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-4006">ARTEMIS-4006</a> the <code>artemis-jms-client-all</code> and <code>artemis-jakarta-client-all</code> clients were removed from the <code>lib/client</code> directory in the binary distribution.
If you use these libraries they can be found at Maven Central (e.g. <a href="https://repo1.maven.org/maven2/org/apache/activemq/artemis-jms-client-all/">here</a>).
Please refer to the <a href="client-classpath.html#the-client-classpath">client class path documentation</a> for more information.</p>
</li>
<li>
<p>We removed the REST interface from the code-base and documentation.
If you still require the REST interface you can access the <a href="https://mvnrepository.com/artifact/org.apache.activemq.rest/artemis-rest/2.25.0">latest version</a> which is still viable.
You can still follow the steps from the <a href="https://activemq.apache.org/components/artemis/documentation/2.25.0/rest.html">previous documentation</a> to build and deploy the interface.
However, you should stop using it as it will not be maintained any more.</p>
</li>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3980">ARTEMIS-3980</a> the web content was removed from the binary distribution.
We now redirect web requests with the root target to the administration console.
To enable this new redirect behavior on current instances you have to update <code>bootstrap.xml</code>.
Change:</p>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;web</span> <span class="na">path=</span><span class="s">"web"</span><span class="nt">&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>to:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;web</span> <span class="na">path=</span><span class="s">"web"</span> <span class="na">rootRedirectLocation=</span><span class="s">"console"</span><span class="nt">&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>If you used to customize the index page or to add custom content in the <code>web</code> folder please refer to the <a href="web-server.html#embedded-web-server">web-server documentation</a> for more information on disabling the redirect and enabling the web content.</p>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-25-0"><a class="anchor" href="#2-25-0"></a><a class="link" href="#2-25-0">11. 2.25.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12352143&amp;projectId=12315920">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-11"><a class="anchor" href="#highlights-11"></a><a class="link" href="#highlights-11">11.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Improvement on Paging Flow Control</p>
</li>
<li>
<p>Many other bug fixes and improvements</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-24-0"><a class="anchor" href="#2-24-0"></a><a class="link" href="#2-24-0">12. 2.24.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351822&amp;projectId=12315920">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-12"><a class="anchor" href="#highlights-12"></a><a class="link" href="#highlights-12">12.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Streamlined page caches and files are just read into queues without the need of soft caches.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-23-0"><a class="anchor" href="#upgrading-from-2-23-0"></a><a class="link" href="#upgrading-from-2-23-0">12.2. Upgrading from 2.23.0</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3851">ARTEMIS-3851</a> the queue created for an MQTT 3.x subscriber using <code>CleanSession=1</code> is now <strong>non-durable</strong> rather than durable.
This may impact <code>security-settings</code> for MQTT clients which previously only had <code>createDurableQueue</code> for their role.
They will now need <code>createNonDurableQueue</code> as well.
Again, this only has potential impact for MQTT 3.x clients using <code>CleanSession=1</code>.</p>
</li>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3892">ARTEMIS-3892</a> the username assigned to queues will be based on the <strong>validated</strong> user rather than just the username submitted by the client application.
This will impact use-cases like the following:</p>
<div class="olist loweralpha">
<ol class="loweralpha" type="a">
<li>
<p>When <code>login.config</code> is configured with the <a href="security.html#guestloginmodule"><code>GuestLoginModule</code></a> which causes some users to be assigned a specific username and role during the authentication process.</p>
</li>
<li>
<p>When <code>login.config</code> is configured with the <a href="security.html#certificateloginmodule"><code>CertificateLoginModule</code></a> which causes users to be assigned a username and role corresponding to the subject DN from their SSL certificate.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>In these kinds of situations the broker will use this assigned (i.e. validated) username for any queues created with the connection.
In the past the queue&#8217;s username would have been left blank.</p>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-23-1"><a class="anchor" href="#2-23-1"></a><a class="link" href="#2-23-1">13. 2.23.1</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351846&amp;projectId=12315920">Full release notes</a></p>
</div>
<div class="sect2">
<h3 id="highlights-13"><a class="anchor" href="#highlights-13"></a><a class="link" href="#highlights-13">13.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="https://issues.apache.org/jira/browse/ARTEMIS-3856">ARTEMIS-3856</a> - Failed to change channel state to ReadyForWriting : java.util.ConcurrentModificationException</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-23-0"><a class="anchor" href="#2-23-0"></a><a class="link" href="#2-23-0">14. 2.23.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12351677">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-14"><a class="anchor" href="#highlights-14"></a><a class="link" href="#highlights-14">14.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="web-server.html#management">management operations</a> for the embedded web server.</p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/ARTEMIS-3700">JakartaEE 10 Support</a></p>
</li>
<li>
<p><a href="https://issues.apache.org/jira/browse/ARTEMIS-3848">BugFix: High cpu usage on ReadWrite locks</a></p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-22-0"><a class="anchor" href="#2-22-0"></a><a class="link" href="#2-22-0">15. 2.22.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12351488">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-15"><a class="anchor" href="#highlights-15"></a><a class="link" href="#highlights-15">15.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>The default <code>producer-window-size</code> on <code>cluster-connection</code> was changed to 1MB to mitigate potential OutOfMemoryErrors in environments with with high latency networking.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-21-0"><a class="anchor" href="#2-21-0"></a><a class="link" href="#2-21-0">16. 2.21.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12351083&amp;projectId=12315920">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-16"><a class="anchor" href="#highlights-16"></a><a class="link" href="#highlights-16">16.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="mqtt.html#mqtt">MQTT 5</a> is now supported.</p>
</li>
<li>
<p>A new set of <a href="perf-tools.html#performance-tools">performance tools</a> are now available to evaluate throughput and Response Under Load performance of Artemis</p>
</li>
<li>
<p>Diverts now support <a href="diverts.html#composite-divert">multiple addresses</a></p>
</li>
<li>
<p><a href="config-reload.html#configuration-reload">Runtime configuration reloading</a> now supports bridges.</p>
</li>
<li>
<p><a href="paging.html#paging-mode">Paging</a> can now be configured by message count.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-20-0"><a class="anchor" href="#upgrading-from-2-20-0"></a><a class="link" href="#upgrading-from-2-20-0">16.2. Upgrading from 2.20.0</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Due to XML schema changes to correct an inaccurate domain name 2 files will need to be updated:</p>
<div class="olist loweralpha">
<ol class="loweralpha" type="a">
<li>
<p><code>etc/bootstrap.xml</code></p>
</li>
<li>
<p><code>etc/management.xml</code></p>
<div class="paragraph">
<p>In both files change the XML namespace from <code>activemq.org</code> to <code>activemq.apache.org</code>, e.g. in <code>bootsrap.xml</code> use:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"> <span class="nt">&lt;broker</span> <span class="na">xmlns=</span><span class="s">"http://activemq.apache.org/schema"</span><span class="nt">&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>And in <code>management.xml</code> use:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"> <span class="nt">&lt;management-context</span> <span class="na">xmlns=</span><span class="s">"http://activemq.apache.org/schema"</span><span class="nt">&gt;</span></code></pre>
</div>
</div>
</li>
</ol>
</div>
</li>
<li>
<p><strong>If you&#8217;re using <a href="persistence.html#jdbc-persistence">JDBC persistence</a></strong> then due to the changes in <a href="https://issues.apache.org/jira/browse/ARTEMIS-3679">ARTEMIS-3679</a> you&#8217;ll need to update your database.
The column <code>HOLDER_EXPIRATION_TIME</code> on the <code>NODE_MANAGER_STORE</code> changed from a <code>TIMESTAMP</code> to a <code>BIGINT</code> (or <code>NUMBER(19)</code> on Oracle).
You will have to stop any broker that is accessing that table and either drop it or execute the proper <code>ALTER TABLE</code> statement for your database.
If you drop the table then it will be automatically recreated when broker restarts and repopulated with a new, auto-generated node ID.</p>
</li>
<li>
<p><strong>If you&#8217;re using JGroups</strong> then due to the changes in <a href="https://issues.apache.org/jira/browse/ARTEMIS-2413">ARTEMIS-2413</a> where JGroups was updated from 3.x to 5.x you will need to update your JGroups configuration.
Many of the protocols have changed, and there&#8217;s no automated tool to bring legacy configurations up to date so please refer to the <a href="http://jgroups.org/manual5/index.html#protlist">JGroups documentation</a> for more details on the new configuration.
You can find example configurations in the <a href="https://github.com/belaban/JGroups/tree/master/conf">JGroups repository</a> (e.g. <code>tcp.xml</code> and <code>udp.xml</code>).</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-20-0"><a class="anchor" href="#2-20-0"></a><a class="link" href="#2-20-0">17. 2.20.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12350581&amp;projectId=12315920">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-17"><a class="anchor" href="#highlights-17"></a><a class="link" href="#highlights-17">17.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><strong>Java 11 is now required.</strong></p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-19-0"><a class="anchor" href="#2-19-0"></a><a class="link" href="#2-19-0">18. 2.19.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12350519">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-18"><a class="anchor" href="#highlights-18"></a><a class="link" href="#highlights-18">18.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>New ability to replay <a href="persistence.html#journal-retention">retained journal</a> records via the management API.</p>
</li>
<li>
<p>New environment/system property to set the "key" for masked passwords when using the <a href="masking-passwords.html#the-default-codec">default codec</a>.</p>
</li>
<li>
<p>Ability to disable <a href="clusters.html#configuring-cluster-connections">message-load-balancing and still allow redistribution</a> via the new <code>OFF_WITH_REDISTRIBUTION</code> type.</p>
</li>
<li>
<p>MQTT session state can now be cleaned up automatically to avoid excessive accumulation in situations where client&#8217;s don&#8217;t clean up their own sessions.</p>
</li>
<li>
<p>Distribute full Jakarta Messaging 3.0 client in the <code>lib/client</code> directory along with a new example of how to use it in <code>examples/features/standard/queue-jakarta</code>.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-18-0"><a class="anchor" href="#2-18-0"></a><a class="link" href="#2-18-0">19. 2.18.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12349689">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-19"><a class="anchor" href="#highlights-19"></a><a class="link" href="#highlights-19">19.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="amqp-broker-connections.html#dual-mirror-disaster-recovery">Dual Mirror</a> support improving capabilities on AMQP Mirror for Disaster Recovery</p>
</li>
<li>
<p><a href="persistence.html#journal-retention">Journal Retention</a></p>
</li>
<li>
<p><a href="ha.html#pluggable-quorum-vote-replication-configurations">Replication integrated with ZooKeeper</a></p>
</li>
<li>
<p><a href="connection-routers.html#connection-routers">Connection Routers</a></p>
</li>
<li>
<p><a href="core-bridges.html#configuring-core-bridges">Concurrency</a> configuration for core bridges.</p>
</li>
<li>
<p><a href="filter-expressions.html#xpath">XPath filter expressions</a> (for parity with ActiveMQ "Classic").</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-17-0"><a class="anchor" href="#upgrading-from-2-17-0"></a><a class="link" href="#upgrading-from-2-17-0">19.2. Upgrading from 2.17.0</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3367">ARTEMIS-3367</a> the default setting for <code>verifyHost</code> on <em>core connectors</em> has been changed from <code>false</code> to <code>true</code>.
This means that <strong>core clients will now expect the <code>CN</code> or Subject Alternative Name values of the broker&#8217;s SSL certificate to match the hostname in the client&#8217;s URL</strong>.</p>
<div class="paragraph">
<p>This impacts all core-based clients including core JMS clients and core connections between cluster nodes.
Although this is a "breaking" change, <em>not</em> performing hostname verification is a security risk (e.g. due to man-in-the-middle attacks).
Enabling it by default aligns core client behavior with industry standards.
To deal with this you can do one of the following:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Update your SSL certificates to use a hostname which matches the hostname in the client&#8217;s URL.
This is the recommended option with regard to security.</p>
</li>
<li>
<p>Update any connector using <code>sslEnabled=true</code> to also use <code>verifyHost=false</code>.
Using this option means that you won&#8217;t get the extra security of hostname verification, but no certificates will need to change.
This essentially restores the previous default behavior.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>For additional details about please refer to section 3.1 of <a href="https://datatracker.ietf.org/doc/html/rfc2818#section-3.1">RFC 2818 "HTTP over TLS"</a>.</p>
</div>
</li>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3117">ARTEMIS-3117</a> SSL keystore and truststores are no longer reloaded automatically.
Previously an instance of <code>javax.net.ssl.SSLContext</code> was created for <em>every</em> connection.
This would implicitly pick up any changes to the keystore and truststore for any new connection.
However, this was grossly inefficient and therefore didn&#8217;t scale well with lots of connections.
The behavior was changed so that just one <code>javax.net.ssl.SSLContext</code> is created for each <code>acceptor</code>.
However, one can still reload keystores &amp; truststores from disk without restarting the broker.
Simply use the <code>reload</code> management operation on the <code>acceptor</code>.
This is available via JMX, the web console, Jolokia, etc.</p>
<div class="paragraph">
<p>Here&#8217;s an example <code>curl</code> command you can use with Jolokia to invoke the <code>artemis</code> acceptor&#8217;s <code>reload</code> operation:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="bash">curl <span class="nt">--user</span> admin:admin <span class="nt">--header</span> <span class="s2">"Content-Type: application/json"</span> <span class="nt">--request</span> POST <span class="nt">--data</span> <span class="s1">'{"type":"exec", "mbean":"org.apache.activemq.artemis:broker=\"0.0.0.0\",component=acceptors,name=\"artemis\"", "operation":"reload"}'</span> http://localhost:8161/console/jolokia/exec</code></pre>
</div>
</div>
<div class="paragraph">
<p>Of course you&#8217;ll want to adjust the username &amp; password as well as the broker and acceptor names for your environment.</p>
</div>
</li>
<li>
<p>The "rate" metric for queues was removed from the web console via <a href="https://issues.apache.org/jira/browse/ARTEMIS-3397">ARTEMIS-3397</a>.
This was a follow-up from <a href="https://issues.apache.org/jira/browse/ARTEMIS-2909">ARTEMIS-2909</a> in 2.16.0 (referenced in the <a href="#2-16-0">upgrade instructions below</a>).
The "rate" metric mistakenly left visible on the web console after it was removed from the management API.</p>
</li>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-3141">ARTEMIS-3141</a>, <a href="https://issues.apache.org/jira/browse/ARTEMIS-3128">ARTEMIS-3128</a>, &amp; <a href="https://issues.apache.org/jira/browse/ARTEMIS-3175">ARTEMIS-3175</a> the data returned for any "list" or "browse" management method which return message data, including those exposed via the web console, will have their return data truncated by default.
This is done to avoid adverse conditions with large volumes of message data which could potentially negatively impact broker stability.
The <code>management-message-attribute-size-limit</code> address-setting controls this behavior.
If you wish to restore the previous (and potentially dangerous behavior) then you can specify <code>-1</code> for this.
It is <code>256</code> by default.</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-17-0"><a class="anchor" href="#2-17-0"></a><a class="link" href="#2-17-0">20. 2.17.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12349326">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-20"><a class="anchor" href="#highlights-20"></a><a class="link" href="#highlights-20">20.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="broker-plugins.html#using-the-brokermessageauthorizationplugin">Message-level authorization</a> similar to ActiveMQ "Classic".</p>
</li>
<li>
<p>A count of addresses and queues is now available from the management API.</p>
</li>
<li>
<p>You can now reload the broker&#8217;s configuration from disk via the management API rather than waiting for the periodic disk scan to pick it up</p>
</li>
<li>
<p>Performance improvements on libaio journal.</p>
</li>
<li>
<p>New command-line option to transfer messages.</p>
</li>
<li>
<p>Performance improvements for the wildcard address manager.</p>
</li>
<li>
<p>JDBC datasource property values can now be masked.</p>
</li>
<li>
<p>Lots of usability improvements to the Hawtio 2 based web console introduced in 2.16.0</p>
</li>
<li>
<p>New management method to create a core bridge using JSON-based configuration input.</p>
</li>
<li>
<p><a href="https://blogs.apache.org/activemq/entry/activemq-artemis-embraces-jakarta-ee">Jakarta Messaging 2.0 &amp; 3.0 artifacts for Jakarta EE 8 &amp; 9 respectively</a>.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-16-0"><a class="anchor" href="#2-16-0"></a><a class="link" href="#2-16-0">21. 2.16.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12348718">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-21"><a class="anchor" href="#highlights-21"></a><a class="link" href="#highlights-21">21.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Configurable namespace for temporary queues</p>
</li>
<li>
<p><a href="amqp-broker-connections.html#broker-connections">AMQP Server Connectivity</a></p>
</li>
<li>
<p>"Basic" <a href="security.html#basic-security-manager"><code>SecurityManager</code> implementation</a> that supports replication</p>
</li>
<li>
<p>Consumer window size support for individual STOMP clients</p>
</li>
<li>
<p>Improved JDBC connection management</p>
</li>
<li>
<p>New web console based on Hawtio 2</p>
</li>
<li>
<p>Performance optimizations (i.e. caching) for authentication and authorization</p>
</li>
<li>
<p>Support for admin objects in the JCA resource adapter to facilitate deployment into 3rd-party Java EE application servers</p>
</li>
<li>
<p>Ability to prevent an acceptor from automatically starting</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-15-0"><a class="anchor" href="#upgrading-from-2-15-0"></a><a class="link" href="#upgrading-from-2-15-0">21.2. Upgrading from 2.15.0</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-2893">ARTEMIS-2893</a> the fundamental way user management was implemented had to change to avoid data integrity issues related to concurrent modification.
From a user&#8217;s perspective two main things changed:</p>
<div class="olist loweralpha">
<ol class="loweralpha" type="a">
<li>
<p>User management is no longer possible using the <code>artemis user</code> commands when the broker is <strong>offline</strong>.
Of course users are still free to modify the properties files directly in this situation.</p>
</li>
<li>
<p>The parameters of the <code>artemis user</code> commands changed.
Instead of using something like this:</p>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="sh">./artemis user add <span class="nt">--user</span> guest <span class="nt">--password</span> guest <span class="nt">--role</span> admin</code></pre>
</div>
</div>
<div class="paragraph">
<p>Use this instead:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="sh">./artemis user add <span class="nt">--user-command-user</span> guest <span class="nt">--user-command-password</span> guest <span class="nt">--role</span> admin</code></pre>
</div>
</div>
<div class="paragraph">
<p>In short, use <code>user-command-user</code> in lieu of <code>user</code> and <code>user-command-password</code> in lieu of <code>password</code>.
Both <code>user</code> and <code>password</code> parameters now apply to the connection used to send the command to the broker.</p>
</div>
<div class="paragraph">
<p>For additional details see <a href="https://issues.apache.org/jira/browse/ARTEMIS-2893">ARTEMIS-2893</a> and <a href="https://issues.apache.org/jira/browse/ARTEMIS-3010">ARTEMIS-3010</a></p>
</div>
</li>
</ol>
</div>
</li>
<li>
<p>Due to <a href="https://issues.apache.org/jira/browse/ARTEMIS-2909">ARTEMIS-2909</a> the "rate" metric was removed from the management API for queues.
In short, the <code>org.apache.activemq.artemis.core.server.Queue#getRate</code> method is for slow-consumer detection and is designed for <em>internal</em> use only.</p>
<div class="paragraph">
<p>Furthermore, it&#8217;s too opaque to be trusted by a remote user as it only returns the number of message added to the queue since <em>the last time it was called</em>.
The problem here is that the user calling it doesn&#8217;t know when it was invoked last.
Therefore, they could be getting the rate of messages added for the last 5 minutes or the last 5 milliseconds.
This can lead to inconsistent and misleading results.</p>
</div>
<div class="paragraph">
<p>There are three main ways for users to track rates of message production and consumption (in recommended order):</p>
</div>
<div class="olist loweralpha">
<ol class="loweralpha" type="a">
<li>
<p>Use a <a href="metrics.html#metrics">metrics</a> plugin.
This is the most feature-rich and flexible way to track broker metrics, although it requires tools (e.g. Prometheus) to store the metrics and display them (e.g. Grafana).</p>
</li>
<li>
<p>Invoke the <code>getMessageCount()</code> and <code>getMessagesAdded()</code> management methods and store the returned values along with the time they were retrieved.
A time-series database is a great tool for this job.
This is exactly what tools like Prometheus do.
That data can then be used to create informative graphs, etc.
using tools like Grafana.
Of course, one can skip all the tools and just do some simple math to calculate rates based on the last time the counts were retrieved.</p>
</li>
<li>
<p>Use the broker&#8217;s <a href="management.html#message-counters">message counters</a>.
Message counters are the broker&#8217;s simple way of providing historical information about the queue.
They provide similar results to the previous solutions, but with less flexibility since they only track data while the broker is up and there&#8217;s not really any good options for graphing.</p>
</li>
</ol>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-15-0"><a class="anchor" href="#2-15-0"></a><a class="link" href="#2-15-0">22. 2.15.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12348568">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-22"><a class="anchor" href="#highlights-22"></a><a class="link" href="#highlights-22">22.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Ability to use FQQN syntax for both <code>security-settings</code> and JNDI lookup</p>
</li>
<li>
<p>Support pausing dispatch during group rebalance (to avoid potential out-of-order consumption)</p>
</li>
<li>
<p>Socks5h support</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-14-0"><a class="anchor" href="#2-14-0"></a><a class="link" href="#2-14-0">23. 2.14.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12348290">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-23"><a class="anchor" href="#highlights-23"></a><a class="link" href="#highlights-23">23.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Management methods to update diverts</p>
</li>
<li>
<p>Ability to "disable" a queue so that messages are not routed to it</p>
</li>
<li>
<p>Support JVM GC &amp; thread metrics</p>
</li>
<li>
<p>Support for resetting queue properties by unsetting them in <code>broker.xml</code></p>
</li>
<li>
<p>Undeploy diverts by removing them from <code>broker.xml</code></p>
</li>
<li>
<p>Add <code>addressMemoryUsagePercentage</code> and <code>addressSize</code> as metrics</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-13-0"><a class="anchor" href="#upgrading-from-2-13-0"></a><a class="link" href="#upgrading-from-2-13-0">23.2. Upgrading from 2.13.0</a></h3>
<div class="paragraph">
<p>This is likely a rare situation, but it&#8217;s worth mentioning here anyway.
Prior to 2.14.0 if you configured a parameter on a <code>queue</code> in <code>broker.xml</code> (e.g. <code>max-consumers</code>) and then later <em>removed</em> that setting the configured value you set would remain.
This has changed in 2.14.0 via ARTEMIS-2797.
Any value that is not explicitly set in <code>broker.xml</code> will be set back to either the static default or the dynamic default configured in the address-settings (e.g. via <code>default-max-consumers</code> in this example).
Therefore, ensure any existing queues have all the needed parameters set in <code>broker.xml</code> values before upgrading.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-13-0"><a class="anchor" href="#2-13-0"></a><a class="link" href="#2-13-0">24. 2.13.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12348088">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-24"><a class="anchor" href="#highlights-24"></a><a class="link" href="#highlights-24">24.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Management methods for an address' duplicate ID cache to check the cache&#8217;s size and clear it</p>
</li>
<li>
<p>Support for <a href="message-expiry.html#configuring-expiry-delay">min/max expiry-delay</a></p>
</li>
<li>
<p><a href="security.html#per-acceptor-security-domains">Per-acceptor security domains</a></p>
</li>
<li>
<p>Command-line <code>check</code> tool for checking the health of a broker</p>
</li>
<li>
<p>Support disabling metrics per address via the <a href="address-settings.html#address-settings"><code>enable-metrics</code> address setting</a></p>
</li>
<li>
<p>Improvements to the <a href="logging.html#configuring-broker-audit-logging">audit logging</a></p>
</li>
<li>
<p>Speed optimizations for the <code>HierarchicalObjectRepository</code>, an internal object used to store address and security settings</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-12-0"><a class="anchor" href="#upgrading-from-2-12-0"></a><a class="link" href="#upgrading-from-2-12-0">24.2. Upgrading from 2.12.0</a></h3>
<div class="paragraph">
<p>Version 2.13.0 added new <a href="logging.html#configuring-broker-audit-logging">audit logging</a> which is logged at <code>INFO</code> level and can be very verbose.
The <code>logging.properties</code> shipped with this new version is set up to filter this out by default.
If your <code>logging.properties</code> isn&#8217;t updated appropriately this audit logging will likely appear in your console and <code>artemis.log</code> file assuming you&#8217;re using a logging configuration close to the default.
Add this to your <code>logging.properties</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap"># to enable audit change the level to INFO
logger.org.apache.activemq.audit.base.level=ERROR
logger.org.apache.activemq.audit.base.handlers=AUDIT_FILE
logger.org.apache.activemq.audit.base.useParentHandlers=false
logger.org.apache.activemq.audit.resource.level=ERROR
logger.org.apache.activemq.audit.resource.handlers=AUDIT_FILE
logger.org.apache.activemq.audit.resource.useParentHandlers=false
logger.org.apache.activemq.audit.message.level=ERROR
logger.org.apache.activemq.audit.message.handlers=AUDIT_FILE
logger.org.apache.activemq.audit.message.useParentHandlers=false
...
#Audit logger
handler.AUDIT_FILE=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
handler.AUDIT_FILE.level=INFO
handler.AUDIT_FILE.properties=suffix,append,autoFlush,fileName
handler.AUDIT_FILE.suffix=.yyyy-MM-dd
handler.AUDIT_FILE.append=true
handler.AUDIT_FILE.autoFlush=true
handler.AUDIT_FILE.fileName=${artemis.instance}/log/audit.log
handler.AUDIT_FILE.formatter=AUDIT_PATTERN
formatter.AUDIT_PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.AUDIT_PATTERN.properties=pattern
formatter.AUDIT_PATTERN.pattern=%d [AUDIT](%t) %s%E%n</pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-12-0"><a class="anchor" href="#2-12-0"></a><a class="link" href="#2-12-0">25. 2.12.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12346675">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-25"><a class="anchor" href="#highlights-25"></a><a class="link" href="#highlights-25">25.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support for <a href="configuring-transports.html#configuring-netty-socks-proxy">SOCKS proxy</a></p>
</li>
<li>
<p>Real <a href="large-messages.html#large-messages">large message</a> support for AMQP</p>
</li>
<li>
<p><a href="undelivered-messages.html#automatically-creating-dead-letter-resources">Automatic creation of dead-letter resources</a> akin to ActiveMQ 5&#8217;s individual dead-letter strategy</p>
</li>
<li>
<p><a href="message-expiry.html#configuring-automatic-creation-of-expiry-resources">Automatic creation of expiry resources</a></p>
</li>
<li>
<p>Improved API for queue creation</p>
</li>
<li>
<p>Allow users to override JAVA_ARGS via environment variable</p>
</li>
<li>
<p>Reduce heap usage during journal loading during broker start-up</p>
</li>
<li>
<p>Allow <code>server</code> header in STOMP <code>CONNECTED</code> frame to be disabled</p>
</li>
<li>
<p>Support disk store used percentage as an exportable metric (e.g. to be monitored by tools like Prometheus, etc.)</p>
</li>
<li>
<p>Ability to configure a "<a href="https://www.eclipse.org/jetty/javadoc/9.4.26.v20200117/org/eclipse/jetty/server/HttpConfiguration.Customizer.html">customizer</a>" for the embedded web server</p>
</li>
<li>
<p>Improved logging for errors when starting an <code>acceptor</code> to more easily identify the <code>acceptor</code> which has the problem.</p>
</li>
<li>
<p>The CLI will now read the <code>broker.xml</code> to find the default <code>connector</code> URL for commands which require it (e.g. <code>consumer</code>, <code>producer</code>, etc.)</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-11-0"><a class="anchor" href="#2-11-0"></a><a class="link" href="#2-11-0">26. 2.11.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12346258">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-26"><a class="anchor" href="#highlights-26"></a><a class="link" href="#highlights-26">26.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support <a href="retroactive-addresses.html#retroactive-addresses">retroactive addresses</a>.</p>
</li>
<li>
<p>Support downstream federated <a href="federation-queue.html#configuring-downstream-federation">queues</a> and <a href="federation-address.html#configuring-downstream-federation">addresses</a>.</p>
</li>
<li>
<p>Make security manager <a href="security.html#custom-security-manager">configurable via XML</a>.</p>
</li>
<li>
<p>Support pluggable SSL <a href="configuring-transports.html#configuring-netty-ssl">TrustManagerFactory</a>.</p>
</li>
<li>
<p>Add plugin support for federated queues/addresses.</p>
</li>
<li>
<p>Support <code>com.sun.jndi.ldap.read.timeout</code> in <a href="security.html#ldaploginmodule">LDAPLoginModule</a>.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-10-0"><a class="anchor" href="#2-10-0"></a><a class="link" href="#2-10-0">27. 2.10.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12345602">Full release notes</a>.</p>
</div>
<div class="paragraph">
<p>This was mainly a bug-fix release with a notable dependency change impacting version upgrade.</p>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-9-0"><a class="anchor" href="#upgrading-from-2-9-0"></a><a class="link" href="#upgrading-from-2-9-0">27.1. Upgrading from 2.9.0</a></h3>
<div class="paragraph">
<p>Due to the WildFly dependency upgrade the broker start scripts/configuration need to be adjusted after upgrading.</p>
</div>
<div class="sect3">
<h4 id="on-nix"><a class="anchor" href="#on-nix"></a><a class="link" href="#on-nix">27.1.1. On *nix</a></h4>
<div class="paragraph">
<p>Locate this statement in <code>bin/artemis</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">WILDFLY_COMMON="$ARTEMIS_HOME/lib/wildfly-common-1.5.1.Final.jar"</pre>
</div>
</div>
<div class="paragraph">
<p>This needs to be replaced with this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">WILDFLY_COMMON="$ARTEMIS_HOME/lib/wildfly-common-1.5.2.Final.jar"</pre>
</div>
</div>
</div>
<div class="sect3">
<h4 id="on-windows"><a class="anchor" href="#on-windows"></a><a class="link" href="#on-windows">27.1.2. On Windows</a></h4>
<div class="paragraph">
<p>Locate this part of <code>JAVA_ARGS</code> in <code>etc/artemis.profile.cmd</code> respectively <code>bin/artemis-service.xml</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">%ARTEMIS_HOME%\lib\wildfly-common-1.5.1.Final.jar</pre>
</div>
</div>
<div class="paragraph">
<p>This needs to be replaced with this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">%ARTEMIS_HOME%\lib\wildfly-common-1.5.2.Final.jar</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-9-0"><a class="anchor" href="#2-9-0"></a><a class="link" href="#2-9-0">28. 2.9.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12345527">Full release notes</a>.</p>
</div>
<div class="paragraph">
<p>This was a light release.
It included a handful of bug fixes, a few improvements, and one major new feature.</p>
</div>
<div class="sect2">
<h3 id="highlights-27"><a class="anchor" href="#highlights-27"></a><a class="link" href="#highlights-27">28.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support <a href="metrics.html#metrics">exporting metrics</a>.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-8-1"><a class="anchor" href="#2-8-1"></a><a class="link" href="#2-8-1">29. 2.8.1</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12345432">Full release notes</a>.</p>
</div>
<div class="paragraph">
<p>This was mainly a bug-fix release with a notable dependency change impacting version upgrade.</p>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-8-0"><a class="anchor" href="#upgrading-from-2-8-0"></a><a class="link" href="#upgrading-from-2-8-0">29.1. Upgrading from 2.8.0</a></h3>
<div class="paragraph">
<p>Due to the dependency upgrade made on <a href="https://issues.apache.org/jira/browse/ARTEMIS-2319">ARTEMIS-2319</a> the broker start scripts need to be adjusted after upgrading.</p>
</div>
<div class="sect3">
<h4 id="on-nix-2"><a class="anchor" href="#on-nix-2"></a><a class="link" href="#on-nix-2">29.1.1. On *nix</a></h4>
<div class="paragraph">
<p>Locate this <code>if</code> statement in <code>bin/artemis</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">if [ -z "$LOG_MANAGER" ] ; then
# this is the one found when the server was created
LOG_MANAGER="$ARTEMIS_HOME/lib/jboss-logmanager-2.0.3.Final.jar"
fi</pre>
</div>
</div>
<div class="paragraph">
<p>This needs to be replaced with this block:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">if [ -z "$LOG_MANAGER" ] ; then
# this is the one found when the server was created
LOG_MANAGER="$ARTEMIS_HOME/lib/jboss-logmanager-2.1.10.Final.jar"
fi
WILDFLY_COMMON=`ls $ARTEMIS_HOME/lib/wildfly-common*jar 2&gt;/dev/null`
if [ -z "$WILDFLY_COMMON" ] ; then
# this is the one found when the server was created
WILDFLY_COMMON="$ARTEMIS_HOME/lib/wildfly-common-1.5.1.Final.jar"
fi</pre>
</div>
</div>
<div class="paragraph">
<p>Notice that the <code>jboss-logmanager</code> version has changed and there is also a new <code>wildfly-common</code> library.</p>
</div>
<div class="paragraph">
<p>Not much further down there is this line:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">-Xbootclasspath/a:"$LOG_MANAGER" \</pre>
</div>
</div>
<div class="paragraph">
<p>This line should be changed to be:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">-Xbootclasspath/a:"$LOG_MANAGER:$WILDFLY_COMMON" \</pre>
</div>
</div>
</div>
<div class="sect3">
<h4 id="on-windows-2"><a class="anchor" href="#on-windows-2"></a><a class="link" href="#on-windows-2">29.1.2. On Windows</a></h4>
<div class="paragraph">
<p>Locate this part of <code>JAVA_ARGS</code> in <code>etc/artemis.profile.cmd</code> respectively <code>bin/artemis-service.xml</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">-Xbootclasspath/a:%ARTEMIS_HOME%\lib\jboss-logmanager-2.1.10.Final.jar</pre>
</div>
</div>
<div class="paragraph">
<p>This needs to be replaced with this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="nowrap">-Xbootclasspath/a:%ARTEMIS_HOME%\lib\jboss-logmanager-2.1.10.Final.jar;%ARTEMIS_HOME%\lib\wildfly-common-1.5.1.Final.jar</pre>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-8-0"><a class="anchor" href="#2-8-0"></a><a class="link" href="#2-8-0">30. 2.8.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12345169">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-28"><a class="anchor" href="#highlights-28"></a><a class="link" href="#highlights-28">30.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support ActiveMQ5 feature <a href="message-grouping.html#notifying-consumer-of-group-ownership-change">JMSXGroupFirstForConsumer</a>.</p>
</li>
<li>
<p>Clarify handshake timeout error with remote address.</p>
</li>
<li>
<p>Support <a href="duplicate-detection.html#duplicate-message-detection">duplicate detection</a> for AMQP messages the same as core.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-7-0"><a class="anchor" href="#2-7-0"></a><a class="link" href="#2-7-0">31. 2.7.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12342977">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-29"><a class="anchor" href="#highlights-29"></a><a class="link" href="#highlights-29">31.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support advanced destination options like <code>consumersBeforeDispatchStarts</code> and <code>timeBeforeDispatchStarts</code> from 5.x.</p>
</li>
<li>
<p>Add support for delays before deleting addresses and queues via <a href="address-settings.html#address-settings"><code>auto-delete-queues-delay</code> and <code>auto-delete-addresses-delay</code> Address Settings</a>.</p>
</li>
<li>
<p>Support <a href="web-server.html#embedded-web-server">logging HTTP access</a>.</p>
</li>
<li>
<p>Add a CLI command to purge a queue.</p>
</li>
<li>
<p>Support user and role manipulation for PropertiesLoginModule via management interfaces.</p>
</li>
<li>
<p><a href="https://github.com/apache/activemq-artemis/tree/main/artemis-docker">Docker images</a>.</p>
</li>
<li>
<p><a href="logging.html#configuring-broker-audit-logging">Audit logging</a>.</p>
</li>
<li>
<p>Implementing <a href="consumer-priority.html#consumer-priority">consumer priority</a>.</p>
</li>
<li>
<p>Support <a href="address-model.html#fully-qualified-queue-names">FQQN</a> for producers.</p>
</li>
<li>
<p>Track routed and unrouted messages sent to an address.</p>
</li>
<li>
<p>Support <a href="security.html#ldaploginmodule">connection pooling in LDAPLoginModule</a>.</p>
</li>
<li>
<p>Support configuring a default consumer window size via <a href="address-settings.html#address-settings"><code>default-consumer-window-size</code> Address Setting</a>.</p>
</li>
<li>
<p>Support <a href="masking-passwords.html#masking-passwords">masking</a> <code>key-store-password</code> and <code>trust-store-password</code> in management.xml.</p>
</li>
<li>
<p>Support <a href="message-grouping.html#closing-a-message-group"><code>JMSXGroupSeq</code> -1 to close/reset message groups</a> from 5.x.</p>
</li>
<li>
<p>Allow configuration of <a href="management.html#remote-jmx-access">RMI registry port</a>.</p>
</li>
<li>
<p>Support routing-type configuration on <a href="core-bridges.html#configuring-core-bridges">core bridge</a>.</p>
</li>
<li>
<p>Move artemis-native as its own project, as <a href="https://github.com/apache/activemq-artemis-native">activemq-artemis-native</a>.</p>
</li>
<li>
<p>Support <a href="federation.html#federation">federated queues and addresses</a>.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-6-4"><a class="anchor" href="#2-6-4"></a><a class="link" href="#2-6-4">32. 2.6.4</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12344010">Full release notes</a>.</p>
</div>
<div class="paragraph">
<p>This was mainly a bug-fix release with a few improvements a couple notable new features:</p>
</div>
<div class="sect2">
<h3 id="highlights-30"><a class="anchor" href="#highlights-30"></a><a class="link" href="#highlights-30">32.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Added the ability to set the text message content on the <code>producer</code> CLI command.</p>
</li>
<li>
<p>Support reload logging configuration at runtime.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-6-3"><a class="anchor" href="#2-6-3"></a><a class="link" href="#2-6-3">33. 2.6.3</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12343472">Full release notes</a>.</p>
</div>
<div class="paragraph">
<p>This was mainly a bug-fix release with a few improvements but no substantial new features.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-6-2"><a class="anchor" href="#2-6-2"></a><a class="link" href="#2-6-2">34. 2.6.2</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12343404">Full release notes</a>.</p>
</div>
<div class="paragraph">
<p>This was a bug-fix release with no substantial new features or improvements.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-6-1"><a class="anchor" href="#2-6-1"></a><a class="link" href="#2-6-1">35. 2.6.1</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12343356">Full release notes</a>.</p>
</div>
<div class="paragraph">
<p>This was a bug-fix release with no substantial new features or improvements.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-6-0"><a class="anchor" href="#2-6-0"></a><a class="link" href="#2-6-0">36. 2.6.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12342903">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-31"><a class="anchor" href="#highlights-31"></a><a class="link" href="#highlights-31">36.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support <a href="security.html#certificateloginmodule">regular expressions for matching client certificates</a>.</p>
</li>
<li>
<p>Support <code>SASL_EXTERNAL</code> for AMQP clients.</p>
</li>
<li>
<p>New examples showing <a href="examples.html#openwire">virtual topic mapping</a> and <a href="examples.html#exclusive-queue">exclusive queue</a> features.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-5-0"><a class="anchor" href="#2-5-0"></a><a class="link" href="#2-5-0">37. 2.5.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12342127">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-32"><a class="anchor" href="#highlights-32"></a><a class="link" href="#highlights-32">37.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="exclusive-queues.html#exclusive-queues">Exclusive consumers</a>.</p>
</li>
<li>
<p>Equivalent ActiveMQ "Classic" Virtual Topic naming abilities.</p>
</li>
<li>
<p>SSL Certificate revocation list.</p>
</li>
<li>
<p><a href="last-value-queues.html#last-value-queues">Last-value queue</a> support for OpenWire.</p>
</li>
<li>
<p>Support <a href="masking-passwords.html#masking-passwords">masked passwords</a> in bootstrap.xm and login.config</p>
</li>
<li>
<p>Configurable <a href="broker-plugins.html#using-the-loggingactivemqserverplugin">broker plugin</a> implementation for logging various broker events (i.e. <code>LoggingActiveMQServerPlugin</code>).</p>
</li>
<li>
<p>Option to use OpenSSL provider for Netty via the <a href="configuring-transports.html#configuring-netty-ssl"><code>sslProvider</code></a> URL parameter.</p>
</li>
<li>
<p>Enable <a href="configuration-index.html#configuration-reference">splitting of broker.xml into multiple files</a>.</p>
</li>
<li>
<p>Enhanced message count and size metrics for queues.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-4-0"><a class="anchor" href="#upgrading-from-2-4-0"></a><a class="link" href="#upgrading-from-2-4-0">37.2. Upgrading from 2.4.0</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Due to changes from <a href="https://issues.apache.org/jira/browse/ARTEMIS-1644">ARTEMIS-1644</a> any <code>acceptor</code> that needs to be compatible with HornetQ and/or Artemis 1.x clients needs to have <code>anycastPrefix=jms.queue.;multicastPrefix=jms.topic.</code> in the <code>acceptor</code> url.
This prefix used to be configured automatically behind the scenes when the broker detected these old types of clients, but that broke certain use-cases with no possible work-around.
See <a href="https://issues.apache.org/jira/browse/ARTEMIS-1644">ARTEMIS-1644</a> for more details.</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-4-0"><a class="anchor" href="#2-4-0"></a><a class="link" href="#2-4-0">38. 2.4.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12341540">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-33"><a class="anchor" href="#highlights-33"></a><a class="link" href="#highlights-33">38.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="management.html#role-based-authorisation-for-jmx">JMX configuration via XML</a> rather than having to use system properties via command line or start script.</p>
</li>
<li>
<p>Configuration of <a href="protocols-interoperability.html#stomp-over-web-sockets">max frame payload length for STOMP web-socket</a>.</p>
</li>
<li>
<p>Ability to configure HA using JDBC persistence.</p>
</li>
<li>
<p>Implement <a href="management.html#management">role-based access control for management objects</a>.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-3-0"><a class="anchor" href="#upgrading-from-2-3-0"></a><a class="link" href="#upgrading-from-2-3-0">38.2. Upgrading from 2.3.0</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Create <code>&lt;ARTEMIS_INSTANCE&gt;/etc/management.xml</code>.
At the very least, the file must contain this:</p>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;management-context</span> <span class="na">xmlns=</span><span class="s">"http://activemq.apache.org/schema"</span><span class="nt">/&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>This configures role based authorisation for JMX.
Read more in the <a href="management.html#management">Management</a> documentation.</p>
</div>
</li>
<li>
<p>If configured, remove the Jolokia war file from the <code>web</code> element in <code>&lt;ARTEMIS_INSTANCE&gt;/etc/bootstrap.xml</code>:</p>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;app</span> <span class="na">url=</span><span class="s">"jolokia"</span> <span class="na">war=</span><span class="s">"jolokia.war"</span><span class="nt">/&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>This is no longer required as the Jolokia REST interface is now integrated into the console web application.</p>
</div>
<div class="paragraph">
<p>If the following is absent and you desire to deploy the web console then add:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;app</span> <span class="na">url=</span><span class="s">"console"</span> <span class="na">war=</span><span class="s">"console.war"</span><span class="nt">/&gt;</span></code></pre>
</div>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
the Jolokia REST interface URL will now be at <code><a href="http://&lt;host&gt;:&lt;port&gt;/console/jolokia" class="bare">http://&lt;host&gt;:&lt;port&gt;/console/jolokia</a></code>
</td>
</tr>
</table>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-3-0"><a class="anchor" href="#2-3-0"></a><a class="link" href="#2-3-0">39. 2.3.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12341247">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-34"><a class="anchor" href="#highlights-34"></a><a class="link" href="#highlights-34">39.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="management-console.html#management-console">Web admin console</a>!</p>
</li>
<li>
<p><a href="critical-analysis.html#critical-analysis-of-the-broker">Critical Analysis</a> and deadlock detection on broker</p>
</li>
<li>
<p>Support <a href="configuring-transports.html#macos-native-transport">Netty native kqueue</a> on Mac.</p>
</li>
<li>
<p><a href="last-value-queues.html#last-value-queues">Last-value queue</a> for AMQP</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="upgrading-from-2-2-0"><a class="anchor" href="#upgrading-from-2-2-0"></a><a class="link" href="#upgrading-from-2-2-0">39.2. Upgrading from 2.2.0</a></h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>If you desire to deploy the web console then add the following to the <code>web</code> element in <code>&lt;ARTEMIS_INSTANCE&gt;/etc/bootstrap.xml</code>:</p>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight nowrap"><code data-lang="xml"><span class="nt">&lt;app</span> <span class="na">url=</span><span class="s">"console"</span> <span class="na">war=</span><span class="s">"console.war"</span><span class="nt">/&gt;</span></code></pre>
</div>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-2-0"><a class="anchor" href="#2-2-0"></a><a class="link" href="#2-2-0">40. 2.2.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12340541">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-35"><a class="anchor" href="#highlights-35"></a><a class="link" href="#highlights-35">40.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Scheduled messages with the STOMP protocol.</p>
</li>
<li>
<p>Support for JNDIReferenceFactory and JNDIStorable.</p>
</li>
<li>
<p>Ability to delete queues and addresses when <a href="config-reload.html#configuration-reload">broker.xml changes</a>.</p>
</li>
<li>
<p><a href="security.html#kerberos-authentication">Client authentication via Kerberos TLS Cipher Suites (RFC 2712)</a>.</p>
</li>
</ul>
</div>
<h2 id="2-1-0" class="discrete">2.1.0</h2>
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12339963">Full release notes</a>.</p>
</div>
</div>
<div class="sect2">
<h3 id="highlights-36"><a class="anchor" href="#highlights-36"></a><a class="link" href="#highlights-36">40.2. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p><a href="broker-plugins.html#plugin-support">Broker plugin support</a>.</p>
</li>
<li>
<p>Support <a href="configuring-transports.html#linux-native-transport">Netty native epoll</a> on Linux.</p>
</li>
<li>
<p>Ability to configure arbitrary security role mappings.</p>
</li>
<li>
<p>AMQP performance improvements.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2-0-0"><a class="anchor" href="#2-0-0"></a><a class="link" href="#2-0-0">41. 2.0.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12338813">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-37"><a class="anchor" href="#highlights-37"></a><a class="link" href="#highlights-37">41.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Huge update involving a significant refactoring of the <a href="address-model.html#address-model">addressing model</a> yielding the following benefits:</p>
<div class="ulist">
<ul>
<li>
<p>Simpler and more flexible XML configuration.</p>
</li>
<li>
<p>Support for additional messaging use-cases.</p>
</li>
<li>
<p>Eliminates confusing JMS-specific queue naming conventions (i.e. "jms.queue." &amp; "jms.topic." prefixes).</p>
</li>
</ul>
</div>
</li>
<li>
<p>Pure encoding of messages so protocols like AMQP don&#8217;t need to convert messages to "core" format unless absolutely necessary.</p>
</li>
<li>
<p><a href="persistence.html#memory-mapped">"MAPPED" journal type</a> for increased performance in certain use-cases.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-5-6"><a class="anchor" href="#1-5-6"></a><a class="link" href="#1-5-6">42. 1.5.6</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12340547">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-38"><a class="anchor" href="#highlights-38"></a><a class="link" href="#highlights-38">42.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Bug fixes.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-5-5"><a class="anchor" href="#1-5-5"></a><a class="link" href="#1-5-5">43. 1.5.5</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12339947">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-39"><a class="anchor" href="#highlights-39"></a><a class="link" href="#highlights-39">43.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Bug fixes.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-5-4"><a class="anchor" href="#1-5-4"></a><a class="link" href="#1-5-4">44. 1.5.4</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12339158">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-40"><a class="anchor" href="#highlights-40"></a><a class="link" href="#highlights-40">44.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support Oracle12C for JDBC persistence.</p>
</li>
<li>
<p>Bug fixes.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-5-3"><a class="anchor" href="#1-5-3"></a><a class="link" href="#1-5-3">45. 1.5.3</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12339575">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-41"><a class="anchor" href="#highlights-41"></a><a class="link" href="#highlights-41">45.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support "byte notation" (e.g. "K", "KB", "Gb", etc.) in broker XML configuration.</p>
</li>
<li>
<p>CLI command to recalculate disk sync times.</p>
</li>
<li>
<p>Bug fixes.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-5-2"><a class="anchor" href="#1-5-2"></a><a class="link" href="#1-5-2">46. 1.5.2</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12338833">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-42"><a class="anchor" href="#highlights-42"></a><a class="link" href="#highlights-42">46.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support for paging using JDBC.</p>
</li>
<li>
<p>Bug fixes.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-5-1"><a class="anchor" href="#1-5-1"></a><a class="link" href="#1-5-1">47. 1.5.1</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12338661">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-43"><a class="anchor" href="#highlights-43"></a><a class="link" href="#highlights-43">47.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Support outgoing connections for AMQP.</p>
</li>
<li>
<p>Bug fixes.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-5-0"><a class="anchor" href="#1-5-0"></a><a class="link" href="#1-5-0">48. 1.5.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12338118">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-44"><a class="anchor" href="#highlights-44"></a><a class="link" href="#highlights-44">48.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>AMQP performance improvements.</p>
</li>
<li>
<p>JUnit rule implementation so messaging resources like brokers can be easily configured in tests.</p>
</li>
<li>
<p>Basic CDI integration.</p>
</li>
<li>
<p>Store user&#8217;s password in hash form by default.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-4-0"><a class="anchor" href="#1-4-0"></a><a class="link" href="#1-4-0">49. 1.4.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12336052">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-45"><a class="anchor" href="#highlights-45"></a><a class="link" href="#highlights-45">49.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>"Global" limit for disk usage.</p>
</li>
<li>
<p>Detect and reload certain XML configuration changes at runtime.</p>
</li>
<li>
<p>MQTT interceptors.</p>
</li>
<li>
<p>Support adding/deleting queues via CLI.</p>
</li>
<li>
<p>New "browse" security permission for clients who only wish to look at messages.</p>
</li>
<li>
<p>Option to populate JMSXUserID.</p>
</li>
<li>
<p>"Dual authentication" support to authenticate SSL-based and non-SSL-based clients differently.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-3-0"><a class="anchor" href="#1-3-0"></a><a class="link" href="#1-3-0">50. 1.3.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12328978">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-46"><a class="anchor" href="#highlights-46"></a><a class="link" href="#highlights-46">50.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Better support of OpenWire features (e.g. reconnect, producer flow-control, optimized acknowledgements)</p>
</li>
<li>
<p>SSL keystore reload at runtime.</p>
</li>
<li>
<p>Initial support for JDBC persistence.</p>
</li>
<li>
<p>Support scheduled messages on last-value queue.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-2-0"><a class="anchor" href="#1-2-0"></a><a class="link" href="#1-2-0">51. 1.2.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12333274">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-47"><a class="anchor" href="#highlights-47"></a><a class="link" href="#highlights-47">51.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>Improvements around performance</p>
</li>
<li>
<p>OSGi support.</p>
</li>
<li>
<p>Support functionality equivalent to all 5.x JAAS login modules including:</p>
<div class="ulist">
<ul>
<li>
<p>Properties file</p>
</li>
<li>
<p>LDAP</p>
</li>
<li>
<p>SSL certificate</p>
</li>
<li>
<p>"Guest"</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-1-0"><a class="anchor" href="#1-1-0"></a><a class="link" href="#1-1-0">52. 1.1.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12332642&amp;projectId=12315920">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-48"><a class="anchor" href="#highlights-48"></a><a class="link" href="#highlights-48">52.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>MQTT support.</p>
</li>
<li>
<p>The examples now use the CLI programmatically to create, start, stop, etc.
servers reflecting real cases used in production.</p>
</li>
<li>
<p>CLI improvements.
There are new tools to compact the journal and additional improvements to the user experience.</p>
</li>
<li>
<p>Configurable resource limits.</p>
</li>
<li>
<p>Ability to disable server-side message load-balancing.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1-0-0"><a class="anchor" href="#1-0-0"></a><a class="link" href="#1-0-0">53. 1.0.0</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&amp;version=12328953">Full release notes</a>.</p>
</div>
<div class="sect2">
<h3 id="highlights-49"><a class="anchor" href="#highlights-49"></a><a class="link" href="#highlights-49">53.1. Highlights</a></h3>
<div class="ulist">
<ul>
<li>
<p>First release of the <a href="https://lists.apache.org/thread/7y4o61zzk5y9bdjqsho2p6k7860kmzbt">donated code-base</a> as ActiveMQ Artemis!</p>
</li>
<li>
<p>Lots of features for parity with ActiveMQ "Classic" including:</p>
<div class="ulist">
<ul>
<li>
<p>OpenWire support</p>
</li>
<li>
<p>AMQP 1.0 support</p>
</li>
<li>
<p>URL based connections</p>
</li>
<li>
<p>Auto-create addresses/queues</p>
</li>
<li>
<p>Jolokia integration</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>