Skip to content

Releases: redhat-developer/vscode-java

1.22.1

14 Sep 11:32
ad22816
Compare
Choose a tag to compare
  • bug fix - Removed some improvements to JDK detection as they were causing issues on MacOS. See #3287. If you still see JDK class errors after upgrading to 1.22.1, please open Command Palette and run "Java: Clean Java Language Server Workspace".
  • bug fix - Log errors from project importer. See JLS#2843.
  • bug fix - Disable ; key binding when smart semicolon detection is disabled. See #3290.

1.22.0

12 Sep 14:15
Compare
Choose a tag to compare
  • performance - Stale code actions should be cancellable and paste actions should have higher priority. See #3199.
  • enhancement - Add support for smart semicolon insertion. See #703.
  • enhancement - Introduce new snippet templates with appropriate context. See #2867.
  • enhancement - Improve JDK detection on the local machine, and ensure they are registered. See #3251.
  • enhancement - Add folding range for multiple single-line comments. See #860.
  • enhancement - Use a more appropriate completion item image for annotation attributes and records. See JLS#2796.
  • enhancement - Select suitable JDK to launch Gradle. See JLS#2812.
  • enhancement - end-to-end performance tracking for code completion requests. See #3165.
  • enhancement - Track the case of language server OutOfMemory. See #3273.
  • enhancement - Record the trigger context of completion request. See #3272.
  • bug fix - Call hierarchy should always report the end of its progress. See JLS#2827.
  • bug fix - Fix multiline semantic highlighting for class, interface & record declarations. See #1444, JLS#2807.
  • bug fix - The type declaration snippets should generate file headers. See JLS#2813.
  • bug fix - Fix folding ranges for nested switch statements. See #2751.
  • bug fix - Fix "java.lang.VerifyError: Operand stack overflow". See #3232.
  • bug fix - Commands needing language server should not be activated before the service is ready . See #3281.
  • bug fix - Record methods are not recognized under certain conditions. See #3233.
  • bug fix - Fix compiler arguments parsing failure in Gradle build support. See JLS#2781.
  • bug fix - Filter out excessive logging of classfile parsing from m2e in "debug mode". See JLS#2785.
  • bug fix - Don't escape unicode characters when pasting string literals. See #3181.
  • bug fix - Enable by default syntactic null analysis for fields. See #3255.
  • bug fix - Rename SERVER_PORT environment variable to JDTLS_SERVER_PORT. See #3256, #2507.
  • dependencies - Update semver to latest version where possible. See #3264.
  • dependencies - Update vscode-redhat-telemetry to 0.7.0. See #3262.

1.21.0

27 Jul 13:36
Compare
Choose a tag to compare
  • performance - Check completion proposal is compatible or not. See JLS#2733.
  • enhancement - Add code actions for Join/Split variable. See JLS#2732.
  • enhancement - Support outline view for decompiled source. See JLS#2742.
  • enhancement - Reload the cached classfile sources when their source attachment is updated. See #3207.
  • enhancement - Log error when Gradle and JDK versions are mismatched. See JLS#2749.
  • bug fix - Fix parameter and exception changes in method signature refactoring. See #3098.
  • bug fix - Fix missing completion items for fully qualified name completion. See #3173.
  • bug fix - Support Java text block highlight. See #2896.
  • bug fix - Fix incorrect syntax highlight for comment following a throws clause. See #3039.
  • bug fix - Fix incorrect syntax highlight for new keyword on inner class creation. See #1195.
  • bug fix - Fix incorrect semantic highlighting due to out-of-date AST in use. See JLS#2709.
  • bug fix - Prevent caching outdated AST in CoreASTProvider. See JLS#2714.
  • bug fix - Call Hierarchy resolves wrong element under certain conditions. See JLS#2771.
  • bug fix - NullPointerException during code completion of a var reference. See #2758.
  • bug fix - Do not delete the Java project nature removing a nested .classpath resource file. See JLS#2750.
  • bug fix - Unable to acquire the state change lock for the module 'buildship'. See #3184.
  • bug fix - Rename 'Attach Source' menu to 'Attach Source…'. See #3202.
  • dependencies - Bump word-wrap from 1.2.3 to 1.2.4. See #3211.

1.20.0

29 Jun 13:34
Compare
Choose a tag to compare
  • performance - Set the default value of java.completion.matchCase to firstLetter. See #3142.
  • enhancement - Support for "Go to Declaration". See JLS#2684.
  • enhancement - Improve method argument guessing functionality. See #2903.
  • enhancement - Add code action to clean up & simplify lambda expressions. See #3158.
  • enhancement - Use FernFlower as the default decompiler. See JLS#2704.
  • enhancement - Attempt automatic JVM detection on startup. See JLS#2731.
  • enhancement - Support for chain completions. See #3008.
  • enhancement - Make reasonable guess for method name when applying "Extract Method" refactoring. See #2011.
  • enhancement - Add postfix completion for sysouf, sysoutv, format, par, not,assert & optional . See JLS#2691, JLS#2697.
  • enhancement - Use choice syntax as placeholder for constructor/method/field snippets. See #3018, #3140.
  • enhancement - The try-catch snippet should support being applied to a selection. See #3103.
  • enhancement - Track errors, exceptions, and project import success rate on server side for reliability analysis. See #3162, JLS#2726.
  • bug fix - Display package name in document symbols outline for class files. See #3074.
  • bug fix - Signature help should display the selected completion item. See #3127.
  • bug fix - Gracefully handle language server failures/crashes. See #2036, #3131.
  • bug fix - No completions on field initializer with @Default and @Builder Lombok annotations. See JLS#2669.
  • bug fix - IllegalArgumentException within a try-catch block. See #3138.
  • bug fix - Fix pId mismatch in completions. See JLS#2681.
  • bug fix - Typo in constant METADATA_FILES_GENERATION. See #3133.
  • build - Add enviornment variable to reference an external build of JDT-LS. See #3151.
  • build - Check for non-standard NPM registry in package-lock.json as a step in CI. See #2876.
  • build - Bump semver from 7.3.5 to 7.5.2. See #3168.

1.19.0

01 Jun 15:33
Compare
Choose a tag to compare
  • performance - No need to run the reconcile operation in a workspace job. See JLS#2660.
  • performance - Avoid blocking the pipeline while handling refreshLocal during document lifecycle events. See JLS#2659.
  • performance - Avoid running document lifecycle in a workspace runnable unless it is necessary. See JLS#2641, JLS#2637.
  • performance - Re-validate current document if the focus is switched to a Java file. See #3053.
  • performance - Only append data on completion item selected. See JLS#2639.
  • performance - Remove some unnecessary completion item data fields. See JLS#2638.
  • performance - Remove COMPLETION_EXECUTION_TIME from the completion item response. See JLS#2621.
  • performance - Use separate thread to handle didChangeWatchedFiles events. See JLS#2643.
  • performance - Add option to lazily resolve the text edits. See JLS#1864.
  • enhancement - Add command to restart Java language server. See #2586.
  • enhancement - Add support for proper array completions. See JLS#2609.
  • enhancement - Completion items should support InsertTextMode. See JLS#2577.
  • enhancement - Use vscode-extension-proposals for recommendations. See #3099.
  • bug fix - Missing javadoc for field during completion. See JLS#2645.
  • bug fix - Incorrect completion text edit ranges for snippets. See JLS#2626.
  • bug fix - Update completion resolve data for javadoc completions. See JLS#2636.
  • bug fix - Prevent sending shutdown job progress report. See JLS#2622.
  • bug fix - On Windows, os.execvp does not load the executable into current process. See JLS#2615.
  • bug fix - Code completion for constructor is broken with java.completion.matchCase enabled. See #3118.
  • build - Gracefully recover from failure to detect the language server project in sibling directory. See #3107.
  • dependencies - Update to lombok 1.18.28. See #3117.

1.18.0

27 Apr 13:25
Compare
Choose a tag to compare
  • performance - Completion handling should not be done in asynchronous thread pool. See JLS#2605.
  • performance - Support lazily resolving postfix completion items. See #3072, JLS#2616, JLS#2584.
  • performance - Place the URI of a document into the completion response store. See #2614.
  • enhancement - Provide Java 20 support. See #3023.
  • enhancement - Add syserr postfix completion. See JLS#2620.
  • bug fix - Ensure meaningful information is displayed by the progress reporter. See #3082.
  • bug fix - Respect settings in the lombok.config file. See #2887.
  • bug fix - NullPointerException in signatureHelp/codeAction/inlayHint when AST is not generated. See JLS#2608.
  • bug fix - StringIndexOutOfBoundsException on textDocument/signatureHelp when triggered from end of document. See JLS#2606.
  • bug fix - Some logged information should only be shown in debug mode. See JLS#2603.

1.17.0

13 Apr 15:42
Compare
Choose a tag to compare
  • performance - Support resolving dependencies in parallel for Maven projects. See #3030.
  • performance - Cache and re-use type bindings for a completion invocation. See JLS#2535.
  • performance - Avoid retrieving AST root during diagnostic publishing. See JLS#2574.
  • performance - Implement itemDefaults for completion responses. See JLS#2475.
  • enhancement - Add support for decompiling class files. See #2679, #3012.
  • enhancement - Add "Change signature" refactoring. See #2104.
  • enhancement - Implement labelDetails for completion items. See JLS#2476.
  • enhancement - sysout postfix completion should be applicable to any variable. See JLS#2559.
  • enhancement - Add support for telemetry notifications. See #2289, #3042, #3058.
  • enhancement - Trace API should give indicator of response success status. See #3010.
  • bug fix - Single double quote should be matched appropriately. See #3037.
  • bug fix - Increase relevance of "Create enum". See #2940.
  • bug fix - Recover when documentPaste API is not properly registered. See #3028.
  • bug fix - Ensure we do not return duplicate search results for workspace symbols. See JLS#2547.
  • bug fix - Code action to generate accessor outside of identifier no longer available. See JLS#2533.
  • bug fix - Support importing multi-Maven projects with the same artifactId. See JLS#2017.
  • bug fix - Do not show Generate Constructors quick assist for static fields. See JLS#2142.
  • bug fix - Delegate commands should respect cancellation events from the client. See JLS#2415.
  • bug fix - Ensure java.project.upgradeGradle client/server commands do not clash. See #3001.
  • bug fix - Fix "commands test" when run locally. See #3027.
  • build - Exclude .github/ and .gitignore from packaging. See #3057.
  • build - Add separate tsconfig for webview. See #3009.
  • debt - Support the refactoring document correctly. See #2974.

1.16.0

16 Mar 18:20
Compare
Choose a tag to compare
  • performance - Allow language server to declare availability sooner by postponing autobuild. See JLS#2527.
  • performance - Save operations need not run in workspace runnable when project is not unmanaged. See JLS#2449.
  • enhancement - Implement method hierarchy through existing type hierarchy logic. See #2991.
  • enhancement - Declare support for inlay hints through the language server specification. See #2965, JLS#2365.
  • enhancement - Update types filter according to import declarations. See #2943.
  • enhancement - Update to vscode-languageclient 8.1.0, LSP4J 0.20.0 (LSP 3.17.0). See #2474, JLS#2348.
  • bug fix - Fix regression in extension startup for web-based editors. See #2968.
  • bug fix - No completion on generic anonymous class instance objects. See JLS#2505.
  • bug fix - Null Analysis does not work for Eclipse/Invisible projects. See #2956.
  • bug fix - Unnecessary error marker for record constructor that uses varargs. See #2640.
  • bug fix - Temporary fix to ensure refactoring document is displayed. See #2975.
  • bug fix - In progress items should always be at the bottom in the server tasks view. See #2627.
  • bug fix - Fix NPE in textDocument/documentHighlight requests. See #2952.
  • bug fix - Update VS Code engine to 1.74.0. See #2950.
  • build - Bump webpack from 5.34.0 to 5.76.0. See #2999.
  • other - Add API to track LSP performance at the language client. See #2996.

1.15.0

20 Feb 17:13
Compare
Choose a tag to compare
  • performance - Skip generated methods when calculating document symbols. See JLS#2446.
  • performance - Make the debounce adaptive for the publish diagnostic job. See JLS#2443.
  • performance - Only perform context sensitive import rewrite when resolving completion items. See JLS#2453.
  • performance - Extension activation should not depend on language server being started. See #2900.
  • performance - Copy/paste within the same file should not trigger the paste handler for missing imports. See JLS#2441.
  • enhancement - Support "extract interface" refactoring. See #761.
  • enhancement - Add "Convert String concatenation to Text Block" quick assist. See JLS#2456.
  • enhancement - Add clean up for using try-with-resource. See #2891.
  • enhancement - Enable formatting support in syntax server. See #2926.
  • enhancement - Add option to configure behaviour when mojo execution metadata not available. See #2889.
  • enhancement - Add option to permit usage of test resources of a Maven project as dependencies within the compile scope of other projects. See #2569.
  • bug fix - Change default generated method stub to throw exception. See JLS#2366.
  • bug fix - Prevent the paste handler for missing imports from generating overlapping text edits. See JLS#2442.
  • bug fix - Reference search doesn't work for fields in JDK classes. See JLS#2405.
  • bug fix - Paste event handling blocks pasting while project loading. See #2924.
  • bug fix - Avoid generating boilerplate code repeatedly in new Java file. See #2939.
  • bug fix - Completion results should include filtered (excluded) types if they are also present in the import declarations. See JLS#2467.
  • bug fix - Fix type hierarchy regression since VS Code 1.75.1. See #2930.
  • bug fix - Re-publish diagnostics for null analysis configuration change when auto-build is disabled. See JLS#2447.
  • bug fix - Dependency Analytics extension popup shoud respect user choice. See #2892.
  • bug fix - Only do full build for a configuration change when auto-build is enabled. See JLS#2437.
  • bug fix - The command to upgrade gradle should check for cancellation prior to updating metadata files. See JLS#2444.
  • bug fix - Fix incorrect ordering of completion items that use a decorator. See #2917.
  • bug fix - Reduce the amount of logging from org.apache.http bundles. See JLS#2420.
  • build - Do not require org.eclipse.xtend.lib. See JLS#2416.
  • build - Add Github action to detect potential duplicate issues. See #2927.
  • build - Use commit SHA-1 instead of branch name for third-party actions. See #2895.
  • documentation - Clarify the README quick start instructions. See #2915.

1.14.0

17 Jan 15:23
Compare
Choose a tag to compare
  • enhancement - Support for shared indexes among workspaces. See #2723.
  • enhancement - Support pasting content into a string literal. See #1249.
  • enhancement - Resolve missing imports (if any) when pasting code. See JLS#2320.
  • enhancement - Support matching case for code completion. See #2834.
  • enhancement - Add code action to insert missing required attributes for an annotation. See JLS#1860.
  • enhancement - Create cleanup actions for adding final modifier where possible, converting switch statement to switch expression, using pattern matching for instanceof checks, and converting anonymous functions to lambda expressions. See #2827.
  • enhancement - Support quickfix for gradle jpms projects. See JLS#2304.
  • enhancement - Add the Korean translation file. See #2802.
  • bug fix - Fix incorrect type hierarchy on multi module Maven projects. See #2871.
  • bug fix - Permit output folder to be the same as a source folder. See #2786.
  • bug fix - Organize imports removes static imports under some conditions. See #2861.
  • bug fix - Fix completion issue occuring when invocation spans multiple lines. See JLS#2387.
  • bug fix - Fix scope calculation for "Surround with try/catch" refactoring. See #2711.
  • bug fix - Fix NPE occuring when completion item is selected. See JLS#2376.
  • bug fix - Log user friendly error if client does not support _java.reloadBundles.command. See JLS#2370.
  • bug fix - Postfix completion should not be available when editing Javadoc. See JLS#2367.
  • bug fix - Update m2e to latest version in order to ensure classpath resources persist. See #2857.
  • build - Use instanceof pattern matching in code base. See JLS#2357.
  • build - React to vsce renaming to @vscode/vsce. See #2879.
  • build - Work around vsce refusal to publish extensions with proposed API. See #2854.
  • build - Deploy the universal vsix to support all platforms without an embedded JRE. See #2837.
  • build - Ensure npm public registry is used for the resolved field in package-lock.json. See #2874.
  • build - Bump qs from 6.5.2 to 6.5.3 and decode-uri-component from 0.2.0 to 0.2.2. See #2832, #2823.
  • build - Move utilities out of extension.ts. See #2824.
  • documentation - Fix Build Status badge. See #2847.