<!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.1.2 Release Notes</title>
  <meta name="description" content="NetBeans IDE 7.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.1.2 Release Notes</h1>
  <div class="articledate" style="margin-left: 0px;">Last updated: <!-- #BeginDate format:Am1 -->April 26, 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="../71/install.html">NetBeans IDE 7.1.2 Installation Instructions</a>. To learn about the new features included in this release of the IDE see the <a href="../71/index.html">NetBeans IDE 7.1.2 Release Information</a> page. </p>
  
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
   <li><a href="#new">What's New in 7.1.2</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-mobility">Java ME</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.1.2</h2>
  
  <p>NetBeans IDE 7.1.2 is an update to NetBeans IDE 7.1 and includes the following changes:</p>
  <ul>
  <li>Java<sup class="tmtext">TM</sup> SE Development Kit 7 Update 4 support</li>
  <li>Full support of JavaFX 2.1 SDK  on Windows and OS X 10.7</li>
  <li>Java ME SDK 3.0.5 support</li>
  <li>Bundled GlassFish 3.1.2 update release</li>
  </ul>
  <p class="notes"><b>Note:</b> If you  download and install a patch for Netbeans IDE 7.1, both Java ME SDK 3.0 and Glassfish 3.1.1 remain unchanged. These components get upgraded by running the Netbeans IDE 7.1.2 installer.</p>
  <p>The following updates to the 7.1 release also apply to 7.1.2:</p>
  <ul>
 
  <li>Batch refactoring tool for bulk changes in Java Editor</li>
  <li>New UI Debugger for JavaFX and Swing</li>
  <li>Support for WebLogic 12c</li>
  <li>Improved support for CDI, EJB, JSF, Spring, Web Services</li>
  <li>Subversion and Mercurial enhancements and bundled Git support</li>
  <li>Maven enhancements</li>
  <li>PHP enhancements </li>
  <li>Additional enhancements are listed at the <a href="http://wiki.netbeans.org/NetBeans_71" target="_blank">NetBeans IDE 7.1</a> page</li>
  
  </ul>
   

<p>For more about this release, see the <a href="index.html">NetBeans IDE 7.1.2 Release Information</a> page.</p>
  <a name="supported_technologies"></a>
  <h2>Supported Technologies</h2>
 <p>NetBeans IDE 7.1.2 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_71_Supported_Platforms" target="_blank">NetBeans IDE 7.1.2 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 6, Java EE 5 and J2EE 1.4</li>
     <li>JavaFX 2.1</li>
     <li>Java ME SDK 3.0.5</li>
     <li>Java Card 3 SDK</li>
     <li>Struts 1.3.10</li>
     <li>Spring 3.0, 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 4.2 and earlier</li>
      </ul>
     </li>
	 
   </ul>
   </td>
    <td>
   <ul>
     <li>PHP 5.3, 5.2, 5.1</li>
     <li>Groovy 1.6.4</li>
     <li>Grails 1.1</li>
	 <li>Apache Ant 1.8.3</li>
	 <li>Apache Maven 3.0.3 or later</li>
	 <li>C/C++/Fortran</li>
     <li>VCS
     <ul>
      
      <li>Subversion: 1.5.x, 1.6.x</li>
      <li>Mercurial: 1.8 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 3.1.2</li>
	 <li>WebLogic 12c</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 3.0.1</li>
     <li>Tomcat 7.0.27</li>
     <li>JBoss 6.1</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>2.6 GHz Intel Pentium IV or equivalent</li>
         <li><b>Memory: </b>2 GB</li>
         <li><b>Disk space: </b>1 GB of free disk space </li>
        </ul>
       </li>
        
      <li><b>Ubuntu 11.04:</b>
        <ul>
         <li><b>Processor: </b>2.6 GHz Intel Pentium IV or equivalent</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 (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</li>
        <li><b>Disk space: </b>850 MB of free disk space</li>
       </ul>
      </li>

      
             
      <li><b>Macintosh 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 </li>
        <li><b>Disk space: </b>850 MB 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 7u4 for Windows, Linux, Solaris and OS X. 
      The 7.1.2 version of the IDE cannot be installed or run using JDK 5.0.</p>
   

<!--Not tested yet <p class="notes"><b>Note</b>: To use JDK 7 support introduction, you need to specify JDK 7 as the target platform in the IDE's Platform Manager. You can obtain the latest stable JDK 7 build from the <a href="http://openjdk.java.net/projects/jdk7/" target="_blank">OpenJDK website</a>.-->
  <p class="notes"><b>Note</b>: The PHP<!--, Ruby--> 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</li>
   </ul>
     <p class="notes"><b>Note</b>: Java SE 6 or Java SE 7 are required to install and run NetBeans IDE 7.1.2. 
         Java upgrades for Mac OS X are also available via Apple's Software Update mechanism. </p>
   </li>
   <li><b>Open VMS</b>: <a href="http://h18012.www1.hp.com/java/download/index.html" target="_blank">http://h18012.www1.hp.com/java/download/index.html</a></li>
  </ul>
 
  <p align="center"><a href="#top">top</a></p>

<a name="javafx"></a>
  <h2>JavaFX Support</h2>
  <p>The JavaFX 2.1 SDK is not bundled with the NetBeans IDE 7.1.2 release. You can download it  from <a href="http://www.oracle.com/technetwork/java/javafx/downloads/index.html">http://www.oracle.com/technetwork/java/javafx/downloads/index.html</a> or install together with JDK 7u4 on Windows or OS X 10.7 as a co-bundled product. <br>
Please note the following:</p>
  <ul>
   <li>The minimum supported JDK version for JavaFX 2.1 is 6 Update 32 or Java SE 7 Update 4 for Windows and   Java SE 7 Update 4 for OS X.</li>
   <li>See the <a href="http://docs.oracle.com/javafx/2/release_notes_2-1/jfxpub-release_notes_2-1.htm" target="_blank">JavaFX 2.1 Release Notes</a> page for more information about system requirements and supported platforms in the JavaFX 2.1 SDK, and the list of known issues with the JavaFX 2.1 code or documentation.</li>
   <li>The FX project file format has been substantially updated from the 7.1 Beta format and may cause problems for users who attempt to open 7.1 Beta FX projects in NetBeans IDE 7.1.2. See <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=205249#c3">issue #205249</a> for details.</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.1.2: </p>
 <ul>
   <li><b>Upgraded Drivers.</b> The MySQL drivers included in NetBeans IDE have been updated to version 6.0.</li> 
   <li><b>Tested Drivers</b>
    <p>NetBeans IDE 7.1.2 has been tested with the following databases and drivers.    </p>
    <table width="70%" border="0" cellpadding="1">
     <tr class="tblheader">
      <th width="65" scope="col"><div align="left">Driver</div></th>
       <th width="241" scope="col"><div align="left">Version</div></th>
       <th width="557" scope="col"><div align="left">Example URL </div></th>
     </tr>
     <tr class="tbltd0">
      <td>JavaDB</td>
       <td>Derby 10.3.1.4</td>
       <td><code>jdbc:derby://localhost:1527/sample</code> (Network)</td>
     </tr>
     <tr class="tbltd1">
      <td>Oracle</td>
       <td>Oracle Database 11g (11.1.0.7)</td>
       <td><code>jdbc:oracle:thin:@//localhost:1521:ora11i</code></td>
     </tr>
    
    </table>
   </li>
   <li><b>Other Drivers</b>
     <p>The following drivers and databases have not been formally tested, but should work based on experience.</p>
     <table width="70%" border="0" cellpadding="5">
      <tr class="tblheader">
        <th width="75" scope="col"><div align="left">Driver</div></th>
        <th width="110" scope="col"><div align="left">Version</div></th>
        <th width="655" scope="col"><div align="left">Example URL</div></th>
      </tr>
	   <tr class="tbltd0">
      <td>PostgreSQL</td>
       <td>8.x</td>
       <td><code>jdbc:postgresql://jsmith.mycompany.com:5432/postgres</code></td>
     </tr>
     <tr class="tbltd1">
      <td>MySQL</td>
       <td>MySQL Connector/J 6.0</td>
       <td><code>jdbc:mysql://localhost:3306/sample</code></td>
     </tr>
      <tr class="tbltd0">
        <td>Microsoft </td>
        <td>Microsoft SQL Server 2005 JDBC Driver 1.2.2828.100 </td>
        <td><code>jdbc:sqlserver://localhost:1433;databaseName=travel;selectMethod=cursor</code></td>
      </tr>
      <tr class="tbltd1">
        <td> IBM</td>
        <td>Redistributable DB2 JDBC Type 4 driver v8 fixpack 13        </td>
        <td><code>jdbc:db2://localhost:50002/sample</code></td>
      </tr>
      <tr class="tbltd0">
        <td> jTDS </td>
        <td>jTDS 1.2.1 </td>
        <td><code>jdbc:jtds:sqlserver://test-mycompany.com:1433/travel</code></td>
      </tr>
      <tr class="tbltd1">
        <td> DataDirect </td>
        <td>DataDirect Connect for JDBC - 3.6 
        DataDirect Connect for JDBC - 3.6.07</td>
        <td><code>jdbc:datadirect:oracle://localhost;SID=ora11i</code> 
         <code>jdbc:datadirect:sqlserver://localhost:1433;DatabaseName=travel;SelectMethod=cursor</code> 
        <code>jdbc:datadirect:db2://localhost:50002;databaseName=sample</code></td>
      </tr>
     
  </table>
  </li>
   <li>For Database troubleshooting information please refer to the <a href="http://wiki.netbeans.org/NetBeansUserFAQ#Database_Connectivity" target="_blank"> NetBeans Database Connectivity User FAQ</a>.</li>
</ul>

  
 <p align="center"><a href="#top">top</a></p> 
   
<a name="ml"></a>
  <h2>Multilingual Support Information</h2>
  <p>NetBeans IDE is translated into the following languages: Brazilian Portuguese (BR), Japanese (JP), Simplified Chinese (ZH), and Russian (RU).</p>
  <p>Community translations of the IDE are also available in several <a href="http://wiki.netbeans.org/TFL10nCommunityStatus" target="_blank">additional languages</a> and can be <a href="https://netbeans.org/downloads/" target="_blank">downloaded</a> from the Community Contributed section of the IDE Language drop-down menu.</p>
   <p align="center"><a href="#top">top</a></p> 

 <a name="compatibility"></a>
  <h2>Compatibility with Earlier Releases</h2>
  
  <p>When the IDE is run for the first time after installation you have the option to import some of the settings
   used in a previous installation. The IDE opens using the default settings if you choose not to import the settings from the existing installation. 
   Note the IDE only recognizes previous installations when the user directory resides in the default location. 
   It does not recognize installations that use the <code>--userdir</code> switch to specify a user directory. 
If you would like to import settings from a location that the installer does not recognize do the following:</p> 
  <ol>
     <li>Start the IDE go to Tools &gt; Options in the main menu.</li>
     <li>Click the Import button at the bottom of the Options dialog.</li>
     <li>In the Select Options to Import dialog, click the Browse button and navigate to the user directory that contains 
     the settings you want to import. For more about the location of the NetBeans IDE <tt>userdir</tt>, see the FAQ
     <a href="http://wiki.netbeans.org/FaqWhatIsUserdir" target="_blank">What is a <tt>userdir</tt> and where can I find it?</a></li>
</ol>
   
   <p align="center"><a href="#top">top</a></p> 

  <a name="deprecated"></a>
 <h2>Archived Modules and Features</h2>
 
 <p>Support for designing GUI forms that use Swing Application Framework was discontinued. If you want to edit such forms,  use <a href="https://netbeans.org/downloads/index.html" target="_blank">NetBeans 7.0.1</a>.</p>
 <p class="notes"><b>Note:</b> Support for Swing is not affected by the removal of Swing Application Framework from  NetBeans IDE.</p>
 <p>CVS support was moved from the standard distribution of the IDE to the Update Center. To work with CVS in the IDE, download and install the respective module using the IDE's Plugin Manager. </p>
 <p>The C/C++ Profiling Tools were removed from the standard distribution of the IDE.</p>
 <p>Support for directly deploying to some mobile devices, most notably Ricoh devices and also very old Windows phones, was removed. You can still develop an application for such platforms though the direct deploy option is removed from the IDE.</p>
 <p>The Packaged Archive project template was removed from the IDE.</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=211406" target="_blank">Issue #211406</a>:
          Views and Palettes keeps scrolling itself to the drag position after DnD
         <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=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 - Mac OS 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 Mac OS 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 Mac OS 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/issues/show_bug.cgi?id=167401" target="_blank">Issue #167401</a>: IDE randomly freezes on MacOS X systems using JDK 1.6.0 update 13.
         <blockquote>
            <p><b>Description:</b> IDE may randomly freeze when browsing through the main menu bar due to Apple JDK bug #6993269. </p>
            <p><b>Workaround: </b> Either switch to a different JDK version or modify the default start up options of the
            <code>netbeans.conf</code> file to <code>-J-Dapple.laf.useScreenMenuBar=false</code>.</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=201531" target="_blank">Issue #201531</a>: On Mac OS X,  the IDE may hang while editing Java code.
         <blockquote>
            <p><b>Description:</b> On Mac OS X, the IDE may hang while editing Java code, which is presumably implied by a bug in the Apple JDK.</p>
            <p><b>Workaround:</b> Use Java for Mac OS X Developer Preview 11M3614+10M3614 or newer or wait for official release of Java 6 update.</p>
         </blockquote>
     </li>
     <li><a href="https://netbeans.org/issues/show_bug.cgi?id=211236" target="_blank">Issue #211236</a>:
        JDK crash when invoking "View data" in Slowness reporter dialog on Mac OS X
         <blockquote>
            <p><b>Description:</b> Clicking the View Data button in the slowness reporter dialog box
                may cause the JDK to crash on machines running Mac OS X 10.7 and JDK 7u4.</p>
            <p><b>Workaround: </b> Do not click View Data button.</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 Mac with JDK 7u4.
         <blockquote>
         <p><b>Description</b>: Not possible to run a Java or JavaFX project using WebStart on Mac OS X if the Java platform is JDK 7u4.</p>
         <p><b>Workaround</b>: No workaround. WebStart on Mac 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-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 is as follows: </p>
   
   <ul>  
         <li><a href="https://netbeans.org/issues/show_bug.cgi?id=208647" target="_blank">Issue #208647</a>: 
             CDC Application sources are marked red.
           <blockquote>
            <p><b>Description: </b>Newly created CDC Application shows errors in source code.
                This is a problem in the editor. There is no problem with the source code.</p>
            <p><strong>Workaround:</strong> Ignore the errors. The application will run in the emulator.</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="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.1.2, check out our web-based tutorials at the <a href="../../../kb/index.html" target="_blank">NetBeans IDE Documentation</a> page.</p>
   <p>Additional reference documentation resources include:</p>
  <ul>
      <li>The <a href="http://wiki.netbeans.org/NetBeansUserFAQ" target="_blank">NetBeans User FAQ</a> has many workarounds and troubleshooting tips not included in the 
   Release Notes.</li>     
      <li>The IDE's built-in help system has detailed support information for features included in all of the NetBeans IDE modules.</li>
      <li>See <a href="../../../kb/articles/mac.html" target="_blank"> Using NetBeans IDE on the Mac OS X</a> for information about keyboard equivalents, tips, tricks, and other Mac-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.1.2%20Release%20Notes" target="_blank">Send Us Your Feedback</a></div>
<br style="clear:both;">
<p align="center"><a href="#top">top</a></p>
</body>
</html>