<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>NetBeans IDE 4.0 Release Notes</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<meta http-equiv="Content-Language" content="ru">
</head>
<body>

<h1>NetBeans<sup class="tmtext">TM</sup> IDE 4.0 Release Notes</h1>
<!--<h2>NetBeans<sup class="tmtext">TM</sup> IDE 4.0 BETA</h2>-->
<p>Last Updated: 13 December 2004</p>
<h2>Contents</h2>
<dl>
  <dt><a href="#Introduction">Introduction</a>
  <dt><a href="#WhatsChanged">What Has Changed</a></dt>
  <dd><a href="#WhatsChanged36">New in the 4.0 Release</a></dd>
  <dd><a href="#WhatsChangedAPI">API Changes</a></dd>
  <dt><a href="#SystemRequirements">System Requirements</a></dt>
  <dd><a href="#min_hw">Minimum Hardware Configuration</a> </dd>
  <dd><a href="#req_hw">Recommended Hardware Configuration</a> </dd>
  <dd><a href="#req_os">Operating System</a></dd>
  <dd><a href="#req_sw">Software</a></dd>
  <dt><a href="#standards">Supported Technologies</a></dt>
  <dd><a href="#standards">Web Standards</a></dd>
  <dd><a href="#browsers">Web Browsers</a></dd>
  <dd><a href="#databases">Databases</a></dd>
  <dd><a href="#mobility">J2ME MIDP</a></dd>
  <dd><a href="#other">Other</a></dd>
  <!--    <dd><a href="#Installation">Installation</a></dd>-->
  <dt><a href="#Startup">Launching the IDE</a></dt>
  <dd><a href="#launch">Launchers</a></dd>
  <dd><a href="#startup_param">Startup Parameters</a></dd>
  <dt><a href="#Compatibility">Upgrading from Version 3.6 </a></dt>
  <dt><a href="#KnownProblems">Known Issues </a></dt>
  <dt><a href="#Documentation">Documentation</a></dt>
  <dt><a href="#MoreInfo">More Information</a></dt>
</dl>
<!--<hr>-->
<br>
<a name="Introduction"><h2>Introduction</h2></a>
<blockquote>
  <p> Welcome to NetBeans<sup class="tmtext">TM</sup> IDE 4.0. NetBeans 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: </p>
  <ul>
    <li>An <a href="https://netbeans.org/features/ide/index.html">open source IDE</a> written in the Java programming language.</li>
    <li>An <a href="https://netbeans.org/features/platform/index.html">application platform</a>, which can be used as a generic framework to build any kind of application.</li>
    <!--TODO(tm) : rewrite sentence to be more descriptive-->
  </ul>
  <p>For information about the NetBeans Mobility Pack 4.0 see the <a href="#https://netbeans.org/community/releases/40/relnotes-mobility_ru.html">J2ME MIDP Development Release Notes</a>.</p>
  <p><a href="https://netbeans.org/about/">Read more about the NetBeans project...</a> </p>
</blockquote>
<a name="WhatsChanged"><h2>What's Changed</h2></a>
<blockquote>
  <a name="WhatsChanged36"><h5 style="border-bottom:0">New in the 4.0 Release</h5></a>
  <p>The major new features in this release are:</p>
  <ul>
    <li>Система проектов, основанная на Ant</li>
    <li>Refactoring Support</li>
    <li>Поддержка JDK 1.5</li>
    <li>Улучшения при разработке веб-приложений</li>
  </ul>
  <p>For an overview of the changes in this release, see the <a href="https://netbeans.org/community/releases/40/index_ru.html">NetBeans 4.0 Release Plan</a>.</p>
  <p>For a full description of the changes in the 4.0 release, see <a href="https://netbeans.org/community/releases/40/whats-new-40_ru.html">What's New in NetBeans IDE 4.0</a>.</p>
  <a name="WhatsChangedAPI"><h5 style="border-bottom:0">API Changes</h5></a>
  <p>If you develop modules for the NetBeans project, check the <a href="https://netbeans.org/download/dev/javadoc/OpenAPIs/org/openide/doc-files/upgrade.html">NetBeans Upgrade Guide</a> for information on API changes.</p>
</blockquote>

<a name="SystemRequirements"><h2>System Requirements</h2></a>
<blockquote>
  <a name="min_hw"><h5 style="border-bottom:0">Minimum Hardware Configuration</h5></a>
  <ul>
    <li><b>Microsoft Windows operating systems</b>:
      <ul>
        <li><b>Processor</b>: 500 MHz Intel Pentium III workstation or equivalent</li>
        <li><b>Memory</b>: 384 megabytes</li>
        <li><b>Disk space</b>: 125 megabytes of free disk space
      </ul>
    </li>
        <br>
    <li><b>Solaris<sup class="tmtext">TM</sup> operating system</b>:
      <ul>
        <li><b>Processor</b>: 450 MHz Ultra<sup class="tmtext">TM</sup> 10 workstation or equivalent</li>
        <li><b>Memory</b>: 384 megabytes</li>
        <li><b>Disk space</b>: 125 megabytes of free disk space
      </ul>
    </li>
        <br>
    <li><b>Linux operating system</b>:
      <ul>
        <li><b>Processor</b>: 500 MHz Intel Pentium III workstation or equivalent</li>
        <li><b>Memory</b>: 384 megabytes</li>
        <li><b>Disk space</b>: 125 megabytes of free disk space
      </ul>
    </li>
  </ul>

  <a name="req_hw"><h5 style="border-bottom:0">Recommended Hardware Configuration</h5></a>
  <ul>
    <li><b>Microsoft Windows operating systems</b>:
      <ul>
        <li><b>Processor</b>: 780 MHz Intel Pentium III workstation or equivalent</li>
        <li><b>Memory</b>: 512 megabytes</li>
        <li><b>Disk space</b>: 125 megabytes of free disk space
      </ul>
    </li>
        <br>
    <li><b>Solaris<sup class="tmtext">TM</sup> operating system</b>:
      <ul>
        <li><b>Processor</b>: 500 MHz Ultra<sup class="tmtext">TM</sup> 60 workstation or equivalent</li>
        <li><b>Memory</b>: 512 megabytes</li>
        <li><b>Disk space</b>: 125 megabytes of free disk space
      </ul>
    </li>
        <br>
    <li><b>Linux operating system</b>:
      <ul>
        <li><b>Processor</b>: 800 MHz Intel Pentium III workstation or equivalent</li>
        <li><b>Memory</b>: 512 megabytes</li>
        <li><b>Disk space</b>: 125 megabytes of free disk space
      </ul>
    </li>
  </ul>
  <a name="req_os"><h5  style="border-bottom:0">Operating System</h5>
  </a>
  <p>NetBeans IDE runs on operating systems that support the Java<sup class="tmtext">TM</sup> VM. Below is a list of platforms that NetBeans IDE has been tested on.
  <ul>
    <li>Microsoft Windows XP Professional SP1 </li>
    <li>Microsoft Windows 2000 Professional SP3 </li>
    <li>Solaris operating system (SPARC<sup>&reg;</sup> Platform Edition), versions 8, 9, and 10</li>
    <li>Solaris operating system (x86 Platform Edition), versions 8, 9, and 10</li>
    <li>Red Hat Linux 9.0</li>
    <li>Red Hat Enterprise Linux 3
    <li>Sun Java Desktop System</li>
  </ul>
  <p>NetBeans IDE is also known to run on the following platforms:
  <ul>
    <li>Various other Linux distributions</li>
    <li>Mac OS X 10.1.1 or later</li>
    <li>Open VMS 7.2-1 or later</li>
    <li>Other UNIX<sup>&reg;</sup> platforms, such as HP-UX
    </li>
  </ul>
  <!--<p>If you know of other platforms that NetBeans IDE runs on, please let us know.</p>-->

  <a name="req_sw"><h5 style="border-bottom:0">Software</h5></a>
  <p>NetBeans IDE runs on the J2SE JDK 5.0 (Java<sup class="tmtext">TM</sup> 2 JDK, Standard Edition), which consists of the Java Runtime Environment plus developers tools for compiling, debugging, and running applications written in the Java<sup class="tmtext">TM</sup> language. NetBeans IDE 4.0 has also been tested on J2SE SDK version 1.4.2. </p>
  <p><b>Note</b>: If you wish to run the IDE on earlier versions of the SDK or if you prefer to install the IDE manually, you can download archived versions of the IDE at <a href="http://java.sun.com/products/archive/index.html">http://java.sun.com/products/archive/index.html</a>. </p>
  <p>Download the JDK for your platform from one of the sites listed below:
  <ul>
    <li><b>Solaris</b>: <a href="http://java.sun.com/j2se/1.5.0/">http://java.sun.com/j2se/1.5.0/</a></li>
    <li><b>Windows</b>: <a href="http://java.sun.com/j2se/1.5.0/">http://java.sun.com/j2se/1.5.0/</a></li>
    <li><b>Linux</b>: <a href="http://java.sun.com/j2se/1.5.0/">http://java.sun.com/j2se/1.5.0/</a></li>
    <li><b>Mac OS X</b>: <a href="http://support.apple.com/downloads/#java">http://support.apple.com/downloads/#java</a> (Mac OS X 10.3.4 or later). Mac OS upgrades are also available via Apple's Software Update mechanism.
<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>
    <li><b>OS/2</b>: http://www.goldencode.com/company/software/j2se/index.html or http://www.innotek.de/products/javaos2/javaos2general_e.html. <br>
      If you get a NullPointerException when starting the IDE on OS/2, try changing the name of your <code>JAVA_HOME/jre</code> directory to all capital letters. </li>
      <!--More information about using NetBeans IDE on Mac
      OS X is available at <a href="https://netbeans.org/kb/articles/mac.html">https://netbeans.org/kb/articles/mac.html</a></li>-->
  </ul>
  <!--TODO(tm) : is this still pertninent?-->
  <p><b>Note:</b> If the installer does not detect the JDK version that you wish to run the IDE on, you can set the <code>--is:home <i>jdk_home_dir</i></code> parameter in the <code>netbeans.conf</code> file to point to the desired JDK. For more information about setting startup parameters, see <a href="#Startup">The Launcher and Startup Parameters</a>.</p>
</blockquote>
<a name="supported-technologies"><h2>Supported Technologies</h2></a>
<blockquote>
  <a name="standards"><h5 style="border-bottom:0">Web Standards</h5></a>
  <ul>
    <li>Java<sup class="tmtext">TM</sup> Servlet 2.3 and 2.4 specifications</li>
    <li>JavaServer Pages<sup class="tmtext">TM</sup> (JSP<sup class="tmtext">TM</sup>) technology specifications 1.2 and 2.0</li>
    <li>Deployment descriptor (web.xml) based on version 2.3 or 2.4 of the web application DTD</li>
    <li>Java<sup class="tmtext">TM</sup> 2 Platform, Enterprise Edition (J2EE<sup class="tmtext">TM</sup>) 1.3 and 1.4</li>
    <li>Tomcat 5.0.28 release</li>
  </ul>
  <a name="browsers"><h5 style="border-bottom:0">Web Browsers</h5></a>
  <p>The following web browsers have been tested with NetBeans IDE:</p>
  <ul>
    <li>Netscape 7.1 </li>
    <li>Microsoft Internet Explorer 6</li>
    <li>Mozilla 1.5</li>
  </ul>
  <a name="databases"><h5 style="border-bottom:0">Databases</h5></a>
  <p>The following database servers have been tested with NetBeans IDE:</p>
  <ul>
    <li>IBM DB2 8.1</li>
    <li>Oracle 9i</li>
    <li>Pointbase 4.2 </li>
    <li>Microsoft SQL 2000 SP3 </li>
    <li>MySQL 4.x</li>
  </ul>
  <a name="mobility"><h5 style="border-bottom:0">J2ME MIDP 2.0</h5></a>
  <p>If you do J2ME MIDP development, you can download <a href="https://netbeans.org/kb/trails/mobility.html"> NetBeans Mobility Pack 4.0</a>.</p>
  <a name="other"><h5 style="border-bottom:0">Other</h5></a>
  <p>NetBeans IDE has also been tested with the following:</p>
  <ul>
    <li>Ant 1.5.3 and higher. (NetBeans IDE comes bundled with Ant 1.6.2. You can easily change Ant versions in the IDE's Ant settings.)</li>
    <li>CVS 1.11 </li>
    <li>Merant PVCS 7.5.1 </li>
    <li>Visual Source Safe 6.0</li>
  </ul>
</blockquote>
<a name="Startup"><h2>Launching the IDE </h2></a>
<p>To make the process of starting up the IDE more convenient, the installation includes launchers for several platforms.

<blockquote>
<a name="launch"><h5 style="border-bottom:0">Launchers</h5></a>
  <p>The launchers load the JVM, build the IDE's classpath, pass it along with some default parameters to the JVM, and prompt the JVM to launch the Java application. They also restart the IDE after accessing the Update Center. The IDE's provided launchers are located in the <code>bin</code> subdirectory of the installation directory.
  <p>Launchers provided with IDE installation include:
  <blockquote>
    <ul>
    <li>For <b>Microsoft Windows</b>:
     <ul>
           <li><code>netbeans.exe</code> is the executable for running NetBeans IDE as a Windows application without a console.
           <li><code>nb.exe</code> is a Microsoft Windows console application. When you run <tt>nb.exe</tt>, a console opens on the desktop with <code>stderr</code> and <code>stdout</code> output from the NetBeans IDE. <!--You can type <code>Ctrl-Break</code> to get a thread
      dump, or type <code>Ctrl-C</code> to quit the whole program. --></li>
    </ul></li><br>
   <li>For <b>Solaris</b> and other <b>UNIX</b> variants: <code>netbeans</code> Bourne shell script is the launcher.<br>
        <li><b>OpenVMS</b>: <code>runideopenvms.com</code> is the launcher.<br>
      <li> <b>Macintosh OS-X</b>: <code>NetBeans</code> is the launcher.
      </ul>
  </blockquote>
  <a name="startup_param"><h5 style="border-bottom:0">Startup Parameters</h5></a>
  <p>Whenever you launch the IDE, it parses the command line options it finds in <code>netbeans.conf</code>. You can customize the startup parameters passed to the IDE at startup by editing the <code><i>${IDE_HOME}</i>/etc/netbeans.conf</code> file.    </p>
  <p>Command-line switches can be entered using GNU style, meaning they are preceded with two hyphens rather than one (e.g.: <tt>--help</tt>) or single-letter switches (e.g.: <tt>-h</tt>). JVM flags are entered using only one hyphen as in <code>-J<i>jvm_flag</i></code>, for example.</p>
  <p>You can use the following command-line switches: </p>
  <dl>
    <dt><code>-h</code><br>
      <code>--help</code> </dt>
    <dd>print descriptions of common startup parameters.
      <p></p>
    </dd>
    <dt><code>--jdkhome <i>jdk_home_dir</i></code></dt>
    <dd>use the specified version of the Java 2 SDK instead of the default SDK. By default on Windows systems, the loader looks into the Windows registry and uses the latest SDK available.
      <p></p>
    </dd>
    <dt><code>--cp:p <i>additional_classpath</i></code> </dt>
    <dd> prepend the specified classpath to the IDE's classpath. This option is generally not recommended for any purpose.
      <p></p>
    </dd>
    <dt><code>--cp:a <i>additional_classpath</i></code></dt>
    <dd> append the specified classpath to the IDE's classpath.
      <p></p>
    </dd>
    <dt><code>-J<i>jvm_flag</i></code> </dt>
    <dd> pass the specified flag directly to the JVM.
      <p></p>
    </dd>
    <dt><code>--laf <i>UI_class_name</i></code> </dt>
    <dd>use a given class as the IDE's look and feel.
      <p></p>
    </dd>
    <dt><code>--fontsize <i>size</i></code> </dt>
    <dd>use a given size in points as the basic font size for the IDE user interface.
      <p></p>
    </dd>
    <dt><code>--locale <i>language[:country[:variant]]</i></code> </dt>
    <dd>use the specified locale.
      <p></p>
    </dd>
    <dt><code>--userdir <i>userdir</i></code> </dt>
    <dd>explicitly specify the userdir, which is the location in which user settings are stored. If this option is not used on a UNIX system, the location is <code><i>${HOME}</i>/.netbeans/4.0</code>. On Microsoft Windows systems, the default is <code>.netbeans\4.0</code> beneath your default Windows profile area (e.g. <code>c:\Documents&nbsp;and&nbsp;Settings\<i>yourlogin</i></code>).
      <p></p>
    </dd>
    <dt><code>--open <i>file</i></code><br>
      <code>--open <i>file:line number</i></code></dt>
    <dd>Opens the file in the IDE's Source Editor at the specified line.

    </dd>
  </dl>
</blockquote>
<p><b>Note:</b> When launching the IDE for the first time, the IDE needs to scan your system classpath after creating the initial new project. During this period you may experience a brief delay, depending on the complexity of the project and your system configuration. While the IDE occasionally scans the classpath (when creating additional projects or after restarting the IDE, for example), the more thorough and time-consuming procedure only needs to be carried out once.</p>
<a name="Compatibility"><h2>Upgrading from Version 3.6</h2>
</a>
<blockquote> When you first run the IDE, you can import a subset of the settings you used in NetBeans IDE 3.6. If you choose not to import settings from a previous release, the IDE opens using the default settings. Project-specific settings are not importable from version 3.6.
  <blockquote><b>Note:</b><i> The IDE only recognizes previous installations where the user directory resides in the default location. It does not recognize installations for which you have specified a user directory using the <code>--userdir</code> switch.
      </i> </blockquote>
  <p> Though it is possible to import settings from a previous IDE installation into NetBeans IDE 4.0, it is not possible to import settings from NetBeans IDE 4.0 into an earlier IDE release. </p>
</blockquote>

<a name="KnownProblems">
<h2>Known Issues </h2>
</a>
 <p>The major unresolved issues for this release are as follows:
 <blockquote>
 <ul>
  <li><h3>General Issues</h3>
        <blockquote>
        <p><b>Описание:</b></p>
        <p>When working with large projects in the IDE, i.e. those having large numbers of classes, libraries, or required projects, you may experience slowed UI responsiveness or even <tt>Out of Memory</tt> errors.
        <p><b>Workaround:</b></p>
        <p>If this occurs, you should increase the IDE's maximum heap size. Navigate to the <tt>/etc</tt> directory within the IDE's installation directory and open the <tt>netbeans.conf</tt> file in a text editor. Change -J-Xmx128m to -J-Xmx160m, or even to -J-Xmx256m for very large projects. For smooth and responsive work with the IDE, it is recommended that your physical RAM size be at least 200MB larger than the Xmx setting. Therefore, you should not set -J-Xmx256m if your system has less than 512MB RAM installed.
        </blockquote></li>

  <li>
    <a href="https://netbeans.org/bugzilla/show_bug.cgi?id=45963&x=17&y=7">Issue # 45963</a>
        <blockquote>
        <p><b>Описание:</b></p>
        <p>When working with projects with resources (JDK, libraries, sources, etc.) located on remote disks within a LAN or accessed from a <tt>/net</tt> folder, you may experience slowed IDE performance.

        <p><b>Workaround:</b></p>
        <p>As responsiveness depends on many factors (LAN throughput, project configuration, user's workflow, etc.), there is no easy workaround for this problem. If the IDE's performance seems insufficient, it is recommended that you place all necessary resources on the local system.
        </blockquote></li>

  <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=47645&x=17&y=7">Issue # 47645</a>
        <blockquote>
        <p><b>Описание:</b></p>
        <p>Cannot run a target with <java> a task that has <tt>failonerror=true</tt> from within the IDE even though the same script runs outside of the IDE without problems.
        <p><b>Workaround:</b></p>
        <p>If this occurs, it is recommended that you run the script from the command line. Alternately, you may rewrite the script.<!--TODO(tm) : add phrase clarifying what user would change when rewriting script-->
        </blockquote></li>

  <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=49039&x=17&y=7">Issue # 49039</a>
        <blockquote>
        <p><b>Описание:</b></p>
        <p>When switching projects on the Choose File Type page of the IDE's New File wizard (New &gt; File), the newly designated project doesn't propogate to the subsequent page of the wizard. Note that this problem occurs for generic file templates in the wizard's Other node (i.e. Properties, Folder, Html, etc.) and does not affect Java, Form, Web, JavaBeans, or JUnit templates.

        <p><b>Workaround:</b></p>
        <p>If you experience this problem, invoke the New File wizard by right-clicking the project you wish to add the new file to and choosing New from the contextual menu that appears.
        </blockquote></li>

  <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=47708&x=17&y=7">Issue # 47708</a>
        <blockquote>
        <p><b>Описание:</b></p>
        <p>Cannot send text input to Ant tasks via the console or the IDE's Output window.
        <p><b>Workaround:</b></p>
        <p>Run the Java app in unforked mode by opening build-impl.xml, copying &lt;target<br>
name=&quot;-init-macrodef-java&quot;&gt;, and pasting it into build.xml. Next, edit fork=&quot;true&quot; to fork=&quot;false&quot;. Note that you should ensure that all your files have been saved because even though normal exceptions should only cause the build to fail cleanly, some critical bugs (e.g. AWT-related deadlocks) in your app could cause the IDE to hang or crash.
      <!--<p>In unforked mode there can also be some
                subtle problems if your app's classpath includes packages that
                overlap packages in NB's startup classpath. Similarly, your app will
        not be able to set a new SecurityManager or do a few other special operations
        that affect the entire VM.-->
        </blockquote></li>
 </ul>
</blockquote>
<blockquote>
  <!--<p><b>Note:</b> As this is a beta, there is a large number of outstanding bugs
    which you can monitor by visiting the <a href="https://netbeans.org/community/issues.html">NetBeans
    Issue Tracking page</a>.</p>-->
  <ul>
        <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=51545&x=17&y=7">Issue # 51545 </a>
                <blockquote>
                        <p><b>Описание:</b></p>
                        <p>When working on multiple projects using different JDKs, JDK sources hyperlinked from the stacktrace of an exected project point to the wrong JDK. Note that stepping through JDK sources in the debugger is not affected by this issue.
                        <p><b>Workaround:</b></p>
                                <p>If you experience this problem, limit work on projects to those using the same JDK at a given time. If you want to work on projects using a different platform, it is recommended that you restart the IDE.
                </blockquote>
                </li>
        <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=51819&x=17&y=7">Issue # 51819</a>
                <blockquote>
                        <p><b>Описание:</b></p>
                        <p>When attempting to rename a class by choosing Refactor &gt; Rename, the file is renamed, but not the class or its constructors. Note that this issue only occurs when invoking the command from javadocs or comments and can lead to uncompilable source code.
                        <p><b>Workaround:</b></p>
                                <p>If you experience this problem, rename the class by invoking the Rename command directly from class definition or variable declaration for the class you wish to rename.
                </blockquote>
                </li>
        <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=52026&x=17&y=7">Issue # 52026 </a>
                <blockquote>
                        <p><b>Описание:</b></p>
                        <p>When attempting to import or edit already-imported VCS profiles from earlier 4.0 versions, various profile settings are missing or incorrect.
                        <p><b>Workaround:</b></p>
                                <p>If you experience this problem, remove your existing versioned working directories from the Version Manager and add them again.
                </blockquote>
                </li>
        <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=51955&x=17&y=7">Issue # 51955 </a>
                <blockquote>
                        <p><b>Описание:</b></p>
                        <p>When selecting folders or files that are included in a project in the Versioning window, the project's file-based actions are deactivated.
                        <p><b>Workaround:</b></p>
                                <p>If you experience this problem, restart NetBeans and avoid using the Versioning tab or &quot;Show Versions&quot; contextual action to compile, run, or debug files.
                </blockquote>
                </li>


        </ul>
  <p>To search for other known issues with NetBeans IDE 4.0, you can use this <a href="https://netbeans.org/bugzilla/buglist.cgi?issue_type=DEFECT&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&priority=P1&priority=P2&version=3.6&version=4.0&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&issueidtype=include&issue_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&issue_file_loc=&issue_file_loc_type=substring&status_whiteboard=&status_whiteboard_type=substring&keywords=&keywords_type=exactlyanywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Reuse+same+sort+as+last+time">query</a>. </p>
</blockquote>

<a name="Documentation"><h2>Documentation</h2></a>
<blockquote>
  <!--Documentation is provided for NetBeans IDE in the form of web-based
  guides and the IDE's built-in help system. The documentation is not complete
  for this beta and some of the help files are out of date, however
  the following documents should help you in getting started:-->

  Documentation is provided for NetBeans IDE in the form of web-based guides and the IDE's built-in help system. In addition, you can refer to the following documents to help you get started:
  <ul>
    <li><a href="https://netbeans.org/kb/archive/index.html"> NetBeans IDE Quick Start Guide</a>.</li>
  </ul>
  <p>For the complete NetBeans IDE documentation list, visit <a href="https://netbeans.org/kb/archive/index.html">https://netbeans.org/kb/archive/index.html</a>. </p>
</blockquote>
<a name="MoreInfo"><h2>More Information</h2></a>
<blockquote>
  <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.
  </p>
  <p>For more information, visit <a href="https://netbeans.org/index_ru.html">https://netbeans.org/</a>. </p>
  <p>You can keep up to date on NetBeans IDE and interact with the NetBeans community by signing up for NetBeans project mailing lists at <a href="https://netbeans.org/community/lists/top.html#localised">https://netbeans.org/community/lists/top.html#localised</a> and at <a href="https://netbeans.org/community/lists/">https://netbeans.org/community/lists/</a> (in English).
</blockquote>
</body>
</html>
