<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
*  Copyright © 1997, 2013, 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 7.3.1 Release Notes</title>
  <meta name="description" content="NetBeans IDE 7.3.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 7.3.1 Release Notes</h1>
  <div class="articledate" style="margin-left: 0px;">Last updated: <!-- #BeginDate format:Am1 -->June 7, 2013<!-- #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 7.3.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 7.3.1 Release Information</a> page.</p>
  
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
   <li><a href="#new">What's New in 7.3.1</a></li>
   <li><a href="#supported_technologies">Supported Technologies</a></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-web-java">Web and Java EE</a></li>
   <li><a href="#known_issues-javafx">JavaFX</a></li>
   <li><a href="#known_issues-php">PHP</a></li>
  <li><a href="#known_issues-cnd">C/C++</a></li>
  <li><a href="#known_issues-auc">AutoUpdate Center</a></li>
  </ul></li>
   <li><a href="#more_info">More Information</a></li>
  </ul>
<a name="new"></a>
 
 <h2>What's New in 7.3.1 </h2>
 <p>NetBeans IDE 7.3.1 is an update to NetBeans IDE 7.3 and includes the following changes:</p> 
 <ul>
 <li>Java<sup class="tmtext">TM</sup> SE Development Kit 7 Update 21 support</li>
 <li>Support for Java<sup class="tmtext">TM</sup> Platform, Enterprise Edition (Java EE 7)</li>
 <li>Support for GlassFish  Server Open Source Edition 4.0</li>
 <li>Additional enhancements are listed on the <a href="http://wiki.netbeans.org/NewAndNoteworthyNB731" target="_blank">NetBeans IDE 7.3.1 New and Noteworthy</a> page.</li>
 </ul>
 <p>The following updates to the 7.3 release also apply to 7.3.1:</p>
  <ul>
  <li>Rich Web applications (HTML5, JavaScript, CSS)</li>
  <li>Extended clipboard and refactoring improvements in Java Editor </li>
  <li>Full support of JavaFX 2.2.5 SDK (and later) </li>
  <li>Support for JavaME SDK 3.2</li>
  </ul>
 
  
<p>For more about this release, see the <a href="index.html">NetBeans IDE 7.3.1 Release Information</a> page.</p>
  <a name="supported_technologies"></a>
  <h2>Supported Technologies</h2>
 <p>NetBeans IDE 7.3.1 supports the following technologies and has been tested with the following application servers. 
     If you plan to use versions other than those explicitly listed, please note that you may encounter unpredictable IDE behavior. 
     See the <a href="http://wiki.netbeans.org/NetBeans_73_Supported_Platforms" target="_blank">NetBeans IDE 7.3.1 Supported Platforms</a> page for more details on the tested platforms and runtimes for this release.</p>
   
  <h5>Supported technologies:</h5>
  <table class="full-width">
   <tr>
    <td style="width:45%" class="valign-top">
   <ul>
     <li>Java EE 7, Java EE 6, Java EE 5 and J2EE 1.4</li>
     <li>JavaFX 2.2.x</li>
     <li>Java ME SDK 3.2</li>
     <li>Java Card 3 SDK</li>
     <li>Struts 1.3.10</li>
     <li>Spring 3.1, 2.5</li>
     <li>Hibernate 3.2.5</li>
     <li>Java API for RESTful Web Services (JAX-RS) 1.1</li>
	 <li>Java Wireless Toolkit 2.5.2 for CLDC</li>
     <li>Issue Tracking
     <ul>
      <li>Bugzilla 4.0.x and earlier</li>
      <li>Jira 5.0 and earlier  </li>
      </ul>
     </li>
   </ul>
   </td>
    <td>
   <ul>
     
     <li>PHP 5.4, 5.3, 5.2, 5.1</li>
     <li>Groovy 1.8.6</li>
     <li>Grails 2.0</li>
     <li>Apache Ant 1.8.4</li>
     <li>Apache Maven 3.0.4 and earlier </li>
     <li>C/C++/Fortran</li>
     <li>VCS
     <ul>
      
      <li>Subversion: 1.7.x, 1.6.x</li>
      <li>Mercurial: 2.2.x and earlier   </li>
      <li>ClearCase V7.0</li>
	  <li>Git 1.7.х</li>
     </ul>
     </li>
   </ul>    </td>
   </tr>
   
  </table>
  
<br style="clear:both;">
  
  <h5>Tested application servers:</h5>
  
  <div style="float:left; width:48%; font-size:11px; margin:0px auto; padding:10px; background-color:#ffffff; border:0px solid #e3e3e3;">
   <ul>
     <li>GlassFish Server Open Source Edition 4.0 </li>
	 <li>WebLogic 12c</li>
	 <li>JBoss AS 7</li>
   </ul>
</div>

<br style="clear:both;"> 

<h5>Known to run application servers:</h5>

<div style="float:left; width:48%; font-size:11px; margin:0px auto; padding:10px; background-color:#ffffff; border:0px solid #e3e3e3;">
   <ul>
     <li>GlassFish Server Open Source Edition 3.0.x </li>
     <li>Tomcat 7.0.x</li>
     <li>JBoss 6.x</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>Solaris OS version 11 Express (SPARC):</b>
         <ul>
         <li><b>Processor: </b> UltraSPARC II 450 MHz</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>Solaris OS version 11 Express (x86/x64 Platform Edition):</b>
         <ul>
         <li><b>Processor: </b>AMD Opteron 1200 Series 1.8 GHz</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>650 MB of free disk space</li>
        </ul>
       </li>
       <li><b>Macintosh OS X 10.6 Intel:</b>
         <ul>
         <li><b>Processor: </b>Dual-Core Intel (32 or 64-bit)</li>
         <li><b>Memory: </b>1 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>Solaris OS version 11 Express (SPARC):</b>
        <ul>
        <li><b>Processor: </b>UltraSPARC IIIi 1 GHz</li>
        <li><b>Memory: </b>2 GB</li>
        <li><b>Disk space: </b>850 MB of free disk space</li>
       </ul>
      </li>
       
      <li><b>Solaris OS version 11 Express (x86/x64 platform edition):</b>
        <ul>
        <li><b>Processor: </b>AMD Opteron 1200 Series 2.8 GHz</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.7 Intel:</b>
        <ul>
        <li><b>Processor: </b>Dual-Core Intel (32 or 64-bit)</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>
    </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 plus 
  developer tools for compiling, debugging, and running applications written in the Java language. </p>
  <p>The tested JDK for this release is JDK 7u21 for Windows, Linux, Solaris and OS X. 
      The 7.3.1 version of the IDE cannot be installed or run using JDK 5.0.</p>
  
  <p class="notes"><b>Note</b>: The PHP and C/C++ NetBeans bundles only require the Java Runtime Environment (JRE) 6 or 7 to be installed and run.</p>
  <br>
 <p>You can download the JDK for your platform from one of the sites listed below: </p>
  <ul>
   <li><b>Windows, Linux and Solaris</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://support.apple.com/downloads" target="_blank">http://support.apple.com/downloads</a><br>
   for Mac OS X 10.6  (includes Java SE 6, version 1.6.0_37)</li>
   <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) or Mountain Lion (10.8)</li>
   </ul>
     <p class="notes"><b>Note</b>: Java SE 6 or Java SE 7 are required to install and run NetBeans IDE 7.3.1. 
         Java upgrades for OS X are also available via Apple's Software Update mechanism. </p>
   </li>
</ul>
 
  <p align="center"><a href="#top">top</a></p>

<a name="javafx"></a>
  <h2>JavaFX Support</h2>
  <p>The JavaFX 2.2.5 SDK (and later) is not bundled with the NetBeans IDE 7.3.1 release. You can install it together with <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html">Java SE Development Kit 7u21</a> as a co-bundled product. <br>
Please note the following:</p>
  <ul>
   <li>The minimum supported JDK version for JavaFX 2.2.5 (and later) is Java SE 7 Update 7.</li>
   <li>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 and supported platforms in the JavaFX 2.2.5 SDK (and later), and the list of known issues with the JavaFX 2.2.5 (and later) code or documentation.</li>
</ul>

 
  <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 7.3.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 7.3.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="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 NetBeans IDE is no longer bundled with the Java ME SDK. The Java ME SDK is available for download at the <a href="http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html">Java ME SDK Download</a> page. You can find the instructions on installing Java ME SDK 3.2 into NetBeans IDE 7.3.1 on Windows in the <a href="http://wiki.netbeans.org/JavaMESDKSupport#How_to_install_Java_ME_SDK_3.2_into_NetBeans_IDE_7.2.x_.28or_more_recent.29_on_Windows.3F">Java ME SDK Support FAQ</a>.</p>
  <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/issues/show_bug.cgi?id=93568" target="_blank">Issue #93568</a>: On Solaris and Linux, installation hangs when the network connection is lost.
     <blockquote>
      <p><b>Description:</b> On Solaris and 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/issues/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/issues/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>
	  
	  <li>The installation wizard does not start properly (hangs). After the user stops the installation process manually, and the installer reports that another installer instance is running. 
	    <blockquote>
	   <p><b>Description:</b> On Windows, when JDK6 is used by default and large zip files are stored on the desktop, the installation wizard does not start properly (hangs). After the user stops the installation process manually, and the installer reports that another installer instance is running.	   </p>
         <p><b>Workaround:</b> Before the installation, remove all big zip files from the desktop.</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>Difficulties starting the IDE (Solaris x86 and Dual-Core Opteron).</b>
         <blockquote>
            <p><b>Description:</b> On certain Solaris x86 and Dual Core Opteron configurations,
            you may encounter problems starting the IDE due to a JDK bug with loading GTK <code>look&amp;feel</code> libraries.</p>
            <p><b>Workaround: </b>If you encounter this behavior, specify the following command line option:
               <tt>-laf javax.swing.plaf.metal.MetalLookAndFeel</tt> </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><a href="https://netbeans.org/issues/show_bug.cgi?id=88776" target="_blank">Issue #88776</a>:
         Profiled application can crash when profiling using dynamic attach mode.
         <blockquote>
            <p><b>Description:</b>When running on JDK 1.6,
            profiling an application with dynamic attach mode can lead to the profiled application crashing.</p>
            <p><b>Workaround: </b>Start the application you want to profile with the <tt>-Xshare:off</tt> switch.<br>See also <a href="https://netbeans.org/issues/show_bug.cgi?id=113847" target="_blank">Issue #113847</a>.</p>
         </blockquote>
      </li>
	  <li><a href="https://netbeans.org/issues/show_bug.cgi?id=110074" target="_blank">Issue #110074</a>:
         Editor periodically freezes on Solaris.
         <blockquote>
            <p><b>Description:</b> When running the IDE on Solaris with JDK 6, 6u1 or 6u2, threads may become blocked for a long time and
            cause the editor to be unresponsive.</p>
            <p><b>Workaround: </b>Upgrade your JDK 6 installation to Update 3 or newer.</p>
         </blockquote>
      </li>
	  <li><a href="https://netbeans.org/issues/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/issues/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/issues/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/issues/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 JDK 6.</p>
        </blockquote>
     </li>
	 <li><a href="https://netbeans.org/issues/show_bug.cgi?id=215862" target="_blank">Issue #215862</a>:
        Shortcuts not visible in menu on Mac OS X running on JDK 7u9 and earlier.
         <blockquote>
            <p><b>Description:</b> Keyboard shortcuts are not displayed in the 
                main menu of the IDE running on Mac OS X with JDK 7u9 and previous updates of JDK 7.</p>
            <p><b>Workaround: </b> Open the Keyboard Shortcuts Card available under the Help
                menu. Many keyboard shortcuts are also listed in the Help documentation.</p>
       </blockquote>
     </li> 
	 <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=217817" target="_blank">Issue #217817</a>: IDE becomes unresponsive on Mac OS X running on JDK 7u9 and earlier.
         <blockquote>
        <p><b> Description: </b>The IDE might become unresponsive on OS X when running on JDK 7u9 and previous updates of JDK 7.</p>
        <p><b>Workaround: </b>Run the IDE on JDK 6 or update the JDK to JDK 7u10 or newer.</p>
        </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 issues for this release are as follows: </p>
       <ul>
	   
       <li><a href="https://netbeans.org/issues/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/issues/show_bug.cgi?id=230645" target="_blank">Issue #230645</a>: Hk2LibraryProvider class is not found.
         <blockquote>
         <p><b>Description</b>: The &quot;java.lang.NoClassDefFoundError: Could not initialize class org.netbeans.modules.glassfish.javaee.Hk2LibraryProvider&quot; exception displays when the Java EE functionality is activated after an update. </p>
          <p><b>Workaround</b>:
          Activate the Java EE functionality in the IDE before the update of the IDE:</p>
		  <ol>
		    <li>Choose Tools &gt; Plugins from the main menu.</li>  
		    <li>Click the Installed tab in the Plugins manager.</li>
		    <li> Select the Java Web adn EE feature in  the left pane and click the Activate button below the pane.</li>
		    <li>Click Activate in the NetBeans IDE Plugin Installer.</li>
			<li>Click Finish when the activation is successfully complete.</li>
			<li>Click the Updates tab in the Plugins manager.</li>
			<li>Click Check for Updates.</li>
			<li>Click Update.</li>
			<li>Finish the update and Restart the IDE.</li>
		  </ol>
         </blockquote>   
      </li>
      </ul>
	  
      <p align="center"><a href="#top">top</a></p>
	  <a name="known_issues-javafx"></a>
<h3>JavaFX</h3>
<p>The unresolved JavaFX issue for this release is as follows: </p>

<ul>
	   
       <li><a href="https://netbeans.org/issues/show_bug.cgi?id=209915" target="_blank">Issue #209915</a>: Projects do not run as WebStart on OS X with JDK 7u4.
         <blockquote>
         <p><b>Description</b>: Not possible to run a Java or JavaFX project using WebStart on OS X if the Java platform is JDK 7u4.</p>
         <p><b>Workaround</b>: No workaround. WebStart on OS X is not implemented in JDK 7u4.</p>
         </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="https://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, Linux, and the Solaris<small><sup>TM</sup></small> 
   Operating System. 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="195121"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=195121" target="_blank">Issue #195121</a>:
	 Versioning framework does not work in full remote mode. 
	 <blockquote>
     <p><b>Description:</b> The versioning framework often works in terms of <code>java.io.File</code>, which  makes it impossible to create a plugin capable of working with remote file objects.</p>
     <p><b>Workaround:</b> Use versioning tools directly on the remote host via <code>ssh</code>, etc.</p>
	 </blockquote>
	 </li>	
	 <li>
	 <a name="200196"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=200196" target="_blank">Issue #200196</a>: On some platforms, where GDB 7.2 is used, &quot;Step Over&quot;  sometimes behaves as &quot;Continue&quot;.
	  
	 <blockquote>
     <p><b>Description:</b>  On some platforms, where GDB 7.2 is used, &quot;Step Over&quot;  sometimes behaves as &quot;Continue&quot;.</p>
     <p><b>Workaround:</b> Try an earlier GDB version or specify &quot;Console Type&quot; (Project Properties &gt; Run) from &quot;Internal Terminal&quot; to another option.</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.</p>
	 </blockquote>
	 </li>	
	 <li>
	 <a name="225989"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=225989" target="_blank">Issue #225989</a>: Ignore folders pattern settings are lost after the Apply button is pressed.
	  
	 <blockquote>
     <p><b>Description:</b> Ignore folders pattern specified in project properties are lost after the Apply button is pressed. </p>
     <p><b>Workaround:</b> Use the OK button.</p>
	 </blockquote>
	 </li>	
   </ul>
<p align="center"><a href="#top">top</a></p>
 <a name="known_issues-auc"></a>
   <h3>AutoUpdate Center</h3>
   <p>The unresolved AutoUpdate Center issue for this release is as follows: </p>
   <ul>
    <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=225860" target="_blank">Issue #225860</a>: The Jira plugin is unavailable at the certified AutoUpdate Center.
         <blockquote>
        <p><b> Description: </b>The license for the Jira plugin has not been approved yet. The plugin will be published later.</p>
       
        </blockquote>
     </li></ul>
 <p align="center"><a href="#top">top</a></p>   
<!--<a name="known_issues-javafx"></a>
   <h3>JavaFX</h3>
   <p>???</p>
<p align="center"><a href="#top">top</a></p>-->
<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 7.3.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 the 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">https://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="https://netbeans.org/about/contact_form.html?to=3&subject=Feedback:%20NetBeans%20IDE%207.3.1%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>