Software 42190 Published by

The first release candidate for the Apache NetBeans 21 IDE has been released for testing.





Apache NetBeans 21-rc1

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
  • Move platform jobs to 11 by @mbien in #6617
  • Fix LSP/Micronaut tests + don't ignore exception in gradle spi by @mbien in #6673
  • OCI ADM vulnerability audit fixes by @sdedic in #6669
  • Prevent endless recursion, limit traversal depth. by @sdedic in #6691
  • Fix Swaped proxy and exec combo in Gradle Options by @lkishalmi in #6806
  • Allow to configure just JVM params or app params by @sdedic in #6812
  • Avoid null type, derive from provider type params or fallback to Object. by @sdedic in #6820
  • Verify tool proxy setting before adjusting or asking. by @sdedic in #6764
  • Project Dependency modification (private) API by @sdedic in #6868
  • Let NetBeans know that Gradle 8.5 is good with Java 21 by @lkishalmi in #6807
  • Ignore scope inheritance for configs not present in the project. by @sdedic in #6936

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
  • Update maven central repo URL by @mbien in #6754
  • Update bundled maven to 3.9.6. by @mbien in #6773
  • Update maven mirror generator action. by @mbien in #6766
  • Better transient repo deduplication. by @mbien in #6757
  • Centralize internal maven artifact version queries. by @mbien in #6751
  • Maven dependency update hint and version completion for pom profiles. by @mbien in #6765
  • Work better with custom exec-style goals by @sdedic in #6805
  • Update to maven-indexer 7.1.1 and lucene 9.9.1. by @mbien in #6791
  • Disable ANSI decorations for default (embedded) maven logger. by @mbien in #6843
  • Return root node even though everything is filtered. by @sdedic in #6846
  • Priming build and reload improvements revisited by @sdedic in #6789
  • Upgrade maven-indexer from 7.1.1 to 7.1.2 by @mbien in #6935

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
  • Enable previously disabled tests for the java.hints module. by @mbien in #6554
  • [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
  • Fix for outline tab not loading in case package-info.java file is present in the workspace in vscode by @Achal1607 in #6642
  • Code completion support for Micronaut Expression Language added. by @dbalek in #6648
  • Fixing the UnitTestForSourceQueryImpl for openjdk projects. by @lahodaj in #6481
  • The list of tests should include TestNG tests. by @lahodaj in #6615
  • Avoiding crash during indexing when a record has a component with a wrong name. by @lahodaj in #6649
  • Improving String templates support in the code gen. by @lahodaj in #6637
  • Attempt to fix navigator popup menu race. by @mbien in #6727
  • Adding CommandProvider API, to allow removal of commands out of java.lsp.server. by @lahodaj in #6133
  • LSP: Java code completion speedup. by @dbalek in #6755
  • Fix multiline String brace matching. by @mbien in #6726
  • Support for multi-file source launcher. by @lahodaj in #6329
  • Micronaut Data Endpoint Method generation added. by @dbalek in #6799
  • Detect JPA provider on classpath, removing requirement to have it as legacy library by @matthiasblaesing in #6748
  • Fix errors from java multi-file source launcher by @matthiasblaesing in #6832
  • Added warning for case where var and diamond operator are used together by @Achal1607 in #6780
  • Stacktrace analyzer window fixes by @mbien in #6841
  • LSP: Using labelDetails in CompletionItems by @dbalek in #6904
  • Not registering the LSP's SingleFileOptionsQueryImpl in java.lsp.server, but only in nbcode by @lahodaj in #6854
  • Make NetBeans aware of the StringTemplate.STR default field import. by @mbien in #6908
  • nb-javac: Check for Abort/CancelAbort in exception cause chain by @matthiasblaesing in #6865
  • Adds null check before calling nullable repository variable method to avoid NPE #6682 by @snreinert in #6694
  • JShell: Running "Execute Java Shell" from Maven project fails by @matthiasblaesing in #6905
  • ConvertToLambda hint should ignore default methods. by @mbien in #6658
  • Updated test results window by @mbien in #6695
  • [NETBEANS-6881][NETBEANS-6880][NETBEANS-6921] Additional fixes for the multi-file launcher: by @lahodaj in #6912
  • Adding ability to safely enable/disable module fragments (requires restart, obviously), and tweaking nbjavac so that it can be enable/disabled. by @lahodaj in #6743

PHP

  • PHP: Improved validation when creating a line breakpoint by @troizet in #6241
  • Fixed gap between checkboxes in php project testing settings by @troizet in #6381
  • Prevent getting an incorrect type if a return type is static with PHPDoc tag(@return) #6247 by @junichi11 in #6251
  • Prevent NPE when IntroduceSuggestionHint generates code by @junichi11 in #6269
  • Fix the problem that typed fields marked as deprecated are not displayed as deprecated #6310 by @junichi11 in #6321
  • Keep existing order of use type kinds(types, functions, constants) if possible #6274 by @junichi11 in #6322
  • Fix code completion for fields with single line var doc #6359 by @junichi11 in #6364
  • PHP: Added support for exception breakpoints. by @troizet in #6366
  • PHP: In the navigator, inherited members are displayed in a different color, similar to how it is done in java by @troizet in #6393
  • Fix wrong IncorectNamedArgumentHintError #6432 by @junichi11 in #6437
  • Add "After Use Trait" to the formatting options #4685 by @junichi11 in #6467
  • PHP: Fixed element positioning in code completion settings for php by @troizet in #6512
  • PHP: Fix autocomplete for exception class when adding exception breakpoint. by @troizet in #6643
  • Fix php tag fold test (attempt 2) by @mbien in #6665
  • PHP 8.2 Support: Constants in Traits #4725 by @junichi11 in #6700
  • PHP: Implemented correct return type guessing for a function that returns an array by @troizet in #6697
  • Handle brackets other than string correctly when "]" is typed #6706 by @junichi11 in #6720
  • Fix the formatting for a method invocation with a ternary or null-coalescing operator #5380 by @junichi11 in #6724
  • Fix incorrect indentation behavior #6731 by @junichi11 in #6738
  • PHP: Improve the performance for Go to Declaration by @junichi11 in #6712
  • PHP 8.3 Support: Dynamic class constant fetch #6701 by @junichi11 in #6752
  • PHP 8.3 Support: Typed class constants #6701 by @junichi11 in #6793
  • PHP features for NB21 by @junichi11 in #6819
  • PHP: Improve enum cases by @junichi11 in #6825
  • PHP: Fixing cancelability bugs by reverting from a for each loop to a normal loop by @troizet in #6853
  • PHP 8.3 Support: Marking overridden methods (#[\Override]) #6701 by @junichi11 in #6873
  • Fix the formatting for the method call arguments alignment option #6714 by @junichi11 in #6877
  • PHP: mark a breakpoint as broken when an error is received when breakpoint_set is executed to set a breakpoint by @troizet in #6876
  • Formatting for the group multiline alignment for match arm arrows #6074 by @junichi11 in #6884
  • PHP: New way to set the current breakpoint by @troizet in #6891
  • Improve magic methods generation by @junichi11 in #6896
  • Add the IncorrectStaticContextHintError as a new hint #6703 by @junichi11 in #6899
  • Fix the named argument code completion for constructors by @junichi11 in #6911
  • Fix incorrect code completion with the same member names as semi-type prefixes #6909 by @junichi11 in #6915
  • PHP 8.0 Support: Attribute Syntax (Part 4) by @junichi11 in #6929
  • Fix the problem that inccorect indentation is added after an attribute(e.g. #[Attr(1, 2)]) by @junichi11 in #6940
  • PHP 8.0 Support: Attribute Syntax (Part 5) by @junichi11 in #6939
  • Regenerate PHP signature files by @junichi11 in #6950
  • Fix the code completion for predefined attributes by @junichi11 in #6951

C/C++

Enterprise

  • Feature: Added all enterprise modules with non failing unit tests by @asbachb in #6244
  • Start running enterprise tests on JDK 11 by @mbien in #6296
  • use 'parameters' to find out if createProcedureInfo() was already invoked by @thurka in #6298
  • LSP: Micronaut symbols position fixed. by @dbalek in #6352
  • LSP: Micronaut endpoints finder fixes. by @dbalek in #6380
  • Micronaut: Avoid using jakarta.persistence when generating entity classes by @dbalek in #6409
  • Micronaut 4 build plugin recognized. by @sdedic in #6424
  • Open the Payara Server's home and domain directory in Explorer by @jGauravGupta in #6347
  • Fixed increasing number of steps by @thurka in #6420
  • Quickpick title for database fixed by @thurka in #6413
  • JakartaEE: Fix more cases where jakarta namespace has to be supported by @matthiasblaesing in #6473
  • Display Faces VERSION instead of JSF VERSION by @asbachb in #6564
  • Add support for GlassFish 7.0.7, 7.0.8, and 7.0.9 by @pepness in #6542
  • Do not create repository and entity classes from template by @thurka in #6529
  • WildFly - ConcurrentHashMap over synchronized collections and some improvements by @pepness in #6602
  • Micronaut Template for Data repository - add support for Pageable by @thurka in #6591
  • Database dialect not detected by @thurka in #6609
  • Allow for creating Micronaut Controllers based on Data Repository interfaces by @dbalek in #6702
  • Micronaut Expression Language: Goto Declaration and Hover implementation by @dbalek in #6732
  • Download DB Wallet action should also create a DB Connection from IDE by @thurka in #6763
  • "Copy OCID" action added by @thurka in #6786
  • @Serdeable annotation added to generated entities. by @dbalek in #6811
  • Improve code REST code generation/integration in JavaEE 9+ environments (jakarta namespace change) by @matthiasblaesing in #6728
  • Update jaxb maven plugin and handle javax and jakarta namespaces by @matthiasblaesing in #6736
  • Add support for GlassFish 7.0.10 by @pepness in #6747
  • Add JAVA SE 23 support for Tomcat and TomEE by @pepness in #6824
  • allow to copy OCID to clipboard by @thurka in #6804
  • Add support for GlassFish 7.0.11 by @pepness in #6827
  • Wildfly Integration further cleanup after dca223a by @matthiasblaesing in #6872
  • Entities from Database: Improve DB connection selection by @matthiasblaesing in #6888

Web

Versioning

  • Update jgit from 5.7.0 to 6.7.0. by @matthiasblaesing in #6544
  • Read initial git branch name from user config. by @mbien in #6528
  • Git: enable "replace invalid branch characters" by default by @mbien in #6555
  • Fix Git show history regression. by @mbien in #6594
  • Fix CherryPickCommand ArrayIndexOutOfBoundsException (GH6668) by @neilcsmith-net in #6672
  • Add missing git create-branch and switch-branch toolbar icons. by @mbien in #6696
  • GIT: Removed unnecessary separators from the git toolbar by @troizet in #6709
  • Git client: Enable forced pushes for configured push and push to upstream by @matthiasblaesing in #6823
  • Update to JGit 6.8 and Bouncy Castle 1.77 by @mbien in #6887

Editor

  • Fix: Enable to add docker instance via socket on mac with apple silicon by @lazydan in #6328
  • Checkbox support on Markdown preview by @moacirrf in #6401
  • Drop horizontal scroll mouse button events on Linux by @neilcsmith-net in #6644
  • Terminal, Output and Syntax Coloring options UI cleanup. by @mbien in #6660
  • [NETBEANS-6527] Do not cast FormatterDocument class to BaseDocument class for formatting xml files by @Achal1607 in #6631

UI Changes

Platform

  • Use Deque/ArrayDeque instead of Stack in RequestProcessor class by @pepness in #6267
  • Remove obsolete sun.zip.disableMemoryMapping JVM flag. by @mbien in #6315
  • [NETBEANS-4997] use edge chromium syntax for opening URLs in Edge by @sworisbreathing in #3215
  • Autoupdate system must check org.openide.modules.arch as org.openide.modules.os is already handled by @matthiasblaesing in #6477
  • Use ConcurrentMap/ConcurrentHashMap.newKeySet instead of Map/Collections.synchronizedSet by @pepness in #6309
  • Update platform default splash to remove NB10 reference by @neilcsmith-net in #6562
  • Update ASM from 9.5 to 9.6 by @pepness in #6597
  • Don't scroll output window on link click. by @mbien in #6679
  • [NETBEANS-1914] Fix startup problems on Windows after moving NetBeans install directory by @eirikbakke in #5027
  • Forcing restart when to_enable.txt file exists in the Windows launcher. by @lahodaj in #6914

Language Server Protocol

  • Vscode ts listener can subscribe for NLS node event changes. by @sdedic in #6186
  • LSP: Open sources from Jar files as read-only from their true locations. by @dbalek in #6286
  • redundant check for supported 'command' removed by @thurka in #6285
  • Allow to select 'Add Database Connection' or 'Add Oracle Autonomous DB' from database view toolbar by @thurka in #6281
  • LSP: cleanup of CodeActionsProvider.getCommands() by @thurka in #6345
  • LSP: Command to get document symbols added. by @dbalek in #6331
  • LSP: Scan for projects on server init. by @dbalek in #6370
  • LSP: Fix broken source for workspace symbol resolution. by @dbalek in #6374
  • Fix P + BR tag handling, LI is replaced by "* " by @sdedic in #6375
  • #6377: workaround vscode jar/nbjrt URI mangle by @sdedic in #6378
  • LSP: Prevent errors written to log on workspace symbol open. by @dbalek in #6390
  • Pass DB connection details using file instead of env. variables by @thurka in #6353
  • Fix NBLS 3rd party licenses by @thurka in #6417
  • LSP: Fixed problem with workspace/symbols called before first JavacCompiler created. by @dbalek in #6419
  • LSP: Modified to prevent NPEs. by @dbalek in #6444
  • update npm module debug (moderate severity vulnerability) by @thurka in #6518
  • Adding action/command for adding DB connection properties to the OCI Vault by @jhorvath in #6574
  • use clusters.config.release.list instead of clusters.config.full.list by @thurka in #6583
  • Prefixing all code names of commands with 'nbls'. by @lahodaj in #6218
  • Ask for DB password when creating OCI Vault by @jhorvath in #6645
  • Improve error message for failure to connect to a DB by @thurka in #6655
  • The LSP client may send document content with non-LF line endings, normalize before comparing with NB document content. by @lahodaj in #6690
  • LSP: Minor changes. by @dbalek in #6739
  • Fix old command prefix. by @jhorvath in #6733
  • Remove usages of the -Xdebug option. by @mbien in #6722
  • LSP: Adding CodaActionProvider API. by @dbalek in #6770
  • Update OKE ConfigMap with Vault details by @jhorvath in #6746
  • Allow to instruct the client to save a document. by @sdedic in #6848
  • Fix unimported command prefix. by @Ondrej-Douda in #6851
  • Don't create OCI Vault secrets with empty datasource name by @jhorvath in #6870
  • asyncOpenSelectedProjects will return project that correspond to the candidates by @sdedic in #6852
  • Work on documents, not on editors. Translate URIs on Windows by @sdedic in #6941
  • CustomIndexerImpl should handle broken property files a bit better. by @mbien in #6945

VSCode Extension

  • Use ex.printStackTrace(StringWriter) to avoid no message NPE by @jtulach in #6189
  • Schema name has to be in uppercase for Oracle ADB by @jhorvath in #6288
  • update npm module semver (moderate severity vulnerability) by @thurka in #6319
  • Changelog.md document what changed compared to 19.0.0 by @MartinBalin in #6431
  • Avoid double quoting extra path by @sdedic in #6464
  • CI: Add build-from-src-zip job by @mbien in #6579
  • Improving handling of string templates in the Java syntax. by @lahodaj in #6745
  • Use vscode's selected launch config for project launch and codelens run/debug by @sdedic in #6813
  • Publish configured GSON in request's Lookup by @sdedic in #6847
  • Prevent deadlock from firing events. by @sdedic in #6845
  • Adjusting command name for surround.with. by @lahodaj in #6771
  • Remove debugging debris preventing extension start. by @sdedic in #6928
  • VSCode: Java TextMate grammar updated. by @dbalek in #6946

Maintanance

  • Switch CI from JDK 21-ea to 21-ga. by @mbien in #6469
  • Move GraalVM job to JDK 11. by @mbien in #6369
  • Small code cleanup in extbrowser module. by @mbien in #6482
  • Rearrange commit validation job. by @mbien in #6479
  • Native Execution Binaries workflow and changes for macOS Arm. by @neilcsmith-net in #6513
  • Update bouncycastle to jdk18on-1.76. by @mbien in #6517
  • Upgrading Apache Ant, Commons Compress, Commons IO and Maven, FlexMark and Guava by @lahodaj in #6480
  • AnnotationProcessors shouldn't set the SourceVersion unless required by @mbien in #5843
  • Limit auto-import to recent versions by @neilcsmith-net in #6559
  • Installed some internal generics to fix some compiler warnings by @tbw777 in #5576
  • Upgrade commons libs, freemarker, jackson, batik and flexmark by @mbien in #6918
  • Upgrade commons-io from 2.15.0 to 2.15.1. by @mbien in #6922
  • Github actions version bumps. by @mbien in #6850

Other Changes

New Contributors

Full Changelog: 19...21-rc1

Release Apache NetBeans 21-rc1 · apache/netbeans