<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
*  Copyright © 1997, 2013, Oracle and/or its affiliates. All rights reserved.
*  Use is subject to license terms.
-->
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>NetBeans IDE 7.4 Release Notes</title>
  <meta name="description" content="NetBeans IDE 7.4 Release Notes: System Requirements, New Features, Compatibility, Known Issues, Documentation">
  <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
  <link rel="stylesheet" type="text/css" media="print" href="../../../print.css">
  <style type="text/css">
<!--
.style2 {color: #000000}
-->
  </style>
</head>  
<body>
  <p>	<a name="top"></a>
  </p>
<h1>NetBeans IDE 7.4 Release Notes</h1>
  <div class="articledate" style="margin-left: 0px;">Last updated: <!-- #BeginDate format:Am1 -->October 11, 2013<!-- #EndDate --> </div>
<p>NetBeans<sup class="tmtext">TM</sup> IDE is a modular, standards-based integrated development environment (IDE), written in the Java<sup class="tmtext">TM</sup> programming language.
The NetBeans project consists of a <a href="https://netbeans.org/features/index.html">full-featured open source IDE</a> written in the Java programming language and a <a href="https://netbeans.org/features/platform/index.html">rich client application platform</a>, which can be used as a generic framework to build any kind of application. 
For information about how to install the software on your system, please see the <a href="install.html">NetBeans IDE 7.4 Installation Instructions</a>. 
To learn about the new features included in this release of the IDE see the <a href="index.html">NetBeans IDE 7.4 Release Information</a> page.</p>
  
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
   <li><a href="#new">What's New in 7.4</a></li>
   <li><a href="#supported_technologies">Supported Technologies</a></li>
   <li><a href="#system_requirements">System Requirements</a></li>
   <li><a href="#javafx">JavaFX Support</a></li>
   <li><a href="#sql-db">SQL and Databases</a></li>
   <li><a href="#ml">Multilingual Support</a></li>
   <li><a href="#compatibility">Compatibility with Earlier Releases</a></li>
   <li><a href="#deprecated">Archived Modules and Features</a></li>
   <li><a href="#known_issues">Known Issues</a>
   <ul>
   <li><a href="#known_issues-installer">Installer</a></li>
   <li><a href="#known_issues-core">Core IDE</a></li> 
   <!--<li><a href="#known_issues-javafx">JavaFX</a></li>-->
   <li><a href="#known_issues-web-java">Web and Java EE</a></li>
   <li><a href="#known_issues-html5">HTML5</a></li>
   <li><a href="#known_issues-php">PHP</a></li>
   <li><a href="#known_issues-cnd">C/C++</a></li>
  </ul></li>
   <li><a href="#more_info">More Information</a></li>
  </ul>
<a name="new"></a>
 
 <h2>What's New in 7.4 </h2>
 <ul>
 <li>HTML5 development for Android and iOS devices</li>
 <li>HTML5 development in Java EE and PHP applications</li>
 <li>Editing support for Knockout and AngularJS frameworks</li>
 <li>Java SE 8 Support</li>
 <li>Redesigned JavaFX support according to JDK 8 architecture</li>
 <li>Additional enhancements are listed on the <a href="http://wiki.netbeans.org/NewAndNoteworthyNB74" target="_blank">NetBeans IDE 7.4 New and Noteworthy</a> page.</li>
 </ul>
   
<p>For more about this release, see the <a href="index.html">NetBeans IDE 7.4 Release Information</a> page.</p>
  <a name="supported_technologies"></a>
  <h2>Supported Technologies</h2>
 <p>NetBeans IDE 7.4 supports the following technologies and has been tested with the following application servers. 
     If you plan to use versions other than those explicitly listed, please note that you may encounter unpredictable IDE behavior. 
     See the <a href="http://wiki.netbeans.org/NetBeans_74_Supported_Platforms" target="_blank">NetBeans IDE 7.4 Supported Platforms</a> page for more details on the tested platforms and runtimes for this release.</p>
   
  <h5>Supported technologies:</h5>
  <table class="full-width">
   <tr>
    <td style="width:45%" class="valign-top">
   <ul>
     <li>Java EE 7, Java EE 6, Java EE 5 and J2EE 1.4</li>
     <li>JavaFX 2.2.x</li>
     <li>Java ME SDK 3.2</li>
     <li>Java Card 3 SDK</li>
     <li>Struts 1.3.10</li>
     <li>Spring 3.2, 2.5</li>
     <li>Hibernate 3.6.10</li>
     <li>Java Wireless Toolkit 2.5.2 for CLDC</li>
     <li>Issue Tracking
     <ul>
      <li>Bugzilla 4.0.x and earlier</li>
      <li>Jira 5.0 and earlier  </li>
      </ul>
     </li>
   </ul>
   </td>
    <td>
   <ul>
     
     <li>PHP 5.4, 5.3, 5.2, 5.1</li>
     <li>Groovy 2.1</li>
     <li>Grails 2.2</li>
     <li>Apache Ant 1.9.1</li>
     <li>Apache Maven 3.0.5 and earlier </li>
     <li>C/C++/Fortran</li>
     <li>VCS
     <ul>
      
      <li>Subversion: 1.7.x, 1.6.x</li>
      <li>Mercurial: 2.2.x and earlier   </li>
      <li>ClearCase V7.0</li>
      <li>Git 1.7.х</li>
     </ul>
     </li>
   </ul>    </td>
   </tr>
   
  </table>
  
<br style="clear:both;">
  
  <h5>Tested application servers:</h5>
  
  <div style="float:left; width:48%; font-size:11px; margin:0px auto; padding:10px; background-color:#ffffff; border:0px solid #e3e3e3;">
   <ul>
     <li>GlassFish Server Open Source Edition 4.0 </li>
     <li>WebLogic 12c</li>
   </ul>
</div>

<br style="clear:both;"> 

<h5>Known to run application servers:</h5>

<div style="float:left; width:48%; font-size:11px; margin:0px auto; padding:10px; background-color:#ffffff; border:0px solid #e3e3e3;">
   <ul>
     <li>GlassFish Server Open Source Edition 3.x </li>
     <li>Tomcat 7.x</li>
     <li>JBoss AS 7.x</li>
	 <li>WebLogic 11g</li>
   </ul>
</div>

<br style="clear:both;"> 
  
  <a name="system_requirements"></a>
  <h2>System Requirements</h2>
  <p>NetBeans IDE runs on operating systems that support the Java VM (Virtual Machine) and has been tested on the platforms listed below. </p>
  
  <p class="notes"><b>Note:</b> The IDE's minimum screen resolution is 1024x768 pixels.</p>
  
  <br style="clear:both;">
  
  
  <a name="req_os"></a>
  <!--      <h5 style="border-bottom:0">Supported Hardware Configurations</h5>-->
  <h5 style="border-bottom:0">Supported Operating Systems</h5>
  
  
  <div style="width:98%; border:0px solid #e3e3e3;">
   
   <div style="float:left; width:45%; height:auto; font-size:11px; margin:0px; padding-top:0px; padding-left:10px; padding-right:5px; padding-bottom:10px; border:0px solid #e3e3e3;">
     <blockquote>
      <h3 style="border-bottom:0; margin-bottom:10px">Minimum Hardware Configurations</h3>
      <ul>
       <li><b>Microsoft Windows XP Professional SP3/Vista SP1/Windows 7 Professional:</b>
         <ul>
         <li><b>Processor: </b>800MHz Intel Pentium III or equivalent</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>750 MB of free disk space </li>
        </ul>
       </li>
      </ul>
      <ul>
       <li><b>Ubuntu 9.10:</b>
         <ul>
         <li><b>Processor: </b>800MHz Intel Pentium III or equivalent</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>650 MB of free disk space</li>
        </ul>
       </li>
      </ul>
      <ul>
       <li><b>Solaris OS version 11 Express (SPARC):</b>
         <ul>
         <li><b>Processor: </b> UltraSPARC II 450 MHz</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>650 MB of free disk space</li>
        </ul>
       </li>
      </ul>
      <ul>
       <li><b>Solaris OS version 11 Express (x86/x64 Platform Edition):</b>
         <ul>
         <li><b>Processor: </b>AMD Opteron 1200 Series 1.8 GHz</li>
         <li><b>Memory: </b>512 MB</li>
         <li><b>Disk space: </b>650 MB of free disk space</li>
        </ul>
       </li>
       <li><b>Macintosh OS X 10.7 Intel:</b>
         <ul>
         <li><b>Processor: </b>Dual-Core Intel</li>
         <li><b>Memory: </b>2 GB</li>
         <li><b>Disk space: </b>650 MB of free disk space </li>
        </ul>
       </li>
      </ul>
     </blockquote>
   </div>
   
  <div style="float:right; width:45%; height:auto; font-size:11px; margin:0px; padding-top:0px; padding-left:5px; padding-right:10px; padding-bottom:10px; background-color:#f9f9f9; border:1px solid #e3e3e3;">
    <h3 style="border-bottom:0; margin-bottom:10px">Recommended Hardware Configurations</h3>
     <ul>
      <li><b>Microsoft Windows XP Professional SP3/Vista SP1/Windows 7 Professional:</b>
        <ul>    
         <li><b>Processor: </b>Intel Core i5 or equivalent</li>
         <li><b>Memory: </b>2 GB (32-bit), 4 GB (64-bit)</li>
         <li><b>Disk space: </b>1.5 GB of free disk space</li>
        </ul>
       </li>
        
      <li><b>Ubuntu 12.04:</b>
        <ul>
         <li><b>Processor: </b>Intel Core i5 or equivalent</li>
         <li><b>Memory: </b>2 GB (32-bit), 4 GB (64-bit)</li>
         <li><b>Disk space: </b>1.5 GB of free disk space</li>
        </ul>
      </li>
      
      <li><b>Solaris OS version 11 Express (SPARC):</b>
        <ul>
        <li><b>Processor: </b>UltraSPARC IIIi 1 GHz</li>
        <li><b>Memory: </b>2 GB</li>
        <li><b>Disk space: </b>850 MB of free disk space</li>
       </ul>
      </li>
       
      <li><b>Solaris OS version 11 Express (x86/x64 platform edition):</b>
        <ul>
        <li><b>Processor: </b>AMD Opteron 1200 Series 2.8 GHz</li>
        <li><b>Memory: </b>2 GB (32-bit), 4 GB (64-bit)</li>
        <li><b>Disk space: </b>1.5 GB of free disk space</li>
       </ul>
      </li>

      
             
      <li><b> OS X 10.8 Intel:</b>
        <ul>
        <li><b>Processor: </b>Dual-Core Intel</li>
        <li><b>Memory: </b>4 GB</li>
        <li><b>Disk space: </b>1.5 GB of free disk space</li>
       </ul>
      </li>
    </ul>
   </div>
   <br style="clear:both;">
  </div>
  
<br style="clear:both;">
  
<p>NetBeans IDE is also known to run on the various other Linux distributions such as Oracle Linux 5, Ubuntu 8.x, Red Hat Enterprise Linux, Fedora 14, and many others.</p>
<p class="notes"><b>Note</b>: NetBeans Web and Java EE support are particularly demanding on system resources - especially when used in combination 
              with application servers. While the above system requirements apply to most configurations of the IDE, for the best results 
            make sure that your system meets at least the <i>recommended</i> system requirements when developing Web and Java EE applications.</p>
			
  <a name="req_sw"></a>
  <h2>Required Software</h2>
    <p>NetBeans IDE runs on the Java SE Development Kit (JDK) which consists of the Java Runtime Environment and 
    developer tools for compiling, debugging, and running applications written in the Java language. </p>
    <p>The tested JDK for this release is JDK 7u25 for Windows, Linux, Solaris and OS X. 
    The 7.4 version of the IDE cannot be installed or run using JDK 6.0.</p>
  
    <p class="notes"><b>Note</b>: The PHP and C/C++ NetBeans bundles only require the Java Runtime Environment (JRE) 7 to be installed and run.
  Java features in the IDE require JDK 7. JavaFX 2.2 (or newer) features require JDK 7 Update 6 (or newer).</p>
  
 <p>You can download the JDK for your platform from one of the sites listed below: </p>
  <ul>
   <li><b>Windows, Linux and Solaris</b>: <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a></li>
   <li><b>OS X</b>: 
   <ul>
   <li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a><br>
   for OS X Lion (10.7) or Mountain Lion (10.8)</li>
   </ul>
     <p class="notes"><b>Note</b>: Java SE 7 is required to install and run NetBeans IDE 7.4.</p>
   </li>
</ul>
 
  <p align="center"><a href="#top">top</a></p>

<a name="javafx"></a>
  <h2>JavaFX Support</h2>
    <p>The JavaFX SDK is not bundled with the NetBeans IDE 7.4 release.
    The JavaFX 2.2 SDK (and newer) is bundled with the latest JDK 7 for Windows, OS X and Linux.
    You can install the JavaFX 2.2.40 SDK together with 
    <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html">Java SE Development Kit 7u40</a> 
    as a co-bundled product. 
    </p>
    
    <p>Unlike previous versions of NetBeans IDE, NetBeans IDE 7.4 does not require that you 
        set up an &quot;FX-enabled&quot; Java platform in order to utilize JavaFX support in the IDE. 
        You can develop JavaFX projects in the IDE 
        if you install any standard Java platform that is JDK 7 Update 6 or newer (JDK 7 Update 10 or newer is strongly recommended).</p>

    
    
    <p>Please note the following:</p>
  <ul>
    <li>The minimum supported JDK version for JavaFX 2.2.0 is Java SE 7 Update 6.</li>
    <li>The minimum supported JDK version for JavaFX 2.2.5 is Java SE 7 Update 13.</li>
    <li>The minimum supported JDK version for JavaFX 2.2.40 is Java SE 7 Update 40.</li>
</ul>
    <p>See the <a href="http://docs.oracle.com/javafx/release-documentation.html" target="_blank">JavaFX Release Documents</a> 
       page for more information about system requirements, supported platforms and known issues for the current and previous
       versions of JavaFX SDK.</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 7.4: </p>
 <ul>
   <li><b>Upgraded Drivers.</b> The MySQL drivers included in NetBeans IDE have been updated to version 6.0.</li> 
   <li><b>Tested Drivers</b>
    <p>NetBeans IDE 7.4 has been tested with the following databases and drivers.</p>
    <table width="70%" border="0" cellpadding="1">
     <tr class="tblheader">
      <th width="65" scope="col"><div align="left">Driver</div></th>
       <th width="241" scope="col"><div align="left">Version</div></th>
       <th width="557" scope="col"><div align="left">Example URL </div></th>
     </tr>
     <tr class="tbltd0">
      <td>JavaDB</td>
       <td>Derby 10.3.1.4</td>
       <td><code>jdbc:derby://localhost:1527/sample</code> (Network)</td>
     </tr>
     <tr class="tbltd1">
      <td>Oracle</td>
       <td>Oracle Database 11g (11.1.0.7)</td>
       <td><code>jdbc:oracle:thin:@//localhost:1521:ora11i</code></td>
     </tr>
    
    </table>
   </li>
   <li><b>Other Drivers</b>
     <p>The following drivers and databases have not been formally tested, but should work based on experience.</p>
     <table width="70%" border="0" cellpadding="5">
      <tr class="tblheader">
        <th width="75" scope="col"><div align="left">Driver</div></th>
        <th width="110" scope="col"><div align="left">Version</div></th>
        <th width="655" scope="col"><div align="left">Example URL</div></th>
      </tr>
	   <tr class="tbltd0">
      <td>PostgreSQL</td>
       <td>8.x</td>
       <td><code>jdbc:postgresql://jsmith.mycompany.com:5432/postgres</code></td>
     </tr>
     <tr class="tbltd1">
      <td>MySQL</td>
       <td>MySQL Connector/J 6.0</td>
       <td><code>jdbc:mysql://localhost:3306/sample</code></td>
     </tr>
      <tr class="tbltd0">
        <td>Microsoft </td>
        <td>Microsoft SQL Server 2005 JDBC Driver 1.2.2828.100 </td>
        <td><code>jdbc:sqlserver://localhost:1433;databaseName=travel;selectMethod=cursor</code></td>
      </tr>
      <tr class="tbltd1">
        <td> IBM</td>
        <td>Redistributable DB2 JDBC Type 4 driver v8 fixpack 13        </td>
        <td><code>jdbc:db2://localhost:50002/sample</code></td>
      </tr>
      <tr class="tbltd0">
        <td> jTDS </td>
        <td>jTDS 1.2.1 </td>
        <td><code>jdbc:jtds:sqlserver://test-mycompany.com:1433/travel</code></td>
      </tr>
      <tr class="tbltd1">
        <td> DataDirect </td>
        <td>DataDirect Connect for JDBC - 3.6 
        DataDirect Connect for JDBC - 3.6.07</td>
        <td><code>jdbc:datadirect:oracle://localhost;SID=ora11i</code> 
         <code>jdbc:datadirect:sqlserver://localhost:1433;DatabaseName=travel;SelectMethod=cursor</code> 
        <code>jdbc:datadirect:db2://localhost:50002;databaseName=sample</code></td>
      </tr>
     
  </table>
  </li>
   <li>For Database troubleshooting information please refer to the <a href="http://wiki.netbeans.org/NetBeansUserFAQ#Database_Connectivity" target="_blank"> NetBeans Database Connectivity User FAQ</a>.</li>
</ul>

  
 <p align="center"><a href="#top">top</a></p> 
   
<a name="ml"></a>
  <h2>Multilingual Support Information</h2>
  <p>NetBeans IDE is translated into the following languages: Brazilian Portuguese (BR), Japanese (JP), Simplified Chinese (ZH), and Russian (RU).</p>
  <p>Community translations of the IDE are also available in several <a href="http://wiki.netbeans.org/TFL10nCommunityStatus" target="_blank">additional languages</a> and can be <a href="https://netbeans.org/downloads/" target="_blank">downloaded</a> from the Community Contributed section of the IDE Language drop-down menu.</p>
   <p align="center"><a href="#top">top</a></p> 

 <a name="compatibility"></a>
  <h2>Compatibility with Earlier Releases</h2>
  
  <p>When the IDE is run for the first time after installation you have the option to import some of the settings
   used in a previous installation. The IDE opens using the default settings if you choose not to import the settings from the existing installation. 
   Note the IDE only recognizes previous installations when the user directory resides in the default location. 
   It does not recognize installations that use the <code>--userdir</code> switch to specify a user directory. 
If you would like to import settings from a location that the installer does not recognize do the following:</p> 
  <ol>
     <li>Start the IDE go to Tools &gt; Options in the main menu.</li>
     <li>Click the Import button at the bottom of the Options dialog.</li>
     <li>In the Select Options to Import dialog, click the Browse button and navigate to the user directory that contains 
     the settings you want to import. For more about the location of the NetBeans IDE <tt>userdir</tt>, see the FAQ
     <a href="http://wiki.netbeans.org/FaqWhatIsUserdir" target="_blank">What is a <tt>userdir</tt> and where can I find it?</a></li>
</ol>
   
   <p align="center"><a href="#top">top</a></p> 

  <a name="deprecated"></a>
 <h2>Archived Modules and Features</h2>
  <p>The complete list of NetBeans Archived Features is available at <a href="http://wiki.netbeans.org/NetBeansArchivedFeatures" target="_blank">http://wiki.netbeans.org/NetBeansArchivedFeatures</a>.</p>
 

 <p align="center"><a href="#top">top</a></p> 
  
   <a name="known_issues"></a>
  <h2>Known Issues</h2>
  <a name="known_issues-installer"></a>
  <h3>Installer</h3> 
  <p>The unresolved installer issues for this release are as follows: </p>
 
  <ul>
   <li><a name="93568"></a><a href="http://www.netbeans.org/issues/show_bug.cgi?id=93568" target="_blank">Issue #93568</a>: On Solaris and Linux, installation hangs when the network connection is lost.
     <blockquote>
      <p><b>Description:</b> On Solaris and Linux platforms, if the network connection is lost, installation hangs when the installer is searching for a compatible JDK in network directories.</p>
      <p><b>Workaround:</b> Restore the network connection and proceed with the installation.</p>
     </blockquote>
   </li>
    
  <li><a name="117172"></a><a href="http://www.netbeans.org/issues/show_bug.cgi?id=117172" target="_blank">Issue #117172</a>: A blank window when running the installer on Ubuntu.
     <blockquote>
      <p><b>Description:</b> The installer appears as the blank/gray dialog when running on Ubuntu with Beryl/Compiz/Compiz Fusion 
       installed. </p>
      <p><b>Workaround:</b> Execute the <b><tt>export AWT_TOOLKIT=MToolkit</tt></b> command before running the installer.</p>
     </blockquote>
   </li>
	 <li>
	 <a name="123300"></a><a href="http://www.netbeans.org/issues/show_bug.cgi?id=123300" target="_blank">Issue #123300</a>:
	 On Fedora Core 8 the installer stops displaying the interface and returns to the console. 
	 <blockquote>
     <p><b>Description:</b> On Fedora Core 8, displaying the installation interface stops and the system returns to the console.</p>
    <p><b>Workaround:</b> See <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373" target="_blank">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373</a>.</p>
	 </blockquote>
	 </li>
	  
	  
</ul>
<p align="center"><a href="#top">top</a></p> 
 <a name="known_issues-core"></a>    
  <h3>Core IDE </h3>
   
   <p>The unresolved Core IDE issues for this release are as follows: </p>
   <ul>
      <!-- TEMPLATE FOR BUGS -->
                <!--
                    <li><a href="ADD ISSUE LINK HERE">Issue #ADD_ISSUE_NUMBER_HERE: ADD_ISSUE_TITLE_HERE.</a>
                        <blockquote>
                            <p><b>Description:</b> ADD DESCRIPTION HERE.</p>
                            <p><b>Workaround:</b> ADD WORKAROUND HERE.</p>
                        </blockquote>
                    </li>
                -->


      <li><b>Difficulties starting the IDE (Solaris x86 and Dual-Core Opteron).</b>
         <blockquote>
            <p><b>Description:</b> On certain Solaris x86 and Dual Core Opteron configurations,
            you may encounter problems starting the IDE due to a JDK bug with loading GTK <code>look&amp;feel</code> libraries.</p>
            <p><b>Workaround: </b>If you encounter this behavior, specify the following command line option:
               <tt>-laf javax.swing.plaf.metal.MetalLookAndFeel</tt> </p>
         </blockquote>
      </li>

      <li><b>Characters do not display properly in some Asian locales.</b>
         <blockquote>
            <p><b>Description:</b> When running the IDE with some Asian locales on Ubuntu and some other Linux distributions,
               the IDE's screen text may become unreadable. On certain Linux distributions multi-byte characters may display as
            a rectangle due to JDK font setting issues. </p>
           <p><b>Workaround:</b> Please see the FAQ for help with resolving this issue: <a href="http://wiki.netbeans.org/FaqI18nLinuxAsianFonts" target="_blank">http://wiki.netbeans.org/FaqI18nLinuxAsianFonts</a></p>
        </blockquote>
     </li>      
      
	   
	  
	  <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=119617" target="_blank">Issue #119617</a>:
         Cursor lost in editor and cannot type using keyboard.
         <blockquote>
            <p><b>Description:</b> It can sometimes occur that after using a hint in the editor window
            that the insertion point in the editor disappears and you cannot type using the keyboard.
            This has mostly been reported on Mac OS X 10.4, but there have been some reports on some versions of Ubuntu.</p>
            <p><b>Workaround: </b>Use the mouse to open and then close a dialog window (for example, a properties dialog).
            This returns the focus to the editor and the insertion point and keyboard will work as normal.</p>
         </blockquote>
      </li>
       <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=130357" target="_blank">Issue #130357</a>: I18N - OS X will not generate javadoc if the project name or path has multibyte
        characters.
         <blockquote>
        <p><b> Description: </b>The javadoc task is written in  MacRoman, the default OS X encoding, when creating the temporary parameter file.
          This may be due to the BSD and Mach parts (system &amp; kernel calls) accepting parameters in UTF-8, 
          but the OS X and HFS only accepting MacRoman.</p>
        <p><b>Workaround: </b>Avoid using multibyte characters in the name of the project or the path to the project.</p>
        </blockquote>
     </li>
       
         
     
	  <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=200826" target="_blank">Issue #200826</a>: On Windows 7, newly installed IDE running on JDK 7 won't connect to network.
         <blockquote>
        <p><b> Description:</b> In some cases the firewall of the local system may filter responses from the network while connecting to a remote host. 
            When connecting to a remote host the JDK will first attempt to use IPv6 and then IPv4. 
            The firewall may filter out a negative response from the host when using IPv6 with the result that
            the JDK does not attempt to connect to the host using IPv4.</p>
        <p><b>Workaround: </b>Modify the <tt>netbeans.conf</tt> to add the <tt>-J-Djava.net.preferIPv4Stack=true</tt> command line switch, or modify the NetBeans options of the environment variable.</p>
        </blockquote>
     </li>
	 <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=207060" target="_blank">Issue #207060</a>: On Windows XP,  UNC paths cannot be used as URIs.
         <blockquote>
            <p><b>Description:</b> On Windows XP, the automatic update of any file view (Project, Files, etc.) does not work when UNC style paths are used (for example,
<tt>\\MyServer\myShare\myDirectory</tt>) instead of drive letters (for example, <tt>Y:\myDirectory</tt>). </p>
           <p><b>Workaround:</b> Restart the IDE. Alternatively,  choose <tt>Tools</tt> &gt; <tt>Options</tt> &gt; <tt>Miscellaneous</tt> &gt; <tt>Files</tt> from the main menu, deselect the <tt>Enable auto-scanning of sources</tt> option, and select <tt>Refresh Folder</tt> in the context menu of a folder.</p>
       </blockquote>
     </li>
	 
	 <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=211406" target="_blank">Issue #211406</a>:
          Views and Palettes keeps scrolling itself to the drag position after drag-and-drop.
         <blockquote>
            <p><b>Description:</b> After dragging and dropping something from Projects or Files Views or Palette
            in GUI designers, when you scroll the View or Palette up or down it will
            scroll back to the drag position, requiring you to scroll to select some nodes and components.</p>
           <p><b>Workaround:</b> You must restart the IDE.</p>
        </blockquote>
     </li>
	 <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=215141" target="_blank">Issue #215141</a>:
          IDE on a Retina Macbook is very blurry.
         <blockquote>
            <p><b>Description:</b> The IDE appears blurry when viewed on a Retina display.</p>
           <p><b>Workaround:</b> Run the IDE on preview builds of either JDK 7 Update 40 or JDK 8.</p>
        </blockquote>
     </li>
	 <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=231807" target="_blank">Issue #231807</a>:
          File chooser displays no file contents in the Open Project and Select Project Location dialog boxes.
         <blockquote>
            <p><b>Description:</b> On OS X, the file chooser is blank after File &gt; Open Project is selected in the IDE or a folder for a new project location is selected in a new project wizard.</p>
           <p><b>Workaround:</b> Disable the &quot;Maximize Native Look and Feel&quot; option.</p>
        </blockquote>
     </li>
	 <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=236338" target="_blank">Issue #236338</a>: On OS X, the JVM might crash when running the IDE on JDK 7.
        
	   <blockquote>
            <p><b>Description:</b> The JVM might crash on some machines that are running OS X and some versions of JDK 7. The crash might occur when you start NetBeans IDE, close the lid (or put the machine to sleep), wake the machine and attempt to work with the IDE.</p>
            <p><b>Workaround:</b> Switch to JDK 7 update 40 or newer.</p>
       </blockquote>
     </li>
     <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=239962" target="_blank">Issue #239962</a>: Cannot connect to Derby DB when running IDE on JDK 7u51.
	   <blockquote>
            <p><b>Description:</b> Security exception when trying to start Java DB from the IDE when running JDK 7u51.</p>
            <p><b>Workaround:</b> Start Java DB manually from the command line with <code>-noSecurityManager</code> switch,
                for example <code>&lt;JDK 7u51 location&gt;/db/bin/startNetworkServer -noSecurityManager</code> .
                For details, see <a href="http://wiki.netbeans.org/JavaDB_grant_permissions">http://wiki.netbeans.org/JavaDB_grant_permissions</a>.</p>
       </blockquote>
     </li>

	
</ul>

<p align="center"><a href="#top">top</a></p> 

   <a name="known_issues-web-java"></a>
   <h3>Web and Java EE </h3>
    <p>The unresolved Web and Java EE issues for this release are as follows: </p>
       <ul>
	   
       <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=183614" target="_blank">Issue #183614</a>: Step Into does not work properly with EJB.
         <blockquote>
         <p><b>Description</b>: When debugging a servlet, Step Into an EJB call stops at unrelated code.</p>
          <p><b>Workaround</b>: Set a breakpoint in the EJB implementation code and use Step Over.</p>
         </blockquote>   
      </li>
	  <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=232018" target="_blank">Issue #232018</a>: JPA support uses a snapshot version of EclipseLink 2.5.0 in Maven projects. 
         <blockquote>
         <p><b>Description</b>: JPA support uses a snapshot version of EclipseLink 2.5.0 in Maven projects due to an <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=408212">EclipseLink issue</a>.</p>
          <p><b>Workaround</b>: To use final versions of Maven artifacts when an application does not use a static metamodel, correct your POM file manually, taking into account the EclipseLink issue mentioned above (delete the link to <tt>molelgen.jar</tt> from the POM file, then delete the EclipseLink repository configuration from the POM file and replace version 2.5.0-SNAPSHOT by 2.5.0). </p>
         </blockquote>   
      </li>
	 
      </ul>
	  
      
      <p align="center"><a href="#top">top</a></p>
  <a name="known_issues-html5"></a>
   <h3>HTML5</h3>
    <p>The unresolved HTML5 issues for this release are as follows: </p>
    <ul>
        <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=236967" target="_blank">Issue #236967</a>: Cordova projects may fail to build with Cordova 3.1.0. 
         <blockquote>
         <p><b>Description</b>: Due to a <a href="https://issues.apache.org/jira/browse/CB-4992">Cordova issue</a> 
             the IDE might replace the old version of a plugin with a newer one, 
             which can result in dependent plugins being removed and the Cordova project failing to build.</p>
          <p><b>Workaround</b>: Perform the following steps:</p>
          <ol>
                <li>Remove <tt>core</tt> from the Cordova plugin name in the plugin properties file (<tt>[projectFolder]/nbproject/plugins.properties</tt>)<br> 
          (for example, changing <tt>org.apache.cordova.core.camera</tt> to <tt>org.apache.cordova.camera</tt>.)</li>
                <li>Delete contents of the <tt>[projectFolder]/platforms</tt> and <tt>[projectFolder]/plugins</tt> folders.</li>
                <li>Rebuild the project.</li>
          </ol>
         </blockquote>   
      </li>
    </ul>
   
   <p align="center"><a href="#top">top</a></p>
   <!--a name="known_issues-websvc"></a>
   <h2>Known Issues: Web Services</h2>
   <p align="center"><a href="#top">top</a></p-->
   <!--a name="known_issues-db"></a>
<h2>Known Issues: Database Support</h2>
    <p> NetBeans enables you to write code to integrate and connect your applications to databases. </p>
<p>The unresolved database issues for this release are as follows: </p-->
  
   <!--<a name="known_issues-mobility"></a>
   <h3>Java ME</h3>
 
   <p> NetBeans enables you to develop Java ME based applications for MIDP, CLDC and CDC devices. </p>

   <p>The unresolved Java ME issue for this release are as follows: </p>
   
   <ul>  
         <li><a href="http://www.netbeans.org/issues/show_bug.cgi?id=" target="_blank">Issue #</a>: 
         <blockquote>
            <p><b>Description: </b></p>
            <p><strong>Workaround:</strong> </p>
         </blockquote>
      </li>
</ul>
  

       <p align="center"><a href="#top">top</a></p>-->
 <a name="known_issues-php"></a>
  <h3>PHP</h3>
   <p>The unresolved PHP issue for this release is as follows: </p>
   <ul>
   	  <li>
	 <a name="201449"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=201449" target="_blank">Issue #201449</a>:
	 FTP and SFTP do not work with Java 7 on Windows 7 or   Vista.  
	 <blockquote>
     <p><b>Description:</b> Windows 7 or Windows Vista users running the NetBeans IDE on JDK 7 may
experience FTP and SFTP communication failure.</p>
     <p><b>Workaround:</b> Check Windows Firewall. Windows Firewall blocks some FTP and SFTP operations launched by JDK 7. See <a href="http://wiki.netbeans.org/FAQConfiguringWinFirewallForPassiveFTP">NetBeans Configuring Windows Firewall For Passive FTP User FAQ</a> for details.</p> 
	 </blockquote>
	 </li>
   </ul>
   <p align="center"><a href="#top">top</a></p>    
 <a name="known_issues-cnd"></a>
   <h3>C/C++</h3>
    
   <p>NetBeans C/C++ support C,  C++,  Fortran and various Assemblers (x86, SPARC, etc.) applications on Microsoft Windows, Macintosh OS X, Linux, and the Solaris<small><sup>TM</sup></small> 
   Operating System. C/C++ developers can bring existing applications into the NetBeans project system, or develop new applications and libraries. 
   NetBeans C/C++ support covers the end-to-end development cycle: projects and templates, an advanced language-aware editor, makefile-based builds, 
   and debugging.</p>
   <p>For information on installing and configuring the compilers and tools for NetBeans C/C++ support, 
   see <a href="cpp-setup-instructions.html" target="_blank">Installing and Configuring C/C++ Support</a>.
   </p>
    <p>The unresolved C/C++ issues for this release are as follows: </p>
    <ul>
    <li>
	 <a name="200196"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=200196" target="_blank">Issue #200196</a>: On some Linux platforms, &quot;Step Over&quot;  sometimes behaves as &quot;Continue&quot;.
	  
	 <blockquote>
     <p><b>Description:</b>  On some Linux platforms (Ubuntu, Debian, etc.), &quot;Step Over&quot;  sometimes behaves as &quot;Continue&quot; when versions of GDB are equal to 7.2 or lie within the range of 7.2 to 7.4.</p>
     <p><b>Workaround:</b> Use GDB versions earlier than 7.2, or GDB 7.4 and more recent, or specify &quot;Console Type&quot; (Project Properties &gt; Run)  to another option in the Terminal window.</p>
	 </blockquote>
	 </li>	
	 <li>
	 <a name="225920"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=225920" target="_blank">Issue #225920</a>: On Linux, C makefile build fails with the &quot;Permission denied&quot; error, if the <tt>tmp</tt> directory has no execution permission.
	  
	 <blockquote>
     <p><b>Description:</b> On Linux, C makefile build fails with the &quot;Permission denied&quot; error, if the <tt>tmp</tt> directory has no execution permission.</p>
     <p><b>Workaround:</b> Set the execution permission to the <tt>tmp</tt> directory or run the IDE with the <tt>-J-Djava.io.tmpdir=&lt;path_to_new_tmp_dir&gt;</tt> option to redefine the <tt>tmp</tt> directory. </p>
	 </blockquote>
	 </li>	
	 <li>
	 <a name="234221"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=234221" target="_blank">Issue #234221</a>:  On Windows 32-bit, the IDE (and 32-bit version of JDK) does not work with the 64-bit version of Cygwin and vice versa. 
	  
	 <blockquote>
     <p><b>Description:</b> On the 32-bit version of Windows, the IDE (and 32-bit version of JDK) does not work with the 64-bit version of Cygwin and vice versa</p>
     <p><b>Workaround:</b> Install and use the IDE, JDK, and Cygwin with the matching bitness (for example, all the three software components need to be 32-bit).</p>
	 </blockquote>
	 </li>
	 <li>
	 <a name="235406"></a><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=235406" target="_blank">Issue #235406</a>: On Windows, the IDE displays the contents of the Terminal window with low contrast.
	  
	 <blockquote>
     <p><b>Description:</b> On Windows, the IDE displays the contents of the Terminal window with low contrast.</p>
     <p><b>Workaround:</b> Set the PS1 environment variable in the Cygwin <tt>&lt;home_dir&gt;/.bashrc</tt> file to another value. </p>
	 </blockquote>
	 </li>		
   </ul>


<a name="more_info"></a>
   <h2>More Information</h2>
    
   <p>You can find news, articles, additional modules, and other useful information on the NetBeans project web site.
      Since NetBeans is an open-source project, the web site also provides access to source code, a bug database, information on
      creating your own NetBeans modules, and much more. For more information, visit
   <a href="https://netbeans.org/" target="_blank">http://netbeans.org</a>. </p>
   
   <h4>Documentation</h4>
   <p>To get the most out of the features in NetBeans IDE 7.4, check out our web-based tutorials at the <a href="../../../kb/index.html" target="_blank">NetBeans IDE Documentation</a> page.</p>
   <p>Additional reference documentation resources include:</p>
  <ul>
      <li>The <a href="http://wiki.netbeans.org/NetBeansUserFAQ" target="_blank">NetBeans User FAQ</a> has many workarounds and troubleshooting tips not included in the 
   Release Notes.</li>     
      <li>The IDE's built-in help system has detailed support information for features included in all of the NetBeans IDE modules.</li>
      <li>See <a href="../../../kb/articles/mac.html" target="_blank"> Using NetBeans IDE on the OS X</a> for information about keyboard equivalents, tips, tricks, and other OS X-specific topics.</li>
</ul> 
   
   <h4>Community</h4>
   <p>Keep up to date on the the latest developments and interact with the NetBeans community
   by signing up for NetBeans project mailing lists at <a href="../../lists/index.html" target="_blank">http://www.netbeans.org/community/lists</a>.</p>
   <p>You can post questions at <a href="http://forums.netbeans.org/" target="_blank">http://forums.netbeans.org</a>. The forums are synchronized with the most widely used NetBeans mailing lists. Note that a separate sign up for the forums is required.</p>
      <p>Please visit the community translation information page at <a href="http://nblocalization.netbeans.org/" target="_blank">http://nblocalization.netbeans.org</a> to learn how to contribute to additional language localizations of the NetBeans UI, help and user documentation.</p>
      <br style="clear:both;">
      
<div class="feedback-box"><a href="http://www.netbeans.org/about/contact_form.html?to=3&subject=Feedback:%20NetBeans%20IDE%207.4%20Release%20Notes" target="_blank">Send Us Your Feedback</a></div>
<br style="clear:both;">
<p align="center"><a href="#top">top</a></p>
</body>
</html>