<!DOCTYPE html>
<html lang="en">
  <head>

    <meta charset="UTF-8">
      <title></title>
    <meta name="description" content="Apache TomEE">
    <meta name="author" content="Apache TomEE">
    <meta name="google-translate-customization" content="f36a520c08f4c9-0a04e86a9c075ce9-g265f3196f697cf8f-10">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="0">
    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">

    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <!-- Le styles -->
    <link href="./resources/css/bootstrap.css" rel="stylesheet">
    <link href="./resources/css/prettify.css" rel="stylesheet">
    <!--link href="./resources/css/bootstrap-mods.css" rel="stylesheet"-->
    <link href="./resources/css/main.css" rel="stylesheet">
    <link href="./resources/font-awesome-4.6.3/css/font-awesome.min.css" rel="stylesheet">

    <script type="text/javascript">
        var t = encodeURIComponent(document.title.replace(/^\s+|\s+$/g,""));
        var u = encodeURIComponent(""+document.URL);
    
      function fbshare () {
          window.open(
                  "http://www.facebook.com/sharer/sharer.php?u="+u,
                  'Share on Facebook',
                  'width=640,height=426');
      };
      function gpshare () {
          window.open(
                  "https://plus.google.com/share?url="+u,
                  'Share on Google+',
                  'width=584,height=385');
      };
      function twshare () {
          window.open(
                  "https://twitter.com/intent/tweet?url="+u+"&text="+t,
                  'Share on Twitter',
                  'width=800,height=526');
      };
      function pinshare () {
          window.open("//www.pinterest.com/pin/create/button/?url="+u+"&media=http%3A%2F%2Ftomee.apache.org%2Fresources%2Fimages%2Ffeather-logo.png&description="+t,
                  'Share on Pinterest',
                  'width=800,height=526');
      };
    </script>

    <!-- Le fav and touch icons -->
    <link rel="shortcut icon" href="./favicon.ico">
    <link rel="apple-touch-icon" href="./resources/images/apple-touch-icon.png">
    <link rel="apple-touch-icon" sizes="72x72" href="./resources/images/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="./resources/images/apple-touch-icon-114x114.png">

    <script src="./resources/js/prettify.js" type="text/javascript"></script>
    <script src="./resources/js/jquery-latest.js"></script>
    <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
    <script src="./resources/js/common.js"></script>
    <script src="./resources/js/prettyprint.js"></script>
    <!--script src="//assets.pinterest.com/js/pinit.js" type="text/javascript" async></script//-->
    
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-2717626-1']);
      _gaq.push(['_setDomainName', 'apache.org']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
  </head>

  <body>

    <div class="topbar" data-dropdown="dropdown">
      <div class="fill">
        <div class="container">
          <a class="brand" href="./index.html">Apache TomEE</a>
          <ul class="nav">
              <li class="dropdown">
                  <a class="dropdown-toggle" data-toggle="dropdown" href="#">
                  Apache
                      <b class="caret"></b>
                  </a>
                  <ul class="dropdown-menu">
                     <!-- <li><a href="./misc/whoweare.html">Who we are?</a></li> -->
                     <!-- <li><a href="./misc/heritage.html">Heritage</a></li> -->
                     <li><a href="http://www.apache.org">Apache Home</a></li>
                     <!-- <li><a href="./misc/resources.html">Resources</a></li> -->
                     <li><a href="./misc/contact.html">Contact</a></li>
                     <li><a href="./misc/legal.html">Legal</a></li>
                     <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                     <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
                     <li class="divider"/>
                     <li><a href="http://www.apache.org/security">Security</a></li>
                  </ul>
              </li>
              <li><a href="./index.html">Home</a></li>
              <li><a href="./downloads.html">Downloads</a></li>
              <li><a href="./documentation.html">Documentation</a></li>
              <li><a href="./examples-trunk/index.html">Examples</a></li>
              <li><a href="./support.html">Support</a></li>
              <li><a href="./contribute.html">Contribute</a></li>
              <li><a href="./security/index.html">Security</a></li>
          </ul>

            <!-- Google CSE Search Box Begins  -->
            <FORM class="pull-right" id="searchbox_010475492895890475512:_t4iqjrgx90" action="http://www.google.com/cse">
                <INPUT type="hidden" name="cx" value="010475492895890475512:_t4iqjrgx90">
                <INPUT type="hidden" name="cof" value="FORID:0">
                <INPUT size="18" width="130" style="width:130px" name="q" type="text" placeholder="Search">
            </FORM>
            <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_010475492895890475512:_t4iqjrgx90"></SCRIPT>-->
            <!-- Google CSE Search Box Ends -->
        </div>
      </div>
    </div>

    <div class="container">
    

<div class="page-header">
    <small><a href="./index.html">Home</a></small><br>
    <h1>

        <div style="float: right; position: relative; bottom: -10px; ">
            <a onclick="javascript:gpshare()" class="gp-share sprite" title="Share on Google+">share [gp]</a>
            <a onclick="javascript:fbshare()" class="fb-share sprite" title="Share on Facebook">share [fb]</a>
            <a onclick="javascript:twshare()" class="tw-share sprite" title="Share on Twitter">share [tw]</a>
            <a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
            <a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>
        </div>
    </h1>
</div>

<pre><code>    Release Notes - TomEE - Version 7.0.0
</code></pre>

<h2>        Sub-task
</h2>

<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1322'>TOMEE-1322</a>] -         Client API
</li>
</ul>

<h2>        Bug
</h2>

<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1266'>TOMEE-1266</a>] -         Unable to configure a datasource with TomEE in context of Oracle Wallet
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1268'>TOMEE-1268</a>] -         Auto scanning of @Provider
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1275'>TOMEE-1275</a>] -         TimerExecutor as compoenent doesn&#39;t follow executor lifecycle (stop/start)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1281'>TOMEE-1281</a>] -         JAXRS doesn&#39;t work with deltaspike in Application#getSingleton
</li>
<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>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1364'>TOMEE-1364</a>] -         When using the tomee-maven-plugins stop goal tomee seems to hang forever
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1376'>TOMEE-1376</a>] -         Invalid package within groovy script
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1398'>TOMEE-1398</a>] -         The project maven-util doesn&#39;t contain the Log interface on it&#39;s classpath
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1400'>TOMEE-1400</a>] -         Potential NPE in TomeeAnnotationProvider
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1408'>TOMEE-1408</a>] -         Incorrect assertions within the testcode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1409'>TOMEE-1409</a>] -         Invalid configuration in module openejb-junit
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1509'>TOMEE-1509</a>] -         PropertyPlaceHolderHelper does not work with cipher:
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1519'>TOMEE-1519</a>] -         SetupCommand fails to delete file/dir on Windows
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1606'>TOMEE-1606</a>] -         Bad conversion of DataSource password containing special characters
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1626'>TOMEE-1626</a>] -         Maven Tomee Exec Mojo failed when provided server.xml use env vars
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1725'>TOMEE-1725</a>] -         ManagedConnection#equals broken when not using dbcp
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1726'>TOMEE-1726</a>] -         StreamOutput not considered as a stream
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1727'>TOMEE-1727</a>] -         Application.getSingletons doesn&#39;t handle @Provider right creating warnings
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1728'>TOMEE-1728</a>] -         ApplicationComposers.run calls twice @PostConstruct of the application
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1729'>TOMEE-1729</a>] -         empty context path for application composer applications can lead to wrong http routing
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1730'>TOMEE-1730</a>] -         bad regex for embedded http layer and filter mapping when ending by *
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1731'>TOMEE-1731</a>] -         web.xml should override @ApplicationPath and not concatenate both paths
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1739'>TOMEE-1739</a>] -         Javaagent arguments ignored by tomee-maven-plugin
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1740'>TOMEE-1740</a>] -         Ensure Contexts propagates in ManagedExecutors the exchange to be able to inject RS @Context in async endpoints
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1741'>TOMEE-1741</a>] -         Incorrect log message
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1742'>TOMEE-1742</a>] -         application composer mvn plugins don&#39;t work with maven &gt; 3.0
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1748'>TOMEE-1748</a>] -         managed executor factory should support a Threadfactory (not a Managed one) as thread factory
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1751'>TOMEE-1751</a>] -         RemoteServer doesnt support system properties with equals in values
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1759'>TOMEE-1759</a>] -         JSF NPE in FashImpl with nested/forward request
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1764'>TOMEE-1764</a>] -         JSP @Resource not honored if only in JSP
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1765'>TOMEE-1765</a>] -         @Transactional doesn&#39;t throw as cause synchronization exceptions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1767'>TOMEE-1767</a>] -         @DataSourceDefinition doesn&#39;t support XADataSource
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1770'>TOMEE-1770</a>] -         @Initialized(AppScoped) not using the right classloader in tomee-embedded
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1772'>TOMEE-1772</a>] -         Singleton DependsOnTest fails most of the times
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1777'>TOMEE-1777</a>] -         some resources are not properly removed from OpenEjbConfiguration
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1785'>TOMEE-1785</a>] -         activate bean validation with jaxrs by default
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1786'>TOMEE-1786</a>] -         BvalCdiFilter is not active
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1787'>TOMEE-1787</a>] -         EJBExceptionMapper can end up in a NPE
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1788'>TOMEE-1788</a>] -         TomEE fails to start embedded ActiveMQ
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1791'>TOMEE-1791</a>] -         property-provider should be properties-provider for tomee.xml on resources
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1792'>TOMEE-1792</a>] -         Eclipselink integration not working in flat classloader mode
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1796'>TOMEE-1796</a>] -         dont add war resources when running a .war with tomee embedded
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1799'>TOMEE-1799</a>] -         Java 8 : java.lang.IllegalArgumentException: Comparison method violates its general contract!
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1800'>TOMEE-1800</a>] -         SystemProperty not merged when using Import in tomee.xml
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1805'>TOMEE-1805</a>] -         HttpServletRequest#logout doesn&#39;t clear authenticated identity in EJB
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1806'>TOMEE-1806</a>] -         GeronimoConnectionManager background connection validation not working
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1811'>TOMEE-1811</a>] -         IllegalArgumentException - File [xxxxxx.jar!/META-INF/persistence.xml] does not exist:
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1816'>TOMEE-1816</a>] -         java.lang.NoSuchFieldException: pool in Connector Resource Adapter deploy
</li>
</ul>

<h2>        Dependency upgrade
</h2>

<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1391'>TOMEE-1391</a>] -         Use maven-filtering:1.2 to fix MSHARED-319 when compiling under JDK8
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1754'>TOMEE-1754</a>] -         Tomcat 8.5.2
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1757'>TOMEE-1757</a>] -         [plume] eclipselinks 2.6.3
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1760'>TOMEE-1760</a>] -         CXf 3.1.6
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1776'>TOMEE-1776</a>] -         myfaces 2.2.10
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1781'>TOMEE-1781</a>] -         slf4j 1.7.21
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1803'>TOMEE-1803</a>] -         upgrade to AMQ 5.13.3
</li>
</ul>

<h2>        Improvement
</h2>

<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1269'>TOMEE-1269</a>] -         if a @Path interface has a single implementation add it as rest service
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1270'>TOMEE-1270</a>] -         exclude from scanning @Deprecated @Providers
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1273'>TOMEE-1273</a>] -         fix SslTomEETest to work with JDK 8 keytool
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1328'>TOMEE-1328</a>] -         Arquillian.xml &#39;additionalLibs&#39; must fail-fast
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1336'>TOMEE-1336</a>] -         Support classname.activated = true/false for auto discovered providers
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1339'>TOMEE-1339</a>] -         [JAXRS] try static resources first
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1365'>TOMEE-1365</a>] -         Updated to use try statement RemoteServer
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1367'>TOMEE-1367</a>] -         add singleDumpByArchiveName parameter to arquillian tomee adapters
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1736'>TOMEE-1736</a>] -         more explicit message if ejbd fails cause of class filtering (introduced for 0-day vulnerability fixed in previous release)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1737'>TOMEE-1737</a>] -         activating default EE resources in the distribution but not in others modes
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1738'>TOMEE-1738</a>] -         basic configuration for TomEEJarScanner
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1744'>TOMEE-1744</a>] -         Ensure tomee embedded uses default tomcat connector by default (nio)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1745'>TOMEE-1745</a>] -         allow to configure on command line server.xml and tomee.xml to use for tomee embedded provided main(String[])
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1746'>TOMEE-1746</a>] -         support connector configuration for tomee embedded with properties starting with connector.xxx (xxx being a connector option)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1747'>TOMEE-1747</a>] -         for managed executor, thread factory option should support resource name
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1749'>TOMEE-1749</a>] -         [ApplicationComposer] support Gradle test/main as we support Maven for @Default
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1750'>TOMEE-1750</a>] -         support Gradle as invalid folders (for name identification)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1766'>TOMEE-1766</a>] -         ensure default org.apache.johnzon.max-string-length size is 4k
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1784'>TOMEE-1784</a>] -         try to force persistence enhancement in tomee-embedded
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1789'>TOMEE-1789</a>] -         Expose Pool flush() through JMX
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1790'>TOMEE-1790</a>] -         Allow primitive arrays to be serialized/deserialized over (http)ejbd
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1802'>TOMEE-1802</a>] -         support network connector configuration on AMQ uri syntax (tomee.xml)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1807'>TOMEE-1807</a>] -         exclude jaxb and junit from tomee embedded
</li>
</ul>

<h2>        New Feature
</h2>

<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1274'>TOMEE-1274</a>] -         support additionalLibs in arquillian.xml to add libs from mvn coordinates to tomee/lib
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1282'>TOMEE-1282</a>] -         basic @Transactional @TransactionScoped support
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1288'>TOMEE-1288</a>] -         supports default in out propertyplaceholding
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1289'>TOMEE-1289</a>] -         allow user to provide a properties-provider on resources
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1294'>TOMEE-1294</a>] -         Allow to set System-Property in tomee.xml
</li>
<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-1298'>TOMEE-1298</a>] -         Support JSR 107: JCACHE - Java Temporary Caching API
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1332'>TOMEE-1332</a>] -         support @Startup on CDI beans (@ApplicationScoped or normal scoped beans if the context is active at boot time)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1341'>TOMEE-1341</a>] -         Arquillian support for Suite testing
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1487'>TOMEE-1487</a>] -         CDI Event based realm
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1735'>TOMEE-1735</a>] -         basic JMSContext implementation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1755'>TOMEE-1755</a>] -         add tomee.tomcat.cookieProcessor to be able to use old cookie behavior
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1756'>TOMEE-1756</a>] -         add ConfigurationCustomizer for tomee embedded configuration
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1758'>TOMEE-1758</a>] -         support remove:prefix in additionalLibs in remote arquillian adapter
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1761'>TOMEE-1761</a>] -         allow to take a thread dump if a resource takes more than X to be destroyed
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1769'>TOMEE-1769</a>] -         Allow to configure formatter pattern on LocalfileHandler
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1771'>TOMEE-1771</a>] -         Expose Deployer reload() function through JMX
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1775'>TOMEE-1775</a>] -         tomee embedded single instance runner
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1780'>TOMEE-1780</a>] -         basic tomee-embedded gradle plugin
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1783'>TOMEE-1783</a>] -         allow tomee embedded (+maven + gradle) to force the webapp loader to be the boot one for deploy classpath method
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1798'>TOMEE-1798</a>] -         can&#39;t load JTA and Common annotation on Java 9
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1804'>TOMEE-1804</a>] -         add Monkey tomee-maven-plugin customizer
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1808'>TOMEE-1808</a>] -         create a tomee embedded shade jaxrs oriented (without activemq)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1809'>TOMEE-1809</a>] -         Run jaxws webservices using tomee embedded using --path parameter
</li>
</ul>

<h2>        Task
</h2>

<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1276'>TOMEE-1276</a>] -         rework TimerExecutor
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1279'>TOMEE-1279</a>] -         integrate batchee
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1280'>TOMEE-1280</a>] -         myfaces 2.2.x
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1317'>TOMEE-1317</a>] -         Ensure full support of JSR-349 Bean Validation 1.1
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1327'>TOMEE-1327</a>] -         log4j2 integration
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1331'>TOMEE-1331</a>] -         rework ProvisiningUtil to allow it to support more resolvers
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1410'>TOMEE-1410</a>] -         Cleanup poms to update the filtering of EXE files.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1572'>TOMEE-1572</a>] -         adopt latest OWB-1.6.0 changes
</li>
</ul>

<h2>        Test
</h2>

<ul>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1290'>TOMEE-1290</a>] -         Source build profile &#39;hibernate&#39; requires junit dependency
</li>
<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1338'>TOMEE-1338</a>] -         Create tests for DeployerEjb
</li>
</ul>




        <div id="edit" class="modal hide fade in" style="display: none; ">
            <div class="modal-header">
                <a class="close" data-dismiss="modal">x</a>

                <h3>Thank you for contributing to the documentation!</h3>
            </div>
            <div class="modal-body">
                <h4>Any help with the documentation is greatly appreciated.</h4>
                <p>All edits are reviewed before going live, so feel free to do much more than fix typos or links.  If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it.  Don't be surprised if we like it so much we ask you for help with other pages :)</p>
                <small>NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.</small>
                <!--[if gt IE 6]>
                <h4>Internet Explorer Users</h4>
                <p>If you are not an Apache committer, click the Yes link and enter a <i>anonymous</i> for the username and leave the password empty</p>
                <![endif]-->

            </div>
            <div class="modal-footer">
                Do you have an Apache ID?
                <a href="javascript:void(location.href='https://cms.apache.org/redirect?uri='+escape(location.href))" class="btn">Yes</a>
                <a href="javascript:void(location.href='https://anonymous:@cms.apache.org/redirect?uri='+escape(location.href))" class="btn">No</a>
            </div>
        </div>
        <script src="./resources/js/bootstrap-modal.js"></script>

        <footer>
            <p>Copyright &copy; 1999-2016 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
                Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE project logo are trademarks of The Apache Software Foundation.
                All other marks mentioned may be trademarks or registered trademarks of their respective owners.</p>
        </footer>

    </div> <!-- /container -->

    <!-- Javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="./resources/js/bootstrap-dropdown.js"></script>

  </body>
</html>
