<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  Architecture
-->
<html lang="en">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
    <meta content="ActiveMQ's next generation of messaging" name="description"/>
    <meta content="messaging,stomp,jms,activemq" name="keywords"/>
    <meta content="ActiveMQ" name="author"/>
    <link type="text/css" rel="stylesheet" href="styles/impact/css/pygmentize.css"/>
    <link type="text/css" rel="stylesheet" href="styles/impact/css/site.css"/>

    <style type='text/css'>
        /* <![CDATA[ */
        .download {
        font-size: 80%;
        }
        table.download { width: 100%;}
        table.download tr td {
        border: 1px solid #ccc;
        padding: .5em;
        }
        /* ]]> */
    </style>

    <title>ActiveMQ Artemis Release Notes 2.2.0</title>
</head>
<body>
<div id="navigation">
    <div class="wrapper">
        <ul>
            <li><a href="index.html">ActiveMQ Artemis</a></li>
            <li><a href="docs.html">Documentation</a></li>
            <li><a href="download.html">Download</a></li>
        </ul>
    </div>
</div>
<div id="overview">
    <div class="wrapper">
        <div class="logo">
            <img src="images/activemq-logo.png" alt="ActiveMQ logo"/>
        </div>
        <div class="message">
            <h1>ActiveMQ Artemis</h1>
        </div>
    </div>
</div>
<div id="content">
    <div class="wrapper">
        <h2 id="release-notes---apache-activemq-artemis-2.2.0">Release Notes - Apache ActiveMQ Artemis 2.2.0</h2>
    </div>
    <div class="wrapper">
        <p>A complete list of JIRAs for the 2.2.0 release can be found <a href=https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12315920&version=12340541>here.</a>
            </p>


        <h2>        Bug
        </h2>
        <ul>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-565'>ARTEMIS-565</a>] -         Artemis use no free json.org
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1154'>ARTEMIS-1154</a>] -         Backup activates if isolated on the network with no network health check
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1155'>ARTEMIS-1155</a>] -         JDBC Sequential File would leak after open
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1164'>ARTEMIS-1164</a>] -         NameNotFoundException when using java.naming.provider.url to set url via jndi
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1172'>ARTEMIS-1172</a>] -         ActiveMQServerPlugin beforeDeliver and afterDeliver should pass in the ServerConsumer
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1173'>ARTEMIS-1173</a>] -         AMQP assumes divert route to be non-null
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1175'>ARTEMIS-1175</a>] -         Memory Leak Mqtt
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1178'>ARTEMIS-1178</a>] -         Backwards compatibility issues
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1180'>ARTEMIS-1180</a>] -         Artemis is logging warnings during server shut down
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1186'>ARTEMIS-1186</a>] -         Consumer.receive hangs if http acceptor with non-zero batch-delay is configured
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1187'>ARTEMIS-1187</a>] -         Incompatible version when recreating a session with older server
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1189'>ARTEMIS-1189</a>] -         Fix checkstyle violations post checkstyle  upgrade
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1190'>ARTEMIS-1190</a>] -         Long/int type mismatch in JDBCSequentialFile.setWritePosition
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1193'>ARTEMIS-1193</a>] -         [extra-tests] StartStopDeadlockTest#testDeadlock gets stuck
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1195'>ARTEMIS-1195</a>] -         Artemis.create filters should be independent
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1196'>ARTEMIS-1196</a>] -         Unusable JSON api on Karaf
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1197'>ARTEMIS-1197</a>] -         Missing browse permission on Karaf
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1204'>ARTEMIS-1204</a>] -         JDBCSequentialFile getSize does not work if the file is not open
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1205'>ARTEMIS-1205</a>] -         AMQP Shared Durable Subscriber incorrect behaviour.
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1206'>ARTEMIS-1206</a>] -         [Core JMS Client] Violates JMS Specification - allows two active connections with same clientid
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1207'>ARTEMIS-1207</a>] -         [Core JMS Client] Align order of when setClientId can be called with AcitveMQ5 and QPID
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1208'>ARTEMIS-1208</a>] -         Do not use reconnect-atempts=-1 in tests
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1209'>ARTEMIS-1209</a>] -         JMS OpenWire client cannot read notifications from activemq.notifications topic
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1212'>ARTEMIS-1212</a>] -         [extra-tests] HornetQProtocolManagerTest fails on InvalidDestinationException
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1215'>ARTEMIS-1215</a>] -         Broker startup issue with MQTT
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1220'>ARTEMIS-1220</a>] -         Diverted LargeMessage file corrupted during replication
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1221'>ARTEMIS-1221</a>] -         Duplicated ID causes LargeMessage lost at backup
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1223'>ARTEMIS-1223</a>] -         OutOfDirectMemoryError raised from TimedBuffer
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1224'>ARTEMIS-1224</a>] -         Journal File Size needs to be multiple of alignment size
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1225'>ARTEMIS-1225</a>] -         Log messages without prefixed id code in artemis-ra
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1226'>ARTEMIS-1226</a>] -         Log messages without prefixed id code in artemis-jms-client
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1228'>ARTEMIS-1228</a>] -         Log messages without prefixed id code in artemis-rest
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1232'>ARTEMIS-1232</a>] -         deserialization black/white list are not used by regular JMS connection factories
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1233'>ARTEMIS-1233</a>] -         Wrong Log level set on backupDeletingData log message.
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1240'>ARTEMIS-1240</a>] -         Disconnect at client side on decoding error
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1242'>ARTEMIS-1242</a>] -         OpenWire Transactions never removed
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1243'>ARTEMIS-1243</a>] -         Release ReferenceCounted messages
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1244'>ARTEMIS-1244</a>] -         [mqtt] Retain flag of received message is lost (caught by outgoing interceptor)
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1246'>ARTEMIS-1246</a>] -         AMQ119019: Queue already exists
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1247'>ARTEMIS-1247</a>] -         Allow tracing on ReplicatedJournal
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1250'>ARTEMIS-1250</a>] -         ClusteredMessageCounterTest.testNonDurableMessageAddedWithPaging fails
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1251'>ARTEMIS-1251</a>] -         Log messages without prefixed id code in artemis-jms-server
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1253'>ARTEMIS-1253</a>] -         Regression: NetworkHealthCheck is not restarting the server
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1254'>ARTEMIS-1254</a>] -         JDBCStorageManager does not allocate LargeMessage handler new executor
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1256'>ARTEMIS-1256</a>] -         PagingOMETest.testPageCleanup fails
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1257'>ARTEMIS-1257</a>] -         ActiveMQActivationSpec.java should use boxed types for attributes values according to the JCA specification
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1259'>ARTEMIS-1259</a>] -         Log messages without prefixed id code in artemis-server-osgi
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1261'>ARTEMIS-1261</a>] -         Adjust default confirmation-window-size for bridges
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1268'>ARTEMIS-1268</a>] -         stomp client can send large message but not receive
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1269'>ARTEMIS-1269</a>] -         Replication Initial Synchronization won&#39;t finish sometimes
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1272'>ARTEMIS-1272</a>] -         Artemis incorrectly handle MQTT acknowledgement
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1274'>ARTEMIS-1274</a>] -         MultipleProducersTest.wrongQueue fails
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1277'>ARTEMIS-1277</a>] -         purgeOnNoConsumer is not working properly
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1280'>ARTEMIS-1280</a>] -         Redistribution Future does not get deleted if it gets canceled before it&#39;s run
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1282'>ARTEMIS-1282</a>] -         createQueue(String address, RoutingType routingType, String queueName)  is creating a temporaryQueue
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1283'>ARTEMIS-1283</a>] -         AMQP Drain of a link encounters unexpected response delay
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1284'>ARTEMIS-1284</a>] -         Deleting queue is not cleaning up Paging
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1288'>ARTEMIS-1288</a>] -         Crash on compacting could leave to server not being able to restart
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1289'>ARTEMIS-1289</a>] -         Unable to configure queues containing &quot;/&quot; in broker.xml
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1290'>ARTEMIS-1290</a>] -         Prefixes are not prepended on QueueQuery Results
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1292'>ARTEMIS-1292</a>] -         Removing paging folder can lead to message loss
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1293'>ARTEMIS-1293</a>] -         Log messages without prefixed id code in artemis-commons
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1294'>ARTEMIS-1294</a>] -         TimedBuffer is not timing, reverting timeout policy
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1296'>ARTEMIS-1296</a>] -         Quorum vote doesn&#39;t check for live
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1300'>ARTEMIS-1300</a>] -         Sending Core &amp; receiving AMQP can lead to deadlock when direct delivering
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1301'>ARTEMIS-1301</a>] -         Network failures recognition on backpressure while streaming large messages
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1304'>ARTEMIS-1304</a>] -         Communication Timeout on Commit &amp; Failover can lead to message loss
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1311'>ARTEMIS-1311</a>] -         Log messages without prefixed id code in artemis-core-client
            </li>
        </ul>

        <h2>        Improvement
        </h2>
        <ul>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1129'>ARTEMIS-1129</a>] -         Client Dependencies
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1156'>ARTEMIS-1156</a>] -         Long Autoboxing occurring on Hot Path
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1158'>ARTEMIS-1158</a>] -         Expose Netty.channelID properly
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1159'>ARTEMIS-1159</a>] -         Fixes and Improvement to the AMQP test client
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1162'>ARTEMIS-1162</a>] -         Make new Adapting TimedBuffer and old Fixed TimedBuffer configurable
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1163'>ARTEMIS-1163</a>] -         Refactory connection factory client creation
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1169'>ARTEMIS-1169</a>] -         Implement Interceptors for the AMQP protocol
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1174'>ARTEMIS-1174</a>] -         Update Hacking Guide Documentation: IDE Integration
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1176'>ARTEMIS-1176</a>] -         Use text messages for management reply messages
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1179'>ARTEMIS-1179</a>] -         Add Optional Client JMS Destination Cache
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1188'>ARTEMIS-1188</a>] -         Update sevntu to 1.24.0 available in maven central
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1211'>ARTEMIS-1211</a>] -         Allow local transactions when no jta in Resource Adapter
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1214'>ARTEMIS-1214</a>] -         Improve performance of read on Paging
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1248'>ARTEMIS-1248</a>] -         Reduce garbage while Paging
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1252'>ARTEMIS-1252</a>] -         Add service loading of password codec to obtain its implementation from the application’s root context, rather than using a class loader
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1258'>ARTEMIS-1258</a>] -         ActiveMQServerPlugin beforeSend and afterSend should pass in ServerSession
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1302'>ARTEMIS-1302</a>] -         Make quorum voting more transparent
            </li>
        </ul>

        <h2>        New Feature
        </h2>
        <ul>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-821'>ARTEMIS-821</a>] -         Support scheduled messages with the STOMP protocol
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1182'>ARTEMIS-1182</a>] -         Add / Port in support for JNDIReferenceFactory and JNDIStorable
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1235'>ARTEMIS-1235</a>] -         Support the ability to enable queue and address deletion when broker.xml changes
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1264'>ARTEMIS-1264</a>] -         Client authentication via Kerberos TLS Cipher Suites (RFC 2712)
            </li>
        </ul>

        <h2>        Task
        </h2>
        <ul>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1153'>ARTEMIS-1153</a>] -         Create an .NET client example for AMQP and Durable Subscriptions
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1168'>ARTEMIS-1168</a>] -         Update Qpid JMS to 0.23.0 and Proton-J to 0.19.0
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1266'>ARTEMIS-1266</a>] -         Mapped Journal refactoring
            </li>
        </ul>

        <h2>        Test
        </h2>
        <ul>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1160'>ARTEMIS-1160</a>] -         AMQP Test client doesn&#39;t configure its netty WS handler with the AMQP frame size
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1166'>ARTEMIS-1166</a>] -         Handle WebSocket continuation frames on AMQP test client
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1167'>ARTEMIS-1167</a>] -         Add test to validate broker handling of AMQP idle timeout handling
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1276'>ARTEMIS-1276</a>] -         [openwire-tests] Enable more OpenWire tests (from ActiveMQ 5)
            </li>
            <li>[<a href='https://issues.apache.org/jira/browse/ARTEMIS-1287'>ARTEMIS-1287</a>] -         Test Suite cleanups
            </li>
        </ul>


    </div>
</div>
</body>
</html>
