= June 2010 Board Report

Aries will deliver a set of pluggable Java components enabling an enterprise OSGi application programming model.

Aries entered incubation on September 22, 2009.

There are currently no issues requiring IPMC or Board attention.

The following sub-components are actively being developed:

* Application
* Subsystems
* Blueprint
* JMX
* JPA

Several new sample applications have been developed to demonstrate the Aries functionality.

There continues to be a vibrant community as shown by the activity on the mailing list this year.

On May 26th we released Apache Aries 0.1-incubating, our first release.

Top 2 or 3 things to resolve before graduation:

* Build community  link:done.html[done]
* Create a release link:done.html[done]
* Address project scope concerns raised during acceptance vote
