Apache NetBeans 12.2 Features

Welcome to Apache NetBeans 12.2, the second feature release of the Apache NetBeans 12 cycle!

The LTS release of the Apache NetBeans 12 cycle is Apache NetBeans 12.0. The 12.2 release has not been tested as heavily as the LTS release and may therefore be less stable. Use 12.2 to use the latest features and to provide feedback for the next LTS release, scheduled for 2021. Go here to download Apache NetBeans 12.0, the current LTS release.


The full list of pull requests integrated in the 12.2 timeframe is found here, while the highlights are listed below.

Java Language

New JDK 14 and 15-Specific Java Language Features

  • Code coloring. Keywords "sealed", "non-sealed", and "permits" are highlighted conforming to the existing styles of all other Java keywords.

  • Code formatting for "sealed" type. Extended the Java code formatting feature to include "sealed" and "permits" clauses for the first time.

  • Auto-completion for "sealed" type. Added keyword "sealed" and "non-sealed" before "class" declaration. Added "permits" only in the allowed location, i.e., the "permits" clause is not allowed to be put before "extends" and "implements" clause, if present.

  • Enhancement for Record variable. Invoke code completion for "Record" variable name and the editor will analyze the context and then suggest choices that are reachable from the current caret position.

  • Fixed Record Formatting issue with use of annotation. https://github.com/apache/netbeans/pull/2391

  • Fixed Record Refactoring issue. refactor record rename & move record file to other package: https://github.com/apache/netbeans/pull/2310

  • Fixed Record JavaDoc. JavaDoc listing for class-type RECORD on auto completion: https://github.com/apache/netbeans/pull/2412

  • nb-javac fork. Now supports JDK 15: https://github.com/apache/netbeans/pull/2408

New Miscellaneous Java Language Features

  • Show types for chained method invocations. https://github.com/apache/netbeans/pull/2365

93015822 d1c18980 f5bc 11ea 8e33 34398623af7d 3
  • Create new Class/Interface/Enum when copy-paste raw text. https://github.com/apache/netbeans/pull/2334

  • Create only one instance of javac. https://github.com/apache/netbeans/pull/2305

NetBeans Java Features in VS Code


  • Avoid assertion & NPE in fxml code completion. https://github.com/apache/netbeans/pull/2399

  • Disallow FXML controller in default package. https://github.com/apache/netbeans/pull/2331

  • Include immutable objects for fxml editor identification. https://github.com/apache/netbeans/pull/2333

Java Web

  • Remove Derby integration from Payara Server modules. https://github.com/apache/netbeans/pull/2425

  • Web Project Properties Dialog fails to save Relative URL. https://github.com/apache/netbeans/pull/2423

  • JavaServer Faces Catalog fixes. https://github.com/apache/netbeans/pull/2431

  • Fix Spring Web MVC 5.2.9 integration. https://github.com/apache/netbeans/pull/2380

Java Build Systems

  • Added Gradle wrapper distribution change detection: https://github.com/apache/netbeans/pull/2366

  • Add JAVA_HOME to Gradle build environment variables: https://github.com/apache/netbeans/pull/2320

  • Better way to detect sources and javadocs in Gradle Projects: https://github.com/apache/netbeans/pull/2499

  • Fixed Gradle Java Frontend Application generation: https://github.com/apache/netbeans/pull/2485

  • Enable run/debug single when the suitable task is provided by the Gradle project: https://github.com/apache/netbeans/pull/2458

  • Flush Gradle Standard output in 200ms if it stalled: https://github.com/apache/netbeans/pull/2270

  • Handle source type correctly in GradleSourcesImpl: https://github.com/apache/netbeans/pull/2339

  • Fix missing artifact nodes in Gradle Project Configurations: https://github.com/apache/netbeans/pull/2490

  • Fixing Lombok in Gradle Projects: https://github.com/apache/netbeans/pull/2392

  • Arrange Gradle Source info detail tabs to the right: https://github.com/apache/netbeans/pull/2361

  • Maven project open use no-lock getModuleName: https://github.com/apache/netbeans/pull/2340

PHP & JavaScript

  • PHP 8.0 support

  • Dependencies and infrastructure of JavaScript and HTML features cleaned up: https://github.com/apache/netbeans/pull/2424

  • html parser dont wait for projects open: https://github.com/apache/netbeans/pull/2341

  • Removed obsolete Oracle JET support: https://github.com/apache/netbeans/pull/2367

  • CSS3 enhancements: https://github.com/apache/netbeans/pull/2299

  • Add Plugin for BootsFaces in order to support <b:dataTable: https://github.com/apache/netbeans/pull/2357

  • Fix broken npm search: https://github.com/apache/netbeans/pull/2286

Library Upgrades

  • Ant to 1.10.8: https://github.com/apache/netbeans/pull/2315

  • exec-maven-plugin from 1.5.0 to 3.0.0: https://github.com/apache/netbeans/pull/2288

  • Gradle Tooling API to 6.7: https://github.com/apache/netbeans/pull/2479

  • JDBC PostgreSQL from 42.2.10 to 42.2.16: https://github.com/apache/netbeans/pull/2284

  • payara-micro-maven-plugin to v1.3.0: https://github.com/apache/netbeans/pull/2454

  • Spring Framework to version 4.3.29: https://github.com/apache/netbeans/pull/2374

  • Spring Framework to version 5.2.9: https://github.com/apache/netbeans/pull/2373

  • TestNG and upgrade from 6.8.1 to 6.14.3: https://github.com/apache/netbeans/pull/2350


  • Fix for Mac OS X Big Sur. Fix call to find jdkhome using /usr/libexec/java_home: https://github.com/apache/netbeans/pull/2547

  • Detect JDKs. Installed with SDKMan and Debian: https://github.com/apache/netbeans/pull/2329

  • Check unpack200. Warn the user on JDK14+: https://github.com/apache/netbeans/pull/2317

  • Update to the Mac OS X installer. As it was failing on Big Sur: https://github.com/apache/netbeans/pull/2353

  • Avoiding use of Nashorn. Nashorn was removed in JDK 15, applicable to J2SE multi-module: https://github.com/apache/netbeans/pull/2322