Apache NetBeans 11.2 Features

Apache NetBeans 11.2 is the second Apache NetBeans release outside the Apache Incubator and the second release of the new quarterly release cycle.

The LTS release of the Apache NetBeans 11 cycle is Apache NetBeans 11.0. The 11.1 and 11.2 releases have not been tested as heavily as the LTS release and may therefore be less stable. Use 11.2 to use the latest features and to provide feedback for the next LTS release, scheduled for April 2020. Go here to download Apache NetBeans 11.0, the current LTS release.

Release Drivers

Java

The highlights of enhancements in the Java area are focused on support for JDK 13.

  • JEP 354: Switch Expressions (Preview Feature):

jdk13 yield
  • JEP 355: Text Blocks (Preview Feature)

jdk13 textblock
JEP 12 provides for a preview language or VM feature, which "is a new feature of the Java SE Platform that is fully specified, fully implemented, and yet impermanent. It is available in a JDK feature release to provoke developer feedback based on real world use; this may lead to it becoming permanent in a future Java SE Platform".

Preview features can only be used if the Java compiler’s --enable-preview flag is set, as shown below for Maven.

<build>
   <plugins>
      <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
          <configuration>
              <compilerArgs>
                    <arg>--enable-preview</arg>
              </compilerArgs>
         </configuration>
     </plugin>
  </plugins>
</build>

An example to add --enable-preview in Gradle:

tasks.withType(JavaCompile).each {
    it.options.compilerArgs.add('--enable-preview')
}

run.jvmArgs(['--enable-preview'])

PHP

The highlights of enhancements in the PHP area are focused on support for PHP 7.4.

php 7.4

Highlights of PHP 7.4 integration are listed below.

Further details on new support for PHP 7.4 features are provided here.

Enhancements and Fixes

The highlights of the enhancements and fixes are listed below.

Enhancements

Performance

  • Speed up finding binaries for source files, most notable performance increase on refactoring. (PR-1430)

  • Using Java NIO2 Watchers on Windows and Linux (PR-1349)

  • Optimized the archive file detection (PR-1422)

Gradle

  • The Gradle features can now read Java compiler arguments, enabling NetBeans support for Java preview features in Gradle projects. (PR-1494)

  • Gradle now can accept user input from its Output tab. (PR-1461)

  • NetBeans honors the project’s org.gradle.jvmargs property when launching Gradle Daemon (PR-1501)

Other

  • JavaScript parser is now correctly licensed and no longer needs to be installed separately (PR-1407)

  • Enhancement to the installer enables subsets of Apache NetBeans to be installed (PR-1505)

  • Upgraded Payara support to Payara Platform 5.193 (PR-1470)

  • Amazon Beanstalk support updates (PR-1312)

  • HTML5 attribute syntax support (PR-1380)

  • Cleaned up Welcome Screen no longer refers to Oracle backends (PR-1457)

Fixes

  • Maven-based NetBeans modules can now be created again (commit 9e32a85)

  • "Copy Dependent Libraries" in Ant-based projects works again (PR-1469)

  • OpenJFX Gluon samples are now correctly registered (PR-1503)

Notes

  • The donation of the NetBeans C and C++ features from Oracle to Apache was not complete at the time of the 11.2 release, though it is not far off, and the 11.3 release (January 2020) is scheduled to focus primarily on the integration of the C and C++ features, once they land in the Apache NetBeans GitHub. Until then, go to the Plugin Manager, enable the NetBeans IDE 8.2 Update Center, which lets you install the NetBeans IDE 8.2 modules providing C and C++ features.

  • WildFly integration is supported by means of the WildFly Application Server plugin located in the Plugin Portal.

  • Support for JSF 2.3 is available as a pull request, too late for inclusion in 11.2, scheduled for 11.3: PR-1576