From b6f568254d7e396cb29dc4d5b58439b982f7c54a Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 26 Aug 2026 12:42:19 +0200 Subject: [PATCH 01/11] Kotlin: add 2.4.20-RC artifacts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- MODULE.bazel | 3 +++ java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar | 3 +++ .../deps/kotlin-compiler-embeddable-2.4.20-RC.jar | 3 +++ java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar | 3 +++ 4 files changed, 12 insertions(+) create mode 100644 java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar create mode 100644 java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC.jar create mode 100644 java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar diff --git a/MODULE.bazel b/MODULE.bazel index 7f15d1e889f7..696c309f5af1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -278,6 +278,7 @@ use_repo( "kotlin-compiler-2.3.0", "kotlin-compiler-2.3.20", "kotlin-compiler-2.4.0", + "kotlin-compiler-2.4.20-RC", "kotlin-compiler-embeddable-1.8.0", "kotlin-compiler-embeddable-1.9.0-Beta", "kotlin-compiler-embeddable-1.9.20-Beta", @@ -290,6 +291,7 @@ use_repo( "kotlin-compiler-embeddable-2.3.0", "kotlin-compiler-embeddable-2.3.20", "kotlin-compiler-embeddable-2.4.0", + "kotlin-compiler-embeddable-2.4.20-RC", "kotlin-stdlib-1.8.0", "kotlin-stdlib-1.9.0-Beta", "kotlin-stdlib-1.9.20-Beta", @@ -302,6 +304,7 @@ use_repo( "kotlin-stdlib-2.3.0", "kotlin-stdlib-2.3.20", "kotlin-stdlib-2.4.0", + "kotlin-stdlib-2.4.20-RC", ) go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") diff --git a/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar b/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar new file mode 100644 index 000000000000..8e5a4c945250 --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e2e10f209ef5a63ed70d04ab5c64a8cf346c323f356eb4241ce34ee03cf2e53 +size 60184229 diff --git a/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC.jar b/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC.jar new file mode 100644 index 000000000000..4a7601447f96 --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fac41bf816409462e189b41b87c4a8dfb48b995b4d8d6271968d4f638ceab255 +size 58593000 diff --git a/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar b/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar new file mode 100644 index 000000000000..2fb1da42a55a --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:540bee6d6310863014877cb4df8f087c256b22d0925955d1d20943d706bba524 +size 1853317 From 292170981f4b0e839da75796d2b30fcb3c9437db Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 26 Aug 2026 12:42:19 +0200 Subject: [PATCH 02/11] Kotlin: address KT-85816 Kotlin 2.4.20-RC removes the remaining ComponentRegistrar API under KT-85816. Use an RC-specific registrar that only implements CompilerPluginRegistrar, and package the legacy ComponentRegistrar service only for older compilers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- java/kotlin-extractor/BUILD.bazel | 31 ++++++++++++++++-- .../v_2_4_20-RC/Kotlin2ComponentRegistrar.kt | 32 +++++++++++++++++++ 2 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC/Kotlin2ComponentRegistrar.kt diff --git a/java/kotlin-extractor/BUILD.bazel b/java/kotlin-extractor/BUILD.bazel index f33949f83914..1b9501e7c142 100644 --- a/java/kotlin-extractor/BUILD.bazel +++ b/java/kotlin-extractor/BUILD.bazel @@ -57,6 +57,10 @@ _compiler_plugin_registrar_service_source = "src/main/resources/META-INF/service _compiler_plugin_registrar_service_target = "META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar" +_component_registrar_service_source = "src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar" + +_component_registrar_service_target = "META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar" + py_binary( name = "generate_dbscheme", srcs = ["generate_dbscheme.py"], @@ -68,7 +72,10 @@ _resources = [ r[len("src/main/resources/"):], ) for r in glob(["src/main/resources/**"]) - if r != _compiler_plugin_registrar_service_source + if r not in ( + _compiler_plugin_registrar_service_source, + _component_registrar_service_source, + ) ] _compiler_plugin_registrar_service = ( @@ -76,6 +83,11 @@ _compiler_plugin_registrar_service = ( _compiler_plugin_registrar_service_target, ) +_component_registrar_service = ( + _component_registrar_service_source, + _component_registrar_service_target, +) + kt_javac_options( name = "javac-options", release = "8", @@ -93,7 +105,9 @@ kt_javac_options( "kotlin.RequiresOptIn", "org.jetbrains.kotlin.ir.symbols.%s" % ("IrSymbolInternals" if version_less(v, "2.0.0") else "UnsafeDuringIrConstructionAPI"), - ] + ([] if version_less(v, "2.2.20") else ["org.jetbrains.kotlin.DeprecatedForRemovalCompilerApi"]), + ] + ( + [] if version_less(v, "2.2.20") else ["org.jetbrains.kotlin.DeprecatedForRemovalCompilerApi"] + ), x_suppress_version_warnings = True, ), # * extractor.name is different for each version, so we need to put it in different output dirs @@ -103,6 +117,8 @@ kt_javac_options( name = "resources-%s" % v, srcs = [src for src, _ in _resources] + ( [_compiler_plugin_registrar_service[0]] if not version_less(v, "2.4.0") else [] + ) + ( + [_component_registrar_service[0]] if version_less(v, "2.4.20") else [] ), outs = [ "%s/com/github/codeql/extractor.name" % v, @@ -114,6 +130,11 @@ kt_javac_options( v, _compiler_plugin_registrar_service[1], )] if not version_less(v, "2.4.0") else [] + ) + ( + ["%s/%s" % ( + v, + _component_registrar_service[1], + )] if version_less(v, "2.4.20") else [] ), cmd = "\n".join([ "echo %s-%s > $(RULEDIR)/%s/com/github/codeql/extractor.name" % (_extractor_name_prefix, v, v), @@ -126,6 +147,12 @@ kt_javac_options( v, _compiler_plugin_registrar_service[1], )] if not version_less(v, "2.4.0") else [] + ) + ( + ["cp $(execpath %s) $(RULEDIR)/%s/%s" % ( + _component_registrar_service[0], + v, + _component_registrar_service[1], + )] if version_less(v, "2.4.20") else [] )), ), kt_jvm_library( diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC/Kotlin2ComponentRegistrar.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC/Kotlin2ComponentRegistrar.kt new file mode 100644 index 000000000000..f5091752633c --- /dev/null +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC/Kotlin2ComponentRegistrar.kt @@ -0,0 +1,32 @@ +package com.github.codeql + +import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension +import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar +import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi +import org.jetbrains.kotlin.config.CompilerConfiguration + +@OptIn(ExperimentalCompilerApi::class) +abstract class Kotlin2ComponentRegistrar : CompilerPluginRegistrar() { + override val supportsK2: Boolean + get() = true + + override val pluginId: String + get() = "kotlin-extractor" + + private var extensionStorage: CompilerPluginRegistrar.ExtensionStorage? = null + + override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { + this@Kotlin2ComponentRegistrar.extensionStorage = this + doRegisterExtensions(configuration) + } + + abstract fun doRegisterExtensions(configuration: CompilerConfiguration) + + protected fun registerExtractorExtension(extension: IrGenerationExtension) { + val storage = extensionStorage + ?: throw IllegalStateException("registerExtractorExtension called before registerExtensions") + with(storage) { + IrGenerationExtension.registerExtension(extension) + } + } +} From 115b2a2d86094c6662502a32aebd1d785b18c4ae Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 26 Aug 2026 12:42:31 +0200 Subject: [PATCH 03/11] Kotlin: address KT-86046 Kotlin 2.4.20-RC marks public K1 APIs with K1Deprecation under KT-86046 and rejects the previous repeatable-annotation IR access path. Opt in to K1Deprecation for 2.4.20 and later, and use the existing annotationClass compatibility extension. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- java/kotlin-extractor/BUILD.bazel | 2 ++ java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/java/kotlin-extractor/BUILD.bazel b/java/kotlin-extractor/BUILD.bazel index 1b9501e7c142..fae93f6a2cc4 100644 --- a/java/kotlin-extractor/BUILD.bazel +++ b/java/kotlin-extractor/BUILD.bazel @@ -107,6 +107,8 @@ kt_javac_options( ("IrSymbolInternals" if version_less(v, "2.0.0") else "UnsafeDuringIrConstructionAPI"), ] + ( [] if version_less(v, "2.2.20") else ["org.jetbrains.kotlin.DeprecatedForRemovalCompilerApi"] + ) + ( + [] if version_less(v, "2.4.20") else ["org.jetbrains.kotlin.K1Deprecation"] ), x_suppress_version_warnings = True, ), diff --git a/java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt b/java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt index e215b5ca31da..d5650389448d 100644 --- a/java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt +++ b/java/kotlin-extractor/src/main/kotlin/MetaAnnotationSupport.kt @@ -96,8 +96,7 @@ class MetaAnnotationSupport( val metaAnnotations = annotationClass.annotations val jvmRepeatable = metaAnnotations.find { - it.symbol.owner.parentAsClass.fqNameWhenAvailable == - JvmAnnotationNames.REPEATABLE_ANNOTATION + it.annotationClass.fqNameWhenAvailable == JvmAnnotationNames.REPEATABLE_ANNOTATION } return if (jvmRepeatable != null) { ((jvmRepeatable.codeQlGetValueArgument(0) as? IrClassReference)?.symbol as? IrClassSymbol) From 4ea853a2cbc0673e8150c6b4560fe9e4dac0df4c Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 26 Aug 2026 12:42:32 +0200 Subject: [PATCH 04/11] Kotlin: preserve generated forwarder locations Kotlin 2.4.20-RC assigns synthetic source offsets to generated interface forwarders. Use the enclosing class location for each fabricated forwarder and its generated body and accesses, preserving existing database and query output. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../src/main/kotlin/KotlinFileExtractor.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt index 0b975d9b829b..bef2b554d7ec 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt @@ -1645,8 +1645,9 @@ open class KotlinFileExtractor( extractMethodAndParameterTypeAccesses: Boolean, typeSubstitution: TypeSubstitution?, classTypeArgsIncludingOuterClasses: List? - ) : Label = - forceExtractFunction( + ) : Label { + val sourceLoc = tw.getLocation(f.parentClassOrNull ?: f) + return forceExtractFunction( f, parentId, extractBody = false, @@ -1656,6 +1657,7 @@ open class KotlinFileExtractor( classTypeArgsIncludingOuterClasses, overriddenAttributes = OverriddenFunctionAttributes( + sourceLoc = sourceLoc, visibility = DescriptorVisibilities.PUBLIC, modality = Modality.OPEN ) @@ -1666,7 +1668,6 @@ open class KotlinFileExtractor( CompilerGeneratedKinds.INTERFACE_FORWARDER.kind ) if (extractBody) { - val realFunctionLocId = tw.getLocation(f) val inheritedDefaultFunction = f.realOverrideTarget val directlyInheritedSymbol = when (f) { @@ -1686,10 +1687,10 @@ open class KotlinFileExtractor( (directlyInheritedSymbol.owner.parentClassOrNull ?: return functionId) .typeWith() - extractExpressionBody(functionId, realFunctionLocId).also { returnId -> + extractExpressionBody(functionId, sourceLoc).also { returnId -> extractRawMethodAccess( f, - realFunctionLocId, + sourceLoc, f.returnType, functionId, returnId, @@ -1702,7 +1703,7 @@ open class KotlinFileExtractor( extractVariableAccess( syntheticParamId, param.type, - realFunctionLocId, + sourceLoc, argParentId, idxOffset + idx, functionId, @@ -1718,7 +1719,7 @@ open class KotlinFileExtractor( callId, -1, returnId, - realFunctionLocId + sourceLoc ) }, null @@ -1726,6 +1727,7 @@ open class KotlinFileExtractor( } } } + } private fun extractFunction( f: IrFunction, From 6e54904c6d96dae7fff043a7a8eb06f8d9b4fa52 Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 26 Aug 2026 12:42:32 +0200 Subject: [PATCH 05/11] Kotlin: enable 2.4.20-RC support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- java/kotlin-extractor/versions.bzl | 1 + .../diagnostics/kotlin-version-too-new/diagnostics.expected | 2 +- .../fake-kotlinc-source/kotlin/KotlinVersion.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/java/kotlin-extractor/versions.bzl b/java/kotlin-extractor/versions.bzl index f9642c96b788..f31d69b2a226 100644 --- a/java/kotlin-extractor/versions.bzl +++ b/java/kotlin-extractor/versions.bzl @@ -12,6 +12,7 @@ VERSIONS = [ "2.3.0", "2.3.20", "2.4.0", + "2.4.20-RC", ] def _version_to_tuple(v): diff --git a/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/diagnostics.expected b/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/diagnostics.expected index 09429027c5d6..613709bfb152 100644 --- a/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/diagnostics.expected +++ b/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/diagnostics.expected @@ -1,5 +1,5 @@ { - "markdownMessage": "The Kotlin version installed (`999.999.999`) is too recent for this version of CodeQL. Install a version lower than 2.4.20.", + "markdownMessage": "The Kotlin version installed (`2.4.20`) is too recent for this version of CodeQL. Install a version lower than 2.4.20.", "severity": "error", "source": { "extractorName": "java", diff --git a/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/fake-kotlinc-source/kotlin/KotlinVersion.java b/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/fake-kotlinc-source/kotlin/KotlinVersion.java index e4bd4ecb7e10..523d7e1d0d87 100644 --- a/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/fake-kotlinc-source/kotlin/KotlinVersion.java +++ b/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/fake-kotlinc-source/kotlin/KotlinVersion.java @@ -2,6 +2,6 @@ public class KotlinVersion { - public static String CURRENT = "999.999.999"; + public static String CURRENT = "2.4.20"; } From 77bc0b62ee97c8e9dea9a7646fe6e87a4468db6a Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 26 Aug 2026 12:42:33 +0200 Subject: [PATCH 06/11] Kotlin: make 2.4.20-RC the test default Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- java/kotlin-extractor/dev/wrapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/kotlin-extractor/dev/wrapper.py b/java/kotlin-extractor/dev/wrapper.py index 1b29de23f766..8c795418f67e 100755 --- a/java/kotlin-extractor/dev/wrapper.py +++ b/java/kotlin-extractor/dev/wrapper.py @@ -27,7 +27,7 @@ import io import os -DEFAULT_VERSION = "2.4.10" +DEFAULT_VERSION = "2.4.20-RC" def options(): From da6394df127f3d976a843e3ff69b47d41c7d80a6 Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Wed, 26 Aug 2026 12:42:33 +0200 Subject: [PATCH 07/11] Kotlin: document preliminary 2.4.20-RC support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs/codeql/reusables/supported-versions-compilers.rst | 3 ++- java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md diff --git a/docs/codeql/reusables/supported-versions-compilers.rst b/docs/codeql/reusables/supported-versions-compilers.rst index 8651fa91a269..4fc5c5919285 100644 --- a/docs/codeql/reusables/supported-versions-compilers.rst +++ b/docs/codeql/reusables/supported-versions-compilers.rst @@ -21,7 +21,7 @@ Java,"Java 7 to 26 [5]_","javac (OpenJDK and Oracle JDK), Eclipse compiler for Java (ECJ) [6]_",``.java`` - Kotlin,"Kotlin 1.8.0 to 2.4.1\ *x*","kotlinc",``.kt`` + Kotlin [13]_,"Kotlin 1.8.0 to 2.4.20-RC","kotlinc",``.kt`` JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [7]_" Python [8]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14",Not applicable,``.py`` Ruby,"up to 3.3",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" @@ -43,3 +43,4 @@ .. [10] Support for the analysis of Swift requires macOS. .. [11] Embedded Swift is not supported. .. [12] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. + .. [13] Support for Kotlin 2.4.20-RC is preliminary. diff --git a/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md b/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md new file mode 100644 index 000000000000..15ae8bc3dbdd --- /dev/null +++ b/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Preliminary support for Kotlin 2.4.20-RC has been added. From d05ce395e0f128c9174a3b7588456292f51429e4 Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Fri, 28 Aug 2026 13:14:01 +0200 Subject: [PATCH 08/11] Kotlin: support 2.4.20-RC2 Replace the previous 2.4.20-RC dependency set and compatibility marker with RC2 while preserving existing extraction output. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- MODULE.bazel | 6 +++--- docs/codeql/reusables/supported-versions-compilers.rst | 4 ++-- java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar | 3 --- java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar | 3 +++ .../deps/kotlin-compiler-embeddable-2.4.20-RC.jar | 3 --- .../deps/kotlin-compiler-embeddable-2.4.20-RC2.jar | 3 +++ java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar | 3 --- java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar | 3 +++ java/kotlin-extractor/dev/wrapper.py | 2 +- .../Kotlin2ComponentRegistrar.kt | 0 java/kotlin-extractor/versions.bzl | 2 +- java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md | 2 +- 12 files changed, 17 insertions(+), 17 deletions(-) delete mode 100644 java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar create mode 100644 java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar delete mode 100644 java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC.jar create mode 100644 java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC2.jar delete mode 100644 java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar create mode 100644 java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_2_4_20-RC => v_2_4_20-RC2}/Kotlin2ComponentRegistrar.kt (100%) diff --git a/MODULE.bazel b/MODULE.bazel index 696c309f5af1..66ec0e895dcc 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -278,7 +278,7 @@ use_repo( "kotlin-compiler-2.3.0", "kotlin-compiler-2.3.20", "kotlin-compiler-2.4.0", - "kotlin-compiler-2.4.20-RC", + "kotlin-compiler-2.4.20-RC2", "kotlin-compiler-embeddable-1.8.0", "kotlin-compiler-embeddable-1.9.0-Beta", "kotlin-compiler-embeddable-1.9.20-Beta", @@ -291,7 +291,7 @@ use_repo( "kotlin-compiler-embeddable-2.3.0", "kotlin-compiler-embeddable-2.3.20", "kotlin-compiler-embeddable-2.4.0", - "kotlin-compiler-embeddable-2.4.20-RC", + "kotlin-compiler-embeddable-2.4.20-RC2", "kotlin-stdlib-1.8.0", "kotlin-stdlib-1.9.0-Beta", "kotlin-stdlib-1.9.20-Beta", @@ -304,7 +304,7 @@ use_repo( "kotlin-stdlib-2.3.0", "kotlin-stdlib-2.3.20", "kotlin-stdlib-2.4.0", - "kotlin-stdlib-2.4.20-RC", + "kotlin-stdlib-2.4.20-RC2", ) go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") diff --git a/docs/codeql/reusables/supported-versions-compilers.rst b/docs/codeql/reusables/supported-versions-compilers.rst index 4fc5c5919285..e4741032d0d4 100644 --- a/docs/codeql/reusables/supported-versions-compilers.rst +++ b/docs/codeql/reusables/supported-versions-compilers.rst @@ -21,7 +21,7 @@ Java,"Java 7 to 26 [5]_","javac (OpenJDK and Oracle JDK), Eclipse compiler for Java (ECJ) [6]_",``.java`` - Kotlin [13]_,"Kotlin 1.8.0 to 2.4.20-RC","kotlinc",``.kt`` + Kotlin [13]_,"Kotlin 1.8.0 to 2.4.20-RC2","kotlinc",``.kt`` JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [7]_" Python [8]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14",Not applicable,``.py`` Ruby,"up to 3.3",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" @@ -43,4 +43,4 @@ .. [10] Support for the analysis of Swift requires macOS. .. [11] Embedded Swift is not supported. .. [12] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. - .. [13] Support for Kotlin 2.4.20-RC is preliminary. + .. [13] Support for Kotlin 2.4.20-RC2 is preliminary. diff --git a/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar b/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar deleted file mode 100644 index 8e5a4c945250..000000000000 --- a/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC.jar +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e2e10f209ef5a63ed70d04ab5c64a8cf346c323f356eb4241ce34ee03cf2e53 -size 60184229 diff --git a/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar b/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar new file mode 100644 index 000000000000..61b97c2daab3 --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec34d6a2587d59cc0dfeb65b5588f2d631edf93d0f2543f3b026f902456094df +size 60184461 diff --git a/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC.jar b/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC.jar deleted file mode 100644 index 4a7601447f96..000000000000 --- a/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC.jar +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fac41bf816409462e189b41b87c4a8dfb48b995b4d8d6271968d4f638ceab255 -size 58593000 diff --git a/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC2.jar b/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC2.jar new file mode 100644 index 000000000000..2c5e630eed5f --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC2.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2654e7834a9e3c12e4626e2d5ace62f38682f9cdd348dba48a6bbde3479d6db2 +size 58593232 diff --git a/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar b/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar deleted file mode 100644 index 2fb1da42a55a..000000000000 --- a/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC.jar +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:540bee6d6310863014877cb4df8f087c256b22d0925955d1d20943d706bba524 -size 1853317 diff --git a/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar b/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar new file mode 100644 index 000000000000..66a27b7faf12 --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1697a320cbceeee25123ce07aa8e3b356094601b1bff8a55ac8db39ffbbca0ef +size 1853317 diff --git a/java/kotlin-extractor/dev/wrapper.py b/java/kotlin-extractor/dev/wrapper.py index 8c795418f67e..fa1df5714e0b 100755 --- a/java/kotlin-extractor/dev/wrapper.py +++ b/java/kotlin-extractor/dev/wrapper.py @@ -27,7 +27,7 @@ import io import os -DEFAULT_VERSION = "2.4.20-RC" +DEFAULT_VERSION = "2.4.20-RC2" def options(): diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC/Kotlin2ComponentRegistrar.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC2/Kotlin2ComponentRegistrar.kt similarity index 100% rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC/Kotlin2ComponentRegistrar.kt rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC2/Kotlin2ComponentRegistrar.kt diff --git a/java/kotlin-extractor/versions.bzl b/java/kotlin-extractor/versions.bzl index f31d69b2a226..6fb456e9fa73 100644 --- a/java/kotlin-extractor/versions.bzl +++ b/java/kotlin-extractor/versions.bzl @@ -12,7 +12,7 @@ VERSIONS = [ "2.3.0", "2.3.20", "2.4.0", - "2.4.20-RC", + "2.4.20-RC2", ] def _version_to_tuple(v): diff --git a/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md b/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md index 15ae8bc3dbdd..08772e5635d1 100644 --- a/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md +++ b/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md @@ -1,4 +1,4 @@ --- category: minorAnalysis --- -* Preliminary support for Kotlin 2.4.20-RC has been added. +* Preliminary support for Kotlin 2.4.20-RC2 has been added. From 0534c6cd0f33ba2f8ab5b4c95d788175fa51fdae Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Thu, 3 Sep 2026 15:58:45 +0200 Subject: [PATCH 09/11] Kotlin: document preliminary 2.4.20 support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../supported-versions-compilers.rst | 26 +++++++++---------- .../change-notes/2026-08-21-kotlin-2.4.20.md | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/codeql/reusables/supported-versions-compilers.rst b/docs/codeql/reusables/supported-versions-compilers.rst index e4741032d0d4..1616be29a3bb 100644 --- a/docs/codeql/reusables/supported-versions-compilers.rst +++ b/docs/codeql/reusables/supported-versions-compilers.rst @@ -21,13 +21,13 @@ Java,"Java 7 to 26 [5]_","javac (OpenJDK and Oracle JDK), Eclipse compiler for Java (ECJ) [6]_",``.java`` - Kotlin [13]_,"Kotlin 1.8.0 to 2.4.20-RC2","kotlinc",``.kt`` - JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [7]_" - Python [8]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14",Not applicable,``.py`` + Kotlin,"Kotlin 1.8.0 to 2.4.20 [7]_","kotlinc",``.kt`` + JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [8]_" + Python [9]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14",Not applicable,``.py`` Ruby,"up to 3.3",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" - Rust [9]_,"Rust editions 2021 and 2024","Rust compiler","``.rs``, ``Cargo.toml``" - Swift [10]_ [11]_,"Swift 5.4-6.3","Swift compiler","``.swift``" - TypeScript [12]_,"2.6-7.0",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" + Rust [10]_,"Rust editions 2021 and 2024","Rust compiler","``.rs``, ``Cargo.toml``" + Swift [11]_ [12]_,"Swift 5.4-6.3","Swift compiler","``.swift``" + TypeScript [13]_,"2.6-7.0",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" .. container:: footnote-group @@ -37,10 +37,10 @@ .. [4] Support for the Arm Compiler (armcc) is preliminary. .. [5] Builds that execute on Java 7 to 26 can be analyzed. The analysis understands standard language features in Java 8 to 26; "preview" and "incubator" features are not supported. Source code using Java language versions older than Java 8 are analyzed as Java 8 code. .. [6] ECJ is supported when the build invokes it via the Maven Compiler plugin or the Takari Lifecycle plugin. - .. [7] JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files. - .. [8] The extractor requires Python 3 to run. To analyze Python 2.7 you should install both versions of Python. - .. [9] Requires ``rustup`` and ``cargo`` to be installed. Features from nightly toolchains are not supported. - .. [10] Support for the analysis of Swift requires macOS. - .. [11] Embedded Swift is not supported. - .. [12] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. - .. [13] Support for Kotlin 2.4.20-RC2 is preliminary. + .. [7] Support for Kotlin 2.4.20 is preliminary. + .. [8] JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files. + .. [9] The extractor requires Python 3 to run. To analyze Python 2.7 you should install both versions of Python. + .. [10] Requires ``rustup`` and ``cargo`` to be installed. Features from nightly toolchains are not supported. + .. [11] Support for the analysis of Swift requires macOS. + .. [12] Embedded Swift is not supported. + .. [13] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. diff --git a/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md b/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md index 08772e5635d1..c01c05552848 100644 --- a/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md +++ b/java/ql/lib/change-notes/2026-08-21-kotlin-2.4.20.md @@ -1,4 +1,4 @@ --- category: minorAnalysis --- -* Preliminary support for Kotlin 2.4.20-RC2 has been added. +* Preliminary support for Kotlin 2.4.20 has been added. From 5e9dec1e6314f2419c0bb051e6268df4f2126544 Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Thu, 3 Sep 2026 15:58:46 +0200 Subject: [PATCH 10/11] Kotlin: restore future-version diagnostic test Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../diagnostics/kotlin-version-too-new/diagnostics.expected | 2 +- .../fake-kotlinc-source/kotlin/KotlinVersion.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/diagnostics.expected b/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/diagnostics.expected index 613709bfb152..ff2c056ff962 100644 --- a/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/diagnostics.expected +++ b/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/diagnostics.expected @@ -1,5 +1,5 @@ { - "markdownMessage": "The Kotlin version installed (`2.4.20`) is too recent for this version of CodeQL. Install a version lower than 2.4.20.", + "markdownMessage": "The Kotlin version installed (`999.999.999`) is too recent for this version of CodeQL. Install a version lower than 2.4.30.", "severity": "error", "source": { "extractorName": "java", diff --git a/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/fake-kotlinc-source/kotlin/KotlinVersion.java b/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/fake-kotlinc-source/kotlin/KotlinVersion.java index 523d7e1d0d87..e4bd4ecb7e10 100644 --- a/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/fake-kotlinc-source/kotlin/KotlinVersion.java +++ b/java/ql/integration-tests/kotlin/all-platforms/diagnostics/kotlin-version-too-new/fake-kotlinc-source/kotlin/KotlinVersion.java @@ -2,6 +2,6 @@ public class KotlinVersion { - public static String CURRENT = "2.4.20"; + public static String CURRENT = "999.999.999"; } From e7e97c4929ad474b12a0b561ebd8b2d461e58e92 Mon Sep 17 00:00:00 2001 From: Anders Fugmann Date: Thu, 3 Sep 2026 16:40:43 +0200 Subject: [PATCH 11/11] Kotlin: support 2.4.20-RC3 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- MODULE.bazel | 6 +++--- java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar | 3 --- java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC3.jar | 3 +++ .../deps/kotlin-compiler-embeddable-2.4.20-RC2.jar | 3 --- .../deps/kotlin-compiler-embeddable-2.4.20-RC3.jar | 3 +++ java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar | 3 --- java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC3.jar | 3 +++ java/kotlin-extractor/dev/wrapper.py | 2 +- .../Kotlin2ComponentRegistrar.kt | 0 java/kotlin-extractor/versions.bzl | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar create mode 100644 java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC3.jar delete mode 100644 java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC2.jar create mode 100644 java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC3.jar delete mode 100644 java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar create mode 100644 java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC3.jar rename java/kotlin-extractor/src/main/kotlin/utils/versions/{v_2_4_20-RC2 => v_2_4_20-RC3}/Kotlin2ComponentRegistrar.kt (100%) diff --git a/MODULE.bazel b/MODULE.bazel index 66ec0e895dcc..54fad012e7fc 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -278,7 +278,7 @@ use_repo( "kotlin-compiler-2.3.0", "kotlin-compiler-2.3.20", "kotlin-compiler-2.4.0", - "kotlin-compiler-2.4.20-RC2", + "kotlin-compiler-2.4.20-RC3", "kotlin-compiler-embeddable-1.8.0", "kotlin-compiler-embeddable-1.9.0-Beta", "kotlin-compiler-embeddable-1.9.20-Beta", @@ -291,7 +291,7 @@ use_repo( "kotlin-compiler-embeddable-2.3.0", "kotlin-compiler-embeddable-2.3.20", "kotlin-compiler-embeddable-2.4.0", - "kotlin-compiler-embeddable-2.4.20-RC2", + "kotlin-compiler-embeddable-2.4.20-RC3", "kotlin-stdlib-1.8.0", "kotlin-stdlib-1.9.0-Beta", "kotlin-stdlib-1.9.20-Beta", @@ -304,7 +304,7 @@ use_repo( "kotlin-stdlib-2.3.0", "kotlin-stdlib-2.3.20", "kotlin-stdlib-2.4.0", - "kotlin-stdlib-2.4.20-RC2", + "kotlin-stdlib-2.4.20-RC3", ) go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") diff --git a/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar b/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar deleted file mode 100644 index 61b97c2daab3..000000000000 --- a/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC2.jar +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ec34d6a2587d59cc0dfeb65b5588f2d631edf93d0f2543f3b026f902456094df -size 60184461 diff --git a/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC3.jar b/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC3.jar new file mode 100644 index 000000000000..5fc806f55546 --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-compiler-2.4.20-RC3.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a82b8fcea2bb26e0183c8d4abaa11c73d0546513778cde864afca093ebf47fc +size 60184483 diff --git a/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC2.jar b/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC2.jar deleted file mode 100644 index 2c5e630eed5f..000000000000 --- a/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC2.jar +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2654e7834a9e3c12e4626e2d5ace62f38682f9cdd348dba48a6bbde3479d6db2 -size 58593232 diff --git a/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC3.jar b/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC3.jar new file mode 100644 index 000000000000..f0b154d6c32b --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-compiler-embeddable-2.4.20-RC3.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b5e606e085246cf3f45e94bc5f19703330cd4336f8018a51ed5f5c41df05b48 +size 58593254 diff --git a/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar b/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar deleted file mode 100644 index 66a27b7faf12..000000000000 --- a/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC2.jar +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1697a320cbceeee25123ce07aa8e3b356094601b1bff8a55ac8db39ffbbca0ef -size 1853317 diff --git a/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC3.jar b/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC3.jar new file mode 100644 index 000000000000..dbfe536e3a28 --- /dev/null +++ b/java/kotlin-extractor/deps/kotlin-stdlib-2.4.20-RC3.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45311a8ed12064c4f8d23f54a1a79f72897f2a94ba39a15b22d73b07500078db +size 1853318 diff --git a/java/kotlin-extractor/dev/wrapper.py b/java/kotlin-extractor/dev/wrapper.py index fa1df5714e0b..c2b5909c239a 100755 --- a/java/kotlin-extractor/dev/wrapper.py +++ b/java/kotlin-extractor/dev/wrapper.py @@ -27,7 +27,7 @@ import io import os -DEFAULT_VERSION = "2.4.20-RC2" +DEFAULT_VERSION = "2.4.20-RC3" def options(): diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC2/Kotlin2ComponentRegistrar.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC3/Kotlin2ComponentRegistrar.kt similarity index 100% rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC2/Kotlin2ComponentRegistrar.kt rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_2_4_20-RC3/Kotlin2ComponentRegistrar.kt diff --git a/java/kotlin-extractor/versions.bzl b/java/kotlin-extractor/versions.bzl index 6fb456e9fa73..189dbc6b3819 100644 --- a/java/kotlin-extractor/versions.bzl +++ b/java/kotlin-extractor/versions.bzl @@ -12,7 +12,7 @@ VERSIONS = [ "2.3.0", "2.3.20", "2.4.0", - "2.4.20-RC2", + "2.4.20-RC3", ] def _version_to_tuple(v):