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
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++
- Stabilize CPPLite: Discard STDERR by @matthiasblaesing in #6305
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 ofJSF 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
- JS: Fix handling of classes declared in anonymous functions by @matthiasblaesing in #6249
- Improvement of CSS support in NetBeans ( @layer, @supports, containment module, text module, math functions, less optional imports) by @matthiasblaesing in #6451
- JS: Enable contiouus completion of JS private members of classes (# prefixed) by @matthiasblaesing in #6741
- CSS-Refactoring: Fix NullPointerException from folder/file renaming by @matthiasblaesing in #6837
- Drop special mimetype for karma test configuration by @matthiasblaesing in #6883
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
- Enable validation and code completion for XML documents without schemaLocation by @matthiasblaesing in #6245
- Update FlatLaf from 3.1 to 3.2 by @eirikbakke in #6362
- Copy FlatLAF label positioning improvements into the Windows LAF by @eirikbakke in #5338
- Remove little black line from new-project wizard. by @mbien in #6349
- Remove obsolete UseQuartz JVM flag. by @mbien in #6474
- Update FlatLaf from 3.2 to 3.2.1 by @DevCharly in #6411
- Retry fetching clipboard contents when it initially fails by @matthiasblaesing in #6443
- Use extended mouse buttons for back / forward actions (GH5728) by @neilcsmith-net in #6434
- FlatLaf: Enable Window decoration option for Linux by @demitriusbelai in #6391
- Improve cluster activation UX by @mbien in #6355
- Layout fixes for the project problems warning dialog. by @mbien in #6575
- Update FlatLaf from 3.2.1 to 3.2.5 by @DevCharly in #6605
- Fix Project Group window EDT race condition and update UX by @mbien in #6772
- TaskList Model issues broken table model change events (breaks on JDK21+) by @matthiasblaesing in #6882
- Renamed Hudson to Jenkins in UI by @rothardo in #6797
- Update FlatLaf from 3.2.5 to 3.3 by @DevCharly in #6948
- FlatLAF properties fallback to Openable for rcp apps without editors by @oyarzun in #6958
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
- rust.project test data licenses by @vieiro in #6243
- Rust: More precise parser error markings in the Editor by @lkishalmi in #6261
- RustLanguageLexer: do not throw exceptions. by @vieiro in #6414
- HCL Expression AST by @lkishalmi in #6178
- Added arch arm64 to profiler library by @sroeper in #6494
- Native binaries workflows: Include LICENSE and NOTICE in binaries by @matthiasblaesing in #6539
- Update profiler native binaries to released 1-24aefa9 by @neilcsmith-net in #6502
- Add native execution binaries for macOS arm64 (1-24aefa9) by @neilcsmith-net in #6521
- Adding priorities to SQLCompletionItem by @jhorvath in #6620
- Navigate to Scala classes in Analyze Stack Window by @jtulach in #6640
- Use Ant for building NetBeans Gradle Tooling by @lkishalmi in #6816
- LSP Improvement by @matthiasblaesing in #6856
- Merge back Windows launcher code and add release workflow by @neilcsmith-net in #6869
- Changelog update for VSNetBeans 20.0.301 by @MartinBalin in #6910
- Update Windows launcher (1-94a19f0) by @neilcsmith-net in #6933
- Enabling libs.nbjavacapi for debugger.jpda.truffle tests. by @lahodaj in #6953
New Contributors
- @lazydan made their first contribution in #6328
- @moacirrf made their first contribution in #6401
- @sworisbreathing made their first contribution in #3215
- @sroeper made their first contribution in #6494
- @dependabot made their first contribution in #4137
- @demitriusbelai made their first contribution in #6391
- @Achal1607 made their first contribution in #6642
- @rothardo made their first contribution in #6797
- @snreinert made their first contribution in #6694
Full Changelog: 19...21-rc1