# Release Notes - TomEE - Version 1.7.1
                
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1296'>TOMEE-1296</a>] -         org.apache.openejb.jpa.integration.eclipselink.OpenEJBServerPlatform mbeanServer name is wrong
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1324'>TOMEE-1324</a>] -         Problem with TomEE Maven archetype
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1325'>TOMEE-1325</a>] -         Dynamic subclassing doesn&#39;t support interfaces (@Local)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1329'>TOMEE-1329</a>] -         jars.txt doesn&#39;t support empty lines
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1330'>TOMEE-1330</a>] -         Support to include container urls in scanning
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1334'>TOMEE-1334</a>] -         cdi lazy realm throws NPE cause of init handling (too early)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1335'>TOMEE-1335</a>] -         openejb.deployer.save-deployments broken on war
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1342'>TOMEE-1342</a>] -         OutputGeneratedDescriptors doesn&#39;t output complete ejb-jar.xml
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1343'>TOMEE-1343</a>] -         HSQL server shuts down saying no databases available
</li>
</ul>
    
<h2>        Dependency upgrade
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1326'>TOMEE-1326</a>] -         Upgrade to Mojarra 2.1.29
</li>
</ul>
            
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1339'>TOMEE-1339</a>] -         [JAXRS] try static resources first
</li>
</ul>
    
<h2>        New Feature
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1295'>TOMEE-1295</a>] -         openjpa.EntityManagerFactoryPool support for container persistence unit
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1297'>TOMEE-1297</a>] -         add @Jars annotation to ApplicationComposer
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1341'>TOMEE-1341</a>] -         Arquillian support for Suite testing
</li>
</ul>
                                        
<h2>        Test
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1338'>TOMEE-1338</a>] -         Create tests for DeployerEjb
</li>
</ul>
        

        Release Notes - OpenEJB - Version 4.7.1
                
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2100'>OPENEJB-2100</a>] -         Context Classloader not restored in org.apache.openejb.client.EJBObjectHandler.createEJBObjectProxy
</li>
</ul>
                                                                    