<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta name="description" content="The latest NetBeans IDE releases">
    <meta name="keywords" content="5">
    <title>NetBeans IDE 8.0.2 Release Information</title>
    <link rel="stylesheet" type="text/css" href="netbeans.css">
    <meta name="nav_link" content="Releases &amp; Planning">
    <meta name="nav_priority" content="5">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <h1>NetBeans IDE 8.0.2 Information</h1>
    <p> NetBeans IDE 8.0.2 provides out-of-the-box code analyzers and
      editors for working with the latest Java 8 technologies--Java SE
      8, Java SE Embedded 8, and Java ME Embedded 8. The IDE also has a
      range of new enhancements that further improve its support for
      Maven and Java EE with PrimeFaces; new tools for HTML5, in
      particular for AngularJS; and improvements to PHP and C/C++
      support. <br>
    </p>
    <p>NetBeans IDE 8.0.2 is available in English, Brazilian Portuguese,
      Japanese, Russian, and Simplified Chinese.<br>
    </p>
    <p><b>The latest available download is NetBeans IDE 8.0.2, which is
        an update to NetBeans IDE 8.0 and contains:</b> </p>
    <ul>
	   <li><b>Bug fixes in the installer for OS X 10.9.5 and 10.10</b></li>
       <li><b>Bug fixes included in <a href="http://wiki.netbeans.org/NetBeans8.0PatchesInfo">Patches 1, 1.1, 2 for NetBeans IDE 8.0</a> and <a href="http://wiki.netbeans.org/NetBeans8.0.1PatchesInfo">Patches 1.1, 2 for NetBeans IDE 8.0.1</a></b></li>
      <li><b>GlassFish 4.1 and Tomcat 8.0.15 bundled with the IDE</b></li>
      <li><b>Support for WildFly Server and WebLogic Server 12.1.3</b></li>
      <li><b>Added support for RequireJS</b></li>
      <li><b>Grunt tasks available in the popup menu for web projects</b></li>
      <li><b>Support for debugging JavaScript files with Karma</b></li>
      <li><b>Node.JS and Bower modules can be installed directly within the IDE</b></li>
      <li><b>Improved Git support</b></li>
      
    </ul>
    <p></p>
    <h2>Get NetBeans IDE 8.0.2<br>
    </h2>
    <p><a href="/downloads/"><span class="download-button">Download</span></a><br>
    </p>
    <h2>Documentation</h2>
    <p>Use the following to get started with NetBeans IDE 8.0:</p>
    <ul>
      <li><a href="https://netbeans.org/kb/index.html"></a> <a
          href="install.html">Installation Instructions </a></li>
      <li><a href="https://netbeans.org/kb/docs/intro-screencasts.html">Screencasts</a>
        and <a href="https://netbeans.org/kb/index.html">Tutorials</a></li>
      <li><a href="relnotes.html">Release Notes</a></li>
    </ul>
    <h2>New Feature Highlights</h2>
    <table style="width: 100%;">
      <tbody>
        <tr>
          <td style="vertical-align: top;">
            <p><span style="font-weight: bold;">Java<br>
              </span></p>
            <ul>
              <li>JDK 8 support: tools and editor enhancements for
                working with Profiles, Lambdas, and Streams.</li>
              <li>Java SE Embedded support to deploy, run, debug or
                profile Java SE applications on an embedded device, such
                as Raspberry PI, directly from the NetBeans IDE.<br>
              </li>
              <li>Java ME Embedded 8 support.</li>
              <li>Several Java Editor enhancements, such as many new
                Java hints, Javadoc shown as tooltip, instant rename
                enhancements, and code completion exclusions.</li>
              <li>Improved integration with JavaFX Scene Builder.</li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="Code completion for JDK 8"
              src="../../../images_www/screenshots/8.0/jdk8cc-small.png"
              border="1" height="115" width="300"><br>
            <small><a
                href="../../../images_www/screenshots/8.0/jdk8cc.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
          <td> <br>          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><span style="font-weight: bold;">Java EE</span><br>
            </p>
            <ul>
              <li>New PrimeFaces code generators, to generate complete
                PrimeFaces skeleton CRUD applications with connection to
                databases.</li>
              <li>Support for WildFly Server and WebLogic 12.1.3</li>
              <li>Bundled GlassFish updated to 4.1</li>
              <li>Tomcat 8.0.15 and TomEE support, including out-of-box
                JPA, JSF and JAXRS configuration and data sources.</li>
              <li>Facelets Template Client wizard asks for sections to
                generate.</li>
              <li>Code completion for template sections, and within JSF
                composite components.</li>
              <li>Enhanced CDI integration in <tt>beans.xml</tt> file,
                with code completion for alternative classes and
                stereotypes.</li>
              <li>More flexibility for JPA hints, which can be disabled,
                enabled, and warning level changed.<br>
              </li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="Maven graph layout switcher"
src="../../../images_www/screenshots/8.0/primefaces-crud-generator-small.png"
              border="1" height="215" width="298"><br>
            <small><a
                href="../../../images_www/screenshots/8.0/primefaces-crud-generator.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
          <td style="vertical-align: middle; text-align: center;"><br>          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><span style="font-weight: bold;">Maven</span><br>
            </p>
            <ul>
              <li>New Maven graph layout switcher.</li>
              <li>Navigator shows POM goals.</li>
              <li>Additional web resources shown in Projects window.</li>
              <li>Improved Maven performance when re-running Web
                applications.</li>
              <li>Improved Maven performance of &quot;Apply Code Changes&quot;
                while debugging.</li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="Maven graph layout switcher"
              src="../../../images_www/screenshots/8.0/maven-graph-small.png"
              border="1" height="127" width="300"><br>
            <small><a
                href="../../../images_www/screenshots/8.0/maven-graph.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
          <td style="vertical-align: middle; text-align: center;"><br>          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><span style="font-weight: bold;">JavaScript<br>
              </span></p>
            <ul>
              <li>RequireJS Support</li>
              <li>AngularJS navigation via hyperlinking from view to
                controllers.</li>
              <li>Many enhancements for AngularJS in code completion
                between artifacts, such as code completion in the view
                to properties defined in controllers.</li>
              <li>Code completion support in Knockout templates. </li>
              <li>New editor support for creating JQuery widgets and
                plugins.</li>
              <li>Debugging of JavaScript code executed in Nashorn (JDK
                8+) script engine is supported.</li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="Code completion for AngularJS"
              src="../../../images_www/screenshots/8.0/angularcc_small.png"
              border="1" height="163" width="300"><br>
            <small><a
                href="../../../images_www/screenshots/8.0/angularcc.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
        </tr>
        <tr>
          <td valign="top">
            <p><span style="font-weight: bold;">HTML5</span><br>
            </p>
            <ul>
              <li>Android 4.4 WebKit debugging supported for Cordova
                3.3+.</li>
              <li>New Karma test runner support.</li>
              <li>New Grunt build support.</li>
              <li>Avatar.js is available in the Plugin Manager, via
                Tools | Plugins. After installation, you're able to
                create Avatar.js projects. </li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="Karma"
              src="../../../images_www/screenshots/8.0/karma-node-small.png"
              border="1" height="152" width="300"><br>
            <small><a
                href="../../../images_www/screenshots/8.0/karma-node.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
          <td valign="top"><br>          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><span style="font-weight: bold;">PHP<br>
              </span></p>
            <ul>
              <li>Support for PHP 5.6.</li>
              <li>New support for Nette tester.</li>
              <li>New support for PHP CS Fixer.</li>
              <li>Enhancements for Twig, Latte, and Neon.</li>
              <li>Composer supported by New Project Wizard. </li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="PHP Nette tester"
              src="../../../images_www/screenshots/8.0/php-nette-small.png"
              border="1" height="151" width="300"><br>
            <small><a
                href="../../../images_www/screenshots/8.0/php-nette.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
          <td style="vertical-align: middle; text-align: center;"> <br>          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>C/C++<br>
              </b></p>
            <ul>
              <li>New Breadcrumbs feature for navigation in editor.</li>
              <li>New GDB Console to enable usage of command line GDB
                mode.</li>
              <li>New hints and code completions.</li>
              <li>Improved remote performance.</li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="C++ Breadcrumbs"
src="../../../images_www/screenshots/8.0/Breadcrumbs-cpp-small.png"
              border="1"><br>
            <small><a
href="../../../images_www/screenshots/8.0/Breadcrumbs-cpp.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
          <td style="vertical-align: middle; text-align: center;"><br>          </td>
          <td style="vertical-align: middle; text-align: center;"><br>          </td>
        </tr>
        <tr>
          <td valign="top">
            <p><b>Platform<br>
              </b></p>
            <ul>
              <li>Enhanced flexibility in the Window System, such as
                split of editor via drag and drop, and a new API to
                customize editor tabs.<br>
              </li>
              <li>New design of user interface for managing Project
                Groups.<br>
              </li>
              <li>Files in folders can be sorted by extension.</li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="Karma"
              src="../../../images_www/screenshots/8.0/Splitdraganddrop-small.png"
              border="1" height="95" width="301"><br>
            <small><a
                href="../../../images_www/screenshots/8.0/Splitdraganddrop.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
          <td valign="top"><br>          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>Miscellaneous<br>
              </b></p>
            <ul>
              <li>Profiler enhancements: Profile on embedded platforms,
                show thread owning monitor for lock contention, and
                improved Threads view.</li>
              <li>Versioning enhancements: Support for Subversion 1.8
                working copies, various enhancements to Git and
                Mercurial support.</li>
              <li>Task Schedule and other new features in Tasks window
                for bug tracking.</li>
            </ul>          </td>
          <td style="vertical-align: middle; text-align: center;"> <img
              alt="Profiler Lock Contention"
src="../../../images_www/screenshots/8.0/profiler-lock-contention-small.png"
              border="1" height="200" width="296"><br>
            <small><a
                href="../../../images_www/screenshots/8.0/profiler-lock-contention.png"><i><small>Full







                    Screenshot</small></i></a></small><br>          </td>
          <td style="vertical-align: middle; text-align: center;"> <br>          </td>
        </tr>
      </tbody>
    </table>
    
    <p><i>See also the <a
          href="http://wiki.netbeans.org/NewAndNoteworthyNB80">NetBeans
          IDE 8.0 New and Noteworthy</a> and <a href="http://wiki.netbeans.org/NewAndNoteworthyNB801">NetBeans
          IDE 8.0.1 New and Noteworthy</a> pages.</i></p>
    <p>Visit the <a href="../roadmap.html">NetBeans Release Roadmap</a>.</p>
  </body>
</html>
