diff --git a/CHANGELOG.md b/CHANGELOG.md index 96532cb4..aead8ef5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,6 +87,8 @@ Status of the `main` branch. Changes prior to the next official version change w thread (#2038) * Language Servers: + - Kotlin: update the managed Kotlin LSP from `262.9593.0` to `263.4702.0`; the `262.9593.0` build + has expired and fails on startup with "This build of intellij-server has expired" (#2008) - Fix: Godot's GDScript parser can report a symbol's end column one column past the line-end convention every other language server follows (closing a node's range from the next lookahead token instead of the last consumed one, when that lookahead is a diff --git a/docs/02-usage/050_configuration.md b/docs/02-usage/050_configuration.md index d52ec342..f53ca7aa 100644 --- a/docs/02-usage/050_configuration.md +++ b/docs/02-usage/050_configuration.md @@ -827,10 +827,10 @@ Supported settings: | Setting | Default | Description | |---|---|---| | `ls_path` | managed download | Override the Kotlin Language Server executable path. | -| `kotlin_lsp_version` | `262.9593.0` | Override the Kotlin Language Server version Serena downloads when `ls_path` is not set. | +| `kotlin_lsp_version` | `263.4702.0` | Override the Kotlin Language Server version Serena downloads when `ls_path` is not set. | | `jvm_options` | `-Xmx2G` | Value assigned to `JAVA_TOOL_OPTIONS` for the Kotlin LS process. Set to `""` to disable JVM options entirely. | -The managed `262.9593.0` packages include a bundled JBR. For a custom `ls_path`, point directly to +The managed `263.4702.0` packages include a bundled JBR. For a custom `ls_path`, point directly to `bin/intellij-server` (`bin/intellij-server.exe` on Windows). Serena also retains the legacy download layout for custom Kotlin LSP versions older than `262.4739.0`. The pinned current and frozen initial releases are checksum-verified; arbitrary custom versions are downloaded without checksum verification. @@ -840,7 +840,7 @@ Example: ```yaml ls_specific_settings: kotlin: - kotlin_lsp_version: "262.9593.0" + kotlin_lsp_version: "263.4702.0" jvm_options: "-Xmx4G -XX:+UseG1GC" ``` diff --git a/src/solidlsp/language_servers/kotlin_language_server.py b/src/solidlsp/language_servers/kotlin_language_server.py index d9e35d47..5dca5d56 100644 --- a/src/solidlsp/language_servers/kotlin_language_server.py +++ b/src/solidlsp/language_servers/kotlin_language_server.py @@ -6,7 +6,7 @@ You can configure the following options in ls_specific_settings (in serena_confi ls_specific_settings: kotlin: ls_path: '/path/to/bin/intellij-server' # Custom path to Kotlin Language Server executable - kotlin_lsp_version: '262.9593.0' # Kotlin Language Server version (default: current bundled version) + kotlin_lsp_version: '263.4702.0' # Kotlin Language Server version (default: current bundled version) jvm_options: '-Xmx2G' # JVM options for Kotlin Language Server (default: -Xmx2G) Example configuration for large projects: @@ -50,7 +50,7 @@ KOTLIN_LSP_ALLOWED_HOSTS = ("download-cdn.jetbrains.com",) # DEFAULT_* — bumped on upgrades; goes into a versioned subdir. # NOTE: After changing either pinned version, run scripts/update_downloaded_dependency_hashes.py. INITIAL_KOTLIN_LSP_VERSION = "261.13587.0" -DEFAULT_KOTLIN_LSP_VERSION = "262.9593.0" +DEFAULT_KOTLIN_LSP_VERSION = "263.4702.0" # Versions before this one use kotlin-lsp-{version}-{platform}.zip and a kotlin-lsp script. # Starting with 262.4739.0, JetBrains publishes kotlin-server archives with platform-specific diff --git a/src/solidlsp/resources/downloaded_dependency_hashes.json b/src/solidlsp/resources/downloaded_dependency_hashes.json index d1006ff8..94758740 100644 --- a/src/solidlsp/resources/downloaded_dependency_hashes.json +++ b/src/solidlsp/resources/downloaded_dependency_hashes.json @@ -16,5 +16,11 @@ "https://download-cdn.jetbrains.com/language-server/kotlin-server/262.9593.0/kotlin-server-262.9593.0.tar.gz": "2d99d8e198fbe4aa8f4481e37799724ce94803b4ea12a60b416040e3fcd7cc5e", "https://download-cdn.jetbrains.com/language-server/kotlin-server/262.9593.0/kotlin-server-262.9593.0-aarch64.tar.gz": "2317831c6e5607d05b7ebc1da655330125ce0e3d66fbf24517dfce442debc14e", "https://download-cdn.jetbrains.com/language-server/kotlin-server/262.9593.0/kotlin-server-262.9593.0.sit": "17369fda97c85418ac24ab38a9df56b21522a3468dfe193832fe455c13920745", - "https://download-cdn.jetbrains.com/language-server/kotlin-server/262.9593.0/kotlin-server-262.9593.0-aarch64.sit": "6ba6021a706b21e64cef33f7e2b79f187c0910320722bb2d3ed05ad1115ec43f" -} + "https://download-cdn.jetbrains.com/language-server/kotlin-server/262.9593.0/kotlin-server-262.9593.0-aarch64.sit": "6ba6021a706b21e64cef33f7e2b79f187c0910320722bb2d3ed05ad1115ec43f", + "https://download-cdn.jetbrains.com/language-server/kotlin-server/263.4702.0/kotlin-server-263.4702.0.win.zip": "a9b471b16025b1bfb3b0a097862580abb40e3c35406c44242c18b1d70f5d0e44", + "https://download-cdn.jetbrains.com/language-server/kotlin-server/263.4702.0/kotlin-server-263.4702.0-aarch64.win.zip": "3bf008d8c94fa70eb13fc998eaa42f29b9d13f368984d4cec46277808f94e1de", + "https://download-cdn.jetbrains.com/language-server/kotlin-server/263.4702.0/kotlin-server-263.4702.0.tar.gz": "1e11d2e5fefbf9ea215ad8dd6be95f2222897cd086e8cb7a661a52084a590405", + "https://download-cdn.jetbrains.com/language-server/kotlin-server/263.4702.0/kotlin-server-263.4702.0-aarch64.tar.gz": "ec7cb254a6662a07fff9f10e4365226afab6c40008f8a974c10ac5e785d6510f", + "https://download-cdn.jetbrains.com/language-server/kotlin-server/263.4702.0/kotlin-server-263.4702.0.sit": "62ab735947b1c855b505f64f5db8fbd7ff0b52a35ab1897938c6dbfc7b24c8a3", + "https://download-cdn.jetbrains.com/language-server/kotlin-server/263.4702.0/kotlin-server-263.4702.0-aarch64.sit": "95da3fc6d3b9092c7616345044a05edb85e5408dc648d081e4e433595c892bec" +} \ No newline at end of file diff --git a/test/solidlsp/kotlin/test_kotlin_dependency_provider.py b/test/solidlsp/kotlin/test_kotlin_dependency_provider.py index a2c06283..16d84bad 100644 --- a/test/solidlsp/kotlin/test_kotlin_dependency_provider.py +++ b/test/solidlsp/kotlin/test_kotlin_dependency_provider.py @@ -38,42 +38,42 @@ class TestKotlinDependencyProvider: ".win.zip", "zip", ("bin", "intellij-server.exe"), - "f2daaa476f26d99301b406f76de6d87c437d04dc72f06845154619d8f991c51f", + "a9b471b16025b1bfb3b0a097862580abb40e3c35406c44242c18b1d70f5d0e44", ), ( PlatformId.WIN_arm64, "-aarch64.win.zip", "zip", ("bin", "intellij-server.exe"), - "73a552a6a420158622e5ad8d96b53da8aa8ced3f88a24fded01575927a2fd8e7", + "3bf008d8c94fa70eb13fc998eaa42f29b9d13f368984d4cec46277808f94e1de", ), ( PlatformId.LINUX_x64, ".tar.gz", "gztar", (f"kotlin-server-{DEFAULT_KOTLIN_LSP_VERSION}", "bin", "intellij-server"), - "2d99d8e198fbe4aa8f4481e37799724ce94803b4ea12a60b416040e3fcd7cc5e", + "1e11d2e5fefbf9ea215ad8dd6be95f2222897cd086e8cb7a661a52084a590405", ), ( PlatformId.LINUX_arm64, "-aarch64.tar.gz", "gztar", (f"kotlin-server-{DEFAULT_KOTLIN_LSP_VERSION}", "bin", "intellij-server"), - "2317831c6e5607d05b7ebc1da655330125ce0e3d66fbf24517dfce442debc14e", + "ec7cb254a6662a07fff9f10e4365226afab6c40008f8a974c10ac5e785d6510f", ), ( PlatformId.OSX_x64, ".sit", "zip", (f"kotlin-server-{DEFAULT_KOTLIN_LSP_VERSION}", "bin", "intellij-server"), - "17369fda97c85418ac24ab38a9df56b21522a3468dfe193832fe455c13920745", + "62ab735947b1c855b505f64f5db8fbd7ff0b52a35ab1897938c6dbfc7b24c8a3", ), ( PlatformId.OSX_arm64, "-aarch64.sit", "zip", (f"kotlin-server-{DEFAULT_KOTLIN_LSP_VERSION}", "bin", "intellij-server"), - "6ba6021a706b21e64cef33f7e2b79f187c0910320722bb2d3ed05ad1115ec43f", + "95da3fc6d3b9092c7616345044a05edb85e5408dc648d081e4e433595c892bec", ), ], ) @@ -176,12 +176,12 @@ class TestKotlinDependencyProvider: "kotlin-lsp-261.13587.0-linux-aarch64.zip", "kotlin-lsp-261.13587.0-mac-x64.zip", "kotlin-lsp-261.13587.0-mac-aarch64.zip", - "kotlin-server-262.9593.0.win.zip", - "kotlin-server-262.9593.0-aarch64.win.zip", - "kotlin-server-262.9593.0.tar.gz", - "kotlin-server-262.9593.0-aarch64.tar.gz", - "kotlin-server-262.9593.0.sit", - "kotlin-server-262.9593.0-aarch64.sit", + "kotlin-server-263.4702.0.win.zip", + "kotlin-server-263.4702.0-aarch64.win.zip", + "kotlin-server-263.4702.0.tar.gz", + "kotlin-server-263.4702.0-aarch64.tar.gz", + "kotlin-server-263.4702.0.sit", + "kotlin-server-263.4702.0-aarch64.sit", } @pytest.mark.parametrize(