<div class="wiki-content maincontent"><h1 id="ApacheActiveMQBoardReport-April2008-StatusreportfortheApacheActiveMQProject">Status report for the Apache ActiveMQ Project</h1>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
Community:

 The ActiveMQ community continues to stay vibrant with a very healthy amount of email traffic 
 flowing through it's email lists.  It has also added several new committers to it's ranks.

New Committers:

 * Jim Gomes
 * Roman Kalukiewicz
 * Willem Jiang
 * Claus Ibsen

Development:
 
 Development continues at a good pace.  Several releases are eminent and may get fully 
 released by the time this board report is submitted. Those releases include a bug fix 
 release for ActiveMQ 4.1.2 and ActiveMQ 5.1.0. We are also reviewing the LICENSE and 
 NOTICE files for conformance with the recent clarifications on legal-discuss about 
 what they are intended to contain.

Releases:

 * Apache ActiveIO 3.0.1 
 * Apache ActiveIO 3.1.0
 * Apache Camel 1.3.0

ECN Status:

 Notices have sent to the BIS/NSA and they have been documented at the official
 location http://www.apache.org/licenses/exports/ .
 The only projects using crypto software were:

  * Apache ActiveMQ
  * Apache Camel
 
</pre>
</div></div></div>

