<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
 Copyright 2009 Sun Microsystems, Inc. 
 All Rights Reserved.
-->
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>NetBeans IDE 6.8 Release Notes and System Requirements</title>
  <meta name="description" content="NetBeans IDE 6.8 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.8 Release Notes</h1>
  <div class="articledate" style="margin-left: 0px;">Last updated: <!-- #BeginDate format:Am1 -->July 10, 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 an <a href="../../../features/index.html">full-featured open source IDE</a> written in the Java programming language and an <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.8 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.8 Release Information</a> page.</p>
  
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
   <li><a href="#new">What's New in 6.8</a></li>
   <li><a href="#ml">Multilingual Support</a></li>
   <li><a href="#supported_technologies">Supported Technologies</a></li>
   <li><a href="#system_requirements">System Requirements</a></li>
   <li><a href="#compatibility">Compatibility</a></li>
   <li><a href="#javafx">JavaFX SDK</a></li>
   <!--li><a href="#deprecated">Availability of Deprecated Modules</a></li-->
   <li><a href="#sql-db">SQL and Databases</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.8</h2>
  <p>NetBeans IDE 6.8 is a significant update to NetBeans IDE 6.7.1 and includes the following improvements:</p>
  <ul>
   <li>Java EE 6 and GlassFish v3 support</li>
   <li>JSF 2.0 support with many new features</li>
   <li>PHP 5.3 and Symfony Framework support </li>
   <li>Additional Kenai Feature integration and Jira bug tracking support</li>
   <li>Improved C++ profiling with Microstate Accounting indicator and I/O usage monitor</li>
   <li>JavaFX code completion, hints and navigation improvements in the NetBeans editor</li>
   <li>Additional Enhancements are listed on the <a href="http://wiki.netbeans.org/NewAndNoteworthyNB68" target="_blank">NetBeans IDE 6.8 New and 
   Noteworthy</a> page.</li>
  </ul>
<p>For more about this release, see the <a href="index.html">NetBeans IDE 6.8 Release Information</a> page.</p>
  
  
<a name="ml"></a>
  <h2>Multilingual Support Information</h2>
  <p>NetBeans IDE is available in the following Sun supported translations: 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/index.html">downloaded</a> from the Community Contributed section of the IDE Language drop-down menu.</p>
  <a name="supported_technologies"></a><h2>Supported Technologies</h2>
 <p>NetBeans IDE 6.8 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.</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.2.1</li>
     <li>Java ME SDK 3.0</li>
     <li>Struts 1.3.8</li>
     <li>Spring 2.5</li>
     <li>Hibernate 3.2.5</li>
     <li>Java API for RESTful Web Services (JAX-RS) 1.1</li>
   </ul>    </td>
    <td>
   <ul>
     <li>PHP 5.3, 5.2, 5.1</li>
     <li>Ruby 1.9, 1.8</li>
     <li>JRuby 1.4</li>
     <li>Rails 2.3.4</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.4.x, 1.5.x, 1.6.x</li>
      <li>Mercurial: 1.x</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 v3</li>
     <li>Sun Java System Application Server PE 8.2</li>
     <li>WebLogic 11g (10.3.1.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.20</li>
     <li>Tomcat 5.5</li>
     <li>JBoss 5.0</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:</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>
      <blockquote>
       <p> 
       </p>
      </blockquote>
      <ul>
       <li><b>Microsoft Windows Vista SP1:</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>
      <blockquote>
       <p> 
       </p>
      </blockquote>
      <ul>
       <li><b>Microsoft Windows 7:</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>
      <blockquote>
       <p> 
       </p>
      </blockquote>
      <ul>
       <li><b>Ubuntu 9.04:</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>
      <blockquote>
       <p> 
       </p>
      </blockquote>
      <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>
      <blockquote>
       <p> 
       </p>
      </blockquote>
      <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>
        <p> 
        </p>
       </li>
       <li><b>Macintosh OS X 10.5 Intel:</b>
        <ul>
         <li><b>Processor: </b>Dual-Core Intel</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>650 MB of free disk space </li>
        </ul>
       </li>
      </ul>
      <blockquote>
       <p> 
       </p>
      </blockquote>
      <ul>
       <li><b>Macintosh OS X 10.5 PPC:</b>
        <ul>
         <li><b>Processor: </b>PowerPC G4</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>650 MB of free disk space </li>
        </ul>
        <p>For more information, see <a href="../../../kb/articles/mac.html">Using NetBeans on Mac OS X</a>.</p>
       </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:</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>Microsoft Windows Vista SP1:</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>Microsoft Windows 7:</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.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 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 2009.06 (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.5 Intel:</b>
       <ul>
        <li><b>Processor: </b>Dual-Core Intel</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.5 PPC:</b>
        <ul>
         <li><b>Processor: </b>PowerPC G5</li>
         <li><b>Memory: </b>2 GB </li>
         <li><b>Disk space: </b>850 MB of free disk space </li>
        </ul>
       For more information, see <a href="../../../kb/articles/mac.html">Using NetBeans on Mac OS X</a>. </li>
     </ul>
   </div>
   <br style="clear:both;" />
  </div>
  
<br style="clear:both;" />
  
  <p>NetBeans IDE is also known to run on the following platforms:</p>
  <ul>
   <li>Java Desktop System 2</li>
   <li>Microsoft Windows 2000 Professional SP4 </li>
   <li>Mac OS X 10.4.11 Intel/Power PC</li>
   <li>Various other Linux distributions, such as Ubuntu 8.x, Red Hat Enterprise Linux and many others.</li>
  </ul>
  <p class="notes"><b>Note: </b>While the above system requirements apply to most configurations
     of the IDE, some areas of NetBeans Web and Java EE support are particularly
     demanding on system resources, especially when used in combination with
     various application servers. For best results when developing Web and Java EE applications,
     make sure that your system meets at least the <i>recommended</i> system requirements.</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 JDKs for this release are:</p>
<ul>
   <li>JDK 6 Update 14</li>
   <li>JDK 5 Update 19</li>
</ul>
 <p class="notes"><b>Note</b>: The PHP, Ruby and C/C++ NetBeans bundles only require the Java Runtime Environment 5 or 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>Solaris</b>: <a href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a></li>
   <li><b>Windows</b>: <a href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a></li>
   <li><b>Linux</b>: <a href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a></li>
   <li><b>Mac OS X</b>: <a href="http://support.apple.com/downloads">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>For users running Mac OS X 10.4.11 and higher, a Java update (J2SE 5, version 1.5.0_16) is available at
   <a href="http://www.apple.com/support/downloads/javaformacosx104release7.html">http://www.apple.com/support/downloads/javaformacosx104release7.html</a>.</p>
   <p><strong>Note.</strong> 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">http://h18012.www1.hp.com/java/download/index.html</a></li>
  </ul>
  <p class="notes"><b>Note</b>: You can download archived versions of the JDK at
  <a href="http://java.sun.com/products/archive/index.html">http://java.sun.com/products/archive/index.html</a>.</p>
  <p align="center"><a href="#top">top</a></p>
  
  <a name="compatibility"></a>
  <h2>Compatibility</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 that 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.8 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="javafx"></a>
 <h2>JavaFX 1.2.1 SDK Availability</h2>
 <p>The JavaFX 1.2.1 SDK is bundled with the NetBeans 6.8 release.</p>
 <blockquote>
   <p class="notes"><b>Note:</b> The minimum supported JDK version for JavaFX 1.2.1 is JDK 6 Update 14 for Windows and JDK 5 Update 16 for Mac OS. Please see the <a href="http://www.oracle.com/technetwork/java/javafx/system-requirements-1-2-140252.html">JavaFX SDK System Requirements</a> page for more information.</p>
   <p class="notes"><b>Note:</b> For additional information about system requirements, supported features and known issues, please refer to the <a href="http://www.oracle.com/technetwork/java/javafx/javafx-sdk-release-notes-1-2-1-136577.html">JavaFX 1.2.1 SDK Release Notes</a>.</p>
</blockquote>

<p align="center"><a href="#top">top</a></p> 

  <!--a name="deprecated"></a>
 <h2>Older Module Availability</h2>
 <p>In order to focus our efforts on emerging and critical developer technologies, the X, Y, Z, modules in NetBeans have been removed from the installer. The modules can be installed via the Tools > Plugins menu in the IDE by searching for the plugin names X, Y, Z. The modules are also available on the Beta Update Center.</p-->

<!--p align="center"><a href="#top">top</a></p--> 
  
<a name="sql-db"></a>
  <h2>SQL Editor and Databases</h2>
  <p>The following changes have been made to the database functionality in NetBeans IDE 6.8: </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.8
 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 10g Release 2 (10.2.0.2)</td>
       <td><code>jdbc:oracle:thin:@//localhost:1521:ora9i</code>       </td>
     </tr>
     <tr>
      <td>PostgreSQL</td>
       <td>8.3 Build 603</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>
  </ul>
  <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="6720021" id="6720021"></a><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6720021">Issue #6720021: Installer doesn't work when using OpenSolaris with any version of JDK 5.</a>
     <blockquote>
      <p><b>Description:</b> Installer doesn't work when using OpenSolaris with any version of JDK 5.</p>
      <p><b>Workaround:</b> Install with JDK 6 or execute the "export AWT_TOOLKIT=XToolkit" command before running the installer using JDK 5.</p>
     </blockquote>
   </li>
   <li><a name="93568" id="93568"></a><a href="https://netbeans.org/issues/show_bug.cgi?id=93568">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">Issue #117172: A blank window when running the installer on Ubuntu.</a>
     <blockquote>
      <p><b>Description:</b> The installer appears as the blank/grey 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="122030" id="122030"></a><a href="https://netbeans.org/issues/show_bug.cgi?id=122030">Issue #122030</a>, <a name="130368"></a><a href="https://netbeans.org/issues/show_bug.cgi?id=130368">Issue #130368</a>: On Fedora Core 8 and 
    Ubuntu 8.04 alpha 6, installation fails when JDK 7 is used.
   <blockquote>
     <p><b>Description:</b> On Fedora Core 8 and Ubuntu 8.04 alpha 6, installation of GlassFish V2 fails when JDK 7 is used (JDK7 IcedTea 64-Bit Server VM). </p>
    <p><b>Workaround:</b> For these platforms, use JDK 5 or JDK 6.</p>
   </blockquote>
   </li-->
	 <li>
	 <a name="123300" id="123300"></a><a href="https://netbeans.org/issues/show_bug.cgi?id=123300">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.8
 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">Issue #177872: On Mac OS X, GlassFish v3 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 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-v3</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>
</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">http://wiki.netbeans.org/FaqI18nLinuxAsianFonts</a></p>
        </blockquote>
     </li>

      <li><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6720021">Issue #6720021</a>:
          Difficulties starting the IDE on OpenSolaris using any version of JDK 5.
         <blockquote>
            <p><b>Description: </b> IDE may not start on OpenSolaris when using any version of JDK 5.</p>
            <p><b>Workaround: </b> Use JDK 6 or execute the <code>export AWT_TOOLKIT=XToolkit</code> command before starting the IDE.</p>
         </blockquote>
      </li>
      
      <li><a href="https://netbeans.org/issues/show_bug.cgi?id=64840">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">Issue #5087907</a>.</p>
         </blockquote>
      </li>
      <li><a href="https://netbeans.org/issues/show_bug.cgi?id=167401">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 startup 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">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">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">Issue #113847</a>.</p>
         </blockquote>
      </li>
      
      
      <li><a href="https://netbeans.org/issues/show_bug.cgi?id=119617">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=119567">Issue #119567</a>:
         Desktop database application project does not run if non-ASCII is in the name of the project or the path to that project.
         <blockquote>
            <p><b>Description:</b> The cause is in the current toplink libraries used in the IDE.
An <a href="http://glassfish.dev.java.net/issues/show_bug.cgi?id=3827 ">issue on toplink library</a> has been filed on it. This Glassfish issue has been fixed for Glassfish v2.1. However, NetBeans 6.8
 supports glassfish v2 u2, and the fix is not in this version of Glassfish.</p>
            <p><b>Workaround: </b>Use only ASCII characters in the name of a desktop database application project or the path to that project.</p>
         </blockquote>
      </li-->
   
      <li><a href="https://netbeans.org/issues/show_bug.cgi?id=130357">Issue #130357</a>: I18N - Mac OS won't generate javadoc if project name or path has multibyte
        <blockquote>
        <p><b> Description: </b>The javadoc task while creating the temporary parameter file is written in default OS encoding which is MacRoman.
          This appears to be a Mac OS situation where the BSD and Mach parts (system &amp; kernel calls) accept parameters in UTF-8, 
          but OS and HFS promote themselves as MacRoman.</p>
        <p><b>Workaround: </b>Avoid using multibyte 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">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>Switch system default to JDK 1.5.</p>
         </blockquote>
     </li>     
     <li><a href="https://netbeans.org/issues/show_bug.cgi?id=150416">Issue #150416</a>: Sample DB can't be created without InnoDB<tt></tt>
       <blockquote>
        <p><b> Description:</b> Sample database in NetBeans use foreign keys. The MyISAM engine doesn't support foreign keys. Therefore, sample databases cannot be used without the InnoDB storage engine.</p>
       <p><b>Workaround: </b>Install the InnoDB transactional storage engine.       </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>
</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=178108">Issue #178108</a>: Metamodel classes for managed JPA entities are not generated automatically
         <blockquote>
         <b>Description: </b>Metamodel classes for the corresponding managed entities are not generated.
         Constructing typesafe queries that use the Criteria API and metamodel class will not work.
         </blockquote>   
      </li>
      <li><a name="backwards"></a>No Support for Ajax Sample Components
         <blockquote><b>Description</b>: Blue Prints Ajax Sample components are not supported in this release because they are based on a old version of Dojo that is no longer compatible with later versions. Woodstock components bundled in NetBeans depends on more recent versions of Dojo APIs for client side rendering. For most of the widely used BP Ajax components (supported in NetBeans 5.5), there is equivalent functionality available from Project Woodstock as listed below.
            <ul>
               <li>Auto Complete - This blog (http://blogs.sun.com/dmitry/entry/creating_autocomplete_entry_field_with )
                describes how to achieve similar functionality with components from Project Woodstock library.</li>
               <li>Pop up Calendar - Project Woodstock includes a Calendar component.</li>
               <li>Select Value field - Use auto complete instead which has similar functionality but different UI.</li>
               <li>Progress Bar - Project Woodstock includes a Progress Bar component.</li>
               <li>Google Map - Planned for future.</li>
               <li>Rating Component - Planned for future.</li>
               <li>RichText Editor -  Not supported.</li>
         </ul></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>
   <ul>
      <li><a href="https://netbeans.org/issues/show_bug.cgi?id=168812">Issue #168812</a>: : SELECT * INTO statement updates only first the 20 rows.
         <blockquote>
            <p><b>Description: </b> The statement <code>SELECT * INTO table2 FROM table1</code> only updates the first 20 rows of table2.</p>
            <p><strong>Workaround:</strong> Create table1 and invoke statement <code>INSERT INTO</code> table2 then <code>SELECT * FROM </code> table1.</p>
         </blockquote>
      </li>
   </ul>
 
  
   <p align="center"><a href="#top">top</a></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.8 Mobility and the Java ME SDK 3.0 bundled with this release only support the Windows operating system.</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://www.oracle.com/technetwork/java/javame/downloads/sdk30-mac-jsp-137878.html">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 will 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">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>
   </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><a href="https://netbeans.org/issues/show_bug.cgi?id=171338">Issue #171338</a>: Users unable to create Rails project
         <blockquote>
            <p><b>Description:</b> Users are unable to create a project when spaces are present in the directory path of the bundled JRuby platform.</p>
            <p><b>Workaround:</b> Manually upgrade RubyGems from the command line: <tt> <i>nb_install_dir_ruby2</i>/jruby-1.4/bin/jruby -S gem update --system</tt></p>
        </blockquote>
      </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="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=149153">Issue # 149053</a>: On Windows platforms, the path to make tools cannot contain spaces
         <blockquote>
            <p><b>Description: </b>On Windows platforms, if the path to make tools contains embedded spaces, the path is truncated and the
            tools are not found.</p>
            <p><b>Workaround: </b>Do not use spaces in the make tools path.</p>
        </blockquote>
     </li>
      <li><a href="https://netbeans.org/issues/show_bug.cgi?id=166811">Issue # 166811</a>: GDB fails on Open Solaris when starting to debug C++ files
         <blockquote>
            <p><b>Description: </b>When debugging C++ projects on Open Solaris GDB fails due to a segmentation fault.</p>
            <p><b>Workaround: </b>Delete the <code>gcc-432</code> packages as <a href="https://netbeans.org/issues/show_bug.cgi?id=166811">
            described in the workaround</a> for this bug.
            </p>
        </blockquote>
     </li>
     <li><a href="https://netbeans.org/issues/show_bug.cgi?id=148204">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=121776">Issue #121776</a>: Sun Studio compiled code sometimes 
      has problems being debugged with gdb
         <blockquote>
            <p><b>Description: </b>On the Solaris and Linux operating systems, code compiled with the Sun Studio compilers cannot always be correctly debugged
               with the gdb debugger. Most known problems are fixed in the Sun Studio 12 software but
               several more exist. If you run into problems debugging programs compiled with Sun Studio 12 compilers, the first thing you
               should do is apply the latest Sun Studio 12 product patches. If your problem still exists, please file a defect in Issuezilla and make this task
               depend on it.
            </p>
            <p>
               As problems are found, we will open new issues and update this task to depend on them, giving some idea of 
               the current state of debugging programs compiled with Sun Studio 12 compilers using NetBeans and the gdb debugger.
            </p>
            <p>These problems do not affect debugging code compiled with Sun Studio 12 compilers using the Sun Studio 12 IDE and the dbx debugger.
         </blockquote>
      </li>
      <li><a href="https://netbeans.org/issues/show_bug.cgi?id=121775">Issue #121775</a>: Need latest Xcode for debugging on Tiger (Mac OS X 10.4)
         <blockquote>
            <p><b>Description: </b>When debugging on the Macintosh with Tiger (Mac OS
               X 10.4), the
               default version of the gcc and g++ compilers generates
               code with a bug in the debug output. Apple has released an updated Xcode package
               (version 2.5) with a fix for this problem. The correct versions of gcc, g++,
               and gdb are:
                 
               gcc: 4.0.1  - Apple build 5367 
               g++: 4.0.1  - Apple build 5367 
               gdb: 6.3.50 - Apple build 573 (10/20/2006)
                
           <p>
                  To download this version of Xcode, see
                  <a
                     href="http://developer.apple.com/tools/download">
                  <tt>http://developer.apple.com/tools/download</tt></a>.
           </p>
               <p>
                  This problem is not an issue on Leopard (Mac OS X 10.5).
               </p>
               The symptoms of the problem are that executables compiled with the
               <tt>-gdwarf</tt> flag (the default for C/C++ application projects) have
               incorrect line information and breakpoints may be ignored.
         </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/">http://www.netbeans.org</a>. </p>
   
   <h4>Documentation</h4>
   <p>To get the most out of the features in NetBeans IDE 6.8, 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>The built-in help system for NetBeans IDE 6.8 has been updated to support new features and minor changes to the user interface since the 6.7 release. </p>
   <!--p>Please see the <a href="http://wiki.netbeans.org/NetBeansUserFAQ">NetBeans User FAQ</a> for workarounds and troubleshooting tips not included in the 
   Release Notes.</p-->
<!--p class="notes"><b>Note: </b>If you are running the NetBeans IDE on Mac OS X, see <a href="../../../kb/articles/mac.html"> Using NetBeans on Mac OS X</a> for more information about keyboard equivalents, tips and tricks, and other Mac-specific topics. </p-->
   
   
   <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">https://netbeans.org/community/lists/</a>.</p>
   <p>You can post questions at <a href="http://forums.netbeans.org/">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://translatedfiles.netbeans.org/">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.8 Release Notes">Send Us Your Feedback</a></div>
<br style="clear:both;">
<p class="align-center"><a href="#top">top</a></p> 
</body>
</html>

