<html>
<head>
<title>NetBeans 4.0 Released!</title>
<meta name="description" content="NetBeans 4.0 Released!">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
</head>

<body>

<h1>NetBeans<sup>TM</sup> 4.0 Now Available</h1>
<div class="articledate" style="margin-left:0px;">Posted to nbannounce, 15th December, 2004</div>

<p>The NetBeans<sup>TM</sup> open source project is proud to announce that
the production version of NetBeans IDE 4.0 is now available as both an
individual download and a bundle with Java<sup>TM</sup> 2
Platform, Standard Edition Development Kit 5.0_01 (J2SE 5.0 a.k.a.
"Tiger"). The NetBeans IDE provides a pure Java technology integrated
development environment for Windows, Linux, the Solaris<sup>TM</sup>
Operating System and Mac OS X.

<p><b>Download NetBeans IDE 4.0:</b>

<blockquote><a href="https://netbeans.org/downloads/index.html">https://netbeans.org/downloads/index.html</a></blockquote>

<p><b>NetBeans 4.0 bundled with Java's next generation, J2SE 5.0:</b>

<blockquote><a href="http://java.sun.com/j2se/1.5.0/">http://java.sun.com/j2se/1.5.0/</a></blockquote>

<p><b>Documentation List:</b>

<blockquote><a href="https://netbeans.org/kb/archive/index.html">https://netbeans.org/kb/archive/index.html</a></blockquote>

<h2>Key Features</h2>

<p>(see <a href="https://netbeans.org/community/releases/40/index.html">https://netbeans.org/community/releases/40/index.html</a> for more
information)

<p><ul>
<li><b>Java 2 Platform, Standard Edition 5.0 (J2SE) language feature support</b>

<p>J2SE 5.0 (Tiger) brings important new language updates: metadata,
generics, enumerated types and autoboxing of primitive types. NetBeans
IDE 4.0 supports these new language features in the editor, debugger,
refactoring, etc.

<p><li><b>Java refactoring</b>

<p>Refactoring allows developers to make sweeping changes to their code
without affecting functionality. The refactoring in NetBeans IDE 4.0
provides features such as renames (class/method/field), move class,
rename package, change method parameters, encapsulate field and find
references.

<p><li><b>Ant-based projects</b>

<p>A completely new project system based on Apache Ant, the de facto
standard for Java technology build tools, featuring:

<ul>
<li>An open architecture, which third-party modules can extend to support
current and future types of Java applications
<li>Project types for J2SE desktop, two-tier web applications (JSPs,
servlets), and MIDP applications out of the box.
</ul>

<p>Beginning users don't have to know Ant to use the system, but the full
power of Ant is accessible to advanced Ant users. These project types
come with built-in support for generating, developing and running unit
tests using JUnit, the de facto standard in Java code testing.

<p><li><b>Java 2 Platform, Micro Edition (J2ME) MIDP development support</b>

<p>This release simplifies coding with templates for MIDlet and MIDlet
suites. It provides a unique solution for managing device fragmentation,
by enabling you to edit and compile custom configurations for any number
of devices, without requiring separate source files. Key features in
this release:

<ul>
<li>Support for the Mobile Information Device Profile (MIDP) 2.0
<li>Support for the Connected, Limited Device Configuration (CLDC) 1.1
<li>Integration with version 2.2 of the Wireless Toolkit
<li>Built in code obfuscation (commonly used to reduce application size)
<li>Easy integration of third party phone/device emulators
<li>Localization wizard to assist with developing multi-language applications
<li>Robust MIDlet debugger
</ul>

<p>See <a href="https://netbeans.org/kb/trails/mobility.html">https://netbeans.org/kb/trails/mobility.html</a> for more information.

<p><li><b>Java 2 Platform, Enterprise Edition (J2EE) development support for the
NetBeans IDE</b>
<br><I>Early Access 1 now, Early Access 2 early CY2005, production first half CY2005</I>

<p>The NetBeans team released an Early Access 1 as a separate download
that extends NetBeans IDE Web-Tier development capabilities and allows
EJB<sup>TM</sup> and Web Services development.

<p>Features include:

<ul>
<li>Create EJB Modules and EJB Session Beans
<li>Synchronize Deployment Descriptor files
<li>New Web Service wizard to create Web Services artifacts
<li>New J2EE Application project type wizard, that allows the developer to
define a J2EE Application (a set of Web Applications and EJB Modules)
<li>Deployment and execution target to Sun Java System Application Server
Platform Edition 8.1 Beta and Tomcat 5
</ul>

<p><li><b>Performance Profiler</b>
<br><I>Milestone 4 January</I>

<p>NetBeans is adding a CPU and memory performance profiler to its long
list of features. The Profiler is based on the JFluid research project
that has been in development at SunLabs for the last two years and adds
tight integration into NetBeans IDE and an improved user interface.

<p>Features include:
<ul>
<li>Memory profiling and leak detection
<li>CPU performance profiling
<li>Low-overhead profiling
<li>Task-based profiling
<li>Tight integration into the IDE workflow
<li>Attach to currently running JVM and do on-the-fly configuration changes
</ul>
<p>The  Milestone 4 version will be available as an additional download for the production version of NetBeans IDE 4.0.

<p>See <a href="http://profiler.netbeans.org/">http://profiler.netbeans.org/</a> for more information.

</ul>

</body>
</html>
