Apache NetBeans 31 RC1 Released: JDK 27 Readiness, PHP 8.4, and a Relentless Quarterly Cadence
Apache NetBeans 31-rc1 dropped on July 15, 2026, marking the first release candidate for version 31. The project has moved quickly through the quarterly cycle. NetBeans 30 shipped on May 18, 2026. Now, just over two months later, the community has RC1 ready for testing.
This RC focuses heavily on build tooling updates, Java 27 readiness, and PHP 8.4 compatibility. Apache NetBeans has a history of chugging along with steady updates. The current pace, however, feels accelerated. The quarterly release schedule is maintaining momentum without dropping major features.
JDK 27 and Platform Updates
The most significant technical shift in this release is the move toward JDK 27. The nb-javac compiler has been upgraded from JDK 27 b26. Continuous integration is now testing against JDK 27-ea. You can also expect an OpenJFX update that addresses a crash on JDK 26.
For developers chasing the next Java version, this RC is a necessary stop. The compiler improvements suggest Apache is closely tracking the JDK 27 release train. If you're running JavaFX applications, the crash fix alone might warrant an update.
The platform layer has also seen some housekeeping. JNA is bumped to 5.19.1. FlatLAF moves from 3.7.1 to 3.7.2. Unix users should pay attention to a fix for the shell launch failure on arguments containing quotes. That bug would have blocked a lot of developers who rely on custom scripts or quoted paths.
Build Tooling Improvements
Build tools get the bulk of the concrete updates in this candidate. Gradle Tooling is upgraded to version 9.6.1. Maven support lands version 3.9.16. The exec-maven-plugin also gets a bump to 3.6.3.
Gradle file scanning now respects global root settings. This change can reduce unnecessary rebuilds in large multi-module projects. Maven users will appreciate the recognition of compact -T and --threads= flags. The IDE was previously struggling to parse the shorthand syntax correctly.
On top of that, a global preference has been added for specifying a user settings.xml. It simplifies configuration management for teams that maintain centralized Maven profiles. The fix for compact thread flags was contributed by a new committer, xerno. New blood is always welcome.
PHP 8.4 and Enterprise Features
NetBeans remains one of the few IDEs offering solid PHP support. This RC brings full support for PHP 8.4 property hooks. It also updates return types for fluent setters to static for PHP 8.0 and later. If you're refactoring PHP codebases, the variadic variables in PHPDoc support will save you some typing.
For the Jakarta EE crowd, GlassFish 8.x detection has been updated. The IDE now shows supported JDK ranges more accurately. Performance improvements in CDI bean name evaluation and EL module caching round out the enterprise updates. These changes address loops that were costing time in heavy applications.
Contributors and Community Health
The release notes list a solid roster of contributors. mbien and lahodaj are back with heavy lifting on the core platform, Maven, and the Java compiler. matthiasblaesing handled PHP and JavaFX updates. sid-srini contributed to Gradle and the platform launcher.
New contributors like xerno, Saljack, and renatsaf made their first appearance in this release. Saljack fixed the Git diff sort order retention. renatsaf added the GlassFish 8.x detection work. Community health looks robust. The diversity of contributors suggests the project isn't relying on a handful of maintainers.
Download and Installation
Apache NetBeans 31-rc1 is a pre-release. You should run this candidate on a test machine or in a sandbox environment. The final GA release date hasn't been announced yet.
Starting with version 26, the Apache Foundation stopped providing direct installers. You won't find a .dmg or .exe from the Apache downloads page. The project relies on community-provided installers now. Check the main NetBeans download page for the latest community builds. They usually appear shortly after a release candidate drops.
If you find a bug, head to the GitHub issue tracker. The commit for RC1 is tagged 1b19609. You can compare the full changelog between version 30 and 31-rc1 on the Apache NetBeans GitHub repository.
Head here to the GitHub download. Testing this RC helps ensure version 31 lands cleanly. Every bug caught now is a bug avoided in the final release.