NetBeans IDE versions

Integrated development environment for Java desktop, mobile and web apps
Feb 29, 2024
Review
Sep 28, 2023
Review
Mar 8, 2023
Review
Mar 28, 2022
Review
Dec 7, 2021
Review
Sep 22, 2021
Review
May 30, 2021
Review
Mar 10, 2021
Review
Dec 8, 2020
Review
Jun 23, 2020
Review
Mar 17, 2020
Review
8.2
May 31, 2016
Review
8.1
Dec 4, 2014
Review
Feb 10, 2013
Editorial review
rating
7.4
Jun 25, 2013
Review
Jan 29, 2013
Review
Oct 7, 2012
Review
Jan 1, 2012
Jan 5, 2012
Review
Oct 4, 2011
Aug 9, 2011
Review
Feb 16, 2011
Review
Aug 23, 2010
Apr 22, 2010
Editorial review
rating
6.8
Nov 17, 2009
Review
Oct 23, 2009
Review
Jun 29, 2009
Editorial review
rating
Sep 4, 2009
Aug 5, 2008
Oct 24, 2008
Mar 25, 2008
Review
Sep 2, 2009
Feb 14, 2008
Oct 19, 2008
Feb 14, 2008
Sep 16, 2008

What's new

v21.0 [Feb 29, 2024]
What's Changed
Gradle
- Return the highest quality from all the loaders. by @sdedic in #6371
- Workaround: Avoid reporting BOMs among dependencies to prevent dependency graphs explosion by @sdedic in #6435
- Update Gradle Tooling API to 8.4 by @lkishalmi in #6553
- Do not ask for proxies on each project. by @sdedic in #6558
- #6536, #6537: avoid stack overflow, catch missing artifacts to be downloaded. by @sdedic in #6548
- Removed a few defunct Gradle Settings by @lkishalmi in #6516
- Fix Gradle version change in wrapper.properties by @lkishalmi in #6589
- Try to close Gradle Daemons on exit. by @lkishalmi in #6598
- Be more friendly on 'runSingle' when 'run' task is missing. by @lkishalmi in #6618
- Fix LSP/Micronaut tests + don't ignore exception in gradle spi by @mbien in #6673
Maven
- Maven Embedder resolve() fix by @sdedic in #6344
- Micronaut's lifecycle participant changed FQN in Micronaut 4.x by @sdedic in #6386
- Prevent NPE inside enable preview for Maven when pom.xml contains the… by @lahodaj in #6446
- NB module project wizard should not use snapshot versions. by @mbien in #6483
- UpdateDependencyHint should work on plugins with default maven group id by @mbien in #6493
- Update to maven-indexer 7.0.4 and lucene 9.8.0. by @mbien in #6506
- Upgrading the JDOM library in maven.embedder from version 1.0 to 2.0.6.1 by @lahodaj in #6478
- Build with dependencies before main action by @sdedic in #6520
- Update bundled maven to 3.9.5. by @mbien in #6533
- #6525: maven execution should setup LegacySupport before running Maven by @sdedic in #6552
- Priming build and reload improvements. by @sdedic in #6514
- Enable JUnit output processing for failsafe:integration-test by @neilcsmith-net in #6654
- Revert "Priming build and reload improvements." by @mbien in #6623
- Bump hardcoded maven compiler and resource plugin version defaults. by @mbien in #6681
Ant
- Fixes "error starting modern compiler" issue on JDK 21. by @mbien in #6436
Java
- Upgrading to JDK 21 nb-javac by @lahodaj in #6206
- Code completion modified to support JDK 21 features. by @dbalek in #6253
- Supporting source file launcher in VS Code extension by @lahodaj in #6262
- Do not mark test methods as unused. by @dbalek in #6277
- Add nb-javac libwrapper tests. by @mbien in #6308
- Fix: Java completion parameter tooltip is not shown if previous parameter is TypeVariable by @matthiasblaesing in #6268
- Handle errors in annotation processor initialization by @dbalek in #6422
- Update nb-javac to jdk-21u. by @dbalek in #6425
- The ClassLoader used to load annotation processors does not return directories from getResource/getResources methods, while normal ClassLoaders do - fixing. by @lahodaj in #6466
- LPS: SignatureHelp implemented. by @dbalek in #6476
- Disaplay parameter tooltips for annotations. by @dbalek in #6487
- Micronaut: Add missing path variable parameter fix. by @dbalek in #6498
- Bump gson from 2.8.5 to 2.8.9 in /nbbuild/misc/prepare-bundles by @dependabot in #4137
- Bump gson from 2.8.5 to 2.8.9 in /webcommon/typescript.editor/bundles/prepare by @dependabot in #4138
- Add support for String Templates. by @lahodaj in #6415
- CI: Enable java.editor.base tests. by @mbien in #6543
- Update JavaFX wizard names and move DukeScript wizard to a better position. by @mbien in #6551
- Remove TreeShims mechanism. by @mbien in #6495
- upgrade codesnippet-doclet by @ebarboni in #6565
- Improve inline-hints settings, add keybinding, disable by default. by @mbien in #6561
- Compute JavaDoc URLs lazily by @mbien in #6213
- JDK Downloader: fix current GA/EA values by @mbien in #6590
- Fix unnamed main method detection by @mbien in #6593
- Formatting options UI: fix naming panel layout by @mbien in #6619
- [NETBEANS-6599] Do not throw a CompletionFailure for empty java.lang package outside of java.base. by @lahodaj in #6629
- Assignments to parameters to record compact constructors should not be marked as unused. by @lahodaj in #6635
- [NETBEANS-6638]: Avoid adding a space after opening curly brace. by @lahodaj in #6641
- [NETBEANS-5659] Collection.forEach is always a read from the collection. by @lahodaj in #6646
- Limit msg length in test window by default. by @mbien in #6688
- Fix ConcurrentModificationException in TestMethodController by @lkishalmi in #6689
- Fix formatting of try/catch as first statement in switch case (GH5323). by @neilcsmith-net in #6678

v19.0 [Sep 28, 2023]
Gradle.
- Configure regular "run" / JavaExec-style tasks for single-class execution. Retain runSingle for compatibility. by @sdedic in #6003.
- Gradle Tooling API 8.3-rc-1 by @lkishalmi in #6254.
- Keep using Groovy DSL for Gradle by @lkishalmi in #6307.
- Configure latest released wrapper in new Gradle project by @neilcsmith-net in #6333
Maven.
- upgrade to maven-indexer 7.0.1 and improve index downloads by @mbien in #4999.
- Improving enable-preview Java fix by @jlahoda in #5802.
- upgrade to apache lucene 9.6.0 and maven-indexer 7.0.2 more by @mbien in #5931.
- upgrade bundled maven to 3.9.2. by @mbien in #5936.
- use SMO service for class name and SHA1 queries. by @mbien in #5984.
- maven remote index filters by @mbien in #5922.
- #5978: Maven/priming optimization by @sdedic in #5998.
- Integrate upstream incremental index update optimizations and other improvements by @mbien in #6089.
- Defensive guards against invalid code points in preferences. by @mbien in #6094.
- Upgrade bundled maven to 3.9.3. by @mbien in #6117.
- Fix wrong javac tree access for module information in modular maven project by @matthiasblaesing in #6154.
- Fix unstable unittest org.netbeans.modules.maven.ModuleInfoSupportTest by @matthiasblaesing in #6168.
- Fix NumberFormatException in maven dependency update hint. by @mbien in #6184.
- Update Jakarta EE 10 archetype for a new project by @OndroMih in #6201.
- Fix cycle in problem reporter with unreachable artifacts. by @sdedic in #6197.
- Revert "Use resolve() method that actually throws exception." by @mbien in #6228.
- Enable 'Rerun failed tests' button for JUnit5 by @Atrament666 in #6217
Java.
- #4447 - Fix missing code folding blocks in java editor for conditions, loops and try/catch by @Chris2011 in #4448.
- VSCode: Various code completion enhancements. by @dbalek in #5963.
- VSCode: Completion for annonymous inner classes improved. by @dbalek in #5981.
- Enable Micronaut HyperlinkProviders - deadlocks fixed. by @dbalek in #5991.
- Make sure the test roots are associated with the correct project(s) before attempting to run tests. by @jlahoda in #5722.
- Adding a way to directly specify JTreg when no is known by @jlahoda in #5721.
- JPDA Evaluator: Value, Description and Children should not be fetched on the EDT by @matthiasblaesing in #5877.
- Adding an option to disable unused hint for package private elements, ignoring elements that possibly are looked up using MethodHandles.Lookup. by @jlahoda in #5173.
- Attempting to avoid a crash when running a project/file when there's no DB connection. by @lahodaj in #6085.
- Enable modules to depend on CPU architecture, Update OpenJFX and support Aarch64 for Linux and mac OS by @matthiasblaesing in #6028.
- Reverting "Prefixing all code names of commands with 'nbls'.", as more time will be needed to discuss, validate the patch and adjust to it. by @lahodaj in #6114.
- Update collection return encapsulation hint. by @mbien in #6090.
- Provide Lambda expression option in Listener generation style by @kamilkrzywanski in #6150.
- VisualDevelopmentUtil should close streams by @Alfusainey in #6172.
- [NETBEANS-5719] Add option to disable tooltips for parameter completion. by @notzed in #5897.
- Repair openjdk.project tests and add them to CI by @mbien in #6194.
- Adding ability to run a single sub-test for tests under jtreg. by @jlahoda in #6067.
- Make NP Dereference hint aware of Objects.requireNonNull(). by @mbien in #6195.
- Support for transformation from jakartaee8 to jakartaee10 applications by @breakponchito in #5847.
- Fix for BigStringCustomEditor not being able to save Strings backed by byte arrays by @SirIntellegence in #6157.
- Add javadoc support for the 2nd jdk early release by @pepness in #6078.
- Investigate ComputeImportsTest test failures by @mbien in #6235.
- Fix Javadoc formatting error when using add/remove param hint. by @neilcsmith-net in #6282.
- Clarify Java Platform Manager UI. by @mbien in #6325
PHP.
- PHP: Changed the way null is parsed similar to true and false. by @troizet in #6065.
- Revert "Fix Imports" changes by @junichi11 in #6152.
- Stabilize some unreliable tests for smoother CI operation by @mbien in #6151.
- Fix instanceof expression with casting #5933 by @junichi11 in #6092.
- Add "Fix Imports" changes again by @junichi11 in #6161.
- Update the PHP sample project for PHPUnit by @junichi11 in #6169.
- Fix "Fix Imports" when the vardoc has nullable types by @junichi11 in #6170.
- Fix incorrect AbstractClassInstantiationHintError #6119 by @junichi11 in #6171.
- Fix "Fix Imports" issues again #5578 by @junichi11 in #6177.
- Don't remove existing uses if they are the same as the created string for use statements by @junichi11 in #6179.
- Fix the vendor name regex for Composer #6192 by @junichi11 in #6196.
- Avoid getting all types with an empty type name #6039 by @junichi11 in #6237.

v17.0 [Mar 8, 2023]
Gradle.
- 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.
Maven.
- [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.
Java.
- 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.
- spi.java.hints: 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 src.zip 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 Tiny.java by @lkishalmi in #5249.
- move java modules job to JDK 11 and fix tests where needed by @mbien in #5138.
- For nb.org 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.
- Improving indexing for erroneous sources. by @jlahoda in #5172.

v13.0 [Mar 28, 2022]
Highlights:
- Bundled nb-javac, startup experience simpler and smoother.
- Light FlatLaf look and feel by default.
- Partial upgrades for Maven, Gradle, and PHP.
Java:
- fixed wrong nb-javac module name so that it can be installed. [3575]
- [#3511] workaround for extends/implements panel not showing any results. [3543]
- [jackpot] DefaultRuleUtilities::referencedIn fix for single variable matching [3540]
- [#3494] Organize Imports inspection is not record aware. [3497]
- Hint/Inspection panel and dialog layout fixes [3472]
- [#3466] do not show Convert Type to Var hint for method references [3471]
- [NETBEANS-6388] remove findbugs installer module. [3455]
- [jackpot] Add sourceVersion(int) to rule file utils and deprecate enum variant. (part 2) [3439]
- nb-javac checks cleanup and dialog removal. [3396]
- [jackpot] Add sourceVersion(int) to rule file utils and deprecate enum variant. [3395]
- javac wrapper module should clean its "external" folder. [3392]
- VaniallaPartialReparser reports incorrectly reparsed files [3286]
- [jackpot] added generics aware rule to IteratorToFor inspection [3284]
- Handle any script’s URI and provide script content when not readable from file. [3277]
- Including nb-javac binaries in all the complementary distributions [3251]
- fixed class modifier auto completion for sealed classes. [3228]
- [jackpot] Rewrite "String::replaceAll with dot" inspection to apply to more cases and methods [3218]
- Dynamically switching from all-file processing to single-file processing of multi file JavaSources. [2959]
- [NETBEANS-4274] fix refactoring of class member when a new name is the same as the name of a local variable [2612]
Maven:
- #3526: Retain traling / for non-existing directories. [3541]
- NETBEANS-6347: Disabled user actions fixed [3454]
- Formatted the templates to be inline with the default java formatting. [3394]
- Upgrade to Apache Maven 3.8.4 [3328]
- m2 URL components need to be URL decoded before being used to create the artifact [3305]
- Maven pom.xml annotations: Configure graphics context for antialiasing [3269]
- [NETBEANS-5847] Maven project template uses template for project structure. [3262]
- maven daemon support [3210]
Gradle:
- [#3590] Prevent suspicious NPE forn Gradle SubProjectsNode [3591]
- [NETBEANS-6117] Fix Gradle project loading in template operations. [3480]
- Rewrite lambda to an inner class to prevent from Gradle warning about execution optimizations. [3377]
- NETBEANS-6307: check global artifact cache, ignore per-project cached structure if not consistent. [3375]
- Fixed typo: runSingle presence depends on runClassName property. [3335]
- Fixed some lost-in-translation issues with Gradle Tooling [3329]
- Use Gradle distribution service and public repo for their binaries. [3326]
- [NETBEANS-6004] Give info when the IDE’s Java is not compatible with Gradle [3320]
- [NETBEANS-5783] Testcase checking Gradle ProjectInfo never return null [3319]
- [NETBEANS-5846] Minimal support of java-platfom Gradle projects. [3293]
Groovy:
- [NETBEANS-6361] Code completion for class fields doesn’t work. [3408]
- [NETBEANS-6291] Navigation to fields sometimes doesn’t work in Groovy [3368]
- Avoid spurious exception in log. Warn if perf counters are enabled on incompatible JDK [3366]
- [NETBEANS-6276] Groovy CC doesn’t work on JDK 1.8 [3362]
- [NETBEANS-6253] Posibility to run single Groovy Script [3350]
- [NETBEANS-6218] An infinite loop may occur when parsing Groovy sources [3325]
- [NETBEANS-6196] Package code completion doesn’t work in empty groovy … [3316]
PHP:
- [NETBEANS-6177] Fix an issue the stop command is not sent [3549]
- Fix code completion for parent’s trait #3486 [3521]
- Regenerate sigfiles [3507]
- [NETBEANS-5599] PHP 8.1 Support [3463]
- [NETBEANS-5599] PHP 8.1 Support: Pure intersection types [3461]
- [NETBEANS-5599] PHP 8.1 Support: New in initializers [3448]
- [NETBEANS-6315] Escape HTML entities in PHPStan report [3380]
- [NETBEANS-5599] PHP 8.1 Support: Readonly Properties 2.0 [3360]
- [NETBEANS-6239] Add PHPStan rule level 9 [3341]
- [NETBEANS-5599] PHP 8.1 Support: Never type [3340]
- [NETBEANS-5599] PHP 8.1 Support: Final class constants part [3331]
- [NETBEANS-2472] Mark overriding/overridden constants and properties as annotations [3327]
- [NETBEANS-6217] Allow Convert Visibility Suggestion to be disabled [3324]
- [NETBEANS-6193] PHP 8.0: Fix syntax errors for attributes of interface constants and methods [3315]
- [NETBEANS-3362] Show inherited members on the navigator pane [3296]
CSS:
- [#3593] Fix csl elementhandle [3597]
- CSS Parser Fixes [3359]
- Exclude less (@{}) and scss (#{}) string interpolation from formatting [3314]

v12.6 [Dec 7, 2021]
Java Enhancements:
Java Editor:
- nbjavac-upgrade-to-jdk-17: https://github.com/apache/netbeans/pull/3112.
- Auto completion for "record" is now prefix aware: https://github.com/apache/netbeans/pull/3227.
- Add support for Pattern Matching for switch (Preview): https://github.com/apache/netbeans/pull/3007.
- When java.lang is not available, avoid throwing a FatalError: https://github.com/apache/netbeans/pull/2947.
- Java code completion should show effectivelly final variables for use from anonymous classes: https://github.com/apache/netbeans/pull/3106.
- Fixing TreeUtilities.pathFor in the presence of the synthetic 'value=' in annotations: https://github.com/apache/netbeans/pull/3103.
- Include URLs in Java code templates for easier customization: https://github.com/apache/netbeans/pull/3141.
- Improve wait condition for the test: both Lookup and configurations must change: https://github.com/apache/netbeans/pull/3140.
- General Availability for javadoc 17: https://github.com/apache/netbeans/pull/3222
- CheckRegexp hint causes all lines with regexp shown with a warning: https://github.com/apache/netbeans/pull/3287.
- NoSuchMethodError thrown while applying CreateClassFix: https://github.com/apache/netbeans/pull/3199.
- Return a copy instead of cached array: https://github.com/apache/netbeans/pull/3163.
Gradle
- Bumped Gradle Tooling to 7.3 with Java 17 support: https://github.com/apache/netbeans/pull/3246.
- Gradle projects should recognize Kotlin source directories: https://github.com/apache/netbeans/pull/2541.
- Make Gradle Project test close connections to Gradle Daemon: https://github.com/apache/netbeans/pull/3193.
- Allow to use Gradle 7.2 distributions on JDK17: https://github.com/apache/netbeans/pull/3216.
- Prevent NPE form GradleDistributionManager: https://github.com/apache/netbeans/pull/3195.
- New Project wizard for Gradle should use gradle init: https://github.com/apache/netbeans/pull/3084.
- Updating the Java Frontend project template to work with Gradle 7.0: https://github.com/apache/netbeans/pull/3083.
- LanguageCache$Loader is not found in newer GraalVMs: https://github.com/apache/netbeans/pull/3235.
Maven
- Support Maven Wrapper (mvnw) in projects: https://github.com/apache/netbeans/pull/3198.
- UTF-8 input is broken in Maven project: https://github.com/apache/netbeans/pull/3289.
- Maven looks for annotation processor classpath in compiler plugin’s configuration: https://github.com/apache/netbeans/pull/3190.
Groovy
- Cached Transformation Classloader, based on set of classpath roots: https://github.com/apache/netbeans/pull/3213.
- Use static type checking to attribute AST: https://github.com/apache/netbeans/pull/3125.
- Performance: groovy loads classes using FileSystems: https://github.com/apache/netbeans/pull/3165.
- Avoid ClassLoader resource lookups: https://github.com/apache/netbeans/pull/3175.
- Must reach ELEMENTS_RESOLVED before working with java els: https://github.com/apache/netbeans/pull/3184.
- Fix test failures in Groovy.editor https://github.com/apache/netbeans/pull/3197.
- Fix wrong Groovy version in ant library: https://github.com/apache/netbeans/pull/3247.
Jakarta EE
- Payara Server UI disabled on the failed startup: https://github.com/apache/netbeans/pull/3273.
- Add details for Glassfish 6.2.1 server and improve version detection: https://github.com/apache/netbeans/pull/3288.
- Fix test failures in 'j2ee.core': https://github.com/apache/netbeans/pull/3226.
- Java Maven Web Project not created properly: https://github.com/apache/netbeans/pull/3170.
LSP
- Use RequestProcessor to fix SecurityException:setContextClassLoader: https://github.com/apache/netbeans/pull/3082.
- Find tests on initial scan: https://github.com/apache/netbeans/pull/3093.
- Move refactoring added: https://github.com/apache/netbeans/pull/3123.
- Prevent from NPE when no NetBeans project is opened: https://github.com/apache/netbeans/pull/3120.
- Restart frame action implemented in the DAP: https://github.com/apache/netbeans/pull/3119.
- Eating VSCode own Dog Food: https://github.com/apache/netbeans/pull/3129.
- Show test results for MX projects: https://github.com/apache/netbeans/pull/3128.
- Extract Superclass and Extract Interface refactorings added: https://github.com/apache/netbeans/pull/3138.
- Client Improvements (Foldmanager, Performance): https://github.com/apache/netbeans/pull/3153.
- Proper handling of LSP logging breakpoints: https://github.com/apache/netbeans/pull/3150.
- Pull Up and Push Down refactorings added: https://github.com/apache/netbeans/pull/3149.
- By default build release-like version of .vsix: https://github.com/apache/netbeans/pull/3118.
- Various Surround With refactoring fixes: https://github.com/apache/netbeans/pull/3169.
- Surround With refactorings implemented: https://github.com/apache/netbeans/pull/3157.
- ChangeMethodParameters refactoring added: https://github.com/apache/netbeans/pull/3174.

v12.5 [Sep 22, 2021]
Java:
- Temporarily allow setting of SecurityManager: https://github.com/apache/netbeans/pull/3003.
- [NETBEANS-5661] - Added regular expression window and hint: https://github.com/apache/netbeans/pull/2953.
- Prefer .class execution over .java if the class already exists: https://github.com/apache/netbeans/pull/3036.
- [NETBEANS-5801] - Add javadoc for JDK 18 early access: https://github.com/apache/netbeans/pull/3008.
- [NETBEANS-5704] when generating --patch-module option, also use the generated source roots. Java: https://github.com/apache/netbeans/pull/2977.
- [NETBEANS-5832] Fixing compilation of static initializer for vanilla indexing.: https://github.com/apache/netbeans/pull/3054.
- Adding declarative Java hints to the LSP server: https://github.com/apache/netbeans/pull/2905.
Gradle:
- Report progress from Gradle’s CreateFromTemplateHandler Gradle LSP bug: https://github.com/apache/netbeans/pull/3044.
- Fixed source javadoc Gradle download Gradle LSP bug: https://github.com/apache/netbeans/pull/3040.
- Source/javadoc attacher must report download actions as enabled. Gradle Java bug: https://github.com/apache/netbeans/pull/3029.
- Gradle Action Providers can disable an action. API Change Gradle enhancement: https://github.com/apache/netbeans/pull/3004.
- LSP server informs client about unsuccessful launch. Gradle LSP: https://github.com/apache/netbeans/pull/3006.
- Prevent deadlock - Workspace shared IO supports close on input stream. Gradle LSP: https://github.com/apache/netbeans/pull/3019.
- Support for configurations in Gradle Gradle LSP enhancement: https://github.com/apache/netbeans/pull/2969.
- [NETBEANS-5768] Recognize gradle projects with settings.gradle only file: https://github.com/apache/netbeans/pull/3028.
- [NETBEANS-2373] Better than nothing support for Gradle Distribution dirs Gradle: https://github.com/apache/netbeans/pull/2920.
- [NETBEANS-5668] Fix slipping -s in the Project Problem Dialog Gradle: https://github.com/apache/netbeans/pull/2944.
- [NETBEANS-4252] Added PathFinder to Gradle Build Scripts Node Gradle: https://github.com/apache/netbeans/pull/2933.
Maven:
- Support for disabling actions in Maven (used by Micronaut) API Change Maven enhancement: https://github.com/apache/netbeans/pull/3016.
- [NETBEANS-5803] Handle Maven projects with https name space. Maven: https://github.com/apache/netbeans/pull/3012.
- [NETBEANS-5143] Fixes Maven web app twice deployment issue: https://github.com/apache/netbeans/pull/3005.
Micronaut.
- Support for Micronaut’s automatic restarts (mn:run) for Maven API Change Java Maven enhancement: https://github.com/apache/netbeans/pull/2948.
- LSP: Provide hover information in Micronaut yaml files. LSP: https://github.com/apache/netbeans/pull/2955.
- Micronaut configuration completion and navigation improvements LSP: https://github.com/apache/netbeans/pull/2962.
- Micronaut: Allow for creating project on JDK 16.: https://github.com/apache/netbeans/pull/3058.
Payara.
- Fixes fetching the Payara Server list in private network: https://github.com/apache/netbeans/pull/3018.
PHP Enhancements.
- [NETBEANS-5678] Use the URL of the forked repository of the Skeleton Generator: https://github.com/apache/netbeans/pull/3052.
- [NETBEANS-5719] Unused property hint is shown when the property is used as a constructor argument: https://github.com/apache/netbeans/pull/3065.
- [NETBEANS-5480] Add an option(system property) to disable the feature to fold PHP tags: https://github.com/apache/netbeans/pull/3069.
C/C Enhancements.
- Fixing newly created cpplite project, avoiding starting the C/C LSP server when the configuration is not readable: https://github.com/apache/netbeans/pull/2877.
- In cpplite project, when reading configuration, an empty string should not be considered a valid configuration: https://github.com/apache/netbeans/pull/2904.
Miscellaneous Enhancements.
General:
- LSP: Find usages should search also in project dependecies. LSP: https://github.com/apache/netbeans/pull/2950.
- [NETBEANS-5492] change test proxy connection url to apache: https://github.com/apache/netbeans/pull/2830.
- [NETBEANS-5698] Fix tabcontrol painting on MacOS retina displays (Aqua LAF): https://github.com/apache/netbeans/pull/2970.
- [NETBEANS-4953] Fixing handling of WSL-based URIs.: https://github.com/apache/netbeans/pull/2988.
- [NETBEANS-5673] Modernize tab controls in the Windows LAF: https://github.com/apache/netbeans/pull/2967.
- [NETBEANS-5697] Various other LAF/HiDPI improvements on Windows: https://github.com/apache/netbeans/pull/2965.
- [NETBEANS-5726] Fix JCheckboxMenuItem state for 'Show Editor Tooolbar': https://github.com/apache/netbeans/pull/2979.
- [NETBEANS-4150] added a KeyringProvider using libsecret for new versions of Gnome: https://github.com/apache/netbeans/pull/2906.

v12.4 [May 30, 2021]
Java Enhancements:
Java 16 Support:
- Java 16, the latest release of Java at the time of Apache NetBeans 12.4, is supported, including nb-javac which has been upgraded to support Java 16. nbjavac-upgrade-to-jdk-16: https://github.com/apache/netbeans/pull/2899.
- Replace usage of JDK internal, or in-house Base64 codecs by java.util.Base64: https://github.com/apache/netbeans/pull/2874.
Install OpenJDK:
Go to Tools | Java Platform, click Add Platform, and then "Remote Universal OpenJDK Service", and you’ll be able to download and register OpenJDK distros of your choice. https://github.com/apache/netbeans/pull/2854 https://github.com/apache/netbeans/pull/2896.
Jakarta EE:
- Jakarta EE 9 Project Support: https://github.com/apache/netbeans/pull/2684.
Micronaut:
In the New Project dialog, choose "Java with Maven" and then "Micronaut Project", to get started with Micronaut development in Apache NetBeans 12.4..
- New Micronaut project wizard.
- Code completion in Micronaut yaml config files implemented.
- HyperlinkProvider for Micronaut yaml config files implemented.
- WhereUsed RefactoringPlugin for Micronaut yaml config files implemented.
Payara:
Automatically detect & list Payara Platform version in the server registration panel: https://github.com/apache/netbeans/pull/2409.
Maven:
- Support for VM/app argument injection to (Maven) run and debug project actions: https://github.com/apache/netbeans/pull/2731.
- Avoid NPE when executing some Maven projects: https://github.com/apache/netbeans/pull/2833.
Gradle:
- Upgrade Gradle Tooling to 7.0: https://github.com/apache/netbeans/pull/2861.
- Support Gradle Source Groups from Alien Projects: https://github.com/apache/netbeans/pull/2779.
- Fix NPE on Gradle settings when no network connection: https://github.com/apache/netbeans/pull/2879.
- Upgradle to JaCoCo 0.8.6 for Gradle Code Coverage: https://github.com/apache/netbeans/pull/2893.
- Clear NB Non-Project cache when we have more info from Gradle: https://github.com/apache/netbeans/pull/2837.
Ant:
- Support Ant Freeform projects with source Level 9+: https://github.com/apache/netbeans/pull/2794.
- Update nbbuild freeform project to open without errors: https://github.com/apache/netbeans/pull/2798.
- Improve Java/Jakarta EE with Ant based projects: https://github.com/apache/netbeans/pull/2491.
Web Frontend Enhancements:
PHP Enhancements:
- PHP 8.0 Support: Named Arguments: https://github.com/apache/netbeans/pull/2894.
- Prevent generating abstract methods with PHPDoc return array type: https://github.com/apache/netbeans/pull/2886.
- Improved Fix Uses dialog: https://github.com/apache/netbeans/pull/2755.
- Fixed compatibility with Phing 3: https://github.com/apache/netbeans/pull/2776.
- Show new configuration files for PHP-CS-Fixer 3 in Important files : https://github.com/apache/netbeans/pull/2880.
HTML:
- Improved code completion for HTML forms: https://github.com/apache/netbeans/pull/2739.
Miscellaneous Enhancements:
Markdown:
- Files with extension ".md" are recognized, with a special icon, and basic syntax coloring: https://github.com/apache/netbeans/pull/1428.
FlatLaf Enhancements:
- Update FlatLaf from 1.0 to 1.1.1 and added "FlatLaf" options: https://github.com/apache/netbeans/pull/2839.
- Fix/improve styling of quicksearch field in menubar: https://github.com/apache/netbeans/pull/2900.
- Update from 1.1.1 to 1.1.2 and fix/improve options: https://github.com/apache/netbeans/pull/2872.
Error Notifications:
- Always display errors as an icon in bottom right corner in development builds: https://github.com/apache/netbeans/pull/2888.
.

v12.2 [Dec 8, 2020]
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.
- 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.
- Java Editor and Java debugger in VS Code. https://cwiki.apache.org/confluence/display/NETBEANS/Apache NetBeans Extension for Visual Studio Code.
JavaFX.
- 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.
- Union Types: https://github.com/apache/netbeans/pull/2319.
- Nullsafe operator: https://github.com/apache/netbeans/pull/2446.
- Match expression: https://github.com/apache/netbeans/pull/2303.
- throw Expression: https://github.com/apache/netbeans/pull/2280.
- Non-capturing catches: https://github.com/apache/netbeans/pull/2265.
- Allow ::class on objects: https://github.com/apache/netbeans/pull/2295.
- Allow trailing comma in parameter list: https://github.com/apache/netbeans/pull/2269.
- Static return type: https://github.com/apache/netbeans/pull/2335.
- Mixed type: https://github.com/apache/netbeans/pull/2342.
- 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.

v12.0 [Jun 23, 2020]
Apache NetBeans 12.0 adds support for the latest Java language features, integrates new code donations from Oracle for Java Web development, enhances its best of breed Apache Maven tooling, brings multiple enhancements for users of Gradle, includes built-in features for Payara and WildFly for the first time, introduces new out of the box templates for JavaFX, upgrades and extends its PHP editor, provides new dark look and feel options, and includes a wide range of fixes.
All features provided by Apache NetBeans are supported out of the box, without additional plugins needing to be installed, and all for free. Apache NetBeans 12.0 is the first LTS release of NetBeans as a top level Apache project.
- Windows LAF: Fixed tiny or huge GUI font size on various HiDPI configurations, fixed incorrectly sized component icons (radio buttons, checkboxes, project tree expansion handles etc.) on various HiDPI configurations, fixed uneven borders on text components on non-integral HiDPI scaling factors, e.g., 150%, fixed broken tab dragging (window rearrangements) on HiDPI displays.
- Toolbar browser icon take advantage of improved HiDPI scaling.
- Implemented simplified HeapView widget.
- Fixed incorrectly positioned line-width marker (i.e., shown at 82 characters instead of 80 characters), and inaccurate tab alignments. This bug existed at certain editor zoom levels on Windows, Linux, and MacOS, including on non-HiDPI screens.
- Fixed clipped file names in Projects window and Files window on Windows on HiDPI screens.

v11.3 [Mar 17, 2020]
Enhancements and Fixes:
Java Build Systems:
Gradle:
- Upgraded Gradle Tooling API to 6.0.
- Added Support for Custom Gradle Home.
- Added Support for Gradle Composite Projects.
- Recognize Kotlin based Gradle Projects.
- Gradle Project can be Reloaded Forcibly.
Maven
- In the Options window, under Java/Maven, the default JDK can be set, for the first time, for all Maven projects.
PHP, JavaScript, and HTML.
- TypeScript Editor.
- Chrome connector connection with NetBeans has been fixed.
- Prioritize "--standard" parameter of the path of Code Sniffer.
- Autocomplete for PHP property and method without $this→
Miscellaneous
- Cleaning up many compiler warnings, for example, relating to linter warning types of deprecation, rawtypes, and unchecked.
- Library updates, for example, to Groovy 2.5.9, junit 5.5.2, and GraalVM 19.3.0.
- Janitor helps to identify and remove old and unused NetBeans user directories.
Notes:
- The donation of the NetBeans C and C features from Oracle to Apache has been completed in the 11.3 timeframe, though the code has not yet been integrated. This is anticipated to be a large task and may take some time, involving not only license changes and IP clearance in Apache, though also potentially code changes since not everything that was part of these features in Oracle was able to be donated by Oracle to Apache. Until the code integration is complete, go to the Plugin Manager, enable the NetBeans IDE 8.2 Update Center, which lets you install the NetBeans IDE 8.2 modules providing C and C features.
- WildFly integration is supported by means of the WildFly Application Server plugin located in the Plugin Portal.

v8.1 [Dec 4, 2014]
Node.js support
HTML5/JavaScript Enhancements
Java Enhancements
PHP Enhancements
C/C Enhacements
Support for remote Oracle WebLogic Server
Community contributed WildFly 9 and 10
Bundling with the JRE.

v7.4 [Jun 25, 2013]
- HTML5 development for Android and iOS devices.
- HTML5 development in Java EE and PHP applications.
- Editing support for Knockout and AngularJS frameworks.
- Java SE 8 Support.
- Redesigned JavaFX support according to JDK 8 architecture.
- Enhancements to JavaFX, PHP, C/C , Maven.

v7.3.1 [Jan 29, 2013]
Rich Web applications (HTML5, JavaScript, CSS)
Extended clipboard and refactoring improvements in Java Editor
JavaTM SE Development Kit 7 Update 13 support
Full support of JavaFX 2.2.5 SDK
Support for JavaME SDK 3.2

v7.0.1 [Aug 9, 2011]
NetBeans IDE 7.0.1 includes the following notable changes:
- Full JDK 7 support: Running NetBeans IDE on top of JDK 7 and support for the final version of the JDK 7 language features
- Integration of the recent patches
- Performance improvements
- Full certification on the final release of JDK 7
- Bundle GlassFish 3.1.1 update release
- WebLogic related enhancements
- Significant quality increase
- Oracle Database improvements
- HTML5 editing support
- Maven 3 is supported and bundled with the IDE
- Improved support for CDI, REST services, Java Persistence, and Bean Validation
- PHP Rename Refactoring
- Line wrapping
- Improved detection of external changes (native file system listening)
- Updates to the C/C++ support (remote file system browsing, library projects running/debugging, enhanced templates/specializations)
- Support for Git 1.7.х

Alternative downloads

PL/SQL Developer
PL/SQL Developer
rating

Manage databases, execute SQL scripts, and develop program units for Oracle DBs.

Komodo IDE
Komodo IDE
rating

Integrated development environment for editing, debugging and testing software.

KISS Platform
KISS Platform
Free
rating

It can be used to program KIPR Link robotic controllers.

EasyEclipse Mobile Java
EasyEclipse Mobile Java
Free
rating

Very large downloads with many components or plugins you don't need.

xacc.ide
xacc.ide
Free
rating

Integrated development environment for .NET programming.