<div class="wiki-content maincontent"><h1>Status report for the Apache ActiveMQ Project</h1><structured-macro ac:macro-id="0c9eddee-b43e-47c5-b6cf-90b4fc01e8d1" ac:name="code" ac:schema-version="1"><parameter ac:name="">none</parameter><plain-text-body>Community:
 * Nicky Sandhu and Hadrian Zbarcea were voted in and accepted becoming ActiveMQ committers
 * A code grant was accepted for an NMS implementation that access 
    Tibco EMS.
 * The development and user lists continue to stay vibrant.

Development:
 * ActiveMQ 5.0 continues to stabilize and should produce a 5.0.1 bug fix release shortly.
 * NMS subproject refactored to make each NMS implementation independently versioned.
 
Releases:
 * ActiveMQ 5.0.0
 * Camel 1.2.0 
 * CMS 1.2
 * ActiveMQ CPP 2.1.1
 * ActiveMQ CPP 2.1.2
 * ActiveMQ CPP 2.1.3
</plain-text-body></structured-macro></div>

