Java Editor

Inspect And Refactor

Brand new feature in NetBeans allows you to run selected java hint on selected project(s). You can create your own configurations (group of hints).
Tasks like "Convert to JDK 7", "Remove System.outs" are now simplified.

New Refactorings

Inline

The Inline refactoring is added to the set of refactorings.

Inline Temp

Inline Method

Inline Constant

Introduce Parameter

Set of "Introduce..." refactorings is now complete with "Introduce Parameter"

Improvements

Find Usages

More Scopes

You can choose two more scopes (Current File and Current Package) when using Find Usages.

To have more control over the Find Usages search scope, you can now specify a custom scope.

Tab Reuse

There is a new option to reuse Find Usages tabs.

Change Method Parameters

The Change Method Parameters configuration dialog has a number of improvements.

The following enhancements have been added to the change method refactoring

change method name

change method return type

change existing parameters type

generate or update javadoc

Javadoc Highlighting and Formatting

Javadoc comments highlighting was improved as well as formatting.

Rename

Rename Refactoring has new options

rename property's getters and setters

rename corresponding Test Class

Hints

Introduce Variable/Field/Constant

The Introduce Variable/Field/Constant action now shows list of possible expressions if there is no explicit selection.

Unused Assignment

A new pair of hints, Unused Assignment and Dead Branch, was introduced. The Unused Assignment finds values that are computed and assigned to a variable, but never used by reading the variable. The Dead Branch hint searches for branches of code that can never be executed.

Change Method Return Type

In case the type of the expression after a return statement does not match the return type of the method, a new fix is proposed that adjusts the return type of the method.

GUI Builder

Gap Support in GridBagLayout Customizer

The redesigned GridBagLayout customizer now features Gap Support.
With the new feature switched on the user can easily maintain gap
columns/rows of specified width/height between components without
any effort. There is no need any more to waste time by
manually inserting fillers between components to create visually
compelling layouts.

GridBagLayout Customizer Enhancements

The redesigned GridBagLayout customizer now features improved layout editing capabilities. Important component properties are now marked visually: insets (see jFormattedTextField1 and the slider), internal padding (see jTextField1 and JButton1), REMAINDER size (see right edge of jTextField1 and the slider).

PHP

(S)FTP client

Debugger improvements

PHPUnit

Project System

--open-group, --close-group

You can now open and close project groups as the IDE starts, using new command-line options. As usual, --help gives details.

Maven

Find Usages

The Find Usages dialog will now show references to classes (or other types) from among artifacts in the local Maven repository. (If your user directory predates this feature you may need to reindex the local repository in the Maven Repository Browser tab.)

Generated test sources

Test source roots matching the pattern target/generated-test-sources/somedir are now included alongside src/test/java.

Also, special test source roots may be configured via build-helper-maven-plugin:add-test-source.

Code completion

The POM editor and a few dialogs offered completion on plugin goals, parameters, and similar information. Formerly this was based on a badly outdated static index; completion is now based on the regular repository indices.

Merged JAR handling

Earlier versions of the IDE had difficulty with dependencies on "shaded" JARs, because the IDE normally looks to the owning source project for authoritative information for background compilation, code completion, etc. - so imports of transitively included classes did not appear correctly in the editor.

Now the IDE treats the actual dependency JAR as authoritative, even if a source project is available, when the project uses the Shade or Bundle plugins. (If you make a change to a transitively included class, rebuild the shaded JAR to make the IDE's editor recognize the change.)

Missing dependencies

The IDE now does a better job of locating artifacts (dependencies or parents) not yet in the local repository but available in the reactor, and immediately refreshes projects missing other artifacts (including plugins) once those become available in the local repository. For best results, open the root aggregator POM project first, then modules.

More work is planned to make initial setup smoother still.

Ant

Code completion

Code completion on tasks (and types) will display documentation from the Ant Manual when this add-on is installed.

Hudson

Test Results window integration

"Show Test Failures" now displays results in the Test Results window as well as the Output Window.

Task List

Authentication

You can now log in to a server without being prompted. This is useful especially for servers which have some private jobs that are hidden from anonymous users.

Versioning

VCS SPI

It is possible now to register a Versioning System via the @VersioningSystem.Registration annotation. See javadoc for more information.

Git Support Finalized

Complete Git Version Control support is now part of the standard distribution and available right after installation of the IDE. It allows users to work with local clones as well as provides possibility to clone, fetch, pull or push remote repositories. See Git main page for more information.

Subversion

Lock Feature

User actions allowing locking and unlocking files were added to the menu. It is also possible to enable on demand locking for files with svn:needs-lock property set.

Shelve Changes

Allows you to put your local changes aside (shelve) and start working on a different features.

When you finish the new feature you can apply the old changes (unshelve) and continue working on them.

Mercurial

Redesigned Changeset Picker Dialogs

Merge, Update, Revert and other similar dialogs were redesigned to be more user-friendly. It is now possible to filter display changesets, the changesets are labeled with tags or branch names if they have one and they are displayed in a list instead of a combo.

Branching/Tagging

Basic support for branches and tags added. Projects are now labeled with a branch/tag name, it is possible to create branches or tags, close branches, manage tags and switch between branches

Local History

Revert Deleted

Its possible now to pick particular files to be undeleted

History Tab

Use the History tab in a files editor to easily access its Local History view

Issue Tracking

Issue Views

undo/redo facility in text areas

improved issue comment UI and functionality (expand/collapse,...)

Bugzilla

Added Time tracking, Reset Assignee to Default, Open web browser directly from URL field

Platform & NetBeans Module Development

Window System

API: New WindowSystemListener to receive notifications before/after the window system loads/saves.

API: Support for multiple window layouts (aka perspectives or roles), see WindowManager.setRole(String)

Usability: Close/minimize/float/drag the whole window group.

Maven-based Apps

<this layer in context> and the Branding dialog now work directly on dependencies in the repository, so there is no need to do a build of your application before using these features. (The IDE will however download any required module JARs not yet in your local repository.)

XML Layer

New projects are now created without an XML layer, but there is now a New File wizard to add a layer to a project without one if you need it. (Many modules can do without an explicit layer, since Java annotations can produce common registrations such as menu items.)

Templates

@TemplateRegistration is now available for file and project templates.

Visual Debugger

The Visual Debugger is introduced. It allows to debug the application without looking into the source code and helps to control the execution flow in terms of high-level structures.

Visual Debugger is a part of ordinary Java debugging session in NetBeans. Action Debug -> Take Screenshot in the main menu is enabled when the debugged application opens a Swing GUI. The action take screenshot of the application GUI that serves as a basis of the Visual Debugger functionality.

Screenshot of Anagram Game application taken by Visual Debugger is displayed in Editor area. Individual components can be selected and their properties are visible in Properties window.

Component hierarchy of Anagram Game application is visible in Navigator.

Events window displays currently attached listeners to the selected component and allows to add a logging listener whose output will be displayed under the Event Log node.