<?php
/**
 * Copyright (c) 2015, 2018 Eclipse Foundation and others.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *   Nathan Gervais (Eclipse Foundation) - Initial implementation
 *   Eric Poirier (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div class="col-sm-24">
  <div id="novaContent">
    <div id="fullcolumn" class="kepler subpage highlights">
      <a href="/home/" class="nav-button smaller right"><sup>&laquo;</sup>Click
        here to continue to eclipse.org<sup>&raquo;</sup></a>
      <ul id="mainmenu" class="no_bullets">
        <li id="item_downloads"><a
          href="/downloads/packages/release/Kepler/SR2"
          title="Downloads"><span class="icon"></span><span
            class="caption">Downloads</span></a></li>
        <li id="item_highlights" class="active"><a href="/kepler/"
          title="Highlights"><span class="icon"></span><span
            class="caption">Highlights</span></a></li>
        <li id="item_projects"><a href="/kepler/projects.php"
          title="Projects"><span class="icon"></span><span
            class="caption">Projects</span></a></li>
        <li id="item_democamps"><a
          href="http://wiki.eclipse.org/Eclipse_DemoCamps_Kepler_2013"
          title="DemoCamps"><span class="icon"></span><span
            class="caption">DemoCamps</span></a></li>
        <li id="item_friends"><a href="/kepler/friends.php"
          title="Friends of Kepler"><span class="icon"></span><span
            class="caption">Friends of Kepler</span></a></li>
      </ul>
      <p id="now-available">
        <a href="/downloads/packages/release/Kepler/SR2" title="Downloads"
          class="button bigger">Now Available</a>
      </p>
      <p id="release-date">June 26, 2013</p>
      <a href="/kepler/kepler.php" class="info-button"
        title="Who is Kepler?">Who is Kepler?</a>
      <div id="mini-hightlights">
        <h2 id="h2_highlights">Highlights</h2>
        <ul class="ul_highlights">
          <li><a title="Eclipse Web Tools Platform Project website"
            href="http://www.eclipse.org/webtools/">Eclipse Web Tools
              Platform (WTP) 3.5</a> now supports the development of
            Java EE 7 applications.</li>
          <li><a title="Stardust website"
            href="http://www.eclipse.org/stardust/">Stardust 1.0</a>
            provides a complete Business Process Management (BPM) suite
            of tools and runtimes.</li>
          <li><a title="Orion website"
            href="http://www.eclipse.org/orion">Orion 3.0</a> includes
            significant usability features and easier deployment to Java
            applications servers.</li>
          <li><a
            title="Business Intelligence and Reporting Tools (BIRT) website"
            href="http://www.eclipse.org/birt/">Business Intelligence
              and Reporting Tools (BIRT)</a> support for big data
            reporting now includes support for MongoDB and Cassandra.</li>
          <!--  <li><a title="Hudson website" href="http://www.eclipse.org/hudson/">Hudson 3.1</a> feature improvements focused on scalability for large deployments, including multi-tenancy for Hudson jobs.</li>-->
          <li><a title="Mylyn website"
            href="http://www.eclipse.org/mylyn/">Mylyn</a> now includes
            better support for code reviews through a navigator view and
            integration with Gerrit.</li>
          <li><a
            title="Maven Integration for Web Tools Platform website"
            href="http://www.eclipse.org/m2e-wtp/">Maven Integration for
              WTP</a> now makes it easier to use Maven for Java EE
            projects in Eclipse.</li>

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