Apache NetBeans IDE 23 has been launched, with various enhancements to enhance the user experience. These include updates to Gradle, Maven, the stack trace parser, Maven version settings, and other features.
The editor has been changed to allow focus events to propagate before performing glyph gutter actions, and the Docker-Load images issue has been resolved. The UI has been modified to sharpen the status bar notification bubble on HiDPI/Retina screens, provide a border to fast search boxes in Outline and TreeView components, and avoid using ImageIcon in more places to maintain HiDPI icon resolution.
The editor has been changed to allow focus events to propagate before performing glyph gutter actions, and the Docker-Load images issue has been resolved. The UI has been modified to sharpen the status bar notification bubble on HiDPI/Retina screens, provide a border to fast search boxes in Outline and TreeView components, and avoid using ImageIcon in more places to maintain HiDPI icon resolution.
Apache NetBeans 23
What's Changed
Gradle
- Implement repeatExecution for GradleItem by @alex268 in #7400
- Move Gradle module to Java 17 and NbProjectInfoAction to Java 8 by @lkishalmi in #7543
- Upgrade Gradle Tooling API to 8.9 by @lkishalmi in #7583
- Gradle Groovy Application/Library Project Creation Wizards by @lkishalmi in #7258
- Support for project JDK settings. by @sdedic in #7497
- #7606: process daemon's stdout to avoid lockup by @sdedic in #7721
- Upgrade Gradle Tooling API to 8.10 by @mbien in #7690
Maven
- Stack trace parser fixes by @mbien in #7391
- Update bundled maven to 3.9.7. by @mbien in #7395
- Update bundled maven to 3.9.8. by @mbien in #7468
- Do not provide compile classpath for repository artifacts with POM files generated by Gradle. by @dbalek in #7499
- Update maven-indexer to 7.1.3 and lucene to 9.11.0 by @mbien in #7460
- Make maven UseReleaseOptionHint aware of plugin management. by @mbien in #7513
- Maven compiler properties panel updates by @mbien in #7512
- Update NbEventSpy for maven 4. by @mbien in #7529
- Maven pom template should use the javac release flag. by @mbien in #7515
- CI: start testing on 23-ea and minor other updates by @mbien in #7525
- Use relative wrapper paths to prevent space-in-path bugs by @sdedic in #7558
- MavenVersionSettings: Stick to maven 3 plugins for now by @mbien in #7574
- Clean old temporary local maven index cache dir before scan by @mbien in #7586
- Warmup Maven Embedder to improve first-project-creation UX by @mbien in #7590
- Lazy init SMO backend and increase timeout by @mbien in #7587
- Add global maven goal presets by @mbien in #7537
- Minor NBM wizard pom generation fixes and plugin version bumps by @mbien in #7628
- Fix extraction of annotation processor classpath for maven by @matthiasblaesing in #7662
- Update bundled maven to 3.9.9. by @mbien in #7683
- Fix open maven subproject context menu by @mbien in #7723
Java
- Fixing 'nbls.project.resolveProjectProblems' command name. by @lahodaj in #7370
- Support for requires.nb.javac modules with javac.source/target > 8. by @lahodaj in #7201
- JDK Configuration action for VS Code by @jisedlac in #7414
- Fix Exception template to extend from Exception by @neilcsmith-net in #7390
- Support for relative paths in the source file launcher's paths; automatic expanding of modular paths. by @lahodaj in #7382
- Fix profiler.oql und GraalJS, support for running unittests of profiler.oql and api.knockout on JDK 17+ by @matthiasblaesing in #7489
- Guard MultiSourceRootProvider to supply classpath only for java source on file system by @matthiasblaesing in #7509
- Add class-file format to the file properties sheet by @mbien in #7527
- Upgrade to nb-javac from JDK 23, build 30 by @lahodaj in #7484
- VSNetBeans: Check for source level java compatibility by @petrovic-d in #7555
- Fix use-instanceof-pattern hint messages by @mbien in #7573
- Java Hints SPI module renovation by @mbien in #7563
- fix javadoc task source properties + javadoc typo by @ebarboni in #7593
- Introduce-method refactoring should suggest a method name by @mbien in #7551
- Basic JDK picker support for multi-file-java-programs. by @mbien in #7605
- Implement suppress warnings on for Unused hint and codeAction for suppress warnings annotations by @Achal1607 in #7548
- Fix Command Prefixing Issue in Source Action by @Achal1607 in #7621
- CodeGenerator should be able to generate basic code for records by @mbien in #7581
- Fix java completion sort for not-imported items. by @mbien in #7631
- Fix possible InaccessibleObjectExceptions during debugging session by @mbien in #7633
- Update nb-javac to jdk-23+35. by @mbien in #7637
- truffle.RemoteServices should parse the java version correctly by @mbien in #7635
Groovy
PHP
- Don't fold empty arrays #7187 by @junichi11 in #7398
- Prevent deleting the nullable type prefix when the "fix imports" is run #7123 by @junichi11 in #7421
- Fix the Code Completion for
static
return type #7192 by @junichi11 in #7431- Prevent NPE #7170 by @junichi11 in #7425
- Fix formatting for typed field and const alignment #7190 by @junichi11 in #7423
- Fix the brace context #7124 by @junichi11 in #7438
- Fix the mark ocurrences and the go to declaration for nested lambda functions #7348 by @junichi11 in #7444
- Fix the formatter for no curly "if" statement with a line comment [ GH-7185] by @junichi11 in #7447
- Fix formatting issues [ GH-7140] [ GH-7454] by @junichi11 in #7452
- Fix incorrect warnings for the PSR1 hint [ GH-7458] by @junichi11 in #7461
- Fix formatting for method chaining [ GH-7172] by @junichi11 in #7487
- Add a formatting option for an empty function/method body [ GH-6716] by @junichi11 in #7498
- Fix incorrect formatting for a static method invocation [ GH-7524] by @junichi11 in #7526
- PHP: removed built-in type real by @troizet in #7387
- Fix "Fix Imports" [ GH-7546] by @junichi11 in #7549
- Fix testFunctionGuessingFloatReturnType() of PHPCCDocumentationTest by @junichi11 in #7553
- Add the
Error
class and theThrowable
interface as completion items for exceptions [ GH-7594] by @junichi11 in #7599C/C++
- .c/.h/.hpp files: Register WhereUsedAction and RenameAction in correct mime paths by @matthiasblaesing in #7689
Enterprise
- Micronaut: Method parameters should be resolvable in expression language by @dbalek in #7316
- Micronaut: Source action to generate tests for endpoints added. by @dbalek in #7369
- Filtering TextDocumentService.codeAction results based on the provided kinds. by @lahodaj in #7368
- Micronaut: Endpoint method generator for non-db based controllers added. by @dbalek in #7394
- Micronaut: Command creating request body for given endpoint added. by @dbalek in #7422
- Micronaut: Code completion support for values of 'Mapping' annotation. by @dbalek in #7439
- Restore maven archetypes for JavaEE 5 and J2EE 1.4 projects by @matthiasblaesing in #7407
- Update dependencies for OCI Vault integration and clean up multistep dialogs by @jhorvath in #7453
- Do not show Connect dialog when DB connection fails because of missing JDBC driver by @thurka in #7338
- Run maven embedder with the "normal" NetBeans environment not special context class loader by @matthiasblaesing in #7464
- Micronaut: Provide Endpoint and Bean symbols originating from libraries. by @dbalek in #7494
- Micronaut: minor bugs fixed. by @dbalek in #7518
- Micronaut: Use correct classpath when scanning for Micronaut symbols. by @dbalek in #7523
- Turn remaining few EE tests off which can't run on JDK 17 yet by @mbien in #7534
- Micronaut: Clear symbol cache on ClasspathInfo changes. by @dbalek in #7554
- Improving multistep infrastructure, command for uploading cloud assets to config map by @jhorvath in #7540
- Add support for GlassFish 7.0.15 and GlassFish 8.0.0-M6 by @pepness in #7561
- Further JavaEE -> JakartaEE fixes for Jakarta Faces by @matthiasblaesing in #7539
- Fix and simplify handling of JSPParser classloader by @matthiasblaesing in #7567
- Add missing schemas for Jakarta Server Pages Tag Library (JSTL) by @pepness in #7340
- Add support for Java SE 24 for Tomcat/TomEE and GlassFish by @pepness in #7592
- Added support for container repostory and run in compute instance by @jhorvath in #7595
- Fix error when registering TomEE 10 by @pepness in #7598
- Enterprise: Fix multiple places where null values could be encountered and are not protected by @matthiasblaesing in #7603
Web
- JS Parser: Support top-level await for modules by @matthiasblaesing in #7417
Editor
- Allow focus events to propagate before running glyph gutter actions - GH4155 by @neilcsmith-net in #7386
- Fix usage of ToggleBookmarkAction in split windows scenario by @matthiasblaesing in #7384
- Docker - Load images fix by @lukaz-sampaio in #7533
- Fix Yaml Editor does not respect indent size on new line by @lkishalmi in #7575
UI Changes
- Make the status bar Notification bubble sharp on HiDPI/Retina screens by @eirikbakke in #7473
- Add border on quick search box in Outline and TreeView components by @eirikbakke in #7480
- Avoid ImageIcon use in more places, to preserve HiDPI icon resolution by @eirikbakke in #7472
- Update breakpoints window position and always open expression evaluator by @jtulach in #7496
- Move the Recent Projects and Recent Files dashboard widgets into the respective modules. by @neilcsmith-net in #7566
- MacOS: Make SVG/HiDPI icons work in the main menu bar by @eirikbakke in #7477
- Ensure visible dashboard widget repainted when elements changed. by @neilcsmith-net in #7589
- Improved Toolbar overflow impl. by @mbien in #7012
- Update FlatLaf from 3.3 to 3.5 by @mbien in #7565
- Make F2 work to rename in the Outline component by @eirikbakke in #7478
- Avoid a missing JCheckBoxItem checkmark for boolean actions without an icon by @eirikbakke in #7474
- Update FlatLaf from 3.5 to 3.5.1 by @mbien in #7639
- Use nbfs url for custom flatlaf properties as fallback by @neilcsmith-net in #7681
Platform
- Fix an 'illegal reflective access' warning on startup by @eirikbakke in #7476
- Update manifest of core.output2 to separate the OpenIDE-Module-Provides values with comma by @YannLeCorse in #7584
- Cleanup ContextAction and fix TerminalAction behavior by @matthiasblaesing in #7451
- Fix Janitor directory comparison. by @trixon in #7693
Language Server Protocol
- Adding compartment id to all oci items, adding new item types by @jhorvath in #7371
- LSP: New from Template invocation should accept template as an optional parameter by @dbalek in #7379
- In VSCode provide quickfix relevant to the position of the cursor by @Achal1607 in #7353
- Remove de-funfried-netbeans-plugins-externalcodeformatter from VSNetBeans by @thurka in #7392
- API/SPI to apply WorkspaceEdit by @sdedic in #7401
- Cloud Assets by @jhorvath in #7413
- Use StructureProvider to populate navigator by @jtulach in #7483
- Let lsp.client display completions provided by CompletionCollector by @jtulach in #7505
- Revert: Let lsp.client display completions provided by CompletionCollector ( #7505) by @matthiasblaesing in #7528
- Telemetry updated in Java LSP module by @Achal1607 in #7435
- Using LSP's ErrorProvider & another attempt at CompletionCollector by @jtulach in #7579
- Revert PR #7579 ("Using LSP's ErrorProvider & another attempt at CompletionCollector") by @matthiasblaesing in #7650
VSCode Extension
- Restructured node_modules license and package.json Validation Logic by @Achal1607 in #7271
- VSCode: Quick fix by @dbalek in #7457
- Shield against NPE in VSCode by @jtulach in #7466
- Update readme with source level java compatibility check by @petrovic-d in #7578
Maintenance
- Update sigtest-maven-plugin to 2.3. by @mbien in #7426
- Disable FS event notifier test on mac and consolidate fs tests. by @mbien in #7410
- Disable failing java.mx.project tests by @mbien in #7471
- Revert "Disable failing java.mx.project tests" by @mbien in #7507
- Fixed remaining platform/apisupport tests on JDK11+ by @matthiasblaesing in #7502
- Reduce redundant cast warnings by @BradWalker in #7552
- Remove downloader from NBI by @mbien in #7542
- Upgrade commons libs, freemarker, jackson, guava, gson, maven-indexer, junit and jgit by @mbien in #7569
- Remove discontinued Javeleon integration. by @mbien in #7556
- Correctly register weak property change listener on InputOutput by @matthiasblaesing in #7430
Other Changes
- Use javac release option where possible by @mbien in #7247
- Docs update for 22.9.9 release of VSNetBeans by @MartinBalin in #7541
- NBI: disable update check again by @mbien in #7550
New Contributors
- @alex268 made their first contribution in #7400
- @lukaz-sampaio made their first contribution in #7533
- @trixon made their first contribution in #7693
Full Changelog: 22...23