Apache NetBeans 31 RC2 Drops with a Tighter Focus Ahead of August Release
Apache NetBeans 31 RC2 published on July 23, and if you were expecting a feature dump, you can skip that column. This release candidate is a focused cleanup run. It contains exactly eight pull requests, all targeting regressions spotted in the RC1 build that shipped a week earlier.
RC1 was the heavy hitter. Released on July 15 under the 31-rc1 tag, it pulled hundreds of commits across nearly every subsystem. RC2 isn't trying to outshine it. The team deliberately kept the scope narrow, which is exactly how a second candidate should look.
Inside the RC2 Diff
Eight commits. Eight PRs. Contributors @mbien, @matthiasblaesing, and @lahodaj handled the work. The changes are mostly surgical. JavaFX Maven archetype properties got bumped. The Ant JavaFX wizard warning message was updated. Jan Lahoda fixed javac partial reparse positions during compilation. @mbien also got Payara running on JDK 25, preserved selection state in the Documents Window, and fixed a search preview MIME type issue on JDK 27. Matthias Bläsing downgraded a PersistenceManager deserialization log from WARNING to INFO to cut down the noise. And yes, the LSP test ServerTest#testChangeMethodParameters was disabled after CI kept breaking. The team would rather ship without flaky coverage than delay the final build.
It's a tight diff for a major version bump, though that kind of surgical focus is exactly why the project feels healthier than it did a year ago.
What RC1 Actually Gave You
RC1 is where the real substance lives. The embedded nb-javac compiler jumped to JDK 27b26, bringing the IDE up to speed with the latest OpenJDK changes. Long-requested lambda breakpoints finally landed. The editor now handles PHP 8.4 Property Hooks, which matters if you're keeping a PHP project on the bleeding edge. Gradle Tooling moved to 9.6.1, Apache Maven sits at 3.9.16, and embedded Tomcat got the bump to 9.0.120. OpenJFX crashes on JDK 26 were patched. CI started testing against JDK 27-ea. Several editor annoyances got fixed, like imported project files opening correctly after an IDE update and Unix shells finally accepting quoted command-line arguments. Java launchers on macOS now respect JAVA_HOME. FlatLaf moved to 3.7.2. JNA to 5.19.1.
The project has settled into a predictable cadence. Version 28 landed in November 2025. 29 in February. 30 in May. 31 is tracking for August. The blog explicitly notes that Apache stopped providing official installers back at version 26, so you're working with community build pipelines. The repo currently shows around 3,100 stars, 944 open issues, and 142 open pull requests. That's a healthy maintenance level for a project of this age.
Three themes are worth watching. JDK 25, 26, and 27 readiness is no longer aspirational. The embedded compiler, Payara support, and OpenJFX crash fixes prove the IDE is actively chasing Oracle's accelerated release train. PHP 8.4 support finally caught up. Property hooks, fluent setters returning static, and variadic PHPDoc variables now work as expected. The stability signal is clear. RC2's minimal diff is exactly what you want to see before a GA release.
If you're currently on 30, the upgrade is straightforward. Grab the tarball from the GitHub releases page and extract it over your existing setup. The final Apache NetBeans 31 build is tracking for August 2026
Head here to grab the second release candidate.
