NetBeans 31
Apache NetBeans 31 landed on August 5, 2026, and yes — NetBeans is still very much alive. Before you roll your eyes at yet another monthly IDE drop, it is worth separating the signal from the noise. NetBeans releases do not market well, but this one quietly fixes real problems that people who actually use the IDE hit every day.
What Actually Changed
Let's not get carried away: this is not a "reinvention of the IDE" release. It is a maintenance release with a few genuinely useful quality-of-life upgrades and a pile of fixes that were long overdue. Here is what stands out.
Gradle and Maven Housekeeping
- Gradle tooling is upgraded to 9.6.1, and the GradleFiles project scan now respects global root settings instead of wandering off on its own.
- "Go to source" on callstack entries in Gradle test results finally works.
- Maven gets recognition for compact
-Tand--threads=flags — small thing, but it stops the IDE from tripping over real-world build commands. - The bundled Maven is bumped to 3.9.16, and there is now a global preference for a user
settings.xmlacross all Maven projects. - The Maven compile panel now respects the Maven default JDK instead of silently using whatever NetBeans happened to have loaded.
If you maintain multi-module Maven builds, the settings.xml preference alone is worth the upgrade. The old per-project dance was the kind of friction you stopped noticing after a while — until it is gone.
Java, JavaFX, and the JDK 27 Race
NetBeans 31 starts CI testing on JDK 27-ea and ships with nb-javac built from JDK 27b26, which means this release is positioned for the next OpenJDK cadence rather than reacting to it. Lambda breakpoints, import-module code completion, and fixes to record reformatting (including alternative brace positions and empty records) all land in this cycle. The embedded Tomcat moves from 9.0.113 to 9.0.120, and a JavaFX crash on JDK 26 is fixed by updating OpenJFX.
PHP Gets Its 8.4 Moment
The PHP support, often the quiet underdog, picks up property hooks for PHP 8.4, corrects fluent setters to return static on PHP 8+, and adds support for variadic marked variables in PHPDoc. A fix for missing return types on constructor overrides rounds out the set. If you maintain a modern PHP codebase in NetBeans, this is the most relevant release in a while.
Enterprise, Web, and the Long Tail
- CDI and EL processing get performance fixes — a packaging filter no longer does costly work in a loop, and the EL module caches resolver contexts.
- GlassFish detection is more robust (install detection no longer depends on a
modules/glassfish.jarbeing present), and Payara can run on JDK 25. - The SCSS grammar gets fixes for three long-standing tickets, and the list of recognized JavaScript/TypeScript extensions is expanded.
- The git diff view remembers your file-table sort order. Small, yes. Annoying when it did not, also yes.
The Skeptic's Verdict
NetBeans 31 is not going to convert anyone away from IntelliJ, and the project's habit of shipping every fix into a new release number means you will be seeing "NetBeans 32" before the year is out. But for the people already in the ecosystem — the Maven-centric shops, the Java SE/EE crowd, the PHP developers who refuse to switch editors — this is a solid, low-risk update. No headline features, no drama, no regressions that jumped out in testing. Upgrade for the build-tooling fixes and the JDK 27 readiness; stay for the stability.