<!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.7.1 Release Notes and System Requirements</title>
   <meta name="description" content="NetBeans IDE 6.7.1 Release Notes: System Requirements, Compatibility, Known Issues, Documentation">
   <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
   <style type="text/css">
<!--
.style2 {color: #000000}
-->
   </style>
</head>   
<body>
   <a name="top"></a>
   <h1>NetBeans IDE 6.7.1 Release Notes</h1>
   <div class="articledate" style="margin-left: 0px;">Last updated:  <!-- #BeginDate format:Am1 -->October 31, 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">open
      source IDE</a> written in the Java programming language and an <a href="../../../features/platform/index.html">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.7.1 Installation Instructions</a>. </p>
   
   <h2 style="color:#0E1B55">Contents</h2>
   <ul>
      <li><a href="#new">What's New in 6.7.1</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="#uml-plugin">UML, SOA and Visual Web Module Availability</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="#documentation">Documentation</a></li>-->
      <li><a href="#more_info">More Information</a></li>
   </ul>
<a name="new"></a>
  <h2>What's New in 6.7.1</h2>
   <p>NetBeans IDE 6.7.1 is a minor update to NetBeans IDE 6.7 and includes the following changes:</p>
   <ul>
     <li>Availability of the latest IDE bundled with JavaFX SDK 1.2.1</li>
     <li>Numerous <a href="http://wiki.netbeans.org/NetBeans6.7PatchesInfo" target="_blank">community nominated bug fixes</a> included in Patch 1 for NetBeans IDE 6.7</li>
  </ul>
    
   <p>The following updates to release 6.5.1 included in version 6.7 also apply to 6.7.1:</p>
   <ul>
        <li>Maven support for the creation of plugins and web services as well as support for POM and J2EE</li>
        <li>Kenai integration enables the creation and editing of Kenai hosted projects from within the IDE</li>
        <li>PHP improvements include Selenium support and SQL code completion</li>
        <li>C++ support for profiling, Qt library, code refactoring and macro expansion</li>
        <li>Web API Gateway plug-in enables consumption of Web APIs in applications</li>
        <li>Java ME support for CDC projects in the bundled Java ME SDK 3.0</li>
   </ul>
<p>For more about this release, see the <a href="index.html">NetBeans IDE 6.7.1 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">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.7.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.</p>
      
   <h5>Supported technologies:</h5>
   <table class="full-width">
     <tr>
       <td style="width:45%" class="valign-top">
      <ul>
         <li>Java EE 5 and J2EE 1.4</li>
         <li>JavaFX 1.2.1</li>
         <li>Java ME SDK 3.0</li>
         <li>Struts 1.2.9</li>
         <li>Spring 2.5</li>
         <li>Hibernate 3.2.5</li>
         <li>Java API for RESTful Web Services (JAX-RS) 1.0</li>
         <li>Java API for XML-based RPC (JAX-RPC) 1.6</li>
      </ul>

       </td>
       <td>
      <ul>
         <li>PHP 5.2</li>
         <li>Ruby 1.8</li>
         <li>JRuby 1.2</li>
         <li>Rails 2.1</li>
         <li>Groovy 1.5</li>
         <li>Grails 1.1</li>
         <li>VCS
         <ul>
           <li>CVS: 1.11.x, 1.12.x</li>
           <li>Subversion: 1.3.x, 1.4.x, 1.5.x</li>
           <li>Mercurial: 1.x</li>
           <li>ClearCase V7.0</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>Sun Java System Application Server 9.0 (GlassFish V1)</li>
         <li>Sun GlassFish Enterprise Server v2.1.1 (GlassFish V2.1.1)</li>
         <li>Sun GlassFish Enterprise Server v3 Prelude</li>
         <li>Sun Java System Application Server PE 8.2</li>
         <li>Tomcat 5.5</li>
         <li>Tomcat 6.0.18</li>
      </ul>
</div>
<div style="width:48%; font-size:11px; margin:0px auto; background-color:#ffffff; padding:10px; border:0px solid #e3e3e3;">
      <ul>
         <li>JBoss 4.0.4</li>
         <li>WebLogic 9.2</li>
         <li>WebLogic 10</li>
      </ul>
</div>
   <br style="clear:both;" >
    

<p class="notes"><b>Note:</b> If you are using the GlassFish application server, it is recommended that
you run Sun GlassFish Enterprise Server v2.1.1 in order to work with NetBeans IDE 6.7.1</p>
   
   <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:</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:</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 8.x:</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>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>OpenSolaris 2008.11</li>
      <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>You can download the JDK for your platform from one of the sites listed below: </p>
   <ul>
      <li><b>Solaris</b>: <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a></li>
      <li><b>Windows</b>: <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a></li>
      <li><b>Linux</b>: <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a></li>
      <li><b>Mac OS X</b>: <a href="http://www.apple.com/support/downloads/javaformacosx105update2.html">http://www.apple.com/support/downloads/javaformacosx105update2.html</a><br>
      for Mac OS X 10.5.4 and higher (includes Java SE 6, version 1.6.0_07 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://www.oracle.com/technetwork/java/archive-139210.html">http://www.oracle.com/technetwork/java/archive-139210.html</a>.</p>
   <p align="center"><a href="#top">top</a></p>
   
   <a name="compatibility"></a>
   <h2>Compatibility</h2>
    
   <p>When you first run the IDE, you can import a subset of the settings
      you used in previous versions of NetBeans IDE. If you choose not to import settings from a previous
   release, the IDE opens using the default settings.</p>
   
   <blockquote>
    <p class="notes"><b>Note:</b>The IDE only recognizes previous installations where the user directory resides in the default location. It does not recognize
     installations where you have specified a user directory using the <code>--userdir</code> switch. If you would like to import settings from an IDE that the installer does not recognize, download an archive version of the IDE instead of using the installer.</p>
      <p class="notes"><b>Note:</b> If you edit the Project Properties in NetBeans IDE 6.7.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>
   </blockquote>
    
   <!--</blockquote>-->
   <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.7.1 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://java.sun.com/javafx/1/reference/system-requirements-1-2.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://java.sun.com/javafx/1/reference/releasenotes/javafx-sdk-release-notes-1-2-1.html">JavaFX 1.2.1 SDK Release Notes</a>.</p>-->
</blockquote>

<p align="center"><a href="#top">top</a></p> 

   <a name="uml-plugin"></a>
 <h2>UML, SOA and Visual Web Module Availability</h2>
 <p>In order to focus our efforts on the latest and most popular developer technologies, the UML, SOA and Visual Web modules in NetBeans have been removed from the installer. The modules  can be installed by via the Tools &gt; Plugins menu in the IDE by searching for  the plugin names UML, SOA or Visual Web. The modules are also available on the Beta Update Center.</p>
 <p><strong>Enabling SOA Functionality in the IDE</strong></p>
 <p>In order to use the SOA module with NetBeans IDE 6.7.1, take the following steps:</p>
 <ol>
   <li>Install the <a href="https://netbeans.org/downloads/index.html"> &quot;All&quot; download</a> of NetBeans IDE 6.7.1 with the bundled Sun GlassFish Enterprise Server v2.1.1 rather than Sun GlassFish Enterprise Server v3 Prelude which does not work with the SOA module.</li>
     
  <li>From the OpenESB project download page, install the GlassFish ESB v2.1.1  for NetBeans 6.7 download bundle. Select your NetBeans 6.7 installation  directory as the directory for the GlassFish ESB installation.     </li>
</ol>
  
<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.7.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.7.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 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 &quot;export AWT_TOOLKIT=XToolkit&quot; command before running the installer using JDK 5.</p>
         </blockquote>
     </li>
     <li><a name="93568" id="93568"></a><a href="https://netbeans.org/bugzilla/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/bugzilla/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/bugzilla/show_bug.cgi?id=122030">Issue #122030</a>, <a name="130368"></a><a href="https://netbeans.org/bugzilla/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/bugzilla/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.7 Download page can be displayed in the language selected from the Choose Page Language drop-down list.
     <blockquote>
       <p><b>Description:</b> The Download page is displayed in the language which is
         specified as default for the used browser. If you are using a non-localized
         browser, it will be displayed in English. To view the Download page in
         Chinese, Japanese, or Brazilian Portuguese, select the relevant language
         from the Choose Page Language drop-down list at the top of the Download page.
       </p>
       <p><b>Workaround:</b> The localized Chinese, Japanese, and Brazilian Portuguese versions of the Firefox browser
       allow opening a localized Download page. To view the Download page in Chinese, Japanese, or Brazilian Portuguese, select the relevant language from the Choose Page Language drop-down list at the top of the Download page. </p>
	   </blockquote></li-->
	   <li>The NetBeans IDE 6.7.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>
</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&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">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/bugzilla/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/bugzilla/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/bugzilla/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/bugzilla/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/bugzilla/show_bug.cgi?id=113847">Issue #113847</a>.</p>
         </blockquote>
      </li>
      
      
      <li><a href="https://netbeans.org/bugzilla/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/bugzilla/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.1. However, NetBeans 6.7.1
 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/bugzilla/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/bugzilla/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/bugzilla/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. </p>      </blockquote>
     </li>
	 <li><a href="https://netbeans.org/bugzilla/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).	</p>   
	   </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/bugzilla/show_bug.cgi?id=163371">Issue #163371</a>: Maven Web Applications fail to deploy unless an Application Server is selected
         <blockquote>
         <b>Description: </b>Deploying a Web Service in a Maven Web Application may produce an IASDeploymentException
         <p><b>Workaround: </b>Select a deployment server by viewing the Project Properties > Run tab. </p>
         </blockquote>   
      </li> -->
      
      <!--li><a name="backwards"></a>Visual Web JSF Backwards Compatibility Kit
         <blockquote><b>Description: </b>The Visual Web JSF Backwards Compatibility kit provides supplemental libraries that are required by the Visual Web designer to support projects that are based on J2SE 1.4 or J2EE 1.4. These libraries are not open source and are therefore distributed as a separate NetBeans plugin. The kit will install the following libraries that are required for J2EE 1.4 projects:
            <ul>
               <li>JavaServer Faces 1.1 Reference Implementation (RI)</li>
               <li> Rowset Reference Implementation (RI) </li>
               <li>JAX-RPC libraries from JWSDP 1.6</li>
            </ul>
            <p>To get the Backwards Compatibility Kit, in the main menu, choose Tools &gt; Plugins. </p>
         </blockquote>   
      </li-->
      
      <li><a name="woodstock"></a>Woodstock 4.1 and 4.2 JSF Components Release Notes
         <blockquote><b>Description: </b>Woodstock 4.1 and 4.2 JSF Components Release Notes are located on the Project Woodstock
            web site, at <a href="http://java.net/projects/woodstock/" target="_blank">http://java.net/projects/woodstock/</a>.
         The build shipped with NetBeans IDE 6.7.1
 is Woodstock 4.2 Build 3.</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>
 
      <!--li><a name="113888"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=113888">Issue #113888</a>: Woodstock themes are incompatible with migration of projects from NetBeans IDE 5.5/5.5.1 to NetBeans 6.7. This issue is related to <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=99063">Issue #99063</a>, Missing Body Element switching to new Woodstock theme.
         <blockquote>
            <p><b>Description: </b>Projects with custom themes migrated to NetBeans IDE 6.7 will produce Missing Body Element errors.</p>
            <p><b>Workaround: </b>Manually switch to the default theme before migrating. Custom themes will not work and will need to be rebuilt.</p>
         </blockquote>
     </li-->
      
      <li><a name="98577"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=98577">Issue 94193</a>: Not possible to edit bean properties
         in the Outline window or through source packages in the Projects window.
         <blockquote>
            <p><b>Description: </b>In NetBeans IDE 6.7.1, the Add Menu item is disabled in the Navigator window and there is
            no functionality for editing the properties through source packages.</p>
            <p><b>Workaround: </b></p><ol><li>Double click SessionBean1 (or other java file) to open the bean in the Java editor.</li>
                  <li>Manually add the property, such as <tt>private String CustomerId;</tt>.</li>
                  <li>Right click on the property and choose Generate Code.</li>
                  <li>From the Generate popup menu, select Getters and Setters.</li>
              <li>In the Generate Getters And Setters dialog for SessionBean1, select your property and press OK.
              Public Getter and Setter methods are inserted after your property.</li>
            </ol>
         </blockquote>
      </li>
  
    <!--li><a name="95022"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=95022">Issue #95022</a>: Resizing of text field and other components does not work.
<blockquote>
            <p><b>Description: </b>Due to a change in Woodstock components, resize handles have been removed from the following Woodstock components: TextField, Text Area,Password Field, Drop Down and List Box. This issue impacts especially projects imported from Java Studio Creator and NetBeans Visual Web Pack 5.5/5.5.1. Resized components may look different from how they looked in previous releases.</p>
            <p><b>Workaround: </b>For TextField and Text Area components, use the columns and rows attributes, respectively. Drop Down and List Box have been enhanced to include a new width property. </p>
         </blockquote>
      </li-->
      <!--li>When displayed in IE7, all button components may be rendered with an incorrect width.
         <blockquote>
            <p><b>Description: </b>When a button is placed using absolute positioning, its width is incorrect. For example,
            when NetBeans IDE 6.7
  uses absolute positioning to place components in Grid Layout Mode, this problem may occur.</p>
            <p>IE7 expects a value to be specified for the width of buttons. If a width attribute is not specified, the width is set
               to <tt>width:auto</tt>, which results in the button's width being set to the entire available width of the button's container element.
               For example, if the button style has <tt>left=130px</tt> then the button will start at 130px left and will expand to the width of
            the <tt>&lt;body&gt; </tt>element. </p>
            <p><b>Workaround: </b> There are several different ways to solve this issue in NetBeans:</p>
            <ul>
               <li>Specify the width property for the button, or resize the button in the IDE to make the IDE assign a width to the button. </li>
               
               <li> In the IDE, drop the button into a Group Panel component to put the button inside a span tag. In this case there is no need to set the positioning as the
                  IDE sets the positioning for the Group Panel component. For example, the JSP code of a Button inside a Group Panel component may look like this:
                  <pre class="examplecode">&lt;webuijsf:panelGroup binding="#{Page1.groupPanel1}" id="groupPanel1" style="position: absolute; left: 240px;
top: 168px"&gt;     &lt;webuijsf:button binding="#{Page1.button1}" id="button1" text="Button"/&gt;
                  &lt;/webuijsf:panelGroup&gt;</pre>
               </li>
            </ul>
         </blockquote>
      </li-->
      
      <!--li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=106299">Issue #106299</a>: faces-config.xml of Visual Web JSF projects no longer contains the locale section, as in previous versions.
         <blockquote>
            <p><b>Description:</b> faces-config.xml used to have the commented section listing how to indicate other locales, with some lines for certain locales as an example.  Users must now   add these line manually, making sure the name of the locales of interest are in the supported locales
            section. </p>
            
            
            <p><b>Workaround:  </b>Manually add the desired locale to the locale section  of the  faces.config.xml file. Here is an example of how the code should appear:</p>
            <pre class="examplecode">&lt;application&gt;        &lt;locale-config&gt;            &lt;default-locale&gt;en&lt;/default-locale&gt;            &lt;supported-locale&gt;<b>desired locale</b>&lt;/supported-locale&gt;        &lt;/locale-config&gt;    &lt;/application&gt;
            </pre>
            <p>See also <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=103085">Issue #103085</a></p>
         </blockquote>
      </li-->
      
      
      <!--li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=125965">Issue #125965</a>: Null Pointer Exception on drag and drop after closing a Visual Web project close.
         <blockquote>
            <p><b>Description:</b> When working with two Visual Web JSF projects, and when closing the second project and returning
            to the first, may yield an Null Pointer Exception for the first drag and drop. </p>
            
            
            <p><b>Workaround:  </b>Press refresh in designer and continue working.
            If this does not help, it is necessary to restart the IDE.</p>
            
         </blockquote>
      </li-->
       </ul>
      <p align="center"><a href="#top">top</a></p>
    
   <!--a name="known_issues-websvc"></a>
   <h2>Known Issues: Web Services</h2>
   <p align="center"><a href="#top">top</a></p-->
   <a name="known_issues-db"></a>
   <h2>Known Issues: Database Support</h2>
    <p> NetBeans enables you to write code tointegrate 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/bugzilla/show_bug.cgi?id=168812">NetBeans 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> Mac OS, Solaris and other operating systems <a href="http://wiki.netbeans.org/wiki/view/FaqJ2MEOtherOpSys">are not supported</a> by MIDP emulator platforms.
         <blockquote>
            <p><b>Description:</b> NetBeans 6.7 Mobility and the Java ME SDK 3.0 bundled with this release only support the Windows and Linux operating systems.</p>
            <p><b>Workaround:</b> Mac OS users can download the <a href="http://mpowerplayer.com/">MPowerplayer</a> to develop mobile applications. 
            The FAQ has <a href="http://wiki.netbeans.org/FaqMobilityMpowerMacOs">instructions for installing Mpowerplayer in the IDE</a>.</p>
        </blockquote>
      </li-->
      <!--li>Connected Device Configuration (CDC) application development requires the installation of a CDC platform emulator.
         <blockquote>
            <p><b>Description:</b> There is not a CDC platform emulator bundled with the 6.7 release.</p>
            <p><strong>Workaround:</strong> Download and install the <a href="http://java.sun.com/javame/downloads/sdk30.jsp">Java ME SDK 3.0</a>. 
            After installation you must <a href="http://wiki.netbeans.org/FaqJavaMESDKinstall">register the Java ME platform</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/bugzilla/show_bug.cgi?id=139031">NetBeans 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-cnd"></a>
   <h2>Known Issues: C/C++</h2>
    
   <p>NetBeans 6.7.1 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:</p>
   <ul>
      <li><a href="https://netbeans.org/bugzilla/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/bugzilla/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/bugzilla/show_bug.cgi?id=166811">
            described in the workaround</a> for this bug.
            </p>
        </blockquote>
     </li>


      <li><a href="https://netbeans.org/bugzilla/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/bugzilla/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.</p>
         </blockquote>
      </li>
      <li><a href="https://netbeans.org/bugzilla/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>
                
           <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>
               <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.
            </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/">http://www.netbeans.org</a>. </p>
   
   <h4>Documentation</h4>
   <p>To get the most out of the features in NetBeans IDE 6.7.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="../../../../kb/docs/screencasts.html">NetBeans IDE Screencasts</a></li>
   </ul>
   <p>The built-in help system for NetBeans IDE 6.7.1 has been updated to support new features and minor changes to the user interface since the 6.5 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://nblocalization.netbeans.org//">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: NetBeans IDE 6.7.1 Release Notes">Send Us Your Feedback</a></div>
<br style="clear:both;">
<p class="align-center"><a href="#top">top</a></p> 
</body>
</html>

