Software 42300 Published by

With numerous enhancements, including support for PHP 8.2, the Apache NetBeans 17 IDE's final release is now available.

Apache NetBeans 17

Apache NetBeans 17 was released on Feburary 21, 2023.  Go here on GitHub for a list of fixed issues for Apache NetBeans 17.

Apache NetBeans 17 is available for download from your closest Apache mirror.

Officially, it is important that you  verify the integrity of the downloaded files using the PGP signatures (.asc file) or a hash (.sha512 files). The PGP keys used to sign this release are available  here.


What's Changed


  • Fix mapping of dependencies described as key/value maps to the source by  @sdedic in  #4918
  • #4965: Fix issues with gradle pre-6.4 by  @sdedic in  #4995
  • [ #4865] Register JDPA and Java Compiler Output on Project level by  @lkishalmi in  #4984
  • Fixed some Gradle introspection problems wit pre-6.1 Gradle Versions by  @lkishalmi in  #5014
  • Fix  #5015: Fix Gradle/broken task dependency and serialization by  @sdedic in  #5022
  • Made Gradle JavaCompilerProcessorFactory work in absence of a ClasspathProvider by  @lkishalmi in  #5042
  • Use Project Dictated JVM for Gradle Discovery by  @lkishalmi in  #4985
  • Make Java Platform available on non-java Gradle Projects by  @lkishalmi in  #5053
  • Gradle: Support for proxy detection / autoconfiguration. by  @sdedic in  #5006
  • Fixing project loading issues with micronaut complex project. by  @sdedic in  #5124
  • Upgraded Gradle Tooling API to 8.0-rc-1 by  @lkishalmi in  #5240
  • Made runSingle Gradle task work on Gradle 8.0 by  @lkishalmi in  #5269
  • Fix Java version detection in GradleJavaCompatProblemProvider by  @lkishalmi in  #5271
  • Catch IAE when Gradle error getLocation cannot be called. by  @lkishalmi in  #5270
  • Gradle options UI cleanup (Execution and Appearance panel). by  @mbien in  #5274
  • Gradle Execution Customizer with Runtime by  @lkishalmi in  #5158
  • UI: fixed conditional gradle version info label. by  @mbien in  #5343


  • [NETBEANS-6519] Maven dependency produces full tree with duplicates, avoids cycles. by  @sdedic in  #4947
  • hide maven transfer progress via flag instead of regexp filter. by  @mbien in  #4954
  • Fix NullPointerException in MavenSelectionHintsTask by  @jglick in  #4994
  • Proxy autodetection + autoconfiguration for Maven. by  @sdedic in  #5038
  • [NETBEANS-4928] EAR deployment considers outputFileNameMapping Maven EAR plugin property by  @OndroMih in  #4930
  • Avoid an AssertionError with Maven folds by  @jglick in  #4957
  • enable some important sounding java tests by  @mbien in  #5107
  • fix output window stacktrace parsing when mvnd is used. by  @mbien in  #5099
  • globally enable maven stacktrace processing. by  @mbien in  #5116
  • Add displayname for maven POM language and order languages in options dialog by  @matthiasblaesing in  #5164
  • adds a basic maven dependency updater hint. by  @mbien in  #5009
  • upgrade exec-maven-plugin to 3.1.0. by  @mbien in  #5111
  • upgrade bundled maven to 3.8.7 by  @mbien in  #5170
  • update OutputUtils to support stacktrace links leading to JDK files. by  @mbien in  #5091
  • Fix for Windows Maven parent.relativePath from Mark Herkrath by  @mdeggers in  #5282
  • allow concurrent local indexing while downloading remote indexes. by  @mbien in  #5290
  • Springboot artifacts fix by  @sdedic in  #5352
  • Fix POM Graph colors for dark themes by  @johntor in  #5391


  • Fix java.editor tests by  @jlahoda in  #4931
  • NBABasedBulkSearch::encode doesn't return on cancel by  @mbien in  #4793
  • LSP: Create test class code action added. by  @dbalek in  #4939
  • apidoc check and improvement by  @ebarboni in  #4969
  • Test bugfixes: preparation for GH action migration by  @sdedic in  #4975
  • #5023: Formatting preferences for Java contains bad sample code by  @swpalmer in  #5028
  • remove unused byte buddy dependency. by  @mbien in  #5029
  • Fix organize imports to not add record from same package by  @jirkabs in  #5046
  • Fixing pattern matching for binding patterns by  @matthiasblaesing in  #5121
  • Prevent AOBE on empty, bad class files. by  @lkishalmi in  #5137
  • Make more hints for java available by  @matthiasblaesing in  #5013
  • Locate sources JAR if it is next to binary JAR by  @jtulach in  #5156
  • Recognize nbjrt: protocol and locate JDK9+ by  @jtulach in  #5157
  • [NETBEANS-4763] Handling switch expressions, case rules and exhaustive switches more correctly. by  @jlahoda in  #4788
  • Update to nb-javac-19.0.1. by  @dbalek in  #5133
  • Fix Javadoc 17 parsing by  @neilcsmith-net in  #5127
  • Allow to run missing ref hint in batch mode, but mark it as not having a fix. by  @jlahoda in  #5171
  • [NETBEANS-1309] add support for  @summary javadoc tag by  @jherkel in  #5180
  • fix NPE in RemoveUnnecessary class when case statement list is null. by  @mbien in  #5179
  • Extract source name from .class and use it to locate proper source by  @jtulach in  #5152
  • apidoc error/warning fix by  @ebarboni in  #5216
  • [NETBEANS-1615] fixed  @throws hint for type variable by  @wal-jan in  #2974
  • Fix possible NPE in by  @lkishalmi in  #5249
  • move java modules job to JDK 11 and fix tests where needed by  @mbien in  #5138
  • For projects, use the correct nbjavac prepend for the internal (boot)classpath. by  @jlahoda in  #5174
  • Add javadoc for JDK 21 early access by  @pepness in  #5259
  • Improving the Java AST debugging view. by  @jlahoda in  #4879
  • Prevent NullPointerException when matching filenames in SourceUtils by  @matthiasblaesing in  #5279
  • Jakarta EE 10 - Platform/API/RI support by  @jGauravGupta in  #4692
  • Improving indexing for erroneous sources. by  @jlahoda in  #5172
  • added missing record enums to editor module. by  @mbien in  #5339
  • PreconditionsChecker: fixed NPE when path is null. by  @mbien in  #5346
  • Annotated record reformatting fix by  @mbien in  #5374
  • [NETBEANS-4054] Ensuring progress when javac crashes while batch evaluating hints. by  @jlahoda in  #5384



  • Use warning rather than error for vulnerability reports. by  @sdedic in  #5005
  • Support directly native build plugin by  @sdedic in  #5021
  • tomcat5: Enable usage of javac release and remove internal class use (fix JDK8 and JDK17+) by  @matthiasblaesing in  #5160
  • Support for OCI profiles. by  @sdedic in  #5118
  • Do not inherit "throws Exception" from Callable to compile on JDK8 by  @sdedic in  #5191
  • Autoload default config profiles into ServerInstances. by  @sdedic in  #5226
  • Add Jakarta EE/Java EE support for Tomcat and TomEE by  @pepness in  #4822
  • Adding new action which registers ADB connection by  @jhorvath in  #5291
  • Tomcat 11 min supported Java is 17 by  @pepness in  #5340
  • Proper escaping of TNS_ADMIN path. Select JDBC driver with defined implementation. by  @sdedic in  #5363
  • Import local schema to avoid DNS lookup in build by  @jgneff in  #5372
  • Fix AddADBAction and DownloadWalletAction in delivery by  @sdedic in  #5389
  • React on both build and compile goals. by  @sdedic in  #5396



  • tweaks some versioning history settings. by  @mbien in  #4951
  • Fix missing ICON_RESOURCE in git tag actions by  @Atrament666 in  #5155


UI Changes

  • Have "Close All" and friends honor "Cancel" in save prompt dialogs by  @eirikbakke in  #4977
  • FlatLaf: fix font of window title when using --fontsize argument (on Windows) by  @DevCharly in  #5045
  • Allow to collect contextual actions from layer path. by  @sdedic in  #5198
  • Linux launcher: Auto-detect subpixel text rendering mode on KDE by  @eirikbakke in  #5161
  • Update FlatLaf from 2.6 to 3.0 and add macOS light and dark themes by  @DevCharly in  #5298


  • Remove Abandoned Cache Dirs Automatically [Janitor] by  @lkishalmi in  #4900
  • added tests to org.openide.util.TaskTest & upgraded to JUnit4 by  @lbownik in  #4112
  • Update asm from 9.3 to 9.4 by  @pepness in  #4820
  • Strip protocol part, present e.g. if in KDE + manual proxy mode. by  @sdedic in  #5195
  • Use default wpad.dat if autoproxy without explicit pacfile location. by  @sdedic in  #5210
  • rewritten 2 tests of org.openide.util.TaskTest into more readable form by  @lbownik in  #5061
  • Made FileUtil to copy POSIX permissions by  @lkishalmi in  #4654

Language Server Protocol

  • Fixes for DialogNotifier in LSP by  @sdedic in  #4907
  • VSCode: Auto enable/disable java should work when no folder is opened in workpsace. by  @dbalek in  #4991
  • VSCode: Hide Run Configuration panel when Java support is disabled. by  @dbalek in  #5031
  • LSP: Enable custom run config params for 'java' configuration. by  @dbalek in  #5194
  • VSCode: Security vulnerabilities found in dependent libraries fixed. by  @dbalek in  #5207
  • Include JS implementation for JDK16+ execution environment. by  @sdedic in  #5208
  • Use custom serialization for fileobject subclasses. by  @sdedic in  #5211
  • Open projects that correspond to workspace folders. Prevents "do you want to open project ?" questions. by  @sdedic in  #5286

VSCode Extension


  • db.mysql: Bump connector/j version to prevent unittest failures ran against newer mysql server by  @matthiasblaesing in  #4941
  • db.metadata.model: Bump connector/j version to prevent unittest failures ran against newer mysql server by  @matthiasblaesing in  #4953
  • Cleanup few remaining raw type List warnings.. by  @BradWalker in  #5004
  • CI: the final migration by  @mbien in  #4817
  • JDK 20 preparations by  @mbien in  #5122
  • move ide modules job to JDK 11 and fix tests where needed. by  @mbien in  #5144
  • Removed from code semicolon ;; duplicates by  @tbw777 in  #5212
  • Replaced a part of replaceAll() calls to replace() by  @tbw777 in  #5228
  • ci: add retry script to ide/options.editor tests and increase mac timeout. by  @mbien in  #5254
  • Removed StringUtils unused object creation by  @tbw777 in  #5242
  • Removed double null check with instance operator by  @tbw777 in  #5224
  • Added missing  @deprecated annotations by  @tbw777 in  #5209

Other Changes

New Contributors

Full Changelog 16...17

Release Apache NetBeans 17 · apache/netbeans