<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
*  Copyright © 1997, 2015, 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.1 Release Notes</title>
  <meta name="description" content="NetBeans IDE 8.1 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.1 Release Notes</h1>
  <div class="articledate" style="margin-left: 0px;">Last updated: <!-- #BeginDate format:Am1 -->November 9, 2015<!-- #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.1 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.1 Release Information</a> page.</p>
  
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
   <li><a href="#new">What's New in 8.1</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="#req_sw">Required Software</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.1</h2>

 <ul>
 <li>Node.js support</li>
 <li>HTML5/JavaScript Enhancements</li>
 
 <li>Java Enhancements</li>
 <li>PHP Enhancements</li>
 <li>C/C++ Enhacements</li>
 <li>Support for remote Oracle WebLogic Server</li>
 <li>Community contributed WildFly 9 and 10</li>
 <li>Bundling with the JRE</li>
 </ul>
 
<p>All the details on these and other enhancements are listed on the <a href="http://wiki.netbeans.org/NewAndNoteworthyNB81">NetBeans IDE 8.1 New and Noteworthy page</a>.</p>   
<p>For more about this release, see the <a href="index.html">NetBeans IDE 8.1 Release Information</a> page.</p>
  <a name="supported_technologies"></a>
  <h2>Supported Technologies, Servers, and Mobile Platforms</h2>
  <p>NetBeans IDE 8.1 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>
	 <li>Node.js 0.12.x</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, 1.7,  1.6</li>
      <li>Mercurial: 2.8.x and later   </li>
      <li>Git 1.8.х and later </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.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.27 </li>
     <li>WildFly 8, 9, and 10 </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 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  7 Professional/Windows 8/Windows 8.1:</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 15.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.10 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 JDK for this release is  JDK 8u60 for Windows, Linux, and OS X. 
    The 8.1 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 the 
   
   <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java SE Downloads</a> page. </p>
  
     <p class="notes"><b>Note</b>: Java SE 7 or Java SE 8  is required to install and run NetBeans IDE 8.1.</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.1 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.79 SDK together with 
    <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html">Java SE Development Kit 7u79</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.1 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.79 is Java SE 7 Update 79.</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.1: </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.1 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="/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>
    <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=256211" target="_blank">Issue #256211</a>: Test execution fails with Surefire 2.19.
         <blockquote>
         <p><b>Description</b>: When using Surefire 2.19, test execution is not performed and an error is shown that no tests are executed when running "test file" from the NetBeans IDE due to issue <a href="https://issues.apache.org/jira/browse/SUREFIRE-1191" target="_blank">SUREFIRE-1191</a>.</p>
          <p><b>Workaround</b>: Use Surefire 2.18.</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>
<li>Note that when the IDE is run on JDK 7 you cannot build a JavaFX
project for JDK 8 due to issue <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=255710" target="_blank">255710</a>.</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.1, 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>
	  <li>See <a href="http://docs.oracle.com/cd/E62200_01/index.htm" target="_blank"> NetBeans 8.1 Online Documentation Library</a> for information on how to use the NetBeans IDE and detailed information on the functionality available within it.</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.1%20Release%20Candidate%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>