<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
 Copyright 2010 Oracle, Inc. 
 All Rights Reserved.
-->
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>NetBeans IDE 6.9.1 Release Notes and System Requirements</title>
  <meta name="description" content="NetBeans IDE 6.9.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 6.9.1 Release Notes</h1>
  <div class="articledate" style="margin-left: 0px;">Last updated: <!-- #BeginDate format:Am1 -->July 11, 2013<!-- #EndDate --> </div>
<p>NetBeans IDE is a modular, standards-based integrated development environment (IDE), written in the Java programming language. 
The NetBeans project consists of a <a href="../../../features/index.html">full-featured open source IDE</a> written in the Java programming language and a <a href="../../../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 6.9.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 6.9.1 Release Information</a> page.</p>
  
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
   <li><a href="#new">What's New in 6.9.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-installer">Known Issues: Installer</a></li>
   <li><a href="#known_issues-core">Known Issues: Core IDE</a></li>
   <li><a href="#known_issues-web-java">Known Issues: Web and Java EE</a></li>
   <li><a href="#known_issues-db">Known Issues: Database Support</a></li>
   <!--li><a href="#known_issues-websvc">Known Issues: Web Services</a></li-->
   <li><a href="#known_issues-mobility">Known Issues: Java ME</a></li>
   <!--li><a href="#known_issues-ruby">Known Issues: Ruby </a></li-->
   <li><a href="#known_issues-cnd">Known Issues: C/C++</a></li>
   <li><a href="#more_info">More Information</a></li>
  </ul>
<a name="new"></a>
 <h2>What's New in 6.9.1</h2>
  <p>NetBeans IDE 6.9.1 is a minor update to NetBeans IDE 6.9 and includes the following changes:</p>
   <ul>
     <li>Availability of the latest IDE bundled with JavaFX SDK 1.3.1</li>
     <li>Improvements to the JavaFX debugger</li>
     <li>Important usability issues fixed in the JavaFX Composer and Editor</li>
     <li>Critical <a href="http://wiki.netbeans.org/NetBeans6.9PatchesInfo" target="_blank"> bug fixes</a> made to other 
     modules since the 6.9 final release</li>
  </ul>
    
<p>The following updates to the 6.8 release included in version 6.9 also apply to 6.9.1:</p>
  <ul>
   <li>JavaFX Composer to simplify and visualize JavaFX development</li>
   <li>Support for Equinox and Felix OSGi frameworks in NetBeans Platform</li>
   <li>Spring Framework 3.0 library support</li>
   <li>Java Card<small><sup>TM</sup></small> 3 Connected</li>
   <li>Rails 3.0 Beta support</li>
   <li>PHP Zend Framework support</li>
   <li>Support for JSR-299, Contexts and Dependency Injection (CDI)</li>
   <li>Additional Enhancements are listed on the <a href="http://wiki.netbeans.org/NewAndNoteworthy69" target="_blank">NetBeans IDE 6.9 New and 
   Noteworthy</a> page.</li>
  </ul>
<p class="notes"><b>Note</b>: The Java <small><sup>TM</sup></small> SE Development Kit (JDK) 5.0 is not supported on any platform for this release. You must have JDK 6.0 on your system to install and run NetBeans IDE 6.9.1.</p>
<br>
<p>For more about this release, see the <a href="index.html">NetBeans IDE 6.9.1 Release Information</a> page.</p>
  
  <h2>Supported Technologies</h2>
 <p>NetBeans IDE 6.9.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_69_Supported_Platforms"target="_blank">NetBeans IDE 6.9.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 5, Java EE 6 and J2EE 1.4</li>
     <li>JavaFX SDK 1.3.1</li>
     <li>Java ME SDK 3.0</li>
     <li>Java Card 3.0.2</li>
     <li>Struts 1.3.8</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>Issue Tracking
     <ul>
      <li>Bugzilla 3.4 and earlier</li>
      <li>Jira 3.4 and earlier</li>
      </ul>
     </li>
   </ul>
   </td>
    <td>
   <ul>
     <li>PHP 5.3, 5.2, 5.1</li>
     <li>Ruby 1.9, 1.8</li>
     <li>JRuby 1.5.0</li>
     <li>Rails 2.3.4, 3.0 Beta</li>
     <li>Groovy 1.6.4</li>
     <li>Grails 1.1</li>
     <li>VCS
     <ul>
      <li>CVS: 1.11.x, 1.12.x</li>
      <li>Subversion: 1.5.x, 1.6.x</li>
      <li>Mercurial: 1.0.x or later</li>
      <li>ClearCase V7.0</li>
     </ul>
     </li>
   </ul>    </td>
   </tr>
   <tr>
    <td style="width:45%" class="valign-top">&nbsp;</td>
    <td>&nbsp;</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.0.1</li>
     <li>GlassFish Enterprise Server v2.1.1</li>
     <li>Sun Java System Application Server PE 8.2</li>
     <li>WebLogic 11g (10.3.3.0)</li>
   </ul>
</div>
<div style="width:48%; font-size:11px; margin:0px auto; background-color:#ffffff; padding:10px; border:0px solid #e3e3e3;">
   <ul>
     <li>Tomcat 6.0.26</li>
     <li>Tomcat 5.5</li>
     <li>JBoss 5.0</li>
     <li> JBoss 4.2.3 (J2EE 1.4)</li>
   </ul>
</div>
<br style="clear:both;" />
  
  <a name="system_requirements"></a>
  <h2>System Requirements</h2>
  <p>NetBeans IDE runs on operating systems that support the Java VM (Virtual Machine) and has been tested on the platforms listed below. </p>
  
  <p class="notes"><b>Note:</b> The IDE's minimum screen resolution is 1024x768 pixels.</p>
  
  <br style="clear:both;" />
  
  <a name="req_os"></a>
  <!--      <h5 style="border-bottom:0">Supported Hardware Configurations</h5>-->
  <h5 style="border-bottom:0">Supported Operating Systems</h5>
  
  
  <div style="width:98%; border:0px solid #e3e3e3;">
   
   <div style="float:left; width:45%; height:auto; font-size:11px; margin:0px; padding-top:0px; padding-left:10px; padding-right:5px; padding-bottom:10px; border:0px solid #e3e3e3;">
     <blockquote>
      <h3 style="border-bottom:0; margin-bottom:10px">Minimum Hardware Configurations</h3>
      <ul>
       <li><b>Microsoft Windows XP Professional SP3/Vista SP1/Windows 7 Professional:</b>
         <ul>
         <li><b>Processor: </b>800MHz Intel Pentium III or equivalent</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>750 MB of free disk space </li>
        </ul>
       </li>
      </ul>
      <ul>
       <li><b>Ubuntu 9.10:</b>
         <ul>
         <li><b>Processor: </b>800MHz Intel Pentium III or equivalent</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>650 MB of free disk space</li>
        </ul>
       </li>
      </ul>
      <ul>
       <li><b>Solaris OS version 10 (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 10 (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.5 Intel:</b>
         <ul>
         <li><b>Processor: </b>Dual-Core Intel (32 or 64-bit)</li>
         <li><b>Memory: </b>512 MB</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 9.10:</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 10 (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 10 (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>OpenSolaris 2010.03 (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>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>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 Enterprise Linux 5, Ubuntu 8.x and 10.04, Red Hat Enterprise Linux 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 are:</p>
<ul>
   <li>JDK 6 Update 13 or later is required. The 6.9.1 version of the IDE cannot be installed or run using JDK 5.0.</li>
</ul>
 <p class="notes"><b>Note</b>: The PHP, Ruby and C/C++ NetBeans bundles only require the Java Runtime Environment (JRE) 6 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://java.sun.com/javase/downloads/index.jsp" target="_blank">http://java.sun.com/javase/downloads/index.jsp</a></li>
   <li><b>Mac OS X</b>: <a href="http://support.apple.com/downloads" target="_blank">http://support.apple.com/downloads</a><br/>
   for Mac OS X 10.5 and higher (includes Java SE 6, version 1.6.0_17 for 64-bit Intel-based Macs (Core2Duo processors))
   <p><strong>Note</strong>: Java SE 6 is required to install and run NetBeans IDE 6.9.1. 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 1.3.1 SDK is bundled with the NetBeans IDE 6.9.1 release. Please note the following:</p>
 <ul>
   <li>The minimum supported JDK version for JavaFX 1.3.1 is JDK 6 Update 20 for Windows and JDK 5 Update 16 for Mac OS.</li>
   <li>Note that JDK 6.0 is required to install and run NetBeans IDE 6.9.1 on Mac OS, however JDK 5.0 can be used for development using the JavaFX 1.3.1 SDK.</li>
   <li>Please see the <a href="http://www.oracle.com/technetwork/java/javafx/downloads/previous-jsp-137062.html" target="_blank">JavaFX Release Documentation</a> page for more information about system requirements and  supported features in the JavaFX SDK.</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 6.9.1: </p>
<ul>
   <li><b>Upgraded Drivers.</b> The MySQL drivers included in NetBeans IDE have been updated to version is 5.1.6.</li> 
   <li><b>Tested Drivers</b>
    <p>NetBeans IDE 6.9.1
 has been tested with the following databases and drivers. 
    </p>
    <table width="50%" border="0" cellpadding="1">
     <tr>
      <th scope="col"><div align="left">Driver</div></th>
       <th scope="col"><div align="left">Version</div></th>
       <th scope="col"><div align="left">Example URL </div></th>
     </tr>
     <tr>
      <td>JavaDB</td>
       <td>Derby 10.4.1.3</td>
       <td><code>jdbc:derby://localhost:1527/sample</code>
       (Network)</td>
     </tr>
     <tr>
      <td>Oracle</td>
       <td>Oracle Database 11g (11.1.0.7  )</td>
       <td><code>jdbc:oracle:thin:@//localhost:1521:ora9i</code>       </td>
     </tr>
     <tr>
      <td>PostgreSQL</td>
       <td>8.x</td>
       <td><code>jdbc:postgresql://jsmith.mycompany.com:5432/postgres</code></td>
     </tr>
     <tr>
      <td>MySQL</td>
       <td>MySQL Connector/J 5.1.6</td>
       <td><code>jdbc:mysql://localhost:3306/sample</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="50%" border="0" cellpadding="5">
      <tr>
        <th scope="col"><div align="left">Driver</div></th>
        <th scope="col"><div align="left">Version</div></th>
        <th scope="col"><div align="left">Example URL</div></th>
      </tr>
      <tr>
        <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>
        <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>
        <td> jTDS </td>
        <td>jTDS 1.2.1 </td>
        <td><code>jdbc:jtds:sqlserver://test-mycompany.com:1433/travel</code></td>
      </tr>
      <tr>
        <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=ora9i</code> 
         <code>jdbc:datadirect:sqlserver://localhost:1433;DatabaseName=travel;SelectMethod=cursor</code> 
        <code>jdbc:datadirect:db2://localhost:50002;databaseName=sample</code></td>
      </tr>
      <tr>
        <td> Pointbase </td>
        <td>5.2 ECF build 294</td>
        <td><p>&nbsp;</p>
        <p><code>jdbc:pointbase://localhost:29092/sample</code></p>
        <p>&nbsp;</p></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) and Simplified Chinese(ZH).</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/">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 > 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 class="notes"><b>Note:</b> If you edit the Project Properties in NetBeans IDE 6.9.1 for a project that was created in NetBeans IDE 4.1 
or earlier, the project will no longer work in the earlier NetBeans IDE versions. </p>

<p align="center"><a href="#top">top</a></p> 

  <a name="deprecated"></a>
 <h2>Archived Modules and Features</h2>
<p> The SOA, UML and Visual Web modules as well as support for jMaki, JAX-RPC and adding JavaScript Libraries are no longer included in the IDE installer. For further details about removed features and the available alternatives please see the <a href="http://wiki.netbeans.org/NetBeansArchivedFeatures" target="_blank"> NetBeans IDE Archived Feature page</a>.</p>

<p align="center"><a href="#top">top</a></p> 
  
  <a name="known_issues-installer"></a>
  <h2>Known Issues: Installer </h2>
  <p>The unresolved installer issues for this release are as follows: </p>
  <ul>
   <li><a name="93568" id="93568"></a><a href="https://netbeans.org/issues/show_bug.cgi?id=93568" target="_blank">Issue #93568: On Solaris and Linux, installation hangs when the network connection is lost.</a>
     <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" id="117172"></a><a href="https://netbeans.org/issues/show_bug.cgi?id=117172" target="_blank">Issue #117172: A blank window when running the installer on Ubuntu.</a>
     <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 <tt>export AWT_TOOLKIT=MToolkit</tt> command before running the installer.</p>
     </blockquote>
   </li>
	 <li>
	 <a name="123300" id="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 https://netbeans.org/servlets/ReadMsg?list=nbusers&amp;msgNo=98765.</p>
	 </blockquote>
	 </li>
	  <li>The NetBeans IDE 6.9.1
 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 Java6 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>
   <li><a name="177872" id="177872"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=177872" target="_blank">Issue #177872: On Mac OS X, GlassFish 3.01 add-on and update tools may not work properly</a>
     <blockquote>
      <p><b>Description:</b> On Mac OS X, the <tt>pkg</tt>-based add-on and update tools do not work properly under non-root  accounts if GlassFish v3.01 was installed under root.</p>
      <p><b>Workaround:</b> Use the  <tt>chown -R</tt> command to change ownership of the GlassFish
installation and set it to the non-root user who needs it. For example: <tt>sudo chown -R &lt;newuser&gt;:admin /Applications/NetBeans/glassfish-3.0.1</tt>, where <tt>newuser</tt> is the non-root user. After this command is used, the user can directly execute the <tt>bin/updatetool</tt> and <tt>bin/pkg</tt> tools.</p>
     </blockquote>
   </li>
  <li>For additional Installer troubleshooting information, please refer to the <a href="http://wiki.netbeans.org/NetBeansUserFAQ#Installation" target="_blank">NetBeans Installation User FAQ</a>.</li>
</ul>
<p align="center"><a href="#top">top</a></p> 
 <a name="known_issues-core"></a>    
  <h2>Known Issues: Core IDE </h2>
   
   <p>The unresolved 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&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><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=64840" target="_blank">Issue #64840</a>:
         Network communication broken on Linux with IPv6 enabled.
         <blockquote>
            <p><b>Description: </b>Network communication broken on Linux with IPv6 enabled,
               preventing the IDE from connecting to bundled servers,
            Auto Update, etc.</p>
            <p><b>Workaround: </b>If this happens, run the IDE using the
               <code>-J-Djava.net.preferIPv4Stack=true'</code> switch.
               Alternatively, disable IPv6 (in <tt>/etc/modules.conf</tt>
            or <tt>/etc/modprobe.conf</tt>).</p>
            <p>For more information see:
            <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5087907" target="_blank">Issue #5087907</a>.</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/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=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.</p>
            <p>Also see:
            <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=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 won't 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=152916" target="_blank">Issue #152916</a>:
           	Difficulties starting IDE on 64-bit Mac OS X 10.5.5 using JDK 1.6_07
         <blockquote>
            <p><b>Description:</b> On certain 64-bit Mac OS X 10.5.5 configurations with JDK 1.6_07 set as the system's default Java platform,
            you may encounter problems starting the IDE from the Finder and from the command line.</p>
            <p><b>Workaround: </b> Upgrade to a more recent release of  JDK 6.0.</p>
       </blockquote>
     </li>     
	 <li><a href="https://netbeans.org/issues/show_bug.cgi?id=158421">Issue #158421</a>: 
	   Difficulties using the IDE with G1 Garbage Collector
	   <blockquote>
        <p><b> Description:</b> If you are using G1 Garbage Collector (in JDK 6 Update 14 or newer and in JDK 7), you may encounter exceptions thrown while  using the IDE.  </p>
      <p><b>Workaround: </b> Do not use G1 Garbage Collector (remove <tt>-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC</tt> from <tt>netbeans.conf</tt> or the command line).	   
	   </blockquote>
     </li>
 <li>For additional Core IDE troubleshooting information, please refer to the <a href="http://wiki.netbeans.org/NetBeansUserFAQ" target="_blank"> NetBeans User FAQ</a>.</li>
</ul>

<p align="center"><a href="#top">top</a></p> 
   <a name="known_issues-web-java"></a>
   <h2>Known Issues: Web and Java EE </h2>
     <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=178108" target="_blank">Issue #178108</a>: Metamodel classes for managed JPA entities are not generated automatically
         <blockquote>
         <p><b>Description</b>: Metamodel classes for the corresponding managed entities are not generated. Constructing typesafe queries 
         that use the Criteria API and metamodel class does not work.</p>
          <p><b>Workaround</b>: Please see the <a href="https://netbeans.org/issues/show_bug.cgi?id=178108" target="_blank">description of issue #178108</a> for workaround options.</p>
         </blockquote>   
      </li>
 <li>For additional Web and Java EE  troubleshooting information, please refer to the <a href="http://wiki.netbeans.org/NetBeansUserFAQ#Java_EE_Development" target="_blank"> NetBeans User FAQ</a>.</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>
   <h2>Known Issues: Java ME</h2>
 
   <p> NetBeans enables you to develop Java ME based applications for MIDP, CLDC and CDC devices. </p>
<p>The unresolved Java ME issues for this release are as follows: </p>
   <ul>
      <li> Linux Solaris and other operating systems are not supported by the Java ME SDK 3.0.
         <blockquote>
            <p><b>Description:</b> NetBeans 6.9.1 Mobility and the Java ME SDK 3.0 bundled with this release only support the Windows and Macintosh operating systems.</p>
            <p><b>Workaround:</b> The Linux installer come bundled with the Sun Java Wireless Toolkit 2.5.2. <!--Mac OS users can download 
            the <a href="http://java.sun.com/javame/downloads/sdk30_mac.jsp">Java Platform Micro Edition Software Development Kit 3.0 for MacOS EA</a> to develop mobile applications. The FAQ has 
            <a href="http://wiki.netbeans.org/JavaMESDKonMac">instructions for installing the Java ME SDK 3.0 for MacOS</a> in the IDE.</p-->
        </blockquote>
      </li>
      <li>The Java ME module does not run if a directory name, path to the installation directory, or user directory contain non-ASCII characters.
  <blockquote>
            <p><b>Description: </b>The Java ME SDK 3.0 does not support non-ASCII characters in project paths. </p>
           <p><strong>Workaround:</strong> Make sure that your user directory does not contain non-ASCII characters. If it does, change the IDE's default
      user directory.</p>
        </blockquote>
      </li>
      <li><a href="https://netbeans.org/issues/show_bug.cgi?id=139031" target="_blank">Issue #139031</a>: Emulator does not start in Windows if the Java binary is not in the environment path.
         <blockquote>
            <p><b>Description: </b>The Java ME SDK and other emulators do not launch in Windows if <code>Java.exe</code> is not in the path.</p>
            <p><strong>Workaround:</strong> Install the JDK using the default settings or, if performing a custom install, be sure to select 
            the public JRE for installation. If the JDK is already installed you can add the <code>Java.exe</code> file to your system's path settings.</p>
         </blockquote>
      </li>
 <li>For additional Java ME troubleshooting information, please refer to the <a href="http://wiki.netbeans.org/NetBeansUserFAQ#Java_ME.2FMobility" target="_blank"> NetBeans Java ME/Mobility Connectivity User FAQ</a>.</li>
</ul>
   <!--p align="center"><a href="#top">top</a></p>
   
     <a name="known_issues-ruby"></a>
   <h2>Known Issues: Ruby</h2>
 
   <p> NetBeans enables you to develop Ruby and Ruby Rails applications. </p>
<p>The unresolved Ruby issues for this release are as follows: </p>
  <ul>
   <li>For additional Ruby troubleshooting and support information, please refer to the <a href="http://wiki.netbeans.org/Ruby" target="_blank"> NetBeans Ruby Support Wiki</a>.</li>
</ul-->

       <p align="center"><a href="#top">top</a></p>
       
 <a name="known_issues-cnd"></a>
   <h2>Known Issues: C/C++</h2>
    
   <p>NetBeans C/C++ support C and C++ 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="../68/cpp-setup-instructions.html">Installing and Configuring C/C++ Support</a>.
   </p>
   <p>The unresolved C/C++ issues for this release are as follows:
   <ul>
       <li><a href="https://netbeans.org/issues/show_bug.cgi?id=148204" target="_blank">Issue # 148204</a>: On Windows platforms, user input does not work in Output
         window when debugging
          <blockquote>
            <p><b>Description: </b>On Windows platforms, when you are debugging an application and the console 
            type for the project is set to Output Window, you cannot type input in the Output window. This issue does not affect
            development using a remote host.</p>
            <p><b>Workaround: </b>Set the console type to External Terminal by right-clicking the project node in the Projects window, selecting
            the Run node in the Project Properties dialog box, selecting External Terminal from the Console Type drop-down list, and
            clicking OK.</p>
        </blockquote>
     </li>
     <li><a href="https://netbeans.org/issues/show_bug.cgi?id=121775" target="_blank">Issue #121775</a>: 
     The latest Xcode is required for debugging on Tiger (Mac OS X 10.4)
         <blockquote>
        <p><b>Description: </b>When debugging on Mac OS Tiger (Mac OS X 10.4), the code generated by the default versions of the 
        gcc and g++ compiler have incorrect line information and breakpoints may be ignored.</p>
             <p><b>Workaround:</b> Apple has released an updated Xcode package (version 2.5) that fixes this problem. The correct 
             versions of gcc, g++, and gdb are:</p>
           <ul>
              <li>gcc: 4.0.1 - Apple build 5367</li>
              <li>g++: 4.0.1  - Apple build 5367</li>
              <li>gdb: 6.3.50 - Apple build 573 (10/20/2006)</li>
           </ul>  
          <p>The updated version of Xcode is available here: <a href="http://developer.apple.com/tools/download" target="_blank" >
             http://developer.apple.com/tools/download</a>.</p>
            </blockquote>
           </li>
     <li>For additional C/C++ troubleshooting and support information, please refer to the <a href="http://wiki.netbeans.org/NetBeansUserFAQ#NetBeans_C.2FC.2B.2B_Plugin_FAQ_and_HOW-TOs" target="_blank"> NetBeans C/C++ FAQ</a>.</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://www.netbeans.org</a>. </p>
   
   <h4>Documentation</h4>
   <p>To get the most out of the features in NetBeans IDE 6.9.1, check out our web-based tutorials and screencasts. 
Check these pages frequently because we add new content all the time.</p>
   <ul>
      <li><a href="../../../kb/index.html">NetBeans IDE Documentation</a></li>
      <li><a href="../../media.html">NetBeans IDE Screencasts</a></li>
    </ul>
  <p>Additional reference documentation resources include:</p>
  <ul>
      <li>The <a href="http://wiki.netbeans.org/NetBeansUserFAQ">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"> 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://translatedfiles.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: NetBeans IDE 6.9.1 Release Notes" target="_blank">Send Us Your Feedback</a></div>
<br style="clear:both;">
<p align="center"><a href="#top">top</a></p>
</body>
</html>