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

    <meta charset="UTF-8">
      <title>Apache TomEE 1.5.2</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">
    
<section xmlns="http://www.w3.org/1999/html">

    <div class="alert-message">
      <strong>Feedback Welcome!</strong>
        We use your feedback to focus efforts, develop new features, and to make TomEE better for everyone.  <a href="mailto:users@tomee.apache.org?subject=Feedback on TomEE 1.5.2&body=We'd%20like%20to%20hear%20about%20anything%20you'd%20like%20to%20tell%20us.%20%20If%20you're%20short%20on%20ideas%2C%20here%20are%20some%3A%0A%0A%20-%20Ways%20we%20can%20speed%20up%20or%20improve%20your%20ability%20to%20evaluate%20TomEE%0A%20-%20Anything%20you%20found%20difficult%20or%20inconvenient%20about%20using%20TomEE%0A%20-%20Documentation%20you%20would%20like%20to%20see%0A%20-%20Features%20you%20would%20like%20to%20have%0A%20-%20Anything%20in%20general%20to%20improve%20TomEE%20or%20help%20us%20grow%0A%0AKeep%20in%20mind%20that%20out%20of%20every%20100%20people%20that%20try%20something%20out%2C%20maybe%20one%20will%20actually%20post%20about%20it.%20%20Feel%20incredibly%20encouraged%20to%20let%20us%20know%20about%20your%20experiences%20with%20TomEE%20even%20if%20you%20think%20we've%20heard%20it%20a%20hundred%20times.%20%20Odds%20are%20we%20have%20not%20heard%20it%20and%2C%20if%20we%20have%2C%20the%20most%20requested%20things%20are%20done%20first.%20%20So%20definitely%20let%20us%20know!%0A%0AApache%20TomEE%20is%20free%2C%20but%20you%20can%20pay%20us%20with%20feedback%20%3A)%0A%0ABest%20regards%2C%0AThe%20Apache%20TomEE%20community%0A">Help us grow!</a>
    </div>

    <div class="page-header">
        <h1>Apache TomEE 1.5.2
            <small>April 2013</small>
        </h1>
    </div>

    <div class="row">
        <div class="span4">
            <h2>Web Profile</h2>

            <p>Apache TomEE Web Profile delivers Servlets, JSP, JSF, JTA, JPA, CDI, Bean Validation and EJB Lite</p>

            <p><a href="../comparison.html">Comparison &raquo;</a></p>
            <br>
            <h2>JAX-RS</h2>

            <p>Apache TomEE JAX-RS delivers the Web Profile plus JAX-RS</p>

            <p><a href="../comparison.html">Comparison &raquo;</a></p>
            <br>
            <h2>Plus</h2>

            <p>Apache TomEE Plus delivers all that is in the Web Profile and JAX-RS, plus EJB Full, Java EE Connector Architecture, JMS and JAX-WS.</p>

            <p><a href="../comparison.html">Comparison &raquo;</a></p>

        </div>
        <div class="span5">
            <h2>
                <small>Java EE6 Certified</small>
            </h2>
            <ul>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-webprofile.tar.gz">apache-tomee-1.5.2-webprofile.tar.gz</a><br>
                    (<a href="http://www.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-webprofile.zip.txt">contents</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-webprofile.tar.gz.asc">asc</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-webprofile.tar.gz.md5">md5</a>)
                </li>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-webprofile.zip">apache-tomee-1.5.2-webprofile.zip</a><br>
                    (<a href="http://www.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-webprofile.zip.txt">contents</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-webprofile.zip.asc">asc</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-webprofile.zip.md5">md5</a>)
                </li>
            </ul>
            <br>
            <h2>
                <small>Java EE6 Certified</small>
            </h2>
            <ul>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-jaxrs.tar.gz">apache-tomee-1.5.2-jaxrs.tar.gz</a><br>
                    (<a href="http://www.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-jaxrs.zip.txt">contents</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-jaxrs.tar.gz.asc">asc</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-jaxrsgz.md5">md5</a>)
                </li>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-jaxrs.zip">apache-tomee-1.5.2-jaxrs.zip</a><br>
                    (<a href="http://www.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-jaxrs.zip.txt">contents</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-jaxrs.zip.asc">asc</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-jaxrs.zip.md5">md5</a>)
                </li>
            </ul>
            <br>

            <h2>
                <small>NOT Java EE6 Certified</small>
            </h2>
            <ul>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-plus.tar.gz">apache-tomee-1.5.2-plus.tar.gz</a><br>
                    (<a href="http://www.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-plus.zip.txt">contents</a> -
                    <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-plus.tar.gz.asc">asc</a>  - <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-plus.tar.gz.md5">md5</a>)
                </li>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-plus.zip">apache-tomee-1.5.2-plus.zip</a><br>
                    (<a href="http://www.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-plus.zip.txt">contents</a> -
                    <a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-plus.zip.asc">asc</a> - <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/apache-tomee-1.5.2-plus.zip.md5">md5</a>)
                </li>
            </ul>

        </div>
        <div class="span7">
            <div class="hero-unit">
                <iframe width="280" height="233" src="http://www.youtube.com/embed/Lr8pxEACVRI" frameborder="0" allowfullscreen></iframe>
            </div>
        </div>
    </div>
</section>
<div class="row">
    <div class="span24">&nbsp;</div>
</div>
<section>
    <div class="page-header">
        <h2>Apache OpenEJB 4.5.2
            <small>April 2013</small>
        </h2>
    </div>

    <div class="row">
        <div class="span4">
            <h3>Standalone</h3>

            <p>An "EJB" Server that can be run as a separate, standalone, server process. Contains EJB Full, CDI, JPA, JMS, JAX-WS, JAX-RS</p>

            <p><a href="../comparison.html">Comparison &raquo;</a></p>
        </div>
        <div class="span12">
            <h3>&nbsp;</h3>
            <ul>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-standalone-4.5.2.tar.gz">openejb-standalone-4.5.2.tar.gz</a> (<a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-standalone-4.5.2.tar.gz.asc">asc</a> <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-standalone-4.5.2.tar.gz.md5">md5</a>)
                </li>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-standalone-4.5.2.zip">openejb-standalone-4.5.2.zip</a> (<a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-standalone-4.5.2.zip.asc">asc</a> <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-standalone-4.5.2.zip.md5">md5</a>)
                </li>
            </ul>
        </div>
    </div>

    <div class="row">
        <div class="span4">
            <h3>Drop-in WARs</h3>

            <p>A version of Apache OpenEJB that can be dropped into any Tomcat 7.x install effectively creating your own Apache TomEE Web Profile or Apache TomEE Plus.</p>
        </div>
        <div class="span12">
            <h3>&nbsp;</h3>
            <ul>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/tomee-webapp-1.5.2.war">tomee-webapp-1.5.2.war</a> (<a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/tomee-webapp-1.5.2.war.asc">asc</a> <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/tomee-webapp-1.5.2.war.md5">md5</a>)
                </li>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/tomee-plus-webapp-1.5.2.war">tomee-plus-webapp-1.5.2.war</a>
                    (<a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/tomee-plus-webapp-1.5.2.war.asc">asc</a> <a
                            href="http://archive.apache.org/dist/tomee/tomee-1.5.2/tomee-plus-webapp-1.5.2.war.md5">md5</a>)
                </li>
            </ul>
        </div>
    </div>
</section>
<div class="row">
    <div class="span24">&nbsp;</div>
</div>
<section>
    <div class="page-header">
        <h2>Other</h2>
    </div>

    <div class="row">
        <div class="span4">
            <h3>Source</h3>

            <p>Should you want to build any of the above binaries, this source bundle is the right one covers them all.</p>

        </div>
        <div class="span12">
            <h3>&nbsp;</h3>
            <ul>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-4.5.2-source-release.zip">openejb-4.5.2-source-release.zip</a> (<a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-4.5.2-source-release.zip.asc">asc</a> <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/openejb-4.5.2-source-release.zip.md5">md5</a>)
                </li>
            </ul>
        </div>
    </div>
    <div class="row">
        <div class="span4">
            <h3>Examples</h3>

            <p>Currently, we have over 80 examples of various aspects of Java EE 6 ranging from EJB, CDI, JAX-RS and more.  If you're learning Java EE, this is your secret weapon.</p>
        </div>
        <div class="span12">
            <h3>&nbsp;</h3>
            <ul>
                <li><a href="examples-trunk">Browse Online</a></li>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/examples-4.5.2-src.tar.gz">examples-4.5.2-src.tar.gz</a> (<a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/examples-4.5.2-src.tar.gz.asc">asc</a> <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/examples-4.5.2-src.tar.gz.md5">md5</a>)
                </li>
                <li><a href="http://archive.apache.org/dist/tomee/tomee-1.5.2/examples-4.5.2-src.zip">examples-4.5.2-src.zip</a> (<a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/examples-4.5.2-src.zip.asc">asc</a> <a
                        href="http://archive.apache.org/dist/tomee/tomee-1.5.2/examples-4.5.2-src.zip.md5">md5</a>)
                </li>
            </ul>
        </div>
    </div>
</section>
<div class="row">
    <div class="span24">&nbsp;</div>
</div>
<section>
    <div class="page-header">
        <h1>Summary</h1>
    </div>

    <div class="row">
        <div class="span16">

            <p>We are proud to announce <a href="http://tomee.apache.org/downloads.html">Apache TomEE 1.5.2</a>
                has been released!</p>

            <p>It's a maintenance release and is not intended to contain any new feature as we are heavily focusing the
                1.6.0 release.</p>

            <p>See the <a href="http://tomee.apache.org/tomee-1.5.2-release-notes.html">release notes</a> for a full
                list of all the changes. A very big thank you to all the users who have feedback!</p>

        </div>
    </div>
</section>
<div class="row">
    <div class="span24">&nbsp;</div>
</div>
<section>
    <div class="page-header">
        <h1>Changelog</h1>
    </div>

    <div class="row">
        <div class="span24">



<h2>Upgrades</h2>

           <ul>
               <li><a href="https://issues.apache.org/jira/browse/TOMEE-740">TOMEE-740</a> Tomcat 7.0.39</li>
               <li><a href="https://issues.apache.org/jira/browse/TOMEE-741">TOMEE-741</a> Commons Codec 1.7</li>
               <li><a href="https://issues.apache.org/jira/browse/TOMEE-455">TOMEE-455</a> JAXB 2.2.6</li>
           </ul>

           <h2>New Features</h2>

           <ul>

           <li><a href="https://issues.apache.org/jira/browse/TOMEE-670">TOMEE-670</a> easier way to skip EE part of an app (system property)</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-742">TOMEE-742</a> ability to use propertyplaceholder in beans.xml (${systemPropKey})</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-676">TOMEE-676</a> using the http session to store session scoped beans</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-739">TOMEE-739</a> ability to provide a resource comparator for cxf rest endpoints</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-738">TOMEE-738</a> hooks to deploy rar as jar in WEB-INF/lib</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-737">TOMEE-737</a> ability to configure OWB properties through app properties</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-728">TOMEE-728</a> static-resources-list for jaxrs endpoint when deploying from application</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-724">TOMEE-724</a> simpleLog for tomee maven plugin too (we already have it in arquillian tomee remote)</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-694">TOMEE-694</a> read openejb.jaxrs.application in app properties</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-660">TOMEE-660</a> basic tomee.bat file</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1984">OPENEJB-1984</a> no session management in embedded http layer</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1985">OPENEJB-1985</a> basic managedconnection validation for JCA implementation</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1982">OPENEJB-1982</a> no webcontext created when using openejb arquillian adapter + no webmodule created</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1983">OPENEJB-1983</a> embedded http layer doesn't handle HEAD</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1987">OPENEJB-1987</a> ability to deploy at arquillian container startup a ShrinkWrap Archive</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1980">OPENEJB-1980</a> request with application/x-www-form-urlencoded content type have no servletinputstream in openejb-http</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1981">OPENEJB-1981</a> Add ApplicationComposer inspired class to run TestNG tests</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-789">OWB-789</a> owb-1.1.x -  openwebbeans-arquillian container</li>
           </ul>

           <h2>Improvements</h2>

           <ul>

           <li><a href="https://issues.apache.org/jira/browse/TOMEE-678">TOMEE-678</a> Check that if @Inject points are used, CDI is enabled</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-679">TOMEE-679</a> when specifying jaxrs providers through application default providers are still added</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-733">TOMEE-733</a> rework TomcatWebAppBuilder.realWarPath to be closer to tomcat</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-681">TOMEE-681</a> ensure ssl connector is activated when https port is specified in tomee mvn plugin config</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-730">TOMEE-730</a> cmr field type can sometimes be guessed when missing for relationships</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-680">TOMEE-680</a> if a provider is added as a singleton through jaxrs application singletons it is not ignored when trying to deploy singletons</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-689">TOMEE-689</a> ear bean resolution doesn't use webapp context first</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-686">TOMEE-686</a> JAX-RS @Context injection for EJB interceptors</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-687">TOMEE-687</a> Refer to internal EJB BeanContext via WeakReference in JAX-RS layer</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-232">TOMEE-232</a> optimize JS imports</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-726">TOMEE-726</a> try to force eager init of managed connection (of ManagedConnectionfactory) pool if attribute eagerInit is set to true</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-723">TOMEE-723</a> since properties are often superproperties in tomee propertyplaceholder can lead to NPE</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-698">TOMEE-698</a> allow to configure OWB failoverservice</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-650">TOMEE-650</a> context.xml info lost when using eclipse</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-669">TOMEE-669</a> take into account J2EExxx vars of tomcat</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-661">TOMEE-661</a> no need to deploy openejb app by default with tomee maven plugin</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1990">OPENEJB-1990</a> ability to force the jul config reload</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-715">OWB-715</a> Remove EL22 implementation from Core to Own Project</li>
           </ul>

           <h2>Bugs</h2>

           <ul>

           <li><a href="https://issues.apache.org/jira/browse/TOMEE-672">TOMEE-672</a> ejb cdi scope are not managed correctly and can lead to infinite loop</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-673">TOMEE-673</a> ejb used as cdi beans are not passivationcapable</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-743">TOMEE-743</a> TomcatSecurityService created RunAsRole not return true when call TomcatSecurityService.isCallerInRole</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-677">TOMEE-677</a> interceptor bindings ignored for EJBs</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-674">TOMEE-674</a> cdi + ear -> extensions are not loaded using the webapp classloader</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-773">TOMEE-773</a> Regression vs 1.5.1 for REST Services, NPR in String.compareTo from org.apache.openejb.server.cxf.rs.Logs$LogOperationEndpointInfo.compareTo</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-646">TOMEE-646</a> Commons-logging issue</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-645">TOMEE-645</a> listener (session/request/...) and cdi beans lifecycle can be wrong</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-735">TOMEE-735</a> logic to choose to deploy or not ejbs depending they are in ear lib part of webapps is totally wrong</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-647">TOMEE-647</a> context.xml context resources doesn't have the Reference as first parameter</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-731">TOMEE-731</a> CDI beans replication does not work</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-643">TOMEE-643</a> tomee embedded doesn't unbind port - tomcat needs to be destroyed</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-732">TOMEE-732</a> tomee doesn't use standardcontext.getNamingContextName() as name for namingcontextlistener so the key is the context name (2 ROOT webapps is not possible)</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-720">TOMEE-720</a> ManagedConnection ignores DataSource</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-690">TOMEE-690</a> deploy rest webapps using Application instead of a servlet by endpoint</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-691">TOMEE-691</a> (JCA) connection manager destroy method is never called</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-652">TOMEE-652</a> service.bat install fails on 64-bit Windows with TomEE+ 1.5.1</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-658">TOMEE-658</a> EJB and other components (servlet...) doesn't share the same jndi context (global)</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-725">TOMEE-725</a> jaxb-impl shouldn't be in endorsed but at classpath or lib of tomee</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-722">TOMEE-722</a> in ear cdi context of webmodule should be deployed only when deploying the webapp (not before) otherwise a bunch of error can occur</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-692">TOMEE-692</a> JSPs logged on severe</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-696">TOMEE-696</a> When rest application is defined through a servlet in web.xml and deployed through TomEE the servlet should be ignored</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-697">TOMEE-697</a> enforce a user and password (empty is not present) when using tomcat-jdbc pool</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-664">TOMEE-664</a> persistence.xml in webapps ignored when webapps belongs to an ear</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-663">TOMEE-663</a> EAR/WAR Deployment fails on win platforms</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-666">TOMEE-666</a> Persistence Unit Resolver doesn't take care of webapp/lib scope in ear</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-665">TOMEE-665</a> can't deploy ejb in webapp if the webapp is in an ear</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-668">TOMEE-668</a> standard context created for webservice in lib part of ear are not skipped from openejb management</li>
           <li><a href="https://issues.apache.org/jira/browse/TOMEE-667">TOMEE-667</a> Deploy an ejb module with persistence.xml file cause: attempted duplicate class definition for name: "org/apache/openejb/cdi/CdiPlugin"</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1988">OPENEJB-1988</a> session and request scopes not managed at all in http light layer</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1986">OPENEJB-1986</a> Deployment of web application with white spaces in its name fails due to unencoded characters</li>
           <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1978">OPENEJB-1978</a> Unable to deploy anything to a fresh install of 4.5.1</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-760">OWB-760</a> CLONE - Decorator position not well managed if the decorator is abstract</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-761">OWB-761</a> position in DelegateHandler shouldn't be static</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-785">OWB-785</a> WebContextsService isn't compatible with actor-frameworks</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-700">OWB-700</a> ProcessInjectionTarget.setInjectionTarget() has no effect when trying to post process beans</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-743">OWB-743</a> Overloaded EJB Observer methods fail to deploy</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-790">OWB-790</a> owb-1.1.x - deployment error when a @Specializes bean is disabled via an Extension</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-742">OWB-742</a> @Alternative is ignored when using the Provider interface.</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-751">OWB-751</a> OWB annotation litterals implementation uses only instanceof in equals implementation</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-723">OWB-723</a> Interceptors doesn't work for beans got from stereotype annotated producer methods</li>
           <li><a href="https://issues.apache.org/jira/browse/OWB-736">OWB-736</a> NPE while removing dependent beans</li>
           </ul>

           <h2>Tasks & Sub-Tasks</h2>

           <ul>



           <li><a href="https://issues.apache.org/jira/browse/TOMEE-695">TOMEE-695</a> manage basic compatibility between JAXRS deployment by endpoint and by application</li>

           </ul>
        </div>
    </div>
</section>



        <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>
