Title:     Board Report
Notice:    Licensed to the Apache Software Foundation (ASF) under one
           or more contributor license agreements.  See the NOTICE file
           distributed with this work for additional information
           regarding copyright ownership.  The ASF licenses this file
           to you under the Apache License, Version 2.0 (the
           "License"); you may not use this file except in compliance
           with the License.  You may obtain a copy of the License at
           .
             http://www.apache.org/licenses/LICENSE-2.0
           .
           Unless required by applicable law or agreed to in writing,
           software distributed under the License is distributed on an
           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
           KIND, either express or implied.  See the License for the
           specific language governing permissions and limitations
           under the License.

# April 2011 Board report
Aries delivers a set of pluggable Java components enabling an enterprise OSGi application programming model.

Since the last board report, there have been enhancements to the 'proxy' module to which has improved its performance by making use of the new 'Weaving Hook Service' OSGi specification (in 4.3) as an alternative to ASM. This also removes some restrictions on final classes/methods imposed by use the use of ASM. The 'spi-fly' module's OSGi service approach to META-INF/services has also been updated to make use of the Weavking Hook Service gaining similar benefits.


Some more documentation on the new release-by-bundle release process has been written. This positions us nicely to demonstrate and make use of the OSGi Semantic Versioning scheme. Now that the parent-0.4 module has been released, we are in a position to use it for the next release.

Community update
----------------
Small increase in since last month dev@ 118 subscribers, user@ 134 subscribers. There has been a slight increase in user list traffic. The dev@ list continues to be active with less traffic on the user@ list. No new committers or PMC members.

There are no board level issues.