<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
*  Copyright © 1997, 2011, 2012, 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.2.1 Release Notes</title>
  <meta name="description" content="NetBeans IDE 7.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 7.2.1 Release Notes</h1>
  <div class="articledate" style="margin-left: 0px;">Last updated: <!-- #BeginDate format:Am1 -->November 6, 2012<!-- #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="../72/install.html">NetBeans IDE 7.2.1 Installation Instructions</a>. To learn about the new features included in this release of the IDE see the <a href="../72/index.html">NetBeans IDE 7.2.1 Release Information</a> page.</p>
  
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
   <li><a href="#new">What's New in 7.2.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>
  </ul></li>
   <li><a href="#more_info">More Information</a></li>
  </ul>
<a name="new"></a>
 
 <h2>What's New in 7.2.1</h2>
  
  <p>NetBeans IDE 7.2.1 is an update to NetBeans IDE 7.2 and includes the following changes:</p>
  
  <ul>
  <li>Support for JavaME SDK 3.2</li>
  <li>Full support of JavaFX 2.2 SDK</li>
  <li><a href="http://wiki.netbeans.org/NetBeans7.2PatchesInfo">Bugfixes</a></li>
  </ul>
  <p>The following updates to the 7.2 release also apply to 7.2.1:</p>
  <ul>
  <li>Significant performance increase on remote filesystems, improved  project scanning speed, and background project scanning </li>
  <li>Java Editor enhancements  </li>
  <li>Redesigned search history in supported version control systems and support for Mercurial Queues</li>
  <li>Ant 1.8.3 is supported and bundled with the IDE</li>
  <li>Bundled version of Maven is upgraded to 3.0.4</li>
  <li>Debugger improvements </li>
  <li>Oracle Public Cloud support</li>
  <li>PHP 5.4 support</li>
  <li>Debugging and code assistance improvements in C++ projects and C++11 support</li>
  <li>Additional enhancements are listed on the <a href="http://wiki.netbeans.org/NewAndNoteworthyNB72" target="_blank">NetBeans IDE 7.2 New and Noteworthy</a> page.</li>
  </ul>
 
  
<p>For more about this release, see the <a href="index.html">NetBeans IDE 7.2.1 Release Information</a> page.</p>
  <a name="supported_technologies"></a>
  <h2>Supported Technologies</h2>
 <p>NetBeans IDE 7.2.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_72_Supported_Platforms" target="_blank">NetBeans IDE 7.2.1 Supported Platforms</a> page for more details on the tested platforms and runtimes for this release.</p>
   
  <h5>Supported technologies:</h5>
  <table>
   <tr>
    <td>
   <ul>
     <li>Java EE 6, Java EE 5 and J2EE 1.4</li>
     <li>JavaFX 2.2</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.3</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.0.x and earlier   </li>
      <li>ClearCase V7.0</li>
	  <li>Git 1.7.х</li>
     </ul>
     </li>
   </ul>    </td>
   </tr>
   
  </table>
  
 
  <h5>Tested application servers:</h5>
  
  <div>
   <ul>
     <li>GlassFish Server Open Source Edition 3.1.2.2</li>
	 <li>WebLogic 12.1.1</li>
   </ul>
</div>

<h5>Known to run application servers:</h5>

<div>
   <ul>
     <li>GlassFish Server Open Source Edition 3.0.1 </li>
     <li>Tomcat 7.0.27</li>
     <li>JBoss 6.1</li>
   </ul>
</div>

  
  <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 7u9 for Windows, Linux, Solaris and OS X. 
      The 7.2.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_31)</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.2.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 SDK is required to use JavaFX  features in the NetBeans IDE 7.2.1. You can download the JavaFX 2.2 SDK from the <a href="http://www.oracle.com/technetwork/java/javafx/downloads/index.html">JavaFX download site</a>.</p>
  <p class="notes"><b>Note</b>:</p> 
  <ul><li>JavaFX 2.2 is  bundled with the latest JDK 7 for Windows, Mac and Linux.</li>
  <li> If you install the JDK 7 Update 6 or newer to default locations, the NetBeans IDE can <a href="http://nbstaging.cz.oracle.com/kb/docs/java/javafx-setup.html#create-platform">create a JavaFX-enabled Java platform</a> automatically.</li><li> To use JavaFX features in the NetBeans IDE, we strongly recommend upgrading your JDK version to JDK 7 Update 6 or newer.</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.2.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.2.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 Visual Mobile Designer support is moved from the standard distribution of the IDE to the Update Center. To work with the Visual Mobile Designer in the IDE, download and install the respective module using the IDE's Plugin Manager. </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/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 issue for this release is 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>
      </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>-->
   <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>	
   </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.2.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.2.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>