<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
*  Copyright © 1997, 2014, Oracle and/or its affiliates. All rights reserved.
*  Use is subject to license terms.
-->
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>NetBeans IDE 8.0.2 Release Notes</title>
  <meta name="description" content="NetBeans IDE 8.0.2 Release Notes: System Requirements, New Features, Compatibility, Known Issues, Documentation">
  <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
  <link rel="stylesheet" type="text/css" media="print" href="../../../print.css">
  <style type="text/css">
<!--
.style2 {color: #000000}
-->
  </style>
</head>  
<body>
  <p>	<a name="top"></a>
  </p>
<h1>NetBeans IDE 8.0.2 Release Notes</h1>
  <div class="articledate" style="margin-left: 0px;">Last updated: <!-- #BeginDate format:Am1 -->November 27, 2014<!-- #EndDate --> </div>
<p>NetBeans<sup class="tmtext">TM</sup> IDE is a modular, standards-based integrated development environment (IDE), written in the Java<sup class="tmtext">TM</sup> programming language.
The NetBeans project consists of a <a href="https://netbeans.org/features/index.html">full-featured open source IDE</a> written in the Java programming language and a <a href="https://netbeans.org/features/platform/index.html">rich client application platform</a>, which can be used as a generic framework to build any kind of application. 
For information about how to install the software on your system, please see the <a href="install.html">NetBeans IDE 8.0.2 Installation Instructions</a>. 
To learn about the new features included in this release of the IDE see the <a href="index.html">NetBeans IDE 8.0.2 Release Information</a> page.</p>
  
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
   <li><a href="#new">What's New in 8.0.2</a></li>
   <li><a href="#supported_technologies">Supported Technologies, Servers, and Mobile Platforms</a>
   <ul>
   <li><a href="#tech">Supported Technologies</a></li>
   <li><a href="#tested_servers">Tested Application Servers</a></li>
   <li><a href="#known_servers">Known to Run Application Servers</a></li>
   <li><a href="#mobile_platforms">Tested Mobile Platforms</a></li>
   <li><a href="#known_mobile_platforms">Known to Run Mobile Platforms</a></li>
   </ul></li>
   <li><a href="#system_requirements">System Requirements</a></li>
   <li><a href="#javafx">JavaFX Support</a></li>
   <li><a href="#sql-db">SQL and Databases</a></li>
   <li><a href="#ml">Multilingual Support</a></li>
   <li><a href="#compatibility">Compatibility with Earlier Releases</a></li>
   <li><a href="#deprecated">Archived Modules and Features</a></li>
   <li><a href="#known_issues">Known Issues</a>
   <ul>
   <li><a href="#known_issues-installer">Installer</a></li>
   <li><a href="#known_issues-core">Core IDE</a></li> 
   <li><a href="#known_issues-javafx">JavaFX</a></li>
   <li><a href="#known_issues-web-java">Web and Java EE</a></li>
   <li><a href="#known_issues-html5">HTML5</a></li>
   <li><a href="#known_issues-php">PHP</a></li>
   <li><a href="#known_issues-cnd">C/C++</a></li>
  </ul></li>
   <li><a href="#more_info">More Information</a></li>
  </ul>
<a name="new"></a>
 
 <h2>What's New in 8.0.2</h2>
 <p>NetBeans IDE 8.0.2 is an update to NetBeans IDE 8.0 and includes the following changes:</p>
 <ul>
 <li>Bug fixes in the installer for OS X 10.9.5 and 10.10</li>
 <li>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></li>
 <li>Improvements in Java SE 8 embedded support</li>
 <li>Enhanced support for Java<sup class="tmtext">TM</sup> Platform, Enterprise Edition 7 </li>
 <li>Bug fixes in the debugging and version control systems areas </li>
 </ul>
 <p>The following updates to the 8.0 release also apply to 8.0.2:</p>
 <ul>
 <li>Java SE 8 embedded support</li>
 <li>Java ME 8 embedded support</li>
 <li>Enhanced HTML 5 support</li>
 
 </ul>
   
<p>For more about this release, see the <a href="index.html">NetBeans IDE 8.0.2 Release Information</a> page.</p>
  <a name="supported_technologies"></a>
  <h2>Supported Technologies, Servers, and Mobile Platforms</h2>
  <p>NetBeans IDE 8.0.2 supports the following technologies and has been tested with the following application servers and mobile platforms. 
     If you plan to use versions other than those explicitly listed, please note that you may encounter unpredictable IDE behavior. 
</p>
   <a name="tech"></a>
  <h5>Supported technologies:</h5>
  <table class="full-width">
   <tr>
    <td style="width:45%" class="valign-top">
   <ul>
     <li>Java EE 7, Java EE 6, and Java EE 5</li>
     <li>JavaFX 2.2.x and 8</li>
     <li>Java ME SDK  8.0</li>
     <li>Java Card 3 SDK</li>
     <li>Struts 1.3.10</li>
     <li>Spring 4.0.1, 3.2.7, 2.5</li>
     <li>Hibernate 4.2.6, 3.6.10</li>
	 <li>Issue Tracking
     <ul>
      <li>Bugzilla 4.4 and earlier</li>
      <li>Jira 3.13+ and 5.0+</li>
      </ul>
     </li>
   </ul>
   </td>
    <td>
   <ul>
     
     <li>PHP 5.6, 5.5, 5.4, 5.3, 5.2, 5.1</li>
     <li>Groovy 2.1</li>
     <li>Grails 2.3, 2.2</li>
     <li>Apache Ant 1.9.4</li>
     <li>Apache Maven 3.0.5 and earlier </li>
     <li>C/C++/Fortran</li>
     <li>VCS
     <ul>
      
      <li>Subversion: 1.8 and 1.6</li>
      <li>Mercurial: 2.8.x and earlier   </li>
      <li>ClearCase V7.0</li>
      <li>Git 1.8.х and earlier </li>
     </ul>
     </li>
   </ul>    </td>
   </tr>
   
  </table>
  
<br style="clear:both;">
  <a name="tested_servers"></a>
  <h5>Tested application servers:</h5>
  
  <div style="float:left; width:48%;  margin:0px auto; padding:10px; background-color:#ffffff; border:0px solid #e3e3e3;">
   <ul>
     <li>GlassFish Server Open Source Edition 4.1 </li>
     <li>WebLogic 12c</li>
   </ul>
</div>

<br style="clear:both;"> 
<a name="known_servers"></a>
<h5>Known to run application servers:</h5>

<div style="float:left; width:48%; margin:0px auto; padding:10px; background-color:#ffffff; border:0px solid #e3e3e3;">
   <ul>
     <li>GlassFish Server Open Source Edition 3.x </li>
     <li>Tomcat 7.x and 8.0.15 </li>
     <li>WildFly 8</li>
     <li>JBoss AS 7.x</li>
     <li>WebLogic 11g</li>
	 
   </ul>
</div>
<br style="clear:both;">
<a name="mobile_platforms"></a>
<h5>Tested mobile platforms:</h5>

<div style="float:left; width:48%; margin:0px auto; padding:10px; background-color:#ffffff; border:0px solid #e3e3e3;">
   <ul>
     <li>Android 4.4</li>
	 <li>iOS 7.0</li>
	 <li>Cordova 3.3</li>
	 
   </ul>
</div>
<br style="clear:both;">
<a name="known_mobile_platforms"></a>
<h5>Known to run mobile platforms:</h5>

<div style="float:left; width:48%; margin:0px auto; padding:10px; background-color:#ffffff; border:0px solid #e3e3e3;">
   <ul>
     	 <li>iOS 7.1</li>
		 <li>Cordova 3.4</li>
	 
   </ul>
</div>

<br style="clear:both;"> 
  
  <a name="system_requirements"></a>
  <h2>System Requirements</h2>
  <p>NetBeans IDE runs on operating systems that support the Java VM (Virtual Machine) and has been tested on the platforms listed below. </p>
  
  <p class="notes"><b>Note:</b> The IDE's minimum screen resolution is 1024x768 pixels.</p>
  
  <br style="clear:both;">
  
  
  <a name="req_os"></a>
  <!--      <h5 style="border-bottom:0">Supported Hardware Configurations</h5>-->
  <h5 style="border-bottom:0">Supported Operating Systems</h5>
  
  
  <div style="width:98%; border:0px solid #e3e3e3;">
   
   <div style="float:left; width:45%; height:auto; font-size:11px; margin:0px; padding-top:0px; padding-left:10px; padding-right:5px; padding-bottom:10px; border:0px solid #e3e3e3;">
     <blockquote>
      <h3 style="border-bottom:0; margin-bottom:10px">Minimum Hardware Configurations</h3>
      <ul>
       <li><b>Microsoft Windows XP Professional SP3/Vista SP1/Windows 7 Professional:</b>
         <ul>
         <li><b>Processor: </b>800MHz Intel Pentium III or equivalent</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>750 MB of free disk space </li>
        </ul>
       </li>
      </ul>
      <ul>
       <li><b>Ubuntu 9.10:</b>
         <ul>
         <li><b>Processor: </b>800MHz Intel Pentium III or equivalent</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>650 MB of free disk space</li>
        </ul>
       </li>
      </ul>
      
      
       <ul>
       <li><b>Macintosh OS X 10.7 Intel:</b>
         <ul>
         <li><b>Processor: </b>Dual-Core Intel</li>
         <li><b>Memory: </b>2 GB</li>
         <li><b>Disk space: </b>650 MB of free disk space </li>
        </ul>
       </li>
      </ul>
     </blockquote>
   </div>
   
  <div style="float:right; width:45%; height:auto; font-size:11px; margin:0px; padding-top:0px; padding-left:5px; padding-right:10px; padding-bottom:10px; background-color:#f9f9f9; border:1px solid #e3e3e3;">
    <h3 style="border-bottom:0; margin-bottom:10px">Recommended Hardware Configurations</h3>
     <ul>
      <li><b>Microsoft Windows XP Professional SP3/Vista SP1/Windows 7 Professional:</b>
        <ul>    
         <li><b>Processor: </b>Intel Core i5 or equivalent</li>
         <li><b>Memory: </b>2 GB (32-bit), 4 GB (64-bit)</li>
         <li><b>Disk space: </b>1.5 GB of free disk space</li>
        </ul>
       </li>
        
      <li><b>Ubuntu 12.04:</b>
        <ul>
         <li><b>Processor: </b>Intel Core i5 or equivalent</li>
         <li><b>Memory: </b>2 GB (32-bit), 4 GB (64-bit)</li>
         <li><b>Disk space: </b>1.5 GB of free disk space</li>
        </ul>
      </li>
         
             
      <li><b> OS X 10.8 Intel:</b>
        <ul>
        <li><b>Processor: </b>Dual-Core Intel</li>
        <li><b>Memory: </b>4 GB</li>
        <li><b>Disk space: </b>1.5 GB of free disk space</li>
       </ul>
      </li>
    </ul>
   </div>
   <br style="clear:both;">
  </div>
  
<br style="clear:both;">
  
<p>NetBeans IDE is also known to run on the various other Linux distributions such as Oracle Linux 5, Ubuntu 8.x, Red Hat Enterprise Linux, Fedora 14, and many others.</p>
<p class="notes"><b>Note</b>: NetBeans Web and Java EE support are particularly demanding on system resources - especially when used in combination 
              with application servers. While the above system requirements apply to most configurations of the IDE, for the best results 
            make sure that your system meets at least the <i>recommended</i> system requirements when developing Web and Java EE applications.</p>
			
  <a name="req_sw"></a>
  <h2>Required Software</h2>
    <p>NetBeans IDE runs on the Java SE Development Kit (JDK) which consists of the Java Runtime Environment and 
    developer tools for compiling, debugging, and running applications written in the Java language. </p>
    <p>The tested JDKs for this release are  JDK 8 and JDK 7u67 for Windows, Linux, and OS X. 
    The 8.0.2 version of the IDE cannot be installed or run using JDK 6.0.</p>
  
    <p class="notes"><b>Note</b>: </p>
	<ul>
	<li>The PHP and C/C++ NetBeans bundles only require the Java Runtime Environment (JRE) 7 or JRE 8 to be installed and run.</li>
    <li>Java features in the IDE require JDK 7 or JDK 8. JavaFX 2.2 (or newer) features require JDK 7 Update 6 (or newer).</li> 
	<li>JavaFX 8  features require JDK 8. </li>
	</ul>
  
    <p>You can download the JDK for your platform from one of the sites listed below: </p>
  <ul>
   <li><b>Windows and Linux</b>: <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a></li>
   <li><b>OS X</b>: 
   <ul>
   <li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a><br>
   for OS X Lion (10.7), Mountain Lion (10.8), or Mavericks (10.9).</li>
   </ul>
     <p class="notes"><b>Note</b>: Java SE 7 or Java SE 8  is required to install and run NetBeans IDE 8.0.2.</p>
   </li>
</ul>
 
  <p align="center"><a href="#top">top</a></p>

<a name="javafx"></a>
  <h2>JavaFX Support</h2>
    <p>The JavaFX SDK is not bundled with the NetBeans IDE 8.0.2 release.</p>
    <p>The JavaFX 2.2 SDK (and newer) is bundled with the latest JDK 7 for Windows, OS X and Linux.
    You can install the JavaFX 2.2.67 SDK together with 
    <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html">Java SE Development Kit 7u67</a> 
    as a co-bundled product. 
    </p>
	<p>The JavaFX 8 SDK  is bundled with JDK 8 for Windows, OS X and Linux.
    You can install the JavaFX 8 SDK together with 
    <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html">Java SE Development Kit 8</a> 
    as a co-bundled product.    </p>
    
    <p>Unlike previous versions of NetBeans IDE, NetBeans IDE 8.0.2 does not require that you 
        set up an &quot;FX-enabled&quot; Java platform in order to utilize JavaFX support in the IDE. 
        You can develop JavaFX projects in the IDE 
        if you install any standard Java platform that is JDK 7 Update 6 or newer (JDK 7 Update 10 or newer is strongly recommended).</p>

    
    
    <p>Please note the following:</p>
  <ul>
    <li>The minimum supported JDK version for JavaFX 2.2.0 is Java SE 7 Update 6.</li>
    <li>The minimum supported JDK version for JavaFX 2.2.5 is Java SE 7 Update 13.</li>
    <li>The minimum supported JDK version for JavaFX 2.2.67 is Java SE 7 Update 67.</li>
	<li>The supported JDK version for JavaFX 8 is Java SE 8.</li>
</ul>
    <p>See the <a href="http://docs.oracle.com/javafx/release-documentation.html" target="_blank">JavaFX Release Documents</a> 
       page for more information about system requirements, supported platforms and known issues for the current and previous
       versions of JavaFX SDK.</p>
    

 
  <p align="center"><a href="#top">top</a></p>  
<a name="sql-db"></a>
  <h2>SQL Editor and Databases</h2>
 <p>The following changes have been made to the database functionality in NetBeans IDE 8.0.2: </p>
 <ul>
   <li><b>Upgraded Drivers.</b> The MySQL drivers included in NetBeans IDE have been updated to version 6.0.</li> 
   <li><b>Tested Drivers</b>
    <p>NetBeans IDE 8.0.2 has been tested with the following databases and drivers.</p>
    <table width="70%" border="0" cellpadding="1">
     <tr class="tblheader">
      <th width="65" scope="col"><div align="left">Driver</div></th>
       <th width="241" scope="col"><div align="left">Version</div></th>
       <th width="557" scope="col"><div align="left">Example URL </div></th>
     </tr>
     <tr class="tbltd0">
      <td>JavaDB</td>
       <td>Derby 10.3.1.4</td>
       <td><code>jdbc:derby://localhost:1527/sample</code> (Network)</td>
     </tr>
     <tr class="tbltd1">
      <td>Oracle</td>
       <td>Oracle Database 11g (11.1.0.7)</td>
       <td><code>jdbc:oracle:thin:@//localhost:1521:ora11i</code></td>
     </tr>
    
    </table>
   </li>
   <li><b>Other Drivers</b>
     <p>The following drivers and databases have not been formally tested, but should work based on experience.</p>
     <table width="70%" border="0" cellpadding="5">
      <tr class="tblheader">
        <th width="75" scope="col"><div align="left">Driver</div></th>
        <th width="110" scope="col"><div align="left">Version</div></th>
        <th width="655" scope="col"><div align="left">Example URL</div></th>
      </tr>
	   <tr class="tbltd0">
      <td>PostgreSQL</td>
       <td>8.x</td>
       <td><code>jdbc:postgresql://jsmith.mycompany.com:5432/postgres</code></td>
     </tr>
     <tr class="tbltd1">
      <td>MySQL</td>
       <td>MySQL Connector/J 6.0</td>
       <td><code>jdbc:mysql://localhost:3306/sample</code></td>
     </tr>
      <tr class="tbltd0">
        <td>Microsoft </td>
        <td>Microsoft SQL Server 2005 JDBC Driver 1.2.2828.100 </td>
        <td><code>jdbc:sqlserver://localhost:1433;databaseName=travel;selectMethod=cursor</code></td>
      </tr>
      <tr class="tbltd1">
        <td> IBM</td>
        <td>Redistributable DB2 JDBC Type 4 driver v8 fixpack 13        </td>
        <td><code>jdbc:db2://localhost:50002/sample</code></td>
      </tr>
      <tr class="tbltd0">
        <td> jTDS </td>
        <td>jTDS 1.2.1 </td>
        <td><code>jdbc:jtds:sqlserver://test-mycompany.com:1433/travel</code></td>
      </tr>
      <tr class="tbltd1">
        <td> DataDirect </td>
        <td>DataDirect Connect for JDBC - 3.6 
        DataDirect Connect for JDBC - 3.6.07</td>
        <td><code>jdbc:datadirect:oracle://localhost;SID=ora11i</code> 
         <code>jdbc:datadirect:sqlserver://localhost:1433;DatabaseName=travel;SelectMethod=cursor</code> 
        <code>jdbc:datadirect:db2://localhost:50002;databaseName=sample</code></td>
      </tr>
     
  </table>
  </li>
   <li>For Database troubleshooting information please refer to the <a href="http://wiki.netbeans.org/NetBeansUserFAQ#Database_Connectivity" target="_blank"> NetBeans Database Connectivity User FAQ</a>.</li>
</ul>

  
 <p align="center"><a href="#top">top</a></p> 
   
<a name="ml"></a>
  <h2>Multilingual Support Information</h2>
  <p>NetBeans IDE is translated into the following languages: Brazilian Portuguese (BR), Japanese (JP), Simplified Chinese (ZH), and Russian (RU).</p>
  <p>Community translations of the IDE are also available in several <a href="http://wiki.netbeans.org/TFL10nCommunityStatus" target="_blank">additional languages</a> and can be <a href="https://netbeans.org/downloads/" target="_blank">downloaded</a> from the Community Contributed section of the IDE Language drop-down menu.</p>
   <p align="center"><a href="#top">top</a></p> 

 <a name="compatibility"></a>
  <h2>Compatibility with Earlier Releases</h2>
  
  <p>When the IDE is run for the first time after installation you have the option to import some of the settings
   used in a previous installation. The IDE opens using the default settings if you choose not to import the settings from the existing installation. 
   Note the IDE only recognizes previous installations when the user directory resides in the default location. 
   It does not recognize installations that use the <code>--userdir</code> switch to specify a user directory. 
If you would like to import settings from a location that the installer does not recognize do the following:</p> 
  <ol>
     <li>Start the IDE go to Tools &gt; Options in the main menu.</li>
     <li>Click the Import button at the bottom of the Options dialog.</li>
     <li>In the Select Options to Import dialog, click the Browse button and navigate to the user directory that contains 
     the settings you want to import. For more about the location of the NetBeans IDE <tt>userdir</tt>, see the FAQ
     <a href="http://wiki.netbeans.org/FaqWhatIsUserdir" target="_blank">What is a <tt>userdir</tt> and where can I find it?</a></li>
</ol>
   
   <p align="center"><a href="#top">top</a></p> 

  <a name="deprecated"></a>
 <h2>Archived Modules and Features</h2>
  <p>The complete list of NetBeans Archived Features is available at <a href="http://wiki.netbeans.org/NetBeansArchivedFeatures" target="_blank">http://wiki.netbeans.org/NetBeansArchivedFeatures</a>.</p>
 

 <p align="center"><a href="#top">top</a></p> 
  
   <a name="known_issues"></a>
  <h2>Known Issues</h2>
  <a name="known_issues-installer"></a>
  <h3>Installer</h3> 
  <p>The unresolved installer issues for this release are as follows: </p>
 
  <ul>
   <li><a name="93568"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=93568" target="_blank">Issue #93568</a>: On Linux, installation hangs when the network connection is lost.
     <blockquote>
      <p><b>Description:</b> On Linux platforms, if the network connection is lost, installation hangs when the installer is searching for a compatible JDK in network directories.</p>
      <p><b>Workaround:</b> Restore the network connection and proceed with the installation.</p>
     </blockquote>
   </li>
    
  <li><a name="117172"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=117172" target="_blank">Issue #117172</a>: A blank window when running the installer on Ubuntu.
     <blockquote>
      <p><b>Description:</b> The installer appears as the blank/gray dialog when running on Ubuntu with Beryl/Compiz/Compiz Fusion 
       installed. </p>
      <p><b>Workaround:</b> Execute the <b><tt>export AWT_TOOLKIT=MToolkit</tt></b> command before running the installer.</p>
     </blockquote>
   </li>
	 <li>
	 <a name="123300"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=123300" target="_blank">Issue #123300</a>:
	 On Fedora Core 8 the installer stops displaying the interface and returns to the console. 
	 <blockquote>
     <p><b>Description:</b> On Fedora Core 8, displaying the installation interface stops and the system returns to the console.</p>
    <p><b>Workaround:</b> See <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373" target="_blank">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373</a>.</p>
	 </blockquote>
	 </li>
	 	  
</ul>
<p align="center"><a href="#top">top</a></p> 
 <a name="known_issues-core"></a>    
  <h3>Core IDE </h3>
   
   <p>The unresolved Core IDE issues for this release are as follows: </p>
   <ul>
      <!-- TEMPLATE FOR BUGS -->
                <!--
                    <li><a href="ADD ISSUE LINK HERE">Issue #ADD_ISSUE_NUMBER_HERE: ADD_ISSUE_TITLE_HERE.</a>
                        <blockquote>
                            <p><b>Description:</b> ADD DESCRIPTION HERE.</p>
                            <p><b>Workaround:</b> ADD WORKAROUND HERE.</p>
                        </blockquote>
                    </li>
                -->


     

      <li><b>Characters do not display properly in some Asian locales.</b>
         <blockquote>
            <p><b>Description:</b> When running the IDE with some Asian locales on Ubuntu and some other Linux distributions,
               the IDE's screen text may become unreadable. On certain Linux distributions multi-byte characters may display as
            a rectangle due to JDK font setting issues. </p>
           <p><b>Workaround:</b> Please see the FAQ for help with resolving this issue: <a href="http://wiki.netbeans.org/FaqI18nLinuxAsianFonts" target="_blank">http://wiki.netbeans.org/FaqI18nLinuxAsianFonts</a></p>
        </blockquote>
     </li>      
      
	  <li><b>Profiling application performance can fail when using the Advanced option.</b>
	   <blockquote>
            <p><b>Description:</b> The IDE displays the message &quot;Redefinition failed with error 62&quot; when attempting to profile application performance (CPU) and the Advanced (instrumented) option is selected.</p>
            <p><b>Workaround:</b> Restart the application with the VM argument <code>-Xverify:none</code> to disable classfile verification. 
                You must restart the application to disable classfile verification. You cannot disable verification if the application is running.</p>
       </blockquote>
     </li> 
	  
	  <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=119617" target="_blank">Issue #119617</a>:
         Cursor lost in editor and cannot type using keyboard.
         <blockquote>
            <p><b>Description:</b> It can sometimes occur that after using a hint in the editor window
            that the insertion point in the editor disappears and you cannot type using the keyboard.
            This has mostly been reported on Mac OS X 10.4, but there have been some reports on some versions of Ubuntu.</p>
            <p><b>Workaround: </b>Use the mouse to open and then close a dialog window (for example, a properties dialog).
            This returns the focus to the editor and the insertion point and keyboard will work as normal.</p>
         </blockquote>
      </li>
       <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=130357" target="_blank">Issue #130357</a>: I18N - OS X will not generate javadoc if the project name or path has multibyte
        characters.
         <blockquote>
        <p><b> Description: </b>The javadoc task is written in  MacRoman, the default OS X encoding, when creating the temporary parameter file.
          This may be due to the BSD and Mach parts (system &amp; kernel calls) accepting parameters in UTF-8, 
          but the OS X and HFS only accepting MacRoman.</p>
        <p><b>Workaround: </b>Avoid using multibyte characters in the name of the project or the path to the project.</p>
        </blockquote>
     </li>
       
         
     
	  <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=200826" target="_blank">Issue #200826</a>: On Windows 7, newly installed IDE running on JDK 7 won't connect to network.
         <blockquote>
        <p><b> Description:</b> In some cases the firewall of the local system may filter responses from the network while connecting to a remote host. 
            When connecting to a remote host the JDK will first attempt to use IPv6 and then IPv4. 
            The firewall may filter out a negative response from the host when using IPv6 with the result that
            the JDK does not attempt to connect to the host using IPv4.</p>
        <p><b>Workaround: </b>Modify the <tt>netbeans.conf</tt> to add the <tt>-J-Djava.net.preferIPv4Stack=true</tt> command line switch, or modify the NetBeans options of the environment variable.</p>
        </blockquote>
     </li>
	 <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=207060" target="_blank">Issue #207060</a>: On Windows XP,  UNC paths cannot be used as URIs.
         <blockquote>
            <p><b>Description:</b> On Windows XP, the automatic update of any file view (Project, Files, etc.) does not work when UNC style paths are used (for example,
<tt>\\MyServer\myShare\myDirectory</tt>) instead of drive letters (for example, <tt>Y:\myDirectory</tt>). </p>
           <p><b>Workaround:</b> Restart the IDE. Alternatively,  choose <tt>Tools</tt> &gt; <tt>Options</tt> &gt; <tt>Miscellaneous</tt> &gt; <tt>Files</tt> from the main menu, deselect the <tt>Enable auto-scanning of sources</tt> option, and select <tt>Refresh Folder</tt> in the context menu of a folder.</p>
       </blockquote>
     </li>
	 
	 <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=211406" target="_blank">Issue #211406</a>:
          Views and Palettes keeps scrolling itself to the drag position after drag-and-drop.
         <blockquote>
            <p><b>Description:</b> After dragging and dropping something from Projects or Files Views or Palette
            in GUI designers, when you scroll the View or Palette up or down it will
            scroll back to the drag position, requiring you to scroll to select some nodes and components.</p>
           <p><b>Workaround:</b> You must restart the IDE.</p>
        </blockquote>
     </li>
	 <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=215141" target="_blank">Issue #215141</a>:
          IDE on a Retina Macbook is very blurry.
         <blockquote>
            <p><b>Description:</b> The IDE appears blurry when viewed on a Retina display.</p>
           <p><b>Workaround:</b> Run the IDE on the most recent update of JDK 7 or JDK 8.</p>
        </blockquote>
     </li>
	 <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=231807" target="_blank">Issue #231807</a>:
          File chooser displays no file contents in the Open Project and Select Project Location dialog boxes.
         <blockquote>
            <p><b>Description:</b> On OS X, the file chooser is blank after File &gt; Open Project is selected in the IDE or a folder for a new project location is selected in a new project wizard.</p>
           <p><b>Workaround:</b> Disable the &quot;Maximize Native Look and Feel&quot; option.</p>
        </blockquote>
     </li>
     <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=236338" target="_blank">Issue #236338</a>: On OS X, the JVM might crash when running the IDE on JDK 7.
        
	   <blockquote>
            <p><b>Description:</b> The JVM might crash on some machines that are running OS X and some versions of JDK 7. The crash might occur when you start NetBeans IDE, close the lid (or put the machine to sleep), wake the machine and attempt to work with the IDE.</p>
            <p><b>Workaround:</b> Switch to JDK 7 update 40 or newer.</p>
       </blockquote>
     </li>
    <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=239962" target="_blank">Issue #239962</a>: Cannot connect to Derby DB when running IDE on JDK 7u51.
	   <blockquote>
            <p><b>Description:</b> Security exception when trying to start Java DB from the IDE when running JDK 7u51.</p>
            <p><b>Workaround:</b> Start Java DB manually from the command line with <code>-noSecurityManager</code> switch,
                for example <code>&lt;JDK 7u51 location&gt;/db/bin/startNetworkServer -noSecurityManager</code> .
                For details, see <a href="http://wiki.netbeans.org/JavaDB_grant_permissions">http://wiki.netbeans.org/JavaDB_grant_permissions</a>.</p>
       </blockquote>
     </li>
    
     
</ul>

<p align="center"><a href="#top">top</a></p> 
<a name="known_issues-javafx"></a>
   <h3>Java FX</h3>
    <p>The unresolved Java FX issue for this release is as follows: </p>
       <ul>
	   
       <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=239388" target="_blank">Issue #239388</a>: JavaFX projects    configured to use JDK 7 cannot be run or debugged when the IDE is run on JDK 8.
         <blockquote>
         <p><b>Description</b>: On Windows 8, OS X, and Linux, JavaFX projects configured to use JDK 7
         cannot be run or debugged when the IDE is run on JDK 8.</p>
          <p><b>Workaround</b>: Use either of the following:</p>
		  <ul>
		    <li>Start NetBeans with the <tt>--jdkhome</tt> switch pointing to JDK 7.</li>
<li>Set the <tt>netbeans_jdkhome</tt> property in <tt>&lt;NetBeans Installation dir&gt;/etc/netbeans.conf</tt>.</li></ul>
         </blockquote>   
</li>
</ul>
	  <p align="center"><a href="#top">top</a></p> 
   <a name="known_issues-web-java"></a>
   <h3>Web and Java EE </h3>
    <p>The unresolved Web and Java EE issue for this release is as follows: </p>
       <ul>
	   
       <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=183614" target="_blank">Issue #183614</a>: Step Into does not work properly with EJB.
         <blockquote>
         <p><b>Description</b>: When debugging a servlet, Step Into an EJB call stops at unrelated code.</p>
          <p><b>Workaround</b>: Set a breakpoint in the EJB implementation code and use Step Over.</p>
         </blockquote>   
      </li>
	 
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=246431" target="_blank">Issue #246431</a>: Cannot run Java Web application on Linux on WildFly.
         <blockquote>
         <p><b>Description</b>: Web application fails to run on WildFly server on Linux due to encrypted partition.</p>
          <p><b>Workaround</b>: Right-click the WildFly server node in the Services window and select Edit Configuration. Add the &lt;journal-type&gt;NIO&lt;/journal-type&gt; element directly below &lt;hornetq-server&gt; and restart the server.</p>
         </blockquote>   
      </li>
	  
	 
      </ul>
	  
      
      <p align="center"><a href="#top">top</a></p>
  <a name="known_issues-html5"></a>
   <h3>HTML5</h3>
    <p>The unresolved HTML5 issue for this release is as follows: </p>
    <ul>
        <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=236967" target="_blank">Issue #236967</a>: Cordova projects may fail to build with Cordova 3.1.0. 
         <blockquote>
         <p><b>Description</b>: Due to a <a href="https://issues.apache.org/jira/browse/CB-4992">Cordova issue</a> 
             the IDE might replace the old version of a plugin with a newer one, 
             which can result in dependent plugins being removed and the Cordova project failing to build.</p>
          <p><b>Workaround</b>: Perform the following steps:</p>
          <ol>
                <li>Remove <tt>core</tt> from the Cordova plugin name in the plugin properties file (<tt>[projectFolder]/nbproject/plugins.properties</tt>)<br> 
          (for example, changing <tt>org.apache.cordova.core.camera</tt> to <tt>org.apache.cordova.camera</tt>.)</li>
                <li>Delete contents of the <tt>[projectFolder]/platforms</tt> and <tt>[projectFolder]/plugins</tt> folders.</li>
                <li>Rebuild the project.</li>
          </ol>
         </blockquote>   
      </li>
	  
        
    </ul>
   
   <p align="center"><a href="#top">top</a></p>
   <!--a name="known_issues-websvc"></a>
   <h2>Known Issues: Web Services</h2>
   <p align="center"><a href="#top">top</a></p-->
   <!--a name="known_issues-db"></a>
<h2>Known Issues: Database Support</h2>
    <p> NetBeans enables you to write code to integrate and connect your applications to databases. </p>
<p>The unresolved database issues for this release are as follows: </p-->
  
   <!--<a name="known_issues-mobility"></a>
   <h3>Java ME</h3>
 
   <p> NetBeans enables you to develop Java ME based applications for MIDP, CLDC and CDC devices. </p>

   <p>The unresolved Java ME issue for this release are as follows: </p>
   
   <ul>  
         <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=" target="_blank">Issue #</a>: 
         <blockquote>
            <p><b>Description: </b></p>
            <p><strong>Workaround:</strong> </p>
         </blockquote>
      </li>
</ul>
  

       <p align="center"><a href="#top">top</a></p>-->
 <a name="known_issues-php"></a>
  <h3>PHP</h3>
   <p>The unresolved PHP issue for this release is as follows: </p>
   <ul>
   	  <li>
	 <a name="201449"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=201449" target="_blank">Issue #201449</a>:
	 FTP and SFTP do not work with Java 7 on Windows 7 or   Vista.  
	 <blockquote>
     <p><b>Description:</b> Windows 7 or Windows Vista users running the NetBeans IDE on JDK 7 may
experience FTP and SFTP communication failure.</p>
     <p><b>Workaround:</b> Check Windows Firewall. Windows Firewall blocks some FTP and SFTP operations launched by JDK 7. See <a href="http://wiki.netbeans.org/FAQConfiguringWinFirewallForPassiveFTP">NetBeans Configuring Windows Firewall For Passive FTP User FAQ</a> for details.</p> 
	 </blockquote>
	 </li>
   </ul>
   <p align="center"><a href="#top">top</a></p>    
 <a name="known_issues-cnd"></a>
   <h3>C/C++</h3>
    
   <p>NetBeans C/C++ support C,  C++,  Fortran and various Assemblers (x86, SPARC, etc.) applications on Microsoft Windows, Macintosh OS X, and Linux. C/C++ developers can bring existing applications into the NetBeans project system, or develop new applications and libraries. 
   NetBeans C/C++ support covers the end-to-end development cycle: projects and templates, an advanced language-aware editor, makefile-based builds, 
   and debugging.</p>
  <p>For information on installing and configuring the compilers and tools for NetBeans C/C++ support, 
   see <a href="cpp-setup-instructions.html" target="_blank">Installing and Configuring C/C++ Support</a>.
</p>
    <p>The unresolved C/C++ issues for this release are as follows: </p>
    <ul>
    <li>
	 <a name="200196"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=200196" target="_blank">Issue #200196</a>: On some Linux platforms, &quot;Step Over&quot;  sometimes behaves as &quot;Continue&quot;.
	  
	 <blockquote>
     <p><b>Description:</b>  On some Linux platforms (Ubuntu, Debian, etc.), &quot;Step Over&quot;  sometimes behaves as &quot;Continue&quot; when versions of GDB are equal to 7.2 or lie within the range of 7.2 to 8.0.</p>
     <p><b>Workaround:</b> Use GDB versions earlier than 7.2, or GDB 7.4 and more recent, or specify &quot;Console Type&quot; (Project Properties &gt; Run)  to another option in the Terminal window.</p>
	 </blockquote>
	 </li>	
	 <li>
	 <a name="225920"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=225920" target="_blank">Issue #225920</a>: On Linux, C makefile build fails with the &quot;Permission denied&quot; error, if the <tt>tmp</tt> directory has no execution permission.
	  
	 <blockquote>
     <p><b>Description:</b> On Linux, C makefile build fails with the &quot;Permission denied&quot; error, if the <tt>tmp</tt> directory has no execution permission.</p>
     <p><b>Workaround:</b> Set the execution permission to the <tt>tmp</tt> directory or run the IDE with the <tt>-J-Djava.io.tmpdir=&lt;path_to_new_tmp_dir&gt;</tt> option to redefine the <tt>tmp</tt> directory. </p>
	 </blockquote>
	 </li>	
	 <li>
	 <a name="234221"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=234221" target="_blank">Issue #234221</a>:  On Windows 32-bit, the IDE (and 32-bit version of JDK) does not work with the 64-bit version of Cygwin and vice versa. 
	  
	 <blockquote>
     <p><b>Description:</b> On the 32-bit version of Windows, the IDE (and 32-bit version of JDK) does not work with the 64-bit version of Cygwin and vice versa</p>
     <p><b>Workaround:</b> Install and use the IDE, JDK, and Cygwin with the matching bitness (for example, all the three software components need to be 32-bit).</p>
	 </blockquote>
	 </li>
	 <li>
	 <a name="235406"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=235406" target="_blank">Issue #235406</a>: On Windows, the IDE displays the contents of the Terminal window with low contrast.
	  
	 <blockquote>
     <p><b>Description:</b> On Windows, the IDE displays the contents of the Terminal window with low contrast.</p>
     <p><b>Workaround:</b> Set the PS1 environment variable in the Cygwin <tt>&lt;home_dir&gt;/.bashrc</tt> file to another value. </p>
	 </blockquote>
	 </li>		
   </ul>


<a name="more_info"></a>
   <h2>More Information</h2>
    
   <p>You can find news, articles, additional modules, and other useful information on the NetBeans project web site.
      Since NetBeans is an open-source project, the web site also provides access to source code, a bug database, information on
      creating your own NetBeans modules, and much more. For more information, visit
   <a href="https://netbeans.org/" target="_blank">http://netbeans.org</a>. </p>
   
   <h4>Documentation</h4>
   <p>To get the most out of the features in NetBeans IDE 8.0.2, check out our web-based tutorials at the <a href="../../../kb/index.html" target="_blank">NetBeans IDE Documentation</a> page.</p>
   <p>Additional reference documentation resources include:</p>
  <ul>
      <li>The <a href="http://wiki.netbeans.org/NetBeansUserFAQ" target="_blank">NetBeans User FAQ</a> has many workarounds and troubleshooting tips not included in the 
   Release Notes.</li>     
      <li>The IDE's built-in help system has detailed support information for features included in all of the NetBeans IDE modules.</li>
      <li>See <a href="../../../kb/articles/mac.html" target="_blank"> Using NetBeans IDE on OS X</a> for information about keyboard equivalents, tips, tricks, and other OS X-specific topics.</li>
</ul> 
   
   <h4>Community</h4>
   <p>Keep up to date on the the latest developments and interact with the NetBeans community
   by signing up for NetBeans project mailing lists at <a href="../../lists/index.html" target="_blank">http://www.netbeans.org/community/lists</a>.</p>
   <p>You can post questions at <a href="http://forums.netbeans.org/" target="_blank">http://forums.netbeans.org</a>. The forums are synchronized with the most widely used NetBeans mailing lists. Note that a separate sign up for the forums is required.</p>
      <p>Please visit the community translation information page at <a href="http://nblocalization.netbeans.org/" target="_blank">http://nblocalization.netbeans.org</a> to learn how to contribute to additional language localizations of the NetBeans UI, help and user documentation.</p>
      <br style="clear:both;">
      
<div class="feedback-box"><a href="http://www.netbeans.org/about/contact_form.html?to=3&subject=Feedback:%20NetBeans%20IDE%208.0.2%20Release%20Notes" target="_blank">Send Us Your Feedback</a></div>
<br style="clear:both;">
<p align="center"><a href="#top">top</a></p>
</body>
</html>