What's Changed
Gradle
- Prevents NPE if buildscript does not exist by @sdedic in #8716
- Maven/Gradle-JUnit Integration: Support nested and toplevel non-public tests and stabiize result extraction by @matthiasblaesing in #8664
- Fix Gradle Gatling Project loading error by @makiam in #8736
- Prevent NPE inside GradleTestProgressListener by @petrovic-d in #8769
- Indicate support for Gradle's incremental annotation processing. by @MikeNeilson in #8748
- Fix #8764 Gradle 9 ProjectDependency resolution to other project by @wrprice in #8797
- Fix Gradle 9 FileCollectionDependency in netbeans-gradle-tooling by @wrprice in #8821
- Bump java cluster to javac.release 17 by @mbien in #8809
- Update some gradle tests for JDK 21 and enable them in CI by @mbien in #8814
- Upgrade netbeans-gradle-tooling to use Gradle 8.11.1 by @wrprice in #8810
- Bump gradle defaults for JDK 25 by @mbien in #8870
- Gradle projects should prefer test class name as NB testsuite name by @wrprice in #8879
- add java/gradle.test to CI by @mbien in #8881
- Fix NPE running Gradle tests with forkEvery=1 by @wrprice in #8882
- Various Gradle fixes by @matthiasblaesing in #8875
Maven
- DAP server waits on its sibling LSP to prime projects. DAP reports it is done only afer projects are readable by @sdedic in #8694
- Fix incorrect Maven coordinates in
binariesembedded-list
(jspecify & guice) by @jGauravGupta in #8754 - Update exec-maven-plugin from 3.1.0 to 3.5.1 by @mbien in #8816
- Add copy button to maven action customizer (local and global actions) by @mbien in #8818
- Improve maven goal re-run property handling and UI by @mbien in #8826
- Fix StackOverflow Exception when doing ADM audits by @petrovic-d in #8831
- Fix "Show Javadoc" menu item for classes inside modular maven dependecies by @NicolaIsotta in #8642
- Bump MavenVersionSettings fallback versions for NB28. by @mbien in #8912
- pom dependency update hint could also check build extensions by @mbien in #8913
Java
- Fixing Jackpot rules when target typing fails, and the AST contains error types. by @lahodaj in #8674
- Updating net.java.html library to version 1.8.2. by @dbalek in #8658
- Task name corrected in single source run by @subhash-arabhi in #8690
- Fixing problems related to create element fixes. by @lahodaj in #8713
- Fixing highlighting for cases - needs to reset token index after searchig for 'when' by @lahodaj in #8718
- javac AST may contain an implicit/expanded yield, ignore it in when pretty printing. by @lahodaj in #8719
- For jtreg tests, ignore package clauses that do not match directory structure, or that lead outside of test root. by @lahodaj in #8720
- Define
mod-record-declaration
in Java editor themes by @jglick in #8732 - Use bold font for declarations using flatlaf dark color profile by @mbien in #8733
- [NETBEANS-6573] remove extra spaces for record compact constructor erroneously added by reformatter task by @jherkel in #8740
- Fix getting package export status in a modular project by @pedro-w in #8662
- Adding opentest4j-1.3.0.jar to JUnit5. by @lahodaj in #8746
- Constructor init of java.lsp.server JavaPlatformProvider override by @sid-srini in #8745
- [GITHUB-8749] Preventing an NPE when mimeType is not available (yet). by @lahodaj in #8760
- Fixing completion for for-each construct without type. by @lahodaj in #8762
- Fix regression in MnemonicEditor#setValue by @mbien in #8787
- Remove unused/deprecated openide.options module by @mbien in #8755
- Fix some typos in comments, doc and messages by @myatt83 in #8800
- Java LSP server: Associate a single source file with an available workspace with no client workspace folders in order to obtain the configured options by @sid-srini in #7610
- Reduce internal javac api usage in java.hints. by @mbien in #8851
- Revert dark color profile change for local variable declarations. by @mbien in #8852
- Partial handling of module imports - Organize and Add imports by @sid-srini in #8827
- Fixing yield handling in CasualDiff. by @lahodaj in #8857
- Switch CI from JDK 25-ea to ga by @mbien in #8862
- Javadoc: enable syntax highlighting for code snippets by @mbien in #8874
- Simplify JavaCodeTemplateFilter#accept by @mbien in #8794
- Add missing preview feature checks to some java hints by @mbien in #8850
- LSP: Attach missing sources when computing completion docs. by @dbalek in #8858
- Avoiding problems when jtreg ClassPathProviderImpl is called from RepositoryUpdater. by @lahodaj in #8751
- When the last annotation attribute is removed, removing also the '()'. by @lahodaj in #8747
- Adding enhanced switch support to ThrowableNotThrown by @lahodaj in #8717
- Make TaskCache#loadErrors more robust on parsing failure by @mbien in #8895
- Add hint to resolve "switch does not cover all input values" javac errors by @mbien in #8860
- Private members are never inherited, and package-private members are only sometimes inherited, the Java import analysis needs to account for that. by @lahodaj in #8752
- Support jakarta.persistence in the JPQL query executor by @matthiasblaesing in #8888
Groovy
- Add extra file extensions support for Groovy by @makiam in #8712
- Move CSL/GSF mark occurrences handling into API module and fix PHP highlighting by @matthiasblaesing in #8844
PHP
- Bump shivammathur/setup-php from 2.34.1 to 2.35.1 by @dependabot[bot] in #8687
- Bump shivammathur/setup-php from 2.35.1 to 2.35.2 by @dependabot[bot] in #8708
- Bump shivammathur/setup-php from 2.35.2 to 2.35.3 by @dependabot[bot] in #8730
- Php twig: inline comment coloring by @haidubogdan in #8759
- Bump php cluster to javac.release 17 by @mbien in #8802
- [GH-8644] PHP: Fixed autocompletion for new without parentheses if class has a fully qualified name by @troizet in #8731
- PHP: Added autocompletion for the use keyword in the body of a class, trait, and enum by @troizet in #8726
Enterprise
- Avoid triggering the authentication popup when starting Tomcat instance by @NicolaIsotta in #8757
- Add support for Java SE 26 for Tomcat, TomEE, and GlassFish by @pepness in #8774
- CI: Enable web.el tests by @mbien in #8825
- Add class to EL raw object completion by @NicolaIsotta in #8824
- Remove remaining Integer constructor calls in custom form code and String literal by @mbien in #8808
- Fix typo in weblogic property key by @myatt83 in #8842
- Added missing Faces 4 EL implicit objects by @NicolaIsotta in #8867
- Add support for GlassFish 7.0.25, and GlassFish 8.0.0-M12 by @pepness in #8779
- Remove Weld Probe configuration from Payara Server integration by @jGauravGupta in #8663
- Handle jakarta package in bean validation constraint template by @NicolaIsotta in #8886
- Naming Instance type options in Payara Server properties by @jGauravGupta in #8172
Web
- Fix typo in IncorrectReturnStatement message by @myatt83 in #8838
- SCSS: Improve Navigator and Completion readability with dark theme by @NicolaIsotta in #8841
- Add missing CSS properties : margin-block, pading-block, scroll-behavior, conic-gradient, filter-effects by @haidubogdan in #8790
Versioning
- Add missinng logic for delete a local branch by @Chris2011 in #8650
- Show original and changed linefeed in diff view by @Chris2011 in #8645
- TreeDiff: remember UI state when browsing through diffs by @mbien in #8791
- Add "Add remote" action & panel. Extend "Remove remote" functionality by @Chris2011 in #8685
Editor
- Add markdown file template by @makiam in #8701
- Add tooltips to Projects, Files and Favorites tabs by @mbien in #8786
- Move CheckRegex action to IDE Tools and add icon by @mbien in #8876
- Improve goto/jumpto search windows by @mbien in #8896
- Open Favorites tab on first project or file open by @mbien in #8908
UI Changes
- Tweak some keyboard behaviors in various platform components by @eirikbakke in #8323
- Use dashed stroke for component drag target indicator by @mbien in #8845
- Update ssh key FileChooser filter by @mbien in #8859
- Add a texttool widget (Base64, URL and Hex encoding and decoding) by @matthiasblaesing in #8864
- [NETBEANS-3878] Add delete buton for the SSH Connection Dialog by @jherkel in #8848
- Update Language Description panel layout by @makiam in #8877
- Upgrade FlatLaf from 3.6.1 to 3.6.2 by @neilcsmith-net in #8904
- Form Designer: set listener generator style to LAMBDAS by default by @mbien in #8906
Platform
- Honor the JAVA_HOME environment variable in nbexec script by @stoty in #8725
- TreeDiff: Add parameterless constructor to TopContent to handle construction from infrastructure by @matthiasblaesing in #8742
- fixes an ambiguous method reference in SearchTask. by @mbien in #4864
- Update platform tests post Favorites tab update by @mbien in #8915
- Suppress 'loadImage called with unusual URI: ergoloc:/...' log message by @eirikbakke in #8917
Language Server Protocol
- Permit multiple LSP servers. by @lahodaj in #8655
- lsp.client: Callers of LSPBindings#getBindingsImpl extect result to be non null by @matthiasblaesing in #8789
- Simple implementation of LSP protocol shutdown request and exit notification handlers by @shivam71 in #8770
- Fix launch.json behavior and hanging issue with multiple main classes by @Achal1607 in #8828
- Fix parameter field buttons in Change Method Parameters UI in Language Server by @Achal1607 in #8829
Maintenance
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #8729
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #8728
- Bump actions/setup-java from 4 to 5 by @dependabot[bot] in #8766
- Bump shivammathur/setup-php from 2.35.3 to 2.35.4 by @dependabot[bot] in #8765
- Add build property for specifying additional javac args by @mbien in #8796
- Add dlight.nativeexecution tests to CI by @mbien in #8853
- Update ASM from 9.8 to 9.9 by @mbien in #8891
Other Changes
- Support for ENABLING test failures when testing a module suite by @sdedic in #8693
- VSCode extension removed from netbeans repo and moved to netbeans-vscode by @thurka in #8661
New Contributors
- @stoty made their first contribution in #8725
- @MikeNeilson made their first contribution in #8748
- @myatt83 made their first contribution in #8800
- @wrprice made their first contribution in #8797
Full Changelog: 27...28-rc1