Title: September 2010
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
* JPA
* JNDI
* Transaction
* Quiesce
* Samples


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

We have recently completed our 0.2-incubating release. This is our second
release since entering incubation. This release is in support of Geronimo
3.0 which uses Apache Aries.

The OSGi Enterprise Compliance Tests have been run against Blueprint, JMX,
JNDI and transactions modules and the results have been published to the
aries-dev mailing list and are available from the [Aries web site](/downloads/testresults.html)

Top 2 or 3 things to resolve before graduation:

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