This page lists the new features available in Apache NetBeans 10.0. There is a release schedule, based on the testing that will be done as part of the NetCAT program.

JDK 11 support

NetBeans 10.0 will include support for JDK 11, including:

  • update of nbjavac module
  • removal of Java EE and Corba modules from the JDK
  • deprecation of Nashorn Javascript engine
  • var support for implicitly typed lambda expressions

Primary tasks for JDK 11 uptake in Apache NetBeans are: 


Tracking Bug



1nb-javac jdk11 uptakeNETBEANS-802 nb-javac JDK11 upgradeDusan.Balek

Done, nb-javac repository

refreshed with JDK11-b24.


NetBeans - nb-javac 11 upgrade testing :

NETBEANS-803 nb-javac 11 upgrade in NetBeans




Done, updated nb-javac jars under libs.javacapi and libs.javacimpl. Updated nb-javac plugin.

  • Run tests for modules java.completion, java.editor, java.editor.base, java.hints, java.source, java.source.base,lib.nbjavac
  • Upload updated nb-javac jars

Pull Request #812

  • Uploaded nb-javac plugin 1.5 in Update Center 10

Java EE and CORBA modules removal:

NETBEANS-805 Update any dependencies on Java EE and CORBA modulesArunava

Done .

No dependencies found


Dynamic Class-File Constants

NETBEANS-804 Update any dependent code for JDK11 Class-file format changeArunava


Investigating based on Jan's inputs regarding impacted code areas.

PR 910


Var support for implicitly typed lambda expressions.

NETBEANS-806 Var support for Lambda Parameters




Feature wiki: LVTI Support for Lamdba Parameters in NetBeans 10

List of Enhancements/Bugs below.

6Deprecation of Nashorn JS Engine
NETBEANS-1009 Deprecate the Nashorn Javascript EngineSvata Dedic

Var Support in Lambda expression parameters

Identified below enhancements/bugs to support this feature in Apache NetBeans. 


Apache Jira Id




NETBEANS-860:  Proposed new hint "Convert Lambda to Use 'var' Parameter Types"

for Lambda expression


Pull Request #596



NETBEANS-859: Hint :"Use explicit parameter type" is not working with var type

lambda parameters

Verified fixed w JDK-8204674


3BugNETBEANS-862: Autocomplete for var keyword not supported in Lambda parameter


Pull Request #849



4BugNETBEANS-863: Refactor rename of var type Lambda parameter is not properVerified fixed w JDK-8204674

NETBEANS-1021: use explicit params type throws exception for invalid lambda params types

Done Pull Request #819



Miscellaneous Features

As the code donations from Oracle keep coming in, they are being integrated into NetBeans. NetBeans 10.0 will see the return of Javascript and Groovy, as well as the addition of JUnit 5.


Modules in the "webcommon" cluster are included in Apache NetBeans for the first time. I.e., all JavaScript features in Apache NetBeans GitHub are part of Apache NetBeans 10.


Modules in the "groovy" cluster are included in Apache NetBeans for the first time. I.e., all Groovy features in Apache NetBeans GitHub are part of Apache NetBeans 10.



JUnit 5:

With NetBeans existing JUnit and Maven integration, the introduction of JUnit 5 didn't need much work, as in a lot of cases, NetBeans defers to Maven, and in particular the Maven Surefire plugin to execute tests. No work has been implemented for Ant specific JUnit 5 integration.

New JUnit 5 Library

Introducing support for JUnit 5.3.1 a new Library has been added to NetBeans.

Default version of JUnit when creating Java 8+ applications

When working with a Maven based Java 8+ project with no existing tests, or test framework defined in the project pom file, the IDE will use JUnit 5 as the default JUnit version, and add in the appropriate dependencies.

Support for Run / Debug Focused Test Methods

JUnit 5 introduced a new @Testable annotation, any method that includes an annotation that inherits from this, will be allowed to be executed with these action menu items.

New JUnit 5 Test Template

Default JUnit 5 Test Template provided out of the box. Note JUnit 5 doesn't currently support test suite's for its Jupiter engine, so the template provided will attempt to create a test suite using the Vintage engine. 

Updated IDE Hints for JUnit 5's Assertion class

Introduced updated assertArrayEquals hints to support JUnit 5 as the method signatures have changed since JUnit 4.


A big addition to NetBeans 10 is that it will once again support PHP. Features will include support for PHP 7.0 through 7.3, PHPStan and Twig, as well as editing and debugging enhancements.

All the PHP support for NetBeans 9 was contributed by our NetBeans user Junichi Yamamoto.

PHP 7.3 Support

  • Allow a trailing comma in function calls

  • list() Referenct Assignment

  • Flexible Heredoc and Nowdoc Syntaxes

PHP 7.2 Support

  • Trailing Commas In List Syntax

  • Coloring for object type

  • PHP version in Project Properties dialog

PHP 7.1 Support


  • Class constant visibility


  • Multi catch exception handling


  • Nullable types


  • Support for keys in list()


  • Coloring for new keywords(void, iterable)


  • PHP version in Project Properties dialog

PHP 7.0 Support


  • Context sensitive lexer

PHPStan Support

  • Options (Tools > Options > PHP > Code Analysis > PHPStan)

  • Inspect (Source > Inspect... > Configuration: PHPStan)



  • Hint for void return types


  • Hint for incorrect non-abstract methods


  • Suggestion for the strict types declaration. It is suggested when the caret is on the line which contains "<?php" and the file doesn't have the declaration.


  • Lowercase code completion for TRUE, FALSE, and NULL constants. Enabled by default.


  • Code folding for arrays

  • Code foldings for use statements

  • Code folding for php tags

  • New vardoc support (/** @var VarType $varType */)

  • Option for comment completion. Enabled by default. (Tools > Options > Editor > Code Completion > Language: PHP)


  • Conditional breakpoints



  • Autocompletion for delimiters, brackets, and quotes

  • Support for the palette

  • No labels