<div class="wiki-content maincontent"><h1>Status report for the Apache ActiveMQ Project</h1><structured-macro ac:macro-id="3cc0a94c-a838-4c88-85d9-75b700554bd2" ac:name="code" ac:schema-version="1"><parameter ac:name="">none</parameter><plain-text-body>Community:
 * The ActiveMQ project has had another very busy quarter.  Jonathan Anstey was voted in as an ActiveMQ committer.
 * The development and user lists continue to stay vibrant.

Development:
 * Lots of development effort continues around pushing out new versions of ActiveMQ, ActiveMQ-CPP, and Camel.  A new 5.2.0 release
   of ActiveMQ is currently in the works.
 
Releases:
 * ActiveMQ-CPP 2.2.1
 * Camel 1.4.0 


</plain-text-body></structured-macro></div>

