Update kotlin_version to v1.9.22
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
org.jetbrains.kotlin:kotlin-stdlib-jdk8 (source) | dependencies | minor |
1.8.0 -> 1.9.22
|
org.jetbrains.kotlin:kotlin-gradle-plugin (source) | dependencies | minor |
1.8.0 -> 1.9.22
|
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-stdlib-jdk8)
v1.9.22
JavaScript
-
KT-63719
KJS: Test results ignored for ES module kind -
KT-63808
compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers
Native
-
KT-64139
Weird bug with while and coroutine in Kotlin Native -
KT-63471
linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_deps -
KT-63789
Native: Incremental compilation problem with compose
Tools. CLI
-
KT-64485
CLI: cache and optimize parsing of command-line arguments
Tools. Gradle
-
KT-63990
"Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects
Tools. Gradle. Native
-
KT-63363
Kotlin Gradle Plugin:KotlinNativeHostSpecificMetadataArtifact
breaks configuration cache, implicitly includes output file as configuration cache input -
KT-63742
Gradle wrongly caches Kotlin/Native compiler flags
Tools. JPS
-
KT-64305
Kotlin JPS builder requests chunk rebuild with graph implementation -
KT-64112
Avoid using IJ's JPS mappings in Kotlin JPS tests -
KT-63799
Make plugin classpath serialization path agnostic
v1.9.21
Compiler
-
KT-62885
Introduce a language feature entry for expect actual classes for easier configuration of MPP projects -
KT-63081
Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()
Docs & Examples
-
KT-55619
DocumentString.format
function
IDE. Gradle Integration
-
KT-62877
Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skipped
IDE. Gradle. Script
-
KT-60813
Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j API
JavaScript
-
KT-60785
KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error -
KT-63207
KMP / JS: "TypeError: <mangled_name> is not a function" with 1.9.20 -
KT-62778
package.json "main" field has .js extension when the result files have .mjs extension -
KT-61795
KJS: Incremental Cache is not invalidated ifuseEsClasses
compiler argument was changed -
KT-61957
KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with@JsExport
and Enum.entries call -
KT-62444
KJS with commonJS modules should re-export in 1.9.20 -
KT-63184
KJS / Serialization: JsExport on serializable interface creates erroneous TypeScript -
KT-62190
KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules() -
KT-58685
KJS: "IllegalStateException: Not locked" cused by "unlock" called twice
Klibs
-
KT-62515
Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"
Tools. CLI
-
KT-63139
Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata info
Tools. Gradle
-
KT-63499
Gradle: Source sets conventions are still registered
Tools. Gradle. JS
-
KT-59523
MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)
Tools. Gradle. Kapt
-
KT-63366
Kapt processing fails with custom source sets
Tools. Gradle. Multiplatform
-
KT-32608
Create JUnit-XML result file in multiplatform gradle build -
KT-63315
Wasm gradle plugin DSL is invalid for parameterless wasmWasi method -
KT-63338
[KMP] metadata task fails to find cinterop classes from dependency projects -
KT-63044
KGP: Multiplatform - 8.4 configuration cache support -
KT-63011
Apple Framework Artifacts is not connected to KotlinNativeTask -
KT-62601
AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RC
Tools. Incremental Compile
-
KT-61590
K2/KMP: Expect actual matching is breaking on the incremental compilation
Tools. JPS
-
KT-63594
ClassCastException in JPS statistics -
KT-63651
Fix NPE in Kotlin JPS after enabling graph implementation of JPS
Tools. Kapt
-
KT-57389
KAPT3 uses a Javac API for JCImport which will break in JDK 21 -
KT-60507
Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchain
Tools. Scripts
-
KT-54819
Scripts: Not able to use slf4j in .main.kts -
KT-61727
Scripts: Maven artifacts resolution is slow
v1.9.20
Analysis. API
New Features
-
KT-58834
Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
-
KT-57515
LL FIR: Performance bottleneck inCompositeModificationTracker.getModificationCount
-
KT-59266
K2: optimize FirElementBuilder.getOrBuildFir for elements outside body -
KT-59454
K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations -
KT-59453
K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations -
KT-59189
Analysis API: KtFirKDocReference.resolveToSymbols is slow -
KT-58125
K2: LL FIR:KtToFirMapping.getElement
is slow forKtUserType
s due to on-air resolution of types
Fixes
-
KT-59240
K2: FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from superTypes -
KT-58499
K2: FirLazyBlock should be calculated before accessing -
KT-57966
K2: Analysis API: Reference Shortener does not work correctly when called on entire file -
KT-60954
K2: Analysis API: Reference shortener does not work correctly with variable assignments -
KT-60940
K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations -
KT-60488
Analysis API: forbid providing custom KtLifetimeToken for every analyze call -
KT-60728
K2: proper support for scripts in LL FIR transformers -
KT-59159
K2 IDE: declaration is not found exception -
KT-59297
K2: exception from body resolve leads to corrupted state and broken analysis -
KT-59077
KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls -
KT-60586
K2: forbid analyze from write action -
KT-57743
K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies -
KT-61026
K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve -
KT-61009
K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource -
KT-60357
K2 IDE. Reified types parameters are not resolved in a function body -
KT-60317
K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library -
KT-60706
K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common -
KT-60552
K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer -
KT-60641
Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing -
KT-60638
K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource -
KT-54846
Analysis API: add isExpect/isActual to KtSymbol -
KT-60448
FirLazyResolveContractViolationException:lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)
cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin -
KT-59342
K2 IDE. FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)
cannot be called from a transformer with a phase TYPES -
KT-59687
K2: Implement proper body update for in-block modifications -
KT-59329
Resolve Extensions reference resolution breaks Find Usages -
KT-60295
K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver -
KT-59758
K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump -
KT-60377
K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled -
KT-59685
K2: rewrite on-air resolution -
KT-60132
K2: properties and functions without a name should be re-analyzable as well -
KT-59199
K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements -
KT-59667
Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor -
KT-59705
KotlinExceptionWithAttachments: No fir element was found for getter -
KT-59697
AA standalone: JRT module paths are not properly populated in Windows -
KT-59505
K2: implicit type lazy resolution doesn't work for delegated declaration from other module -
KT-56426
K2 IDE: Typealised functional types cannot be rendered -
KT-59598
AA: stackoverflow while simplifying a type with a recursive type parameter -
KT-58497
K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found -
KT-59511
AA standalone mode creates Application Environment for tests -
KT-58161
Analysis API: Make methods inKtCallResolverMixIn
more distinctive based on their receiver/return type -
KT-59093
Do not throw exception on KtCall resolution,KtCallElement.resolveCall
should returnnull
on unknown cases -
KT-59243
K2: FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from permits types -
KT-58194
K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement -
KT-59133
K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol -
KT-58174
K2: LL FIR: Invalid type reference for T & Any type -
KT-52615
LL FIR: build RAW FIR only by stubs -
KT-55053
K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder -
KT-58580
K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible throughLLFirCombinedKotlinSymbolProvider
-
KT-58992
Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API -
KT-58727
K2: AA FIR: implicit type in delegated function treated as error -
KT-58653
K2: Analysis API: add functions for KtScope members access by name -
KT-57559
K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project -
KT-58262
Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion -
KT-57455
LL FIR: CombineAbstractFirDeserializedSymbolProvider
s in session dependencies (optimization) -
KT-57207
LL FIR: CombineJavaSymbolProvider
s in session dependencies (optimization) -
KT-58546
K2: LL FIR: support name collision in a designation path -
KT-58495
K2: Lazy calculation is redundant -
KT-58500
K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement -
KT-58493
K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl found -
KT-58496
K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference found -
KT-58491
K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl found -
KT-56550
LL FIR: implement parallel resolve for non-jumping phases -
KT-58503
Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolve -
KT-57623
K2 IDE: ConcurrentModificationException from getSuperConeTypes -
KT-58083
K2: LL FIR: implement FakeOverrideTypeCalculator
Android
-
KT-27170
Android lint tasks fails in Gradle with MPP dependency
Backend. Native. Debug
-
KT-61131
Virtual functions trampolines have invalid debug info
Backend. Wasm
Fixes
-
KT-60244
K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specification -
KT-61262
K/Wasm: add a way to turn on k2 in wasm examples that don't use compose -
KT-61343
K/Wasm: add a wasi example to kotlin-wasm-examples -
KT-62147
[Kotlin/Wasm] Nothing typed when expression cause a backend error -
KT-59720
K/Wasm: update to final opcodes -
KT-60834
K/Wasm: investigate consequences of stopping usingbr_on_cast_fail
-
KT-59294
WASM: localStorage Cannot read properties of undefined (reading 'length') -
KT-60835
K/Wasm: fix compatibility with Node.js 20.* -
KT-60113
K/Wasm: illegal cast when using 1.9.20-dev -
KT-60496
Compose-web Wasm crashes on remember { null } calls -
KT-58746
K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations) -
KT-58993
[K/Wasm] Fix w3c declarations with lambda parameters -
KT-59722
K/Wasm: Support new encoding with flags for br_on_cast and br_on_cast_fail instructions -
KT-59713
K/Wasm: Implement enumEntries intrinsic -
KT-59082
WASM: NullPointerException caused by companion with String type constants -
KT-58941
WASM Hang with extension delegate inside a Class -
KT-60200
K/Wasm: generate types without supertypes properly -
KT-52178
IR dump doesn't seem to work for Kotlin/WASM phases -
KT-59556
Wasm: critical dependency when using with webpack -
KT-58681
K/Wasm: division remainder has a wrong sign -
KT-56711
Wasm: IllegalStateException caused by dynamic type
Compiler
New Features
-
KT-58551
KMP: check all annotation from expect declaration are present on actual -
KT-58554
KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaning -
KT-58545
KMP: prohibit implicit actualization via Java -
KT-58536
KMP: prohibitexpect tailrec
/expect external
-
KT-59764
Make a frontend checker that reports cast to forward declaration as unchecked -
KT-60528
Updates for JVM/IR backend of kotlin-atomicfu-compiler-plugin -
KT-59558
Add support for creating annotation instances with type parameters -
KT-52367
Devirtualization algorithm improvement -
KT-58652
Native: Implement frontend checkers for HiddenFromObjC on classes
Performance Improvements
-
KT-59600
K2: CFG: do not add edges to nested classes and functions -
KT-57860
K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxing
Fixes
-
KT-60387
K2: IDE K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl cannot be cast to class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList" -
KT-61228
False positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for effectively final properties -
KT-61643
"Argument type mismatch" for mixed Java/Kotlin Project with Java 21 -
KT-62389
JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependencies -
KT-56768
K2. No error description on incomplete try catch declaration -
KT-52220
FIR + LightTree - Consider building a single tree on parsing into LightTree -
KT-60601
K2 / Maven: Overload resolution ambiguity between candidates inline method -
KT-62027
"java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation@AllowDifferentMembersInActual
used -
KT-62747
Wrong warning message when overriding vararg with Array during actualization -
KT-62655
Don't report a warning when new members and new supertypes are added to open expect actualization -
KT-62313
Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator -
KT-60902
visibility vs upper bound expect actual matching conflict -
KT-61095
K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesChecker -
KT-47567
'Val cannot be reassigned' error not reported in unreachable code -
KT-59468
K2: build realm-kotlin -
KT-62026
KMP: Correctly handle a case when annotation on expect declaration is unresolved -
KT-59476
K2: build ClashForAndroid -
KT-59487
K2: build KSP-playground -
KT-47409
K1/K2: Investigate and align inference for equality (==) operator -
KT-59393
K2: Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED -
KT-62127
"NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submodule -
KT-62335
Improve debuggability of code generator crashes -
KT-61165
More than one overridden descriptor declares a default value for 'cause: Throwable?'. As the compiler can not make sure these values agree, this is not allowed -
KT-62263
Turn "different expect/actual members" error into a warning -
KT-59969
K2: Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL -
KT-61616
K2:IrBuiltIns.extensionToString
fails during native compilation -
KT-59377
K2: Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM -
KT-61645
K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilation -
KT-61924
Native: problem with abstract fake override from Any -
KT-61933
K2: "Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected
" -
KT-59471
K2: build multiplatform-settings -
KT-56077
K2: build kotlinx.atomicfu -
KT-59465
K2: build kotlinx-datetime -
KT-60824
K2 IDE: FirSyntheticCallGenerator: IAE: List has more than one element -
KT-61856
K2: "KotlinIllegalArgumentExceptionWithAttachments" on usage of javax.validation.constraints.Email.List -
KT-54792
Store program order of properties inside@kotlin
.Metadata -
KT-56083
K2: build ktor -
KT-23861
Expect annotation should not be applicable wider than the actual one -
KT-59466
K2: build kotlinx-benchmark -
KT-60830
KMP, K2: expect actual annotation IR checker doesn't unwrap actual typealiases to annotations -
KT-61668
Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language Version -
KT-61725
KMP: Annotation matching requirement for expect/actual leads to errors for annotations with@OptionalExpectation
-
KT-47892
False negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP withcontinue
ininit
block insidefor
-
KT-61784
KMP: [DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for companion functions -
KT-61173
K2: FirProperty.hasBackingField is true for an expect val -
KT-59743
K2: erroneous binding of typealias with two type parameters to a class with one type parameter -
KT-60650
KMP: prohibit problematic actual typealiases -
KT-61461
K2: Kotlin native metadata compilation breaks when stdlib is present in -libraries -
KT-61270
Enabling Kotlin/Native caching causes 65K warnings from dsymutil when building Compose iOS app -
KT-58229
K2/MPP/JVM: compiler codegen crash on call of inherited generic class's method with actual-typealias as value parameter -
KT-47702
Support call of Java annotation constructor without specifying a default value -
KT-56460
K2: Do not re-run DiagnosticCollectorVisitor from FirInlineDeclarationChecker.checkChildrenWithCustomVisitor -
KT-55933
K2: False negative Overload resolution ambiguity for call functions with named parameters if one of params is vararg -
KT-59548
FIR2IR: inconsistent generation of dispatch receiver for object methods -
KT-55072
K2: False positive "suspension point is inside a critical section" -
KT-58778
JVM IR inline: add fake variables for debugger -
KT-59404
K2: Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSE -
KT-59830
K2. False negative [FINAL_SUPERTYPE] on extending final class through type alias -
KT-60580
K2: Not supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleType -
KT-59391
K2: Missing JS_BUILTIN_NAME_CLASH -
KT-59392
K2: Missing NAME_CONTAINS_ILLEGAL_CHARS -
KT-58360
Intrinsics for atomic update of array elements -
KT-59165
K2: Prohibit class literals with empty left-hand side -
KT-60427
K2@Metadata
annotations contain outerType/outerTypeId information for non-inner nested classes -
KT-59376
K2: Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR -
KT-55221
K2: No error reported for self-referencing local function with inferred return type -
KT-59586
K2: support JVM backend diagnostics in light tree mode -
KT-57780
K2: Calling a constructor through a deprecated typealias doesn't report a deprecation -
KT-59110
K2. "NotImplementedError: An operation is not implemented." error on incorrect@Target
annotation -
KT-59249
K2: Empty varargs are not serialized to KLIB -
KT-55373
K2. Unresolved reference error for type mismatch with callable references -
KT-55955
K2: callable references are not properly resolved when in conflict with expected type -
KT-60144
JVM IR inline: backport primitive boxing in class literals -
KT-60779
K2: missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER -
KT-60587
K2: Implement warning NO_REFLECTION_IN_CLASS_PATH -
KT-61145
False negative NOTHING_TO_OVERRIDE when context receivers don't match -
KT-59378
K2: Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVA -
KT-61163
Default params on actual check and inheritance by delegation compilation error -
KT-60800
[atomicfu-K/N]: turn on the tests for the K/N part of the compiler plugin -
KT-61029
K2: Duplicates when processing direct overridden callables -
KT-55196
K2: False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not() call -
KT-60862
Kotlin Scripting: NoSuchMethodError for ExternalDependenciesResolver.addRepository -
KT-57963
K2: MPP: Annotation calls should be actualized -
KT-60854
K2: IrActualizer incorrectly generates fake overrides for synthetic java properties -
KT-59665
ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual typealias and fake-override actualization -
KT-61039
False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't match -
KT-61166
Inherited platform declaration clash & accidental override -
KT-60531
K2/JS: Report diagnostics before running FIR2IR -
KT-32275
Embedding kotlin-compiler-embeddable into a Java EE App leads to CDI related deployment error -
KT-57845
K2. Unresolved reference error on calling Java references with fully qualified name -
KT-58757
K2: False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an inline fun is protected and is a part of an internal abstract class declaration -
KT-59736
kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException: Symbol for kotlinx.serialization.json.internal/FormatLanguage.|-547215418288530576[1] is unbound -
KT-59071
K2/MPP: internal declarations from common module are invisible in dependent source sets if there is more that one intermediate source set between -
KT-61167
Runtime failure: ReferenceError: MyPromise is not defined -
KT-59408
K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES -
KT-61409
Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabled -
KT-57329
K/N IR linkage issues due to the combination of static caches w/ Lazy IR & Compose compiler plugin -
KT-59247
Kapt+JVM_IR: AssertionError on anonymous object in enum super constructor call -
KT-58576
K2: IR actualization problems in MPP scenario -
KT-61442
K2: Consider stricter filtering on implicit integer coercion -
KT-61441
K2: Wrong overload is chosen with ImplicitIntegerCoercion enabled -
KT-59328
K2: property with compound getter and without explicit type: compilation failure, IAE "List has more than one element" at FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature() -
KT-61159
K2: OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same file and top-level property in different module -
KT-59233
K2: false-negative diagnostic on creating a callable reference to a function with free type variables -
KT-61418
k2: ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot find cached type parameter by FIR symbol" -
KT-61373
False positive: "The opt-in annotation is redundant: no matching experimental API is used" with multiplatform code. -
KT-58884
K2: NotAMockException for mock testing with lambda expression with Maven -
KT-58893
K2: MockitoException for mock testing with lambda expression with Gradle -
KT-59483
K2: Build a Native app -
KT-57738
K2: unresolved class fields and methods in kotlin scripts -
KT-59449
K2: Diagnostic messages contain debugging-style rendered FIR -
KT-59849
K2: IllegalArgumentException: List has more than one element -
KT-57553
Implement deprecation for open val with backing field and deferred initialization in K1 -
KT-57230
Support Kotlin/Wasm in the K2 platform -
KT-59409
K2: Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDE -
KT-59058
Companion object is not initialized on class constructor call -
KT-61017
K2: intermediate expect/actual class results in expected class has no actual declaration in module -
KT-60181
K2: "NotImplementedError: An operation is not implemented" with Spring -
KT-59472
K2: build Reaktive -
KT-54786
MPP: "LazyTypeAliasDescriptor cannot be cast to class org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected non-constant function argument on iOS if class is type aliased -
KT-59753
K2: NotImplementedError when using annotation with vararg with default value from other module -
KT-60883
K2: FixtestRequireKotlinCompilerVersion
in LV 2.0 branch -
KT-59747
K2: cannot actualize expect class to Unit via typealias -
KT-61054
K2: "IAE: source must not be null" with -no-reflect on calling property getter with implicit invoke -
KT-57126
[KLIB Reproducibility] Manifest is written using os-dependent line separators -
KT-60850
K2: FIR2IR generates incorrect signature for fake overrides for common declaration if it called from a platform module -
KT-59218
K2: return types of calls to@PolymorphicSignature
methods inside try-expressions don't resolve to void when required -
KT-60002
K2: Missing UNSUPPORTED_SUSPEND_TEST -
KT-61011
K2 Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource -
KT-58906
K2. "Backend Internal error: Exception during IR lowering" instead of CANNOT_INFER_PARAMETER_TYPE error when parameter type missing in lambda -
KT-59490
K2: build km-shop -
KT-60163
K2: vararg annotation argument value is serialized not as an array -
KT-59355
K2: Allow to actual classifier have wider visibility than the corresponding expect class -
KT-56179
[K2/N]interop_objc_tests/multipleInheritanceClash.kt
test failed -
KT-59411
K2: Missing ENUM_CLASS_CONSTRUCTOR_CALL -
KT-59410
K2: Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPE -
KT-59382
K2: Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL -
KT-59901
K2: Disappeared API_NOT_AVAILABLE -
KT-60474
K2: False negative type mismatch for array literal with wrong numeric literal -
KT-59610
K2: Calls to annotations with default values are serialized differently in K1 and K2 -
KT-60139
K2: Refactor handling of implicitly actual declarations (annotation & inline class constructors and property of inline class) -
KT-60793
K2: IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef -
KT-60735
K2: lateinit property diagnostic has not been initialized -
KT-60137
K2: Quite complicated redeclaration error description is displayed for data classes -
KT-60639
K2: IllegalStateException: Unsupported compile-time value GET_CLASS type=kotlin.reflect.KClass<p1.A> -
KT-56888
CFA: Valid green in K1 -> red in K2.catch_end -> finally -> after_try
-
KT-60723
K2: Nested finally block has extra jump edge if surrounding try block jumps -
KT-60573
K2: False positive/negative CONFLICTING_OVERLOADS for main functions -
KT-60124
K2: Conflicting declarations on extension properties with different upper-bounded type parameter -
KT-60259
K2: Reflection target is missing on adapted function refernces -
KT-59036
InstantiationError when instantiating annotation with a parameter type as a default parameter of another annotation -
KT-59094
K2: Fix Scripting K2 tests -
KT-59711
K/N: Implement enumEntries intrinsic -
KT-59748
K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branch -
KT-60154
K2: Expected some types error -
KT-58139
K2/MPP/metadata: compiler FIR serialization crash on complex expression as annotation argument -
KT-59485
K2: build Anki-Android -
KT-59415
K2: Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERROR -
KT-59710
K/JVM: Implement enumEntries intrinsic -
KT-57984
K2/JS fails with IdSignature clash for inherited expect/actual function -
KT-59398
K2: Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE -
KT-60645
Native: dynamic caches are broken on Linux -
KT-50221
FIR: handle enhanced/flexible nullability inside withNullability properly -
KT-59281
JVM IR inline: incorrect type of created array -
KT-59507
JVM IR inline: invocation of arrayOfNulls by function reference results in exception -
KT-58359
Allow volatile intrinsics on inline function constant arguments -
KT-60598
K2: add OptIn checkers for command line arguments -
KT-59766
K2: ISE: Cannot find cached type parameter by FIR symbol during the coroutines library build -
KT-59644
K2: the companion object in anexpect
class requires to be explicitly defined for compileNativeMainKotlinMetadata -
KT-59640
K2:expect
constructor requires callingthis
orsuper
but didn't use to -
KT-58883
K2: False negative type mismatch for generic annotation in collection literal -
KT-59581
K2: Initializer type mismatch: expected Array<KClass<*>>, actual Array<KClass> in annotation parameter default value using array literal -
KT-59069
K2 does not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALL -
KT-59416
K2: Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT -
KT-59417
K2: Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE -
KT-59381
K2: Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM -
KT-59384
K2: Missing DYNAMIC_NOT_ALLOWED -
KT-59406
K2: Missing PROPERTY_DELEGATION_BY_DYNAMIC -
KT-60247
K2: order of data class generated member differs in IR -
KT-57223
K2: false-negative INAPPLICABLE_JVM_NAME on non-final properties outside interfaces -
KT-60183
K2: INAPPLICABLE_JVM_NAME on private methods with all-open plugin -
KT-60120
K2 can't get a default parameter value of expect annotation -
KT-57240
K2 MPP: Actualization doesn't work for flexible types -
KT-60436
K2: investigate possible FirJavaTypeRef equals parameter in FirDataFlowAnalyzer.hasEqualsOverride -
KT-60299
K2: when a typealias toUnit
is returned, an explicitreturn
is now required -
KT-58005
K2: Unsupported compile-time value BLOCK for Repeatable annotations -
KT-60223
K2: Wrong import with import alias -
KT-54854
K2. Unresolved reference for not imported declaration when it is already imported as an import alias is absent in K2 -
KT-59738
K2: NoSuchElementException from JvmValueClassLoweringDispatcher in MPP environment -
KT-59708
K2: "Property must be initialized or be abstract" occurs due to constructors order -
KT-58483
K2. -Xmulti-platform flag isn't working -
KT-53490
FIR: Refactor augmented assignment resolving code - fix lhs-related problems and combine similar code in array and assign operator handling -
KT-59673
K2: incorrect error message -
KT-58578
K2: Commonize expect-actual logic between FIR and IR actualizer -
KT-54989
FIR2IR: fragile code in postfix op detection -
KT-59464
K2: Investigate cases of implicit type refs in Fir2IrImplicitCastInserter -
KT-53898
K2: False negative VAL_REASSIGNMENT on member vals -
KT-57641
K2: "java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect forKClass.objectInstance
on an anonymous object -
KT-59299
[K2] ISE in IrBindablePublicSymbolBase.bind on equals function from companion of serializable class -
KT-58844
Incorrect type mismatch error: "actual type is kotlin/Int but kotlin/Int was expected" -
KT-59413
K2: Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERS -
KT-56173
FIR: IrGenerationExtensions cannot see default values from expect declarations -
KT-59611
FIR2IR: Unsupported callable reference for enum entry with clashing name -
KT-59858
Kotlin Native: Compilation failed: Sequence contains more than one matching element, org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644) -
KT-58539
[K2] Ir actualization fails to match expect/actual declarations that use custom function types -
KT-59775
'toString()' on Object returns different result with concatenation -
KT-59737
K2: Actual class 'actual class FastArrayList : AbstractMutableList, MutableListEx, RandomAccess' has no corresponding members for expected class members because of different parameter names in Java -
KT-59613
K2: Unhandled intrinsic in ExpressionCodegen exception in for expect function with default value in parameter -
KT-59216
K2. Unhelpful unresolved reference when inheriting from interface with constructor call (K1 reports NO_CONSTRUCTOR instead) -
KT-59057
Revise muted tests for native backend -
KT-57377
K2/MPP: internal declarations from common module are inivisible for intermediate modules during metadata compilation -
KT-59693
MPP: linkReleaseExecutableLinux fails with IllegalStateException: Drains have not been painted properly -
KT-59362
K2/MPP:.toByte()
conversion for const val causes SourceCodeAnalysisException: java.lang.NullPointerException: null -
KT-51670
FIR: questionable behavior for deprecated String constructors -
KT-35314
StackOverflowError with nested try-finally and function with contracts -
KT-53460
False positive smartcast warning in if block after if block -
KT-40851
False MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is initialised in the init block -
KT-59695
K2: false negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE -
KT-41198
False positive “Variable must be initialized” with assignment in scope function and safe call -
KT-58901
K2. Value parameter default values are not checked for type mismatch -
KT-48115
Member functions with type parameter and contract don't produce smartcasts -
KT-59541
K2: Type checking has run into a recursive problem on code that was compiling with Language 1.9 -
KT-58943
K2: Incorrect with K1 priority of "invokeExtension + implicit receiver" candidate -
KT-37375
[FIR] Incorrect invoke resolution -
KT-59789
K2: self-reference does not compile anymore -
KT-59286
JVM IR inline: local property not found -
KT-58823
K2: Android app crashes right after start: java.lang.NoSuchMethodError: No virtual method findViewById(I)Landroid/view/View -
KT-57754
K2: No public signature built for the synthesized delegate field -
KT-58533
K2: "Not enough information to infer type variable T" for generic call in throw expression -
KT-34846
FIR Java: enhance type parameter bounds properly -
KT-52043
FIR: FirValueParameter with SubstitutionOverride does not reference the original FIR declaration -
KT-59291
JVM IR inline: unexpected result ofapiVersionIsAtLeast
invocation -
KT-59550
K2: synthetic property isn't seen through Java -
KT-59038
[K2] IllegalStateException in mixed Java/Kotlin inheritance -
KT-59489
K2: builld spring-petclinic-kotlin -
KT-58908
K2. Internal error "kotlin.UninitializedPropertyAccessException: lateinit property firType has not been initialized" on incompleteis
-
KT-56755
K2: Investigate failures related to line numbers with LT compilation enabled -
KT-56139
K2: consider adding source element for implicit receivers -
KT-57489
K2: Incorrectly generated line numbers in companion object access inside class -
KT-58947
Run all existing codegen box tests with kapt stub generation -
KT-58827
K2 reports ACTUAL_WITHOUT_EXPECT on the whole class -
KT-54917
K2: ILT leak from a completed generic call -
KT-56187
K2: type parameter's upper bound is ignored in callable references -
KT-56186
K2: lack of type arguments in type constructor is ignored in callable references -
KT-59356
K2: Restrict rules for matching of expect supertypes for actual class -
KT-57217
K2: NoSuchMethodError ontoChar
call on java inheritor of java.lang.Number -
KT-58356
K2: StackOverflowError with OptIn and Deprecated, while compiling Kotlin project -
KT-57954
K2. Auto-generated "entries" member of enum class has higher priority than user-declared companion object with same name when language version is set to 2.0 -
KT-59508
K2: Make sure that warnings-severity nullability annotations are not perceived as reasons for nullability errors -
KT-53820
FIR: mismatching error message for invisible reference/member -
KT-58641
K2: PublishedApi has no effect when internal fun used in the test source set -
KT-59461
K2: Erroneous null check when returning not-null typealias to nullable type -
KT-58980
K2: Import of java field from companion's base breaks the compiler -
KT-59140
K2: "Symbol public final static field is invisible" caused by java static field called in kotlin code -
KT-59501
Escape analysis constructs arrays of negative size -
KT-59452
apiVersionIsAtLeast calls in body of stdlib inline function may be evaluated on compile-time -
KT-53967
[PL] Classifiers: Turning interface from fun to non-fun + adding member function causes Kotlin/JS fail: IAE: "Sequence contains more than one matching element" -
KT-59346
Not working breakpoints on not initialized variables -
KT-55993
Wrong current pointer: strange behaviour of debugger or compiler when two IFs and an uninitialized variable between them -
KT-58335
K2: Exposed typealias from implementation dependency produces type mismatch in dependent module -
KT-58719
K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class -
KT-57694
K2: False positive [NOTHING_TO_OVERRIDE] for a class overriding 'sort' method from the List collection -
KT-58460
K2. return without argument became allowed for functions with return type Any -
KT-49249
Incorrect nullability inferred for Throwable -
KT-57429
K2: Fix computing a mangled name for members of a generic class that reference the class's type parameters in their signature -
KT-57566
K2: Fix name mangling for functions that have dynamic type in their signature -
KT-57818
K2: Fix FirMangleComputer to not include the "special" package name into mangled names of property accessors on non-JVM platforms -
KT-57777
K2: Fix computing a mangled name for the synthesizedentries
property getter of an enum class -
KT-57433
K2: Fix computing a mangled name for top-level functions and properties -
KT-58553
k2: Annotation type arguments are lost in FIR2IR -
KT-58184
K2: False negative INVISIBLE_MEMBER on destructuring declaration -
KT-58637
K2: False negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract member declaration -
KT-54952
JvmSerializationBindings does not work with K2 -
KT-54844
FIR/Analysis API: create stubs for equals/hashCode/toString for data classes in FIR -
KT-58555
K2: Generic property reference inside delegation misses type argument -
KT-57648
FIR: move deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phase -
KT-57049
K2 generates duplicates of symbols/declarations -
KT-55723
K2: deprecations for enum entries are not resolved on the TYPES phase -
KT-59033
Doesn’t support vararg parameter in annotation instantiation with empty arguments -
KT-58780
JVM IR inline: local property delegation is not working for K2 -
KT-58779
JVM IR inline: correctly process special inlined block in value class lowering -
KT-58720
Generate full InnerClass attributes for the standard library -
KT-58215
K2: JVM IR produces line numbers for delegation bridges that are not marked with ACC_BRIDGE -
KT-42696
JVM IR generates line numbers for all bridges leading to extra steps in the debugger -
KT-57228
K2: annotations for interface member properties implemented by delegation are copied -
KT-57216
K2: non-trivial enum declaration does not have ACC_FINAL in the bytecode -
KT-55866
K2: Constant as parameter of@JvmName
: BE: "Unsupported compile-time value CALL private final fun " -
KT-58717
Object on the left-hand side of callable reference is not initialized ifKCallable.name
optimization is used -
KT-59211
Kapt+JVM_IR: AssertionError on delegating to anonymous object -
KT-57251
K2: weird error message when trying to instantiate anexpect
class without explicit constructor -
KT-58623
Language version 2.0: compiling into common, Native does not report "Protected function call from public-API inline function is prohibited", while JVM, JS do -
KT-55945
NoSuchMethodError when calling method with value class parameter on java class inherited from kotlin class -
KT-58840
K1/K2: false positive EXPOSED_FUNCTION_RETURN_TYPE related to protected lower bound -
KT-57243
K2: no warning or error reported on expect class in CLI, and JVM backend tries to generate it to a .class file -
KT-57833
K2 reports NO_ACTUAL_FOR_EXPECT for inherited properties with the same name -
KT-58153
K2/MPP/JVM&Native: cannot override Any::toString when an expect-supertype has Any::toString override in actual-class -
KT-58124
K2: FIR2IR compiler crash with MPP (Fir2IrSimpleFunctionSymbol is already bound) -
KT-58346
k2: false negative MUST_BE_INITIALIZED for deferred initialization -
KT-57803
K2. "Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package" error missing in 2.0 -
KT-57504
[K2/N] Wrong coercion ofILT: 7
to kotlinx.cinterop.COpaquePointer causesCannot adapt kotlin.Int to kotlinx.cinterop.CPointer
during autoboxing -
KT-57484
K2: false positive OVERLOAD_RESOLUTION_AMBIGUITY with ImplicitIntegerCoercion -
KT-57971
K1/K2: False positive "Redundant 'suspend' modifier" warning on declaration site when suspend function is also argument -
KT-56779
Checkers false negative: AbstractMethodError when accessing setter via an interface where the member is defined as var, but it's val in implementation -
KT-51793
FIR: Investigate property+invoke resolution priorities -
KT-57003
FIR: missing annotation on parameter ofdata
class' syntheticcopy
-
KT-57269
K2: collection stub forsort
is not generated for custom List subclasses -
KT-54748
K2: incomprehensible errors when type parameter has the same name as a class -
KT-50703
FIR: Improve reporting UPPER_BOUND_VIOLATED for type arguments of typealias constructor calls -
KT-57622
Fix incorrect metadata for data class generated methods -
KT-54887
K2: fix behavior of references to value classes equals/hashCode/toString -
KT-58937
K2: Annotation vararg arguments are incorrectly serialized -
KT-58621
K2: Private class shadows public function defined in the same package -
KT-59041
K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource " on incorrect collection declaration -
KT-58665
K2: Optional.of incorrectly accepts nullable String -
KT-58938
K2. Abstract class can be invoked using member reference::
operator -
KT-50798
FIR: False negative UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION -
KT-58944
K2. StackOverflowError on incorrect intersection types -
KT-59241
K2: broken inference of DNN types -
KT-58294
K2 compiler crashes with OOM on deserializing annotation applied to itself with a enum outer/nested parameter -
KT-58972
K2: Error message of PRIVATE_CLASS_MEMBER_FROM_INLINE doesn't mention class members -
KT-58989
K2: Forbid suspend operator get/setValue and provideDelegate -
KT-59177
K2: Report NAMED_ARGUMENTS_NOT_ALLOWED for named parameters in lambdas -
KT-57028
K2: "NSEE: Sequence contains no element matching the predicate" with stream related Java api -
KT-58007
K2: Unsupported compile-time value GET_FIELD FIELD PROPERTY_BACKING_FIELD when const value is default for annotation -
KT-58472
Secondary constructor breaks MUST_BE_INITIALIZED check -
KT-59022
Make is and as behaviour consistent in Native -
KT-58902
K2: Calls to overridden method with default parameter are not compiled -
KT-58549
K2: variable type is infered to non-existing interface -
KT-58613
K2: ConcurrentModificationException from FirSignatureEnhancement.performFirstRoundOfBoundsResolution -
KT-55552
K2. False negative TYPE_MISMATCH in implementation via delegation -
KT-57436
Fix computing mangled names of generic properties from IR-based declaration descriptors -
KT-58543
[K2/N] Rewrite native MPP tests to avoid expect actual in same module -
KT-57701
Unify selection of inherited callable with default implementation among multiple candidates in JVM, Native & JS backends -
KT-58444
K2/MPP/metadata: compiler FIR2IR crash on constant with intrinsic initializer from common source set in Native-shared source set -
KT-57756
K2: Missing syntax errors when light tree parsing is used -
KT-57435
Fix computing mangled names for functions with context receivers -
KT-57219
K2: incorrect relative order of normal and use-site-targeted annotations on property getter in the resulting bytecode -
KT-57955
K2: "ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrDeclaration" with property delegate -
KT-58583
K2: false-positive invisible reference error on nested anonymous object literal extending a protected nested class -
KT-57425
K2: False-positive smartcast on property accessed through a property from another module -
KT-57844
K2. Not relevant errors when accessing Java member which have private overloads with argument type mismatch -
KT-58584
K2: "UninitializedPropertyAccessException: lateinit property packageFqName has not been initialized" -
KT-58529
K2: "Extension function type is not allowed as supertypes" compile error -
KT-58379
K2: NEW_INFERENCE_ERROR in sortedBy call with exception in branch -
KT-58284
K2: False negative ITERATOR_MISSING -
KT-55078
K2 IDE: Infinite recursion inorg.jetbrains.kotlin.fir.java.JavaScopeProvider#findJavaSuperClass
-
KT-58080
K2: False-positive TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on annotated const val -
KT-58674
K2: No expected type for while loop condition -
KT-56523
K2 should report MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED -
KT-58238
Support dumping signatures and mangled names in irText tests -
KT-58456
K2: Custom function type metadata breaks Compose library compatibility -
KT-58267
K/N: do not reference hidden Array.content* functions from the compiler -
KT-57791
Native: Method returning String? leads to exception: Unexpected receiver type: kotlin.String -
KT-58437
K2: Do not use descriptors in KonanSymbols -
KT-57432
K2: Don't create default getters and setters in case when they are not needed -
KT-46047
FIR: incorrect type of integer literals -
KT-57487
[K2/N] Stdlib ArraysTest fails withClass found but error nodes are not allowed
-
KT-56951
K2: False negative error on compound assignment for property of type Byte -
KT-57222
K2: compiler FIR serialization crash on two functions with captured type and object literal -
KT-58224
K2: deprecation on field is not detected properly -
KT-55662
K2. Incorrect type mismatch error "inferred type is IOT" instead of "inferred type is Int" -
KT-55668
K2. 'in' modifier became applicable to star projection -
KT-57064
K2: hidden internals of dealing with type-aliased primitive types are exposed to user -
KT-58252
K2: Symbol already bound for backing field during building resulting JS artifact for MPP project -
KT-56940
K/Wasm: report compiler errors for unsupported external declarations -
KT-56943
K/Wasm: implement@WasmImport
diagnostics -
KT-55903
K2: False negative CANNOT_CHECK_FOR_ERASED on is-check for type with reified type arguments -
KT-56944
K/Wasm: implement@JsFun
diagnostics -
KT-58329
K2: False-positive suspend conversion for anonymous functions -
KT-58028
K2: False-positive TYPE_PARAMETER_IS_NOT_AN_EXPRESSION
Docs & Examples
-
KT-60545
Documentation change on Interoperability with Swift/Objective-C: highlight that it is not normal to suppress errors -
KT-50927
Kotlin / Docs: Delete all the information about old Kotlin/Wasm -
KT-61398
Advertise hierarchy templates in 1.9.20-Beta what's new
IDE
New Features
-
KTIJ-23199
K2 IDE: Improve Import quick fix description -
KTIJ-26056
Support highlighting of KNM files
Performance Improvements
-
KTIJ-26688
UAST: optimize methodNameCanBeOneOf
Fixes
-
KTIJ-26782
Internal error while highlighting "AndroidHighlighterExtension does not define or inherit highlightDeclaration" -
KTIJ-27188
Bundled DevKit plugin + 1.9.20-Beta* constantly throws exceptions when opening another plugin codebase -
KTIJ-25220
Kotlin not configured dialog does not show if Kotlin stdlib is anywhere on classpath -
KTIJ-25563
Failed cinterop task becomes UP-TO-DATE and successfully passes on the second import -
KTIJ-26536
IDE in Java file resolves to property with the same name instead of method in the nested class from library -
KTIJ-25126
K2 IDE. No import quickfix for Java static members -
KT-60341
K2 IDE: "UnsupportedOperationException: Unknown type CapturedType(*)?" -
KTIJ-25960
K2 IDE: KDoc references to static java methods are not resolved -
KTIJ-7642
HMPP, IDE: False positive ''suspend' modifier is not allowed on a single abstract member' for common code if JVM target present -
KTIJ-25745
K2 IDE: "Type info" intention shows the return type of a functional type instead of the functional type itself -
KTIJ-26501
K2: IDE K2: False positive unused import when declaration used for vararg parameter type -
KTIJ-26661
K2 IDE. PIEAE “Element class CompositeElement of type FUN” after removing/putting back function with operator modifier -
KTIJ-26672
K2 IDE: false positive in optimize import for ambiguity calls -
KTIJ-26760
K2 IDE: OVERLOAD_RESOLUTION_AMBIGUITY false positive -
KTIJ-26867
K2 IDE: rename refactoring doesn't rename subclasses if they are used in import directives -
KTIJ-26848
K2 IDE: index inconsistency in case of "" name -
KTIJ-26666
K2 IDE: changed FirFile is treated as fully resolved after in-block modification -
KT-59836
Symbol Light Classes: Type parameters from the parent interface aren't copied to DefaultImpls methods -
KT-28611
MPP: Gradle -> IDE: settings provided viacompilations
DSL are not imported into common modules facets -
KTIJ-25448
When project JDK is less than one defines in jvmToolchain block, run with Idea fails withhas been compiled by a more recent version of the Java Runtime
-
KT-60603
K2: Investigate intellij tests failures in branch 2.0 -
KTIJ-25364
K2 IDE: References to Java records are red: OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCE -
KTIJ-24390
Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle build -
KT-60590
Fix light classes related tests in branch 2.0 -
KT-60530
K2 scripting: exception on .gradle.kts opening -
KT-60539
K2: "KtInaccessibleLifetimeOwnerAccessException: org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementLifetimeToken@3ce52fd9
is inaccessible: Using KtLifetimeOwner from previous analysis" at highlighting -
KTIJ-26276
K2 IDE: Optimize import drops used import alias -
KT-60518
K2 IDE. False positive [NON_MEMBER_FUNCTION_NO_BODY] when completing function withComplete current statement
-
KT-60323
K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" exception on contract return type -
KT-60352
K2 IDE. Support Java Records -
KT-56503
K2 IDE: FIR tree is incorrect in a case of ProcessCancelledException was thrown during phase execution -
KTIJ-25653
K2 IDE. "KotlinExceptionWithAttachments: Containing function should be not null for KtParameter" exception on incorrect derived class declaration -
KT-59843
SLC:KotlinAsJavaSupport.packageExists
(viaKotlinStaticPackageProvider
) said ROOT package doesn't exist if noKtFile
s are given -
KTIJ-26206
Support retrieving KtType from annotation constructor calls on getters and setters -
KT-59445
Recursion detected on input: JavaAnnotationImpl -
KTIJ-26066
K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" on attempt to set contract -
KTIJ-26085
K2 IDE: treat psi modification of a contact inside a body as OOBM -
KTIJ-25869
K2 IDE. Expected FirResolvedTypeRef for return type of FirValueParameterImpl(Source) but FirImplicitTypeRefImplWithoutSource was found -
KTIJ-24272
K2 IDE: "Expected some types" -
KTIJ-24730
K2 IDE. IllegalStateException on absence of opening bracket in main() function -
KT-59533
AA/SLC: anonymous object appears during PsiType conversion, resulting in IllegalArgumentException:KtFirPsiTypeProviderKt.asPsiTypeElement -
KT-59563
Symbol Light Classes: Incorrect type erasure in $annotations methods for extension properties with generic parameters -
KT-57567
SLC: missingfinal
modifier on enum (non-synthetic) members -
KT-59537
SLC: SymbolLightClassForAnonymousObject with null parent -
KTIJ-24121
K2 IDE. "failed to convert element KtLightField" when trying to declare property after function that has return with type mismatch -
KTIJ-25335
K2 IDE. "failed to convert element KtLightField:" on attempt to set property in class with constructor -
KT-59293
Symbol Light Classes: DefaultImpls methods must be static and have an additional $this parameter -
KTIJ-25976
K2 IDE: Fix "Unsupported compiled declaration of type" for type parameters -
KT-59325
Symbol Light Classes: Non-existing fields for properties from companion objects -
KT-57579
SLC: unboxed type argument as method return type -
KT-54804
Generate synthetic functions for annotations on properties in light classes -
KT-56200
Kotlin FIR reference resolve exception leaks user code -
KT-58448
K2 / IDE / SLC:findAttributeValue
for attribute w/ default value raises ClassCastException
IDE. Completion
Fixes
-
KTIJ-26518
K2 IDE: Code completion does not insert import when completing a type in the vararg position -
KTIJ-26713
K2 IDE: Code completion does not insert import when completing a type inside a functional type -
KTIJ-26597
K2 IDE: "Change return type" quick fix adds full qualified name to anonymous function -
KTIJ-26384
K2 IDE: Extension functions completion should recognize context receivers -
KTIJ-26419
K2 IDE: Completion in anonymous function inside when branch expression does not account for smart cast -
KTIJ-26629
K2 IDE: Completion of types in anonymous function return is not shortened -
KTIJ-26599
K2 IDE: Typingdo ... while
statement: InvalidFirElementTypeException: "For DO_WHILE with text... FirExpression expected, but FirDoWhileLoopImpl found" -
KTIJ-26113
K2 IDE: Completion in when branch does not account for smart casts ifelse
branch is present -
KT-60451
K2 IDE: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is class org.jetbrains.kotlin.fir.expressions.impl.FirBlockImpl -
KTIJ-21103
FIR IDE: implement completion In Kdoc -
KTIJ-24096
K2 IDE: Completion should insert the fully-qualified class name when the short class name clashes with a name from scope -
KTIJ-25116
K2 IDE: Name shortening in constructor's parameters affects constructor -
KTIJ-19863
Bad completion variants inside annotations
IDE. Decompiler, Indexing, Stubs
-
KTIJ-26706
Bytecode viewer: "IllegalStateException: Couldn't find declaration file" for a file with a delegated property with inline accessor in another module -
KTIJ-25465
IDE hangs when indexing Kotlin project -
KTIJ-25979
K2 IDE: 'java.lang.IllegalStateException: Attempt to load decompiled text, please use stubs instead' exception if navigate to the decompiled KGP sources -
KTIJ-25985
Stub mismatch for names with special characters
IDE. Gradle Integration
-
KTIJ-25334
Gradle 8.1: Unresolved references in IDE for build.gradle.kts -
KT-61777
Explicit API mode isn't reflected in IDE settings unless every task is configured with Gradle -
KTIJ-26306
apiLevel (API version) for Kotlin/Native modules is set to 1.8 with KGP 1.9 and IDE Plugin 1.9.0-XXX, if the compiler bundled to IDE Plugin is still 1.8 -
KT-61172
MPP: Stacktraces of diagnostics are always printed during IDEA sync -
KT-48554
[Multiplatform Import] Ensure consistency betweenGradleImportProperties
andPropertiesProvider
-
KT-36677
MPP Gradle plugin doesn't respect manually set compiler arg-opt-in
-
KT-58696
MPP + IDEA: tryK2 does not affect LV value of common facets -
KT-53875
Warn users about erroneously adding dependsOn fromtest
tomain
-
KTIJ-23890
Gradle to IDEA import: "You are currently using the Kotlin/JS Legacy toolchain" balloon is shown when I actually use IR
IDE. Gradle. Script
-
KTIJ-25523
Scripts: support for standalone configuration flag -
KTIJ-25910
Scripts: transition to GistStorage -
KTIJ-26778
Gradle 8.3: some parts of build.gradle.kts look unresolved -
KTIJ-26308
IAE “Unable to find script compilation configuration for the script KtFile: build.gradle.kts” on reopening project with build.gradle.kts -
KT-60171
K2 IDE: scripting freeze on kotlin project build.gradle.kts file -
KT-60236
K2 scripting: completion fails with exception -
KT-59801
K2 IDE: Adding of an import with a task name to a build script leads to unresolved references -
KT-60749
Scripting: default definition as a fallback -
KT-60199
K2 scripting: exception on script opening -
KT-60193
K2 scripts: configuration discovery fails silently from time to time
IDE. Hints. Parameter Info
-
KTIJ-26824
K2 IDE: "Parameter Info" shows incorrect overload as selected
IDE. Inspections and Intentions
New Features
-
KTIJ-26302
K2 IDE: Support adding a@OptIn
annotation and suggesting to propagate opt-in requirement in quickFixes -
KTIJ-25002
Provide a quick fix to migrate use-site 'get' annotations on getters
Fixes
-
KTIJ-24832
K2 IDE: 'Redundant qualifier name' false positive for nested classes from supertypes on the outside of a class -
KTIJ-26103
K2 IDE: False positive in redundant qualifier inspection -
KTIJ-26024
K2 IDE: False positive "Redundant qualifier" inspection on a nested class which extends its outer class -
KTIJ-26576
K2 IDE: "Redundant qualifier" false positive with referring parent's subclass in type constraint -
KTIJ-26785
K2 IDE: False positive "Redundant qualifier" inspection in extension function for Java interface with nested interface -
KTIJ-26695
K2 IDE. False negative "Redundant qualifier" directive for invoke function from object -
KTIJ-26627
K2 IDE: False positive "Redundant qualifier" inspection on extension property called on object when other 'this' is present in scope -
KTIJ-23407
K2 IDE. False positive unused import directive for invoke function from object -
KTIJ-26808
K2 IDE. "Redundant qualifier" inspection on the receiver of static method from Java may change semantic when receiver is not direct parent -
KTIJ-26840
K2 IDE. False positive "Redundant qualifier" inspection when accessing companion object member inside anonymous object and there is a name clash -
KTIJ-26498
KMP: Create expect-actual dialog selects incorrect path on Windows -
KTIJ-24877
K2 IDE. False negative unused import directive when declaration is available in file indirectly -
KTIJ-25368
K2 IDE. Specify type explicitly intention does not work with Java records
IDE. JS
-
KTIJ-25023
K/JS: Remove balloon warning about migration to IR backend
IDE. Libraries
-
KTIJ-13660
MPP library: No gutters forexpect
andactual
symbols
IDE. Misc
-
KT-60053
IdeaKotlinBinaryCoordinates doesn't respect capabilities and classifier attributes
IDE. Multiplatform
Fixes
-
KTIJ-26700
KMP: false positive report of non matching expect and actual annotations if annotation is actual typealias -
KTIJ-25997
KotlinMPPGradleTestTasksProvider: Support jvm targets with other names (such as android) -
KT-61686
Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/Alpha -
KTIJ-27058
Wizard's KMM application failed to build in 232 AS -
KT-59760
[BUG] Use bundled version of Kotlin IDE Plugin in KMM Tests instead of custom -
KT-61520
Sources.jar is not imported for common and intermediate source-sets from the MPP library -
KTIJ-25842
MPP: New create expect/actual dialog uses deprecated location for android instrumented actual counterpart -
KTIJ-25746
MPP: Unable to distinguish android unit and instrumented tests in new create expect/actual dialog if instrumented tests are depends on common -
KT-60410
Add minimum supported KGP version in intellij.git infrastructure -
KT-59794
Bump used KGP in multiplatform intellij.git tests after release 1.9.0 -
KT-59518
Cherry-pick old-import tests into 231-1.9.0/master -
KT-56736
Investigate how-to run multiplatform tests on real devices -
KT-59519
Bump AGP versions in intellij.git tests in master -
KTIJ-25591
MPP: Create expect/actual dialog doesn't allow selecting all targets -
KT-56684
Adopt KMM UI tests to be used with IDEA -
KT-50952
MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes
IDE. Navigation
-
KT-61894
Navigation from java sources leads to Kotlin decompiled code in case of suspend function -
KTIJ-27053
Value parameters documentation of expect isn't shown in actuals -
KTIJ-26292
Documentation for expect/actual comes from a random actual -
KTIJ-26441
K2 IDE: navigation doesn't work when type parameters are missed in annotation call -
KTIJ-26566
K2 IDE: don't show no-name parameters in presentations -
KTIJ-25366
K2 IDE. Go to declaration of Java record shows record and constructor
IDE. Refactorings. Rename
-
KTIJ-25762
K2 IDE. label rename doesn't change it's name in usages after rename refactoring
IDE. Script
-
KTIJ-25989
java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because the return value of "java.lang.ThreadLocal.get()" is null -
KT-60519
Analysis API: scripts are not invalidated on PCE -
KTIJ-26670
K2 Scripts: We should be able to find a symbol for -
KTIJ-25731
KtAssignResolutionPresenceService is not available as a service in 231-1.9.20 -
KT-60307
K2 IDE. KotlinExceptionWithAttachments in script file
IDE. Wizards
-
KTIJ-27005
Wizards 232: Fix generated kotlin version for 1.9.20-Beta -
KTIJ-26846
Adjust compatibility data for 1.9.20 release -
KTIJ-26479
1.9.20: Update versions in wizards -
KT-59347
Rename Compose Multiplatform wizard to Compose for Desktop
IR. Interpreter
-
KT-60467
"InternalError: Companion object * cannot be interpreted" caused by java's package name -
KT-60744
Restore binary compatibility of toIrConst function
IR. Tree
-
KT-59771
Restore compatibility of IdSignature.CommonSignature -
KT-59772
Restore compatibility of IrFactory#createFunction -
KT-59308
Auto-generate the IrFactory interface
JS. Tools
-
KT-44838
Kotlin/JS source-map-loader slow performance since 1.4.0
JavaScript
New Features
-
KT-58684
KJS: ES15 classes — creating instance by class
Performance Improvements
-
KT-58187
KJS / IR: Huge performance bottleneck while generating sourceMaps (getCannonicalFile)
Fixes
-
KT-60425
Kotlin/JS compiler incorrect behavior for object singleton with CompleteableDeferred -
KT-62790
java.lang.ClassCastException in compiler when ::class is used -
KT-60495
K2: Make JS CliTestGenerated working with K2 -
KT-6168
Ability to generate one JS file for each Kotlin source file -
KT-60667
K2 / KJS: jsTest fails with "SyntaxError: Unexpected token '}'" on runtime -
KT-61581
KJS: generate separate imports for useEsModules() -
KT-56737
K2: build Space JS -
KT-59001
K/JS: Use open-addressing hash map in JS stdlib -
KT-60131
KJS: Interference between@JsExport
and final implementation of properties -
KT-59712
K/JS: Implement enumEntries intrinsic -
KT-60202
JsExport.Ignored internal extension still has "JavaScript name () generated for this declaration clashes with another declaration" -
KT-51333
KJS: someKType
equalsNothing
'sKType
throws an exception, breaking its symmetry -
KT-58857
KJS/IR: js file is not generated when source is stored in /var folder -
KT-53482
KJS: Inheritance from JS class fails in ES6, because constructor is not called with new -
KT-58891
K/JS: non-local return in lambda may leave an unreachable JS code after return -
KT-49077
KJS / IR: Wrong method called when using overloaded methods and class with the same name -
KT-59718
K/JS: Concatenating a String with a Char can lead to boxing of the Char -
KT-59717
K/JS: a redundant boxing of a returned Char from an inline function -
KT-39506
Kotlin/JS browser application using JS IR and React fails in runtime with "TypeError: _this__0._set_name__2 is not a function" -
KT-59151
K2 / KJS: NullPointerException in Fir2IrClassifierStorage.preCacheBuiltinClasses -
KT-59335
K/JS ES6 classes: A child constructor, when using parent secondary constructor super call, creates a parent object -
KT-58797
Optimize the code generated for objects on JS and Wasm backends -
KT-52339
FIx failing JS tests after bootstrap update -
KT-46643
KJS / IR: Setter of overridden var of external val is removed -
KT-55315
IR: can't access thestack
property ofThrowable
-
KT-59204
Automatically generate NATIVE directive in tests for IR signatures -
KT-59239
K/JS: Bridge not generated for checking parameter type in generic class override -
KT-57347
KJS: BE IR Incremental cache invalidation doesn't work after inserting Partial Linkage stub -
KT-58599
KJS: Adding an override method to open class does not rebuild children JS code -
KT-58003
K2/MPP/JS: compiler IR serialization crash on multiple calls to inherited expect-function -
KT-38017
KJS: tests generate invalid code depending on file names -
KT-25796
KJS: Top-level constructs are put in an incorrect order -
KT-58396
KJS / IR: "IllegalStateException: Validation failed in file" with Enum.entries and inheritance
KMM Plugin
-
KTIJ-27158
Import is failing after creation of new module if project don't use versionCatalog -
KT-59492
KMM AS plugin for Canary 231 reports error
Klibs
-
KT-58877
[klib tool] add ability to dump klib ir -
KT-54402
Programmatic API to dump public signatures from KLibs -
KT-60576
Keep supported IR signature versions in manifest -
KT-59136
[PL] Lower the default PL engine messages log level down to INFO -
KT-59486
klib: Serialize mangled names along with signatures
Language Design
-
KT-22841
Prohibit different member scopes for non-final expect and its actual -
KT-49175
Inconsistency with extension super-type allowance between suspend / non-suspend function types -
KT-61573
Emit the compilation warning on expect/actual classes. The warning must mention that expect/actual classes are in Beta -
KT-57614
KMP: consider prohibitingactual typealias
when the correspondingexpect class
has default arguments -
KT-27750
Reverse reservation of 'yield' as keyword
Libraries
New Features
-
KT-59440
Rework Flags API in kotlinx-metadata-jvm
Fixes
-
KT-62381
K/Wasm: (re)publish libraries with 1.9.20-Beta2 (or newer if available) -
KT-62656
Drop@AllowDifferentMembersInActual
from stdlib -
KT-58887
Reflection: "IllegalArgumentException: argument type mismatch" when using reflection to invoke a value class returning function that suspends -
KT-61507
Native: enum hashcode is not final -
KT-56106
Migrate stdlib to current Kotlin Multiplatform Plugin -
KT-58402
Migrate Vector128 from kotlin.native to kotlinx.cinterop -
KT-60911
Compatibility publishing of kotlin-stdlib-common -
KT-53154
Deprecate enumValues and replace it with enumEntries in standard library -
KT-58123
Update deprecations in native atomic classes for 1.9.20 -
KT-60444
transformJvmMainAtomicfu fails with java.lang.NoSuchMethodError: 'kotlin.Metadata kotlinx.metadata.jvm.KotlinClassMetadata.getAnnotationData()' -
KT-61342
kotlin-test-wasm-* artifacts include test code -
KT-61315
Publish common sources in kotlin-test-js sources jar -
KT-56608
WASI Preview1 version of Kotlin/Wasm stdlib -
KT-55765
Review and stabilize stdlib surface available in K/N -
KT-55297
kotlin-stdlib should declare constraints on kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 -
KT-57838
Native: raise ExperimentalNativeApi opt-in requirement level to ERROR -
KT-61028
Behavioural changes to the Native stdlib API -
KT-61024
Native: Mark the kotlin.native.CName annotation with ExperimentalNativeApi -
KT-61025
Native: Deprecate HashSet.getElement() with WARNING -
KT-53791
Publish standard library as a multiplatform artifact with Gradle metadata -
KT-57363
Remove reified constraint from Array constructors in platforms where Array type parameter is not required to be reified -
KT-57401
Native: Regex matching zero length should split surrogate pairs -
KT-57359
Provide Common StringBuilder.append/insert with primitive type arguments -
KT-58264
K2: republish kotlinx.metadata to support LV 2.0 -
KT-57710
Native: Internalize@Retain
and@RetainForTarget
annotations -
KT-57720
Native: Consider strictening NativeRuntimeApi opt-in requirement level to ERROR -
KT-57837
Deprecate kotlin.native.SharedImmutable and kotlin.native.concurrent.SharedImmutable -
KT-58126
Wasm: Consider removing Primitive.equals(Primitive) overload on primitive types -
KT-53327
Migrate all usages of 'Enum.values' to 'Enum.entries' in standard library -
KT-59366
Deprecate KmModule.annotations -
KT-59365
Get rid of two-stage parsing in KotlinClassMetadata -
KT-35116
Enum.valueOf throws inconsistent exception across multiple platforms -
KT-59223
Native Enum.hashCode should return identity hash code, similar to JVM -
KT-56637
Native: 'String.indexOf' matches byte sequences not on the char boundary, which also makes the result of 'split' and 'replace' operation incorrect -
KT-59192
Align behavior of collection constructors across platforms
Native
New Features
-
KT-50463
Native: Provide a way to control the KONAN_DATA_DIR by the Gradle mechanisms -
KT-59448
K2: IR and FIR signatures are not same for composable functions
Fixes
-
KT-60230
Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3 -
KT-62532
Support Xcode 15.0 frameworks as Kotlin/Native platform libraries -
KT-61382
Linking XCFramework fails with error: Invalid record (Producer: 'LLVM11.1.0' Reader: 'LLVM APPLE_1_1300.0.29.30_0') -
KT-61417
Native: string and array variables are not properly displayed in lldb when compiling with caches with Xcode 15 -
KT-60758
Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4 -
KT-59149
Native: check compiler compatibility with Xcode 15 beta 1 -
KT-58537
iOS project fails to build with rootProject.name = "Contains Space" -
KT-59073
Native: don't include kotlinx.cli endorsed library into compiler distribution -
KT-58707
[K/N] Compiler crash building generics with redundant cast -
KT-58654
Compiler error from kotlin.collections.Map : "Invalid phi record", while compiling for kotlin native
Native. C Export
-
KT-56182
[K2/N] C export doesn't work for non-root packages with K2
Native. C and ObjC Import
-
KT-59642
Remove ability to import forward declaration by library package name -
KT-59643
K2: Disable merging of forward declaration with real declaration class -
KT-52882
MPP / Native: expect/actual mechanism broken when base contract is NSObjectProtocol -
KT-55578
Custom user message for linker error -
KT-58585
[K2/N] Fix interop issues -
KT-56041
[K2/N] Fix broken __builtin_nanf(String) -
KT-57716
[K2/N] Validation failed in file smoke.kt : unexpected type: expected platform.objc.Protocol?, got objcnames.classes.Protocol? -
KT-56028
[K2/N]cnames.structs.Foo
does not resolve -
KT-59645
Cast to objective C forward declaration crashes compiler -
KT-58793
[K2/N] Package separators after mangling are different for IR and FIR
Native. ObjC Export
-
KT-56090
[K2/N] Emit DocString klib extensions for ObjCExport
Native. Runtime. Memory
-
KT-61914
Kotlin/Native: massive increase in memory usage -
KT-61092
Kotlin/Native: Adjust initial values for expected heap size -
KT-61091
Kotlin/Native: GC scheduler pauses mutators too aggressively -
KT-61741
Kotlin/Native: tsan error in parallel mark -
KT-57773
Kotlin/Native: track memory in big chunks in the GC scheduler -
KT-61089
Kotlin/Native: fix concurrent weak processing for new allocations -
KT-55364
Implement custom allocator for Kotlin/Native -
KT-57772
Kotlin/Native: concurrently process weak references in GC -
KT-57771
Kotlin/Native: parallel mark in GC
Native. Stdlib
-
KT-60608
Introduce AtomicArrays API in K/N stdlib -
KT-59120
Native: Rewrite stdlib AtomicReference with Volatile instead of custom C++ code
Reflection
-
KT-47973
Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitive -
KT-41373
"KotlinReflectionInternalError: Unresolved class" when inspecting anonymous Java class -
KT-61304
Reflection: Calling data classcopy
method via reflection (callBy) fails when the data class has exactly 64 fields -
KT-52071
Continue gracefully when the system property check "kotlin.ignore.old.metadata" fails
Tools. CLI
-
KT-60662
Add JVM target bytecode version 21 -
KT-58183
ParseCommandLineArgumentsKt.parseCommandLineArguments takes ~500ms -
KT-58690
OutOfMemory when compiling in CLI -
KT-58065
K2: Enable light tree instead of PSI for CLI compilation of JS and Native by default
Tools. CLI. Native
-
KT-59245
[K1/N] Compile sources to native binary in two stages -
KT-56855
[K2/N] Command-line compiler doesn't support compiling sources directly to a native binary (without intermediate klib) with-language-version 2.0
-
KT-58979
[K2/N] FIR frontend cannot resolve symbols from resolved klib having non-normalized path
Tools. Commonizer
-
KT-59302
Commonizer: make sure that opt-in annotation generated by cinterop made it into commonized artifact -
KT-62028
False positive "Unnecessary '@OptIn
' Annotation" for ExperimentalForeignApi -
KT-55757
kotlinx.cinterop.UnsafeNumber
: empty opt-in message -
KT-59859
Change the OptIn Level to Error for kotlinx.cinterop.UnsafeNumber -
KT-59132
K2/Native/CInterop: [UPPER_BOUND_VIOLATED] Type argument is not within its bounds: should be subtype of 'kotlinx/cinterop/CPointed' -
KT-58822
Kotlin Gradle Plugin: migrate tests off native deprecated targets -
KT-47641
Enabled cInterop commonization triggers native compilation during Gradle sync in IDE
Tools. Compiler Plugin API
-
KT-58638
K2: Annotations generated by IR plugins are not included into metadata -
KT-61872
K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declaration -
KT-61833
K2: annotations added viaaddMetadataVisibleAnnotationsToElement
to declarations from common sourceset in MPP project are invisible -
KT-60051
K2: Support metadata serialization of primitive const annotation arguments generated by IR plugins
Tools. Compiler Plugins
-
KT-61550
[atomicfu-compiler-plugin]: check that atomic properties are declared as private or internal val -
KT-58079
K2/atomicfu: JVM IR transformer crash on atomic extension functions -
KT-61293
Usage of atomicfu compiler plugin leads to UnsupportedClassVersionError if Gradle runs on JVM <11 -
KT-55876
K2. "[Internal Error] java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBase" when project with languageVersion 2.0 is Built and Run using Intelij IDEA -
KT-58049
K2: Smartcast of nullable property fails when Spring compiler plugin is present -
KT-57468
Kotlin assignment plugin: operation name cannot be found for reference
Tools. Compiler plugins. Serialization
-
KT-58501
K2/MPP/serialization: several classifier kinds seem to miss generated serializer functions when compiled to K/JS and K/Native targets -
KT-59768
kotlinx.serialization + K2 + JS/Native: Support meta-annotations on sealed interfaces with user-defined companions
Tools. Gradle
New Features
-
KT-59000
Default standard library dependency should use the single artifact for all targets -
KT-57398
Add ability to run compilation via build-tools-api -
KT-34901
Gradle testFixtures don't have friendPaths set -
KT-44833
Gradle DSL: AddlanguageSettings
accessor tokotlin
extension that applies to all source sets -
KT-58315
Add build metrics for Kotlin/Native task
Performance Improvements
-
KT-62318
Android Studio sync memory leak in 1.9.20-Beta -
KT-62496
Configuration time regression with KGP 1.9.20-Beta caused by loading of properties -
KT-61426
Enabling compilation via the build tools API may cause high metaspace usage
Fixes
-
KT-61359
"Unresolved reference: platform" when enabling Gradle configuration cache -
KT-59826
Update SimpleKotlinGradleIT#testProjectIsolation to run on Gradle 8 -
KT-57565
Add ability to capture classpath snapshots via the build-tools-api -
KT-51964
Optimizekotlin.incremental.useClasspathSnapshot
feature to improve incremental Kotlin compilation -
KT-61368
Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilations -
KT-61355
freeCompilerArgs arguments and its values are passed to the compiler 5 times if added through target-level compilerOptions{} extension inside compilations -
KT-61273
KGP: TaskOutputsBackup.createSnapshot was failed by IOException sometimes -
KT-58987
Use some available JVM target if there's no JvmTarget for the inferred toolchain version -
KT-58234
Kotlin Gradle Plugin: Deprecate and remove KotlinCompilation.source API -
KT-61401
The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurate -
KT-54231
Compatibility with Gradle 8.0 release -
KT-61950
K/Wasm: Add warning about changed sourceSets -
KT-61895
KotlinTopLevelExtension.useCompilerVersion is not marked as experimental -
KT-61303
The module-name value stays unchanged when configuring it through compiler options extension specific to the android target -
KT-61194
MPP compiler options: part of JsCompilerOptions set up using js { compilerOptions {} } extension is lost -
KT-61253
CompileExecutableKotlinJs task is skipped while configuring LV either using sourceSets.all {} or both js compiler options extension and base multiplatform compiler options extension -
KT-59588
Upgrade max gradle version to max supported in kapt connected tests -
KT-61292
Gradle: compilation tasks may capture wrong build directory when build directory is changed after task configuration -
KT-61193
Flag kotlin.experimental.tryK2 doesn't set LV 2.0 for tasks of kotlin-js gradle plugin -
KT-60541
Possibility to create a custom usableKotlinCompile
task without using internals -
KT-59451
[K2][1.9.0-Beta] "Errors were stored into ..." log files never actually exist -
KT-48898
Can't suppress warnings by Optin() in KMM build.gradle.kts or IDEA settings -
KT-60660
konan.data.dir property not provided for K/N Gradle project build (on Linux or Mac) with a dependency from a Maven -
KT-56959
K2: Set up Ktor repo performance benchmarks with K2 enabled -
KT-56178
Compatibility with Gradle 8.1 release -
KT-61457
Kotlin Gradle Plugin should not use internal deprecated StartParameterInternal.isConfigurationCache -
KT-60718
Kotlin Gradle Plugin's incremental compilation violates Project Isolation by accessing the tasks in the task graph that were produced by other projects -
KT-60717
Kotlin Gradle Plugin violates Project Isolation restrictions by dynamically looking up properties in the project -
KT-54232
Don't check if file exists in task file inputs configuration -
KT-61066
[KMP] iOS "Unkown Kotlin JVM target 20" -
KT-54160
New KGP API using lazy properties to add compiler plugin options may remove options with the same pluginId -
KT-60839
KGP provides incorrect default value "ENABLED" for -Xpartial-linkage -
KT-15370
Gradle DSL: add module-level kotlin options -
KT-57645
build_scan failed in testBuildScanReportSmokeTestForConfigurationCache test with Gradle 8.0.2 -
KT-59827
Update configuration to validate plugin inputs -
KT-59799
Validate Gralde Integrations tests has only one tag -
KT-59117
Add gradle integration tests for explicit api mode in Android projects -
KT-59587
Upgrade max gradle version to max supported in jvmToolchain connected tests -
KT-56636
Bump max Gradle version for integration tests to 8.0 -
KT-58353
Support reporting of diagnostics after projects are evaluated -
KT-53822
Upgrade thegradle-download-task
dependency of the Kotlin Gradle plugin -
KT-58162
Kotlin Gradle Plugin: Remove kotlinx.coroutines from classpath of KGP -
KT-58104
Check values for MPP_PLATFORMS -
KT-58569
Bump language version for Gradle plugins dependencies to 1.5
Tools. Gradle. Cocoapods
-
KT-59263
Add diagnostic that a dummy framework is not present when build is triggered from Xcode -
KT-57741
KMP importing an iOS project with Xcode 14.3 fails when importing a pod that depends onlibarclite_iphoneos
-
KT-60050
Log reason why podInstall task is skipped -
KT-49430
Stop invalidating iOS framework generated by KMM module on each Gradle Sync -
KT-59522
Set the required environment for cocoapods invocations -
KT-59313
Elevate to error deprecation of useLibraries -
KT-58775
If the pod has a declared dependency on itself, then it will cause StackOverFlow exception while importing of a project
Tools. Gradle. JS
New Features
-
KT-49789
KJS / Gradle: Add npm style repository option for YarnRootExtension - and/or don't register github repository when download=false
Fixes
-
KT-60469
KJS: "Could not serialize value of type Build_gradle" caused by changed name in packageJson task -
KT-61623
K/Wasm: Error with project dependency between modules with both wasmJs and wasmWasi targets -
KT-61326
K/JS: rootPackageJson fails with NLP when testPackageJson skipped and main packageJson up-to-date -
KT-60218
K/JS reports reports deprecation for non-Action dsl params in regular kotlin dsl -
KT-56933
Add Kotlin/JS incremental tests with K2 enabled -
KT-58970
browserTest gradle task fails if karma is used and gradle configuration cache is enabled -
KT-42520
Add a way to setup generating separate js files for each module inside gradle -
KT-32086
Gradle, JS: runTask.enabled = false has no effect on npm dependencies -
KT-48358
KJS: Circular dependency when multiple second-level Gradle modules have the same name -
KT-50530
Kotlin/JS: enablingkotlin.js.ir.output.granularity=whole-program
does not remove superfluous .js output files -
KT-50442
KJS / Gradle: webpack plugin errors not logged -
KT-46003
KJS / IR: Should provide single distributions folder for production and development similarly to Legacy -
KT-47319
KJS: Error when project contains two modules with same name -
KT-46010
KJS / Gradle: Can't find a file on building on Windows -
KT-48923
KJS / Gradle: NoWebpack
error messages when Node.js process exits unexpected -
KT-51942
KJS / Gradle: fails with two projects with the same name, but different paths -
KT-51372
Kotlin/JS: Gradle compileKotlinJs processes directory just excluded from source set -
KT-52134
KJS: the default generated JS module name in a Gradle project with multiple subprojects is incomplete, which might cause duplicate names and build conflicts -
KT-52776
KJS / Gradle: Webpack version update despite yarn.lock breaks Kotlin/JS build -
KT-39173
Kotlin/JS: kotlinNpmInstall fails with Gradle plugin 1.4-M2 and transitive dependency to 1.4-M1 -
KT-55216
KJS / IR: Transitive NPM dependencies between projects are not included in jsPublicPackageJsonTask -
KT-54182
MPP / JS:StackOverflowError
when in a Gradle multi-project and Kotlin Multiplatform build with the JS IR target which depends on another with the same subproject name via a renamed published Maven artifact -
KT-58250
TheNodeJsExec
tasks are not compatible with Gradle configuration cache -
KT-58256
TheD8Exec
tasks are not compatible with Gradle configuration cache
Tools. Gradle. Multiplatform
New Features
-
KT-60441
KGP based dependency resolution: Support 'idea.gradle.download.sources' flag
Fixes
-
KT-59316
Deprecate multiple ‘same’ targets -
KT-59042
"Cannot build 'KotlinProjectStructureMetadata' during project configuration phase" when configuration cache enabled -
KT-58029
Emit warning when using experimental artifacts DSL -
KT-60763
Evaluate user feedback after switch tojava-base
plugin for KotlinJvmTarget.withJava -
KT-62029
Kotlin 1.9.20-Beta fails to detect some transitive dependency references in JVM+Android source set -
KT-61652
MPP ConcurrentModificationException on transformCommonMainDependenciesMetadata -
KT-61622
Upgrading to Kotlin 1.9 prevents commonMain sourceset classes from being processed by kapt/ksp (dagger/Hilt) -
KT-59321
Deprecate targets.presets -
KT-58759
Deprecateplatform
,enforcedPlatform
and other related to Gradle DependencyHandler methods inKotlinDependencyHandler
-
KT-60579
Multiplatform;Composite Builds: prepareKotlinIdeaImport called by wrong path for nested build, causing sync fail -
KT-61540
K2: KMP/K2: Metadata compilations: Discriminate expect over actual by sorting compile path using refines edges -
KTIJ-26340
Bump Kotlin Gradle Plugin version to '1.9.20-dev-6845' -
KT-59020
1.9.0 Beta Kotlin plugin Gradle sync fails with intermediate JVM + Android source set -
KT-60198
Stop publishing the org.jetbrains.kotlin.multiplatform.pm20 -
KT-60596
ReturntargetHierarchy
with deprecation to kotlin dsl for smooth migration -
KT-59595
KotlinJvmTarget.withJava: Switch implementation fromjava
tojava-base
plugin -
KT-58800
Add some cocoapods will cause Xcode preview into build loop since Xcode 14.3 -
KT-58489
MPP: Add an error if SourceLayoutV1 is used -
KT-59774
MPP: Print stacktraces of diagnostics only when--stacktrace
(or higher) is used -
KT-60158
KotlinJvmTarget.withJava: Ensure java source sets are created eagerly -
KT-58316
Gradle 8: ':podDebugFrameworkIosFat' and [configuration ':debugFrameworkIosFat'] contain identical attribute sets -
KT-59615
renderReportedDiagnostics: Rename 'isVerbose' to 'renderForTests' -
KT-60943
K2/KMP: compileCommonMainKotlinMetadata fails with resolution ambiguity between candidates from stdlib -
KT-60491
KMP: Add documentation link to the warning messagew: The Default Kotlin Hierarchy was not applied to
-
KT-57521
MPP: Compiler options declared in places other than languageSettings don't reach shared source sets -
KT-58676
Enable default Kotlin Target Hierarchy by default -
KT-61056
Native-shared source sets don't receive dependency on a commonMain of 1.9.20 stdlib -
KT-58712
Enable commonization by default if the CocoaPods plugin provided the dependencies that should be commonized -
KT-59317
Deprecate ios() preset in favor of target hierarchy -
KT-47144
[Multiplatform] Warn about setting *Test.dependsOn(*Main) -
KT-59733
Make KotlinDefaultHierarchyFallbackIllegalTargetNames to check target names disregarding the case -
KT-55787
Deprecate dependsOn edges ending at declared source sets of platform compilations -
KT-58872
MPP: kotlin-test library reported as published in the legacy mode -
KT-59863
pluginManagement.includeBuild doesn't work when kotlin("multiplatform") applied to one of subprojects of included build -
KT-58729
Investigate failures in KMM UI tests -
KT-59661
Bump kotlin.git AGP version in tests to 8 -
KT-58753
Add Hedgehog AS in KMM UI tests -
KT-58731
Fix failues in Mac tests in kt-master, kt-231-1.9.0 and kt-223-1.9.0 -
KT-59248
Fix failures in Mac tests and Android Tests in kt-223-master and kt-231-master -
KT-58732
Run kt-master Mac tests on cloud Mac -
KT-57686
Fix KMM UI tests again -
KT-60134
MPP: Include user attributes to host-specific metadata dependency configurations -
KT-60233
Investigate publication of TargetJvmEnivornment on Kotlin configuration -
KT-59311
Elevate to ErrorcommonMain.dependsOn(anything)
-
KT-59320
Elevate to Error usage of jvmWithJava -
KT-45877
MPP / Gradle: "GradleException: Please initialize at least one Kotlin target" isn't user-friendly -
KT-59844
KGP-based import: Reduce 'red wall of errors' on dependency resolution failures -
KT-60462
jvm().withJava(): Zombie instance returned for compilations created after withJava call -
KT-58471
Kotlin Multiplatform plugin resolves configurations during configuration -
KT-59578
External Android Target: Implement integration tests -
KT-58737
Develop tests for old import in new intellij.git test infra -
KT-59268
Run multiplatform tests in intellij.git with XCode 15.0 manually -
KT-58220
Kotlin Gradle Plugin: Kotlin 1.9 release grooming -
KT-58305
Investigate KotlinAndroidMppIT.testCustomAttributesInAndroidTargets: being broken for AGP 7.0.4 -
KT-58255
Kotlin Gradle Plugin Lifecycle: Remove LifecycleAwareProperty -
KT-55312
Replace "ALL_COMPILE_DEPENDENCIES_METADATA" configuration with set of metadata dependencies configurations associated per set -
KT-54825
TCS: Gradle Sync: Dependency resolution in KGP
Tools. Gradle. Native
-
KT-54362
Support Gradle Configuration caching in Xcode integration tasks and in CocoaPods plugin -
KT-61700
Native: linkDebugExecutableNative has duplicated freeCompilerArgs -
KT-58519
Migrate Xcode/CocoaPods warnings to the new diagnostics infra -
KT-61154
NativeCompilerDownloader adds .konan/kotlin-native-prebuilt-linux-x86_64-1.9.0/konan/lib/kotlin-native-compiler-embeddable.jar as configuration cache input -
KT-59252
Support configuration cache in Xcode/CocoaPods tasks with Gradle 8.1
Tools. Incremental Compile
-
KT-61852
Kotlin 1.9.20-Beta: incremental compilation fails with files outside of the project folder -
KT-19745
After konverting java to kotlin, kapt3 throws duplicate class exception -
KT-58547
"has several compatible actual declarations in , "
Tools. JPS
-
KT-58026
Add basic JPS build performance metrics -
KT-57039
K2 IDE. Cannot compile gradle project with LV=2.0 via JPS with NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBase -
KT-58314
kotlin-build-statistics is missing for kotlin-jps-plugin
Tools. Kapt
Fixes
-
KT-62438
Change experimental K2 kapt diagnostic message -
KT-61879
K2 Kapt: java.lang.NoSuchMethodError during stub generation -
KT-58326
KAPT / Gradle: argument changes are ignored -
KT-61114
K2 Kapt: add a Gradle propertykapt.use.k2
to enable K2 Kapt -
KT-57594
K2: Investigate the Kapt features used in the quality gates projects -
KT-59754
K2: KAPT4 generates non-compilable code for nested data classes, annotated by Moshi's@JsonClass
-
KT-60270
K2: KAPT4 tries to generate metadata for local variables -
KT-60293
K2: KAPT4 fails to generate metadata for const vals -
KT-59704
KAPT4 does not support Dagger's@Inject
lateinit properties -
KT-59745
K2: KAPT4: ISE when passing moshi's@JsonClass
to Class -
KT-59756
K2: KAPT4 with Moshi generates@Transient
fields -
KT-59757
K2: KAPT4: Generic interfaces with default methods lead to static usage of type parameters -
KT-59703
KAPT4 generates old metadata version
Tools. Maven
-
KT-26156
Maven Kotlin Plugin should not WARN when no sources found
Tools. Parcelize
-
KT-57795
Add for-ide support for Parcelize K2 jars
Tools. Scripts
-
KT-57877
K2 / Script: "IllegalArgumentException: source must not be null" during compilation -
KT-58817
K2: support for .kts highlighting and completion
Tools. Wasm
-
KT-62128
Wasm tests (still) do not work on Kotlin 1.9.20-Beta2 -
KT-61973
K/Wasm: wasmWasiNodeRun is missed -
KT-61971
K/Wasm: wasmWasiTest should depends on kotlinNodeJsSetup -
KT-60654
Wasm: split wasm target into wasm-js and wasm-wasi -
KT-57058
Do not require a return value for DOM event listeners with Kotlin/Wasm -
KT-59062
WASM: Report errors when calling WebAssembly.instantiateStreaming in tests -
KTIJ-25207
Collect stats about Kotlin/Wasm usage
v1.9.10
: Kotlin 1.9.10
Changelog
Compiler
-
KT-60769
Partially revert KT-58371 -
KT-60659
Incorrect 'unresolved reference: addFirst' error with JDK 21 -
KT-60371
Native custom allocator link error -
KT-60986
Native: static caches with custom runtime options are broken on Linux -
KT-60770
Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21 -
KT-60231
NoClassDefFoundError: $$NON_LOCAL_RETURN
$$ after upgrade to Kotlin 1.9.0
JavaScript
-
KT-60785
KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error -
KT-60852
Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0 -
KT-57509
KJS: Compiler generates native JS operator == for comparing values with Any type
Native
-
KT-60230
Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3 -
KT-60758
Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4
Native. C and ObjC Import
-
KT-59167
Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1
Tools. Gradle
-
KT-61147
Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of Gson -
KT-60543
NoClassDefFoundError for com/gradle/scan/plugin/BuildScanExtension
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.9.10.zip | 7d74863deecf8e0f28ea54c3735feab003d0eac67e8d3a791254b16889c20342 |
kotlin-native-linux-x86_64-1.9.10.tar.gz | 1db3679919f4449514e9d82451e7dfa73558ac9bc80b82579cd74d452c8faa5b |
kotlin-native-macos-x86_64-1.9.10.tar.gz | f5650f2560438a692803d8fe07124529c19f1972f84fe09cfa2329b93f43828d |
kotlin-native-macos-aarch64-1.9.10.tar.gz | d2cf5a484ac0808ab29fd3f6099df7c07330f81f3cbab949947e42e36138c3de |
kotlin-native-windows-x86_64-1.9.10.zip | a34d56661455e94e1ba4dd09ec3c1adac6148fdedcf55eefb9a79c8ed01ff02c |
v1.9.0
Analysis API
New Features
-
KT-57930
Analysis API: provide an API for extending Kotlin resolution -
KT-57636
K2: Add the return type of K2 reference shortener AAShortenCommand::invokeShortening()
e.g.,ShorteningResultInfo
to allow callers to access the shortening result PSI
Fixes
-
KT-58249
Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful -
KT-55626
Impossible to restore symbol by psi from script file -
KT-57314
LL FIR: CombineLLFirProvider$SymbolProvider
s in session dependencies (optimization) -
KT-55527
K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately -
KT-55329
LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declaration -
KT-50732
LL API: fix compiler based tests -
KT-57850
K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbol -
KT-56543
LL FIR: rework lazy transformers so transformers modify only declarations they suppose to -
KT-56721
K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive update -
KT-50253
Analysis API: Solve issues with ProcessCancelledException -
KT-56800
K2 IDE: optimize deprecation calculation for symbols -
KT-55006
Analysis API does not transform Java type refs for callable symbol return types -
KT-57256
AA FIR: Reduce lazy resolve phase for deprecation status -
KT-57619
K2: CFG for class initializer is not correctly built in reversed resolve mode -
KT-58141
K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside type -
KT-57462
Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing field -
KT-54864
Analysis API: add function to get expect KtSymbol list by actual KtSymbol -
KT-56763
Analysis API:.KtSourceModuleImpl is missing in the map.
on symbol restore when symbol cannot be seen from the use-site module -
KT-56617
Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbol -
KT-54430
K2: .getAllOverriddenSymbols() returns invalid results
Backend. Native. Debug
-
KT-55440
Kotlin/Native debugger: inline function parameters are not visible during debugging
Backend. Wasm
-
KT-58293
Wasm: ReferenceError: e is not defined in kotlin.test.jsThrow -
KT-58931
Wasm tests are failing to start on Kotlin 1.9.0-Beta -
KT-58188
Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameter -
KT-57136
K/Wasm: Restrict non-external types in JS interop -
KT-57060
Clarify the lack of support for dynamic in Kotlin/Wasm -
KT-56955
K/Wasm: Support restricted version of K/JSjs(code)
-
KT-57276
Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm support -
KT-56976
K/Wasm bug with calling override of external function with default parameters
Compiler
New Features
-
KT-55333
Allow secondary constructors in value classes with bodies -
KT-54944
@Volatile
support in native -
KT-54746
Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modes -
KT-47902
Do not propagate method deprecation through overrides -
KT-29378
K2: rework warnings/errors for equality/identity operators on incompatible types -
KT-57477
False-positive overload resolution ambiguity in case of lambda without arguments -
KT-57010
Kotlin/Native: make it possible to compile bitcode in a separate compiler invocation -
KT-55691
K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds) -
KT-46288
Unexpected behavior of extension function on lambda with suspend receiver -
KT-24779
Inconsistent smart cast behavior for bound data flow values
Performance Improvements
-
KT-23397
Optimize out field for property delegate when it's safe (JVM) -
KT-56906
FIR: Use cached instance of FirImplicitTypeRefImpl in FIR builders -
KT-56276
LanguageVersion.getVersionString() allocates 5k objects on project opening
Fixes
-
KT-57784
"NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and map -
KT-55217
K2: support callable reference conversions on top-level expressions -
KT-57232
K2: build Space JVM (master) -
KT-59079
"AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameter -
KT-58837
Partial linkage fails to report any compiler message on Windows when launched through Gradle plugin -
KT-57602
K2: Rework member scope of types having projection arguments for covariant parameters -
KT-55171
Put new contracts syntax under a feature flag -
KT-58719
K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class -
KT-56030
[K2/N] Support Objective-C overloading by param names only -
KT-57510
K2: Data class equals/hashCode/toString methods are not written to Klib metadata -
KT-56331
K2: compiler backend crash on usage of expected function with default arguments -
KT-53846
K2 / Context receivers: ClassCastException on secondary constructor of class with context receiver -
KT-58621
K2: Private class shadows public function defined in the same package -
KT-59102
K2: constant evaluator does not provide Long type on shl -
KT-59066
[K2] delegation leads to "IllegalStateException: Expected some types" -
KT-56074
K2: build Space JVM (snapshot 2022.3) -
KT-58787
KAPT: "NullPointerException: null cannot be cast to non-null type" with delegate -
KT-57022
K2 IllegalStateException in signature computation -
KT-56792
K2: build kotlinpoet -
KT-57373
K2: FIR properties synthesized when implementing interface by delegation don't have accessors -
KT-56583
K1: Implement opt-in for integer cinterop conversions -
KT-59030
[PL] Workaround for broken@Deprecated
annotations in c-interop KLIBs -
KT-58618
K2: Local property delegates cannot infer generic return type -
KT-36770
Prohibit unsafe calls with expected@NotNull
T and given Kotlin generic parameter with nullable bound -
KT-56739
K2: build Space iOS -
KT-57131
K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputer -
KT-58137
K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module -
KT-58897
K2: False positive unresolved reference with same-named enum class and its entry -
KT-40903
Forbid actual member in expect class -
KT-30905
Expect var property with default public setter matches with actual var property with private setter -
KT-56172
K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE error -
KT-56171
Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE error -
KT-27261
Contracts for infix functions don't work (for receivers and parameters) -
KT-56927
Enum with secondary constructor can't be compiled with K2 using JS/Native backend -
KT-53568
Partial linkage: absent class as type parameter bound causes failure ofcompileProductionExecutableKotlinJs
-
KT-53608
Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now private -
KT-53663
Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend instead -
KT-56013
K2. a set of errors about local properties are missing -
KT-53939
Partial linkage: with turning object into class linkNative and jsTest tasks fail -
KT-53938
Partial linkage: with turning interface into class and using as second parent Native build fails -
KT-53941
Partial linkage: with turning class into object accessing member via parameterless constructor does not fail -
KT-53970
Partial linkage: on turning nested class into inner JS tasks are successful, Native build fails -
KT-53971
Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript fails -
KT-53972
Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backend -
KT-54045
Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized" -
KT-54046
Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered" -
KT-53887
Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateException -
KT-54047
Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file" -
KT-54048
Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner() -
KT-53995
Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successful -
KT-43527
@ExtensionFunctionType
is allowed on function types with no parameters and leads to backend exception -
KT-55316
K2. IllegalStateException on incorrect import directive name -
KT-57570
Remove source code excerpts from platform type nullability assertion exceptions -
KT-56073
K2: build Exposed -
KT-47932
Report errors on cycles in annotation parameter types -
KT-38871
Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated property -
KT-46344
No error for a super class constructor call on a function interface in supertypes list -
KT-56609
K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and@Nullable
annotation Java parameter -
KT-56656
K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotations -
KT-58332
K2: local fun with suspend type is not marked as suspend in IR -
KT-57991
K2: Modifier 'suspend' is not applicable to 'anonymous function' -
KT-54294
K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branches -
KT-58564
[PL] Annotations with unlinked parameters are not removed -
KT-52597
Provide Alpha Support for Multiplatform in the K2 platform -
KT-58523
K2: reference is resolved to imported type-alias instead of identically named top-level property -
KT-57098
Native: avoid object initialization while accessing const val -
KT-57973
32-th default value in inline classes override function is not used -
KT-57714
"IllegalStateException: <B::!>" using reified generics -
KT-57810
toString
of object erroneously considered as constant function in string concatenation -
KT-58076
K2: Incorrect inference of type of labeled receiver -
KT-57929
K2: Arguments of annotations are not calculated in a lot of strange locations -
KT-54874
K2. No compilation error with incorrect Comparator invocation -
KT-55388
Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated -
KT-53041
NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parameters -
KT-54829
Cleanup local types approximation logic -
KT-58577
K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another module -
KT-58587
MUST_BE_INITIALIZED must take into account effectivelly final -
KT-58524
K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiver -
KT-53929
Enum.entries: consider changing scope behavior in K1 -
KT-58520
K2: FIR2IR: ISE during const evaluation of operator times with exposed -
KT-57905
K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different types -
KT-56662
K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived class -
KT-57770
K2: Support generation of serializer if base class for serializable class declared in different module -
KT-58375
Kapt: "wrong number of type arguments. required 1" when more than 22 type arguments -
KT-48870
[FIR] Different behavior for explicit receiver resolution inside delegated constructors -
KT-58013
K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegation -
KT-58365
K2: Fix stub types leakage in builder inference caused by implicit receiver type update with partially resolved calls (IGNORE_LEAKED_INTERNAL_TYPES for stub types) -
KT-58214
Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDA -
KT-58030
K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java method -
KT-58135
K2: Priority of extension property is lower than ordinary property -
KT-57181
[K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argument -
KT-58219
K2/MPP/metadata: false-positive invisible reference error in Native-shared source set -
KT-58145
K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source set -
KT-56023
Constant operations (e.g. division) are not constant in K2 (JS, Native) -
KT-57354
In suspend function default arguments are sometimes not deleted in IR -
KT-55242
K2/MPP: basic build/link functionality -
KT-57979
K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getter -
KT-57543
K2 reports DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE -
KT-58142
K2: val parameter with more specific type is lower priority -
KT-48546
Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assign -
KT-57854
RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessing -
KT-54518
False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super class -
KT-58025
K2: Argument type mismatch when using Springs HandlerMethodArgumentResolver -
KT-58259
Unexpected unresolved function call with obvious invoke-convention desugaring -
KT-57135
K2: Fir should take into account an annotation's allowed targets as well as the use-site target when deciding whether it applies to a property, a field, or a constructor parameter -
KT-57069
K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1 -
KT-57958
K2: Initializer type mismatch when using extension property on type with star projection -
KT-58149
K2: New inference error with buildList -
KT-58008
K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested class -
KT-57835
K2: compiler crash on lambda with dynamic receiver -
KT-57601
K2: Builtin functionextensionToString
can't be accessed -
KT-57655
K2: ImplicitIntegerCoercion is not working for named arguments -
KT-58143
K2: overload resolution ambiguity inside dynamic lambda -
KT-58132
K2: Implicit int constant to long converion crashes FirSerializer -
KT-57378
Partial linkage: Run codegen box tests for Native & JS with enabled PL -
KT-58207
K2: Handle result of completion of synthetic call with callable reference argument -
KT-56549
K2: Reference to Java sealed class fails to compile -
KT-57994
K2: Type inference failed on function reference -
KT-58099
interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type" -
KT-57671
Synthetic $EntriesMappings declaration is public and generated even for enums from current module on IC -
KT-56517
K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates" -
KT-58163
FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phase -
KT-55646
K2: Report definitely non-nullable as reified error -
KT-58043
k2: Expect call is not removed from IR with nullability-based overload -
KT-56442
K2: Make sure K2 has the same behavior for defaults with overrides as K1 has -
KT-55904
Fix tests for volatile annotation on K2 -
KT-57928
K2: Arguments of annotations on constructor value parameter are not calculated -
KT-57814
K2: Argument type mismatch with delegating property -
KT-56490
Implement deprecation for an anonymous type exposed from inline functions with type argument -
KT-57781
K2: Generated serializer is invisible in a non-JVM test source set -
KT-57807
K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFir -
KT-57962
K2: No set method providing array access on dynamic -
KT-57353
K2: unresolved reference when using fully qualified object declaration name as an expression, when a declaration package is from another klib and has at least two name segments -
KT-57899
K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameter -
KT-57988
K2: compiler exception on get operator on dynamic this -
KT-57960
K2: incorrect type inference in lambda with dynamic receiver -
KT-57923
K2: Optional expectation annotation crashes const evaluator -
KT-56511
K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private class -
KT-58033
K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declaration -
KT-58061
K2: false-positive unsupported feature error on callable references to Java methods from annotation interfaces -
KT-55079
Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problems -
KT-57889
K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expression -
KT-57961
K2: Unresolved reference using dynamic lambda parameter -
KT-57911
K2: Contracts are not inherited by substitution overrides -
KT-57880
K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variable -
KT-57986
K2: NPE on building Space -
KT-57873
K2: compiler FIR serialization crash on builder-style inference from lambda's return type -
KT-57941
K2: Assertion error on loading serializable class with non-serializable property compiled with K1 compiler -
KT-57947
K2: Incorrect resolution results when property type for invokeExtension is not inferred -
KT-58002
K2: compiler FIR serialization crash on platform type with type-targeted Java annotation with Java enum as argument -
KT-57263
K2/MPP/JVM: compiler codegen crash on expect-property as default argument for expect-function's parameter -
KT-56942
K2: False-negative NO_ELSE_IN_WHEN if subject is flexible type -
KT-56687
Unexpected behaviour with enum entries when using outdated stdlib -
KT-56398
K2/MPP: compiler backend crash on inheritance from expected interface -
KT-57806
K2: string interpolation as annotation parameter causes error -
KT-57611
K2: Annotation arguments are not evaluated -
KT-56190
[K2/N] Const initializers are not serialized to klib -
KT-57843
K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecation -
KT-57350
FIR: deprecation diagnostic is not reported on a super class call -
KT-57532
K2: IrActualizer doesn't handle properties overloaded by extension receiver correctly -
KT-57776
K2: Suppressing "INVISIBLE_REFERENCE" leads to AssertionError: Unexpected IR element found during code generation -
KT-57769
[K2] Load properties in proper order for classes compiled with kotlinx.serialization and LV < 2.0 -
KT-57879
K2: compiler FIR serialization crash on passing Java constants as arguments to type-targeted annotations -
KT-57893
K1/K2 inconsistency on smart casts of internally visible properties in friend modules -
KT-57876
K2: stack overflow in compiler FIR deserialization on nested type-target annotation class used in enclosing class -
KT-57839
K2: Compiler crash on lambda returning anonymous object with implemented lambda -
KT-57822
K2: Can't refer to external interface from class literal -
KT-57809
K2: No value passed for parameter of external class -
KT-56383
Build intellij master with LV 1.9 -
KT-57735
K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with@PlatformDependent
annotation when there is an empty linux target in project -
KT-55056
Builder inference causes incorrect type inference result in related call -
KT-57689
K2: Unresolved reference to nested typealias in KLIB -
KT-57665
K2: incorrect resolution of dynamic type -
KT-57381
K2/MPP/Native: impossible to override Any::equals with non-external function -
KT-57654
K2: Lambda with receiver deserialized as lambda without receiver during metadata compilation -
KT-57662
K2: The error message is poorly formatted and not precise in case of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS error and@Suppress
is used -
KT-57763
FirExtensionRegistrar extension point broken -
KT-57312
K2: IR interpreter fails on string interpolation withconst val
from a klib involved -
KT-57768
Don't decompile code to search for annotation arguments -
KT-55628
Diagnostics for kotlin.concurrent.Volatile annotation applicability -
KT-55860
K2. [CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic function -
KT-53491
K2: Implement "Operator '==' cannot be applied to 'Long' and 'Int'" error -
KT-55804
K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null asserted -
KT-57682
K2: Incorrect composing of signatures for calls on dynamic types -
KT-55405
K2: false-negative INVISIBLE_REFERENCE in import directives -
KT-54781
K2: no error on unresolved import statement with more than one package -
KT-57635
K2/MPP: Expect constructors are not considered as expect during metadata deserialization -
KT-57376
K2/MPP: false-positive K/JS diagnostic in absence of K/JS target when sharing a source set between K/JVM and K/Native -
KT-55902
K2: Support ImplicitIntegerCoercion annotation -
KT-56577
Migrate Native KLIB ABI compatibility tests to K2 -
KT-56603
[K2/N] Segfault invoking fun from binary compatible klib -
KT-57457
K2: the error message is not quite informative in case of EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR -
KT-57568
K2: K2, Native reports overload resolution ambiguity -
KT-57446
K2: Adapter function reference is not generated inside when expression -
KT-54894
K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with@UnsafeVariance
argument -
KT-57001
K2 compilation fails due to nullabillity subtyping not working properly -
KT-57271
Delay forbidding inference to an empty intersection to version 2.0 -
KT-57209
K2: type parameters are available in companion object scope -
KT-50550
False positive NO_ELSE_IN_WHEN with annotatedwhen
branch condition -
KT-57431
K2 MPP JS: Compiler crash on transitive common dependencies -
KT-57456
K2 reports uninitializied variable in enum class when variable is used in lambda and defined in companion object -
KT-57583
K2/MPP/JS&Native: FIR2IR compiler crash on reference to Any method inherited by expect-classifier -
KT-56336
[K2/N] Multiplatform test fails with unexpected "actual declaration has no corresponding expected declaration" compiler error -
KT-57556
K2: Rename error 'This API is not available after FIR' -
KT-23447
Integer.toChar compiles to missing method -
KT-46465
Deprecate and make open Number.toChar() -
KT-49017
Forbid usages of super or super if in fact it accesses an abstract member -
KT-56119
BinaryVersion.isCompatible binary compatibility is broken -
KT-57369
K2/MPP: supertypes established in actual-classifiers from other source sets are not visible -
KT-55469
[K2/N] equals(Double,Double) and equals(Boolean,Boolean) are not found -
KT-57250
K2: the metadata is serialized for anexpect
class even if theactual
class is present when compiling to klib -
KT-56660
K2/MPP: compiler backend crash on invoking a K/Common constructor in K/JS code -
KT-55055
K1: Builder inference violates upper bound -
KT-57316
Initialize Enum.entries eagerly: avoid using invokedynamics -
KT-57491
Kotlin synthetic parameter looks ordinary -
KT-56846
K2: incorrect line & symbol numbers in exception reporting -
KT-56368
K2/MPP: compiler backend crash on missing actual declaration -
KT-57104
K2: false-positive conflicting inherited JVM declarations error despite use of@JvmName
in another module -
KT-56747
[K2/N] Return type forlambda: (Any) -> Any
which returns Unit is different for K1 and K2 and return statement is missing with K2 -
KT-57211
K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argument -
KT-57302
K2 fails with IllegalStateException on reading inherited property of Java enum -
KT-57424
K2 IDE: "By now the annotations argument mapping should have been resolved" exception -
KT-57241
K2 MPP: Actualization doesn't work for actual enum that has primary constructor with arguments -
KT-57210
K2 MPP: Support of arguments with dynamic type -
KT-57182
K2 MPP: Actualization doesn't work for nested objects -
KT-56344
K2: Implement correct errors reporting of IrActualizer -
KT-54405
K2 compiler allows val redeclaration -
KT-54531
[K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to true -
KT-56926
K2: incorrect line number generated for class constructor or method with default parameter when comment before -
KT-56913
K2: Incorrect line numbers in overriden field getters and setters -
KT-56982
K2: Incorrect line number start in when expression -
KT-56720
K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance -
KT-57175
K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliases -
KT-25694
Fix reporting of uninitialized parameter in default values of parameters -
KT-57198
K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parameters -
KT-15470
Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is ok -
KT-57179
FIR: preserve prefix increment behavior like in K1 by calling getter twice -
KT-57405
K2. Function call ambiguity error when nullable String is passed to function with Spring@Nullable
annotation in signature -
KT-57284
K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived type -
KT-57221
K2: compiler FIR2IR crash on function's unavailable cached type parameter -
KT-57036
Unresolved reference: with inferred type of class constructor with extension parameter -
KT-56177
K2: FIR should not generate annotation on both property and parameter -
KT-54990
NI: Type mismatch when encountering bounded type parameter and projections -
KT-57065
K2: overload resolution ambiguity between type-aliased constructor and identically named function -
KT-49653
Deprecate and remove Enum.declaringClass synthetic property -
KT-57190
K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversion -
KT-57166
K2: false-positive val reassignment error when synthetic property with implicitly typed overridden getter is called from implicitly typed member that is declared earlier -
KT-55828
[K2/N]: Fix test fails in OPT mode :Internal compiler error: no implementation found ... when building itable/vtable
-
KT-56169
False negative deprecation warning about future inference error with builder inference -
KT-56657
K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map) -
KT-57105
K2: compiler codegen crash at property initialization in constructor after smartcast -
KT-56379
K2: build tests for the Kotlin standard library -
KT-56079
K2: build YouTrack 2022.3 -
KT-57092
K2: false-positive multiple inherited implementations error -
KT-56696
K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initialization -
KT-56354
K2/MPP: unresolved references to library entities -
KT-57095
K2: false-positive lack of type arguments error on raw cast of Base<*> to Derived: Base<T?> -
KT-56630
FIR: ClassCastException on compilation hierarchy with a raw type -
KT-57171
K2: Implement bytecode tests -
KT-57214
K2: compiler FIR crash on annotation usage before annotation class declaration -
KT-57204
K2: callable reference to mutable property of inherited by delegation superinterface isn't properly resolved -
KT-57195
K2: false-positive VAR_TYPE_MISMATCH_ON_OVERRIDE on changing property's platform type to non-nullable type when overriding -
KT-56814
K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as origin -
KT-54758
DeprecateClassBuilderInterceptorExtension.interceptClassBuilderFactory
and provide another method without dependency on K1 -
KT-57253
K2: clean up callable reference logic in FIR2IR -
KT-56225
K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline class -
KT-56769
K2. Annotation applicability is ignored during compilation when there's use-site@target
-
KT-56616
K2: cannot infer Java array type properly -
KT-57247
K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type-aliased vararg property -
KT-57206
K2: false-positive val reassignment error on synthetic property from generic class with overridden getter but not setter -
KT-56519
K2: Compiler crash on a function reference on companion receiver that inherits from outer class -
KT-56506
K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullability -
KT-56877
K2: false-positive UNRESOLVED_LABEL for labeled this-expression in contract description -
KT-56863
K2: false-positive property initialization analysis errors after smartcast -
KT-56864
K2: Unexpected behavior with default parameter inheritance and function reference -
KT-56665
K2: false positive RECURSIVE_TYPEALIAS_EXPANSION -
KT-53966
K2 does not support SAM conversions with condition into Java/Kotlin functional interfaces -
KT-56659
FIR: Increment operator on object leads to exception from resolve -
KT-56771
FIR: Increment operator on qualified expressions leads to exception from resolve -
KT-56759
K2: False-positive UNRESOLVED_REFERENCE on labeled desctructuring declaration in LT mode -
KT-56548
K2: false positive overload resolution ambiguity for Java record constructor -
KT-56476
K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-site -
KT-56138
K2: Illegal conversion of lambda with parameters to ExtensionFunction expected type -
KT-56448
K2: False-positive unsafe call due to incorrect inference of smartcasted type -
KT-55966
K2: Not enough information to infer type variable K if smartcast is used -
KT-57168
K2: compiler FIR2IR crash on synthetic property from generic class with overridden getter but not setter -
KT-56876
K2: false-positive UNRESOLVED_REFERENCE for name of nested class in contract description -
KT-57194
K2: overload resolution doesn't prioritize Double over Float -
KT-57067
Warning about expect/aсtual in the same module doesn't take into account absence of 'actual' modifier -
KT-56954
K2: function literals can be passed as arguments to parameters with kotlin.reflect function types -
KT-55423
K2: Implement CONTRACT_NOT_ALLOWED -
KT-56923
K2: no line number in bytecode when ASTORE exception in catch -
KT-56829
K2: compiler FIR2IR crash on passing to function a callable reference to nested class's constructor with default arguments -
KT-57029
Per-file caches fail on local inline function in an inline function -
KT-57085
K2:@Suppress
is sensitive to its argument's case -
KT-57103
K1: AssertionError: Mismatching type arguments: 0 vs 1 + 0 when calling inline function with callable reference to generic synthetic property -
KT-57033
Make KtClassLiteralExpression stub based -
KT-57035
Make KtCollectionLiteralExpression stub based -
KT-40857
Invalid parameterized types for extension function on parameterized receiver when javaParameters=true -
KT-56154
Compiler backend crash on reference to Java synthetic property from generic class -
KT-56692
StackOverflow in PrivateInlineFunctionsReturningAnonymousObjectsChecker -
KT-55879
Modularized tests: fir.bench.language.version is used as API version, not language version -
KT-51821
ClassCastException on anonymous fun interface implementation when unrelated vararg is used -
KT-56820
K2: compiler FIR crash on Java field access after smartcast -
KT-56579
[K2/N] IR actualizer crashed with K2 on expect annotation marked with@OptionalExpectation
, without actual. -
KT-56750
K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method reference -
KT-55614
K2: consider serializing static enum members (values/valueOf/entries) to match K1 behavior -
KT-30507
Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is used -
KT-56646
K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interface -
KT-56334
K2: can't call expected function with default arguments -
KT-56514
K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASS -
KT-56522
K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS -
KT-56910
Exception during IR lowering: Cannot determine lineNumber of element FUN name:cancelProgress -
KT-56542
K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set call -
KT-56861
FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime error -
KT-56234
K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameter -
KT-56722
K2: cannot resolve component call after smart cast -
KT-56875
K2: isOperator flag is incorrectly set for java methods -
KT-56714
K2: wrong argument mapping in DSL -
KT-56723
K2: lambda accidentally returns Unit? instead of Unit -
KT-55877
K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" -
KT-56386
K2: Make possible to access Java field which is shadowed by Kotlin invisible property` -
KT-56862
Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependency -
KT-55088
JS, Native compilation fail with internal error onSomeEnum.entries
reference whenSomeEnum
is from klib compiled with disabled EnumEntries language feature -
KT-40904
No warning when declare actual in the same target (module) as expect -
KT-56707
K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitly -
KT-56508
Context receivers: Internal compiler error when compiling code containing a class with a secondary constructor -
KT-56706
K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from library -
KT-56505
K2: MissingNO_EXPLICIT_VISIBILITY_IN_API_MODE
errors on various declarations -
KT-56682
K2: False-negative UNINITIALIZED_VARIABLE on access to delegated property -
KT-56678
K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializer -
KT-56612
K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argument -
KT-56445
K2: False-positive unresolved reference to callable reference to function with default argument -
KT-55024
K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal class -
KT-55722
K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple) -
KT-56563
Inference within if stops working when changing expected type from Any to a different type -
KT-55936
K2: Support proper resolution of callable references as last statements in lambda -
KT-45989
FIR: wrong callable reference type inferred -
KT-55169
K2: False-negative NO_ELSE_IN_WHEN -
KT-55932
K2. No compiler error when elvis operator returns not matched type -
KT-53987
K2: False negative "TYPE_MISMATCH" with if statement return -
KT-41038
NI: TYPE_MISMATCH when passing constructor of nested class -
KT-42449
Can not resolve property for value of type Any even after casting type to a type with star projection -
KT-52934
StackOverflow fromPseudocodeTraverserKt.collectDataFromSubgraph
withif
insidefinally
-
KT-52860
StackOverflowError when casting involving recursive generics and star projection -
KT-52424
ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameter -
KT-52262
TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive when -
KT-52502
Forbid extension calls on inline functional parameters -
KT-51045
SETTER_PROJECTED_OUT: Star projected nullable property can't be set to null -
KT-40480
[FIR] SupporthasStableParameterName
from metadata -
KT-50134
NI: Type inference regression in java streams groupingBy -
KT-50160
False positive "USELESS_CAST" caused by indexed access operator -
KT-42715
Unable to use implicit lambda paramit
for overloaded methods -
KT-49045
False positive USELESS_CAST in generic type with nullable type parameter -
KT-49024
AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combined -
KT-48975
Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest version -
KT-47870
INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent class -
KT-47495
ReenteringLazyValueComputationException on invalid code -
KT-47490
Missed diagnostic for incorrect callable reference in finally -
KT-47484
"Recursion detected in a lazy value under LockBasedStorageManager" on invalid code -
KT-46301
Combining branches with sealed interfaces inwhen
breaks type inference -
KT-44392
False negative: redundant nullability/not null check on cast with as operator -
KT-43936
Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested class -
KT-43846
No smart cast when returning function closures with captured smart-cast variable -
KT-43603
False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension property -
KT-43553
JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE target -
KT-42169
False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projection -
KT-42136
NI: False positive [USELESS_CAST] when list serves to create a mutable list -
KT-41721
SAM conversion fails on varargs with type approximated to Nothing -
KT-38288
Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argument -
KT-37490
NULL_FOR_NONNULL_TYPE: "Null can not be a value of a non-null type Nothing" when null is passed to nullable argument of type projected method -
KT-37365
NPE fromReflectionReferencesGenerator.generateCallableReference
with inner class function reference and wrong parenthesis -
KT-36958
NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception) -
KT-30756
No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statement -
KT-24737
Report an error on invalid this-expression with angle brackets on left-hand side of a callable reference -
KT-21463
Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projection -
KT-6822
Smart cast doesn't work inside local returned expression in lambda -
KT-55840
Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IR -
KT-47815
JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial function -
KT-17817
No error reported on invalid LHS for class literal -
KT-47373
Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literal -
KT-51143
Wrong Unit-requiring at if/when branch with stub types -
KT-53671
False-positive diagnostic reported on OptIn annotation import from root package -
KT-53494
Mistaken type inference in compound 'if' expression with nullability check and covariant type -
KT-28668
"AssertionError: Unrelated types in SAM conversion for index variable" if lambda argument of '[...]' in LHS of augmented assignment is used as an implementation for different SAM interfaces -
KT-55931
Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a call -
KT-20223
Inline access check ignores operator calls toinvoke()
-
KT-54478
@NoInfer
causes CONFLICTING_OVERLOADS -
KT-56472
K2: Add stack of all FIR elements to CheckerContext -
KT-41126
[FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier name -
KT-54931
Annotations defined in nested classes cannot be instantiated directly -
KT-52338
"IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field -
KT-24901
No smart cast forwhen
with early return -
KT-53086
"Cannot access '' before superclass constructor has been called" with inner class secondary constructor -
KT-55137
Callable references with conversion are incorrectly allowed to be promoted to KFunction -
KT-30497
EXACTLY_ONCE contract doesn't work in a function withvararg
parameter -
KT-47074
Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add Parcelize -
KT-24503
Return-as-expression is allowed as this/super constructor parameter -
KT-55379
False positive NO_ELSE_IN_WHEN with smartcast to Boolean -
KT-47750
False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interface -
KT-53819
False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local class -
KT-56457
JVM: Enum.entries are not annotated with@NotNull
-
KT-56072
K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for is already bound" when trying to access java synthetic property of inherited class -
KT-50082
Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base class -
KT-55822
False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden members -
KT-55666
K2: label on local function is rejected: "Target label does not denote a function" -
KT-56283
False-positive INVISIBLE_MEMBER on overridden member of more specific type after smart cast -
KT-51969
[FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for [declaration] is already bound" -
KT-56329
K2: compiler backend crash on two expected functions with similar signatures -
KT-56361
K2/MPP: receiver isn't available in lambda literals with receiver -
KT-55295
K2/MPP: JS build functionality -
KT-55909
[K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclass -
KT-55664
K2: eliminate ClassId.isSame call from FirClass.isSubclassOf -
KT-56353
K2. False negative "Unresolved reference" in default value of secondary constructor's parameter -
KT-56381
K2: Function type kind not extracted from lambda literal in generic call -
KT-55747
K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missing -
KT-56104
Unnecessary inner classes attributes in class files for subclasses -
KT-55570
K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual class -
KT-56176
[K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealias -
KT-56229
K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenario -
KT-56199
K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaload -
KT-56212
K2: Exception when compiling extension function declaration with illegally chained type parameter receiver -
KT-55503
K2: "Argument type mismatch" caused by using the wrong "this" -
KT-56050
K2: inconsistency regarding visibility of synthetic properties with protected getter and public setter -
KT-49663
FIR: Support@kotlin
.jvm.PurelyImplements for java collections -
KT-55468
[K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNIT -
KT-56269
[K2/N] Don't test "Tailrec is not allowed on open members" in K2 -
KT-54647
K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral -
KT-54648
K2: Function call on left side of erroneous assignment isn't resolved -
KT-55699
K2. False Negative "Type parameter T is not an expression" -
KT-56132
Restore 'JvmBackendContext' constructor signature for compatibility -
KT-55973
K2: Exception from UnusedChecker on an unused destructuring -
KT-56275
K2 IDE: Missed error for enum super type -
KT-54775
K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl " exception on incorrect code -
KT-55528
K2: CFA for property initialization analysis is not run for class initialization graphs -
KT-54410
K2: Deprecation warning instead of "this declaration is only available since Kotlin X" when language version in project are below required to use language feature -
KT-55186
K2: No compilation error on calling exception without constructor -
KT-36776
Treat special constructions (if, when, try) as a usual calls when there is expected type -
KT-50947
False negative: FE 1.0 doesn't report type variance conflict error on an inner type -
KT-39041
Collection literals should not be allowed inside annotation classes -
KT-54694
Consider enabling BooleanElvisBoundSmartCasts in K1 or K2 -
KT-54587
K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another class -
KT-52774
Resolve unqualified enum constants based on expected type
Docs & Examples
-
KT-53643
Update coding style conventions to include rangeUntil operator -
KT-57902
Create migration tutorial from kotlin-js to kotlin-multiplatform gradle plugin -
KT-58381
[Docs][Libraries] Document Path.createParentDirectories
IDE
Performance Improvements
-
KTIJ-23501
Make main run configuration detection lighter -
KT-56613
Reduce memory consumption of light classes
Fixes
-
KTIJ-25855
Infinite "Analyzing..." on .kt files from native source-set -
KTIJ-25448
When project JDK is less than one defines in jvmToolchain block run with Idea fails withhas been compiled by a more recent version of the Java Runtime
-
KTIJ-25673
Temporarily switch off adding jvmToolchain to new/converted Kotlin projects -
KTIJ-25719
K/Wasm: Fix import of wasm projects with Kotlin 1.9.0 -
KTIJ-24136
Files with actual declarations are not highlighted in kotlinx.coroutines project -
KTIJ-24390
Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle build -
KTIJ-24695
Default Kotlin project can not be synced on Mac M1 -
KTIJ-25302
Wrong variant of serialization plugins is passed to JPS build if the project was imported from Gradle -
KTIJ-25416
"Add import" works incorrectly without formatting the code for root package -
KT-57849
K2: contract violation due to implicit java type with annotation -
KTIJ-24666
Store annotation arguments in cls -
KTIJ-24667
Store constant expressions in cls -
KTIJ-24665
Store contracts in cls -
KTIJ-24543
An option to configure kotlin with JavaScript is available at Tools -> Kotlin menu -
KT-57857
LC: FakeFileForLightClass: Read access is allowed from inside read-action -
KTIJ-25172
Store flexible types in cls -
KT-57578
SLC: incorrect upper bound wildcards -
KT-57917
Analysis API: decompiled value parameters are not resolved -
KT-56046
K2 IDE: Avoid redundant resolve from annotations -
KT-57569
SLC: incorrect visibility for lateinit var with private setter -
KT-57547
SLC: non-lastvararg
value parameter type mismatch -
KTIJ-25034
K2 IDE: unresolved import treated as unused -
KT-57548
SLC: incorrect inheritance list for Comparator -
KT-56843
Light classes: certain kinds of constant values in property initializers aren't supported -
KTIJ-24676
Enum.entries is red if it's called on enum class from JDK or module without stdlib in dependencies -
KT-56868
SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiers -
KTIJ-25048
K2: IDE K2: "Unexpected scope FirNameAwareCompositeScope" -
KTIJ-24895
K2 IDE: "Invalid FirDeclarationOrigin Synthetic" exception for synthetic "WHEN_CALL" function during highlighting -
KT-56833
Light classes: Accessors to lateinit properties don't have@NotNull
annotations -
KTIJ-24768
IDE K2: "IllegalArgumentException Failed requirement at FirJvmTypeMapper" -
KT-56845
Light classes: Overridden property accessors don't have@Override
annotation -
KT-56441
K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfully -
KT-56891
Symbol Classes: DefaultImpls classes contain methods without default implementation -
KTIJ-24742
K2 IDE: InvalidFirElementTypeException -
KTIJ-24067
K2 IDE: references from .java source to top-level Kotlin members from dependencies are unresolved -
KT-56842
Light Classes: Primitive-backed context receiver parameters shouldn't be marked with@NotNull
-
KT-56835
Light classes: Underlying fields for delegated properties should be marked as final and@NotNull
-
KT-56840
Light Classes: Inline classes backed by Java primitives shouldn't be marked with@NotNull
-
KT-56728
K2 IDE. False positivenot applicable to
for kotlin annotation with target annotating Java element -
KTIJ-24610
K2: Exception from import optimizer: "Unexpected qualifier '10' of type 'KtConstantExpression`" -
KTIJ-24476
Make application services to be classes instead of objects -
KTIJ-24574
K2 IDE: "No fir element was found for" from inspections -
KT-55815
SLC: Keep annotations on type when converting toPsiType
-
KT-55669
K2 IDE: INRE from light classes -
KTIJ-24530
K2 IDE: status resolution fails with CCE -
KTIJ-23937
K2: No 'JavaSymbolProvider' in array owner: Source session for module -
KTIJ-24087
K2: Type parameter bounds found not analyzed during call inference -
KTIJ-24344
K2 IDE: Object reference incorrectly resolves to 'invoke' operator function -
KTIJ-24107
K2 IDE: Unresolved call for qualified companion invoke() -
KTIJ-24385
K2 IDE: KtCallExpression(KtCallExpression) should always resolve to a KtCallInfo
IDE. Code Style, Formatting
-
KTIJ-24928
Organize imports puts imports in one line if Formatter option is used
IDE. Completion
-
KTIJ-25108
K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed() -
KTIJ-24989
K2 IDE: completion should show information about expanded types for type alias parameters -
KTIJ-24992
K2 IDE: completion shows return type with incorrect nullability when type is stub type -
KTIJ-24948
K2 IDE: "ERROR: class org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef" during completion of inner classes' constructors -
KTIJ-24256
K2 IDE: Angle brackets are missing in completion of function with type parameters -
KTIJ-24083
K2, Completion: Exception on adding a type parameter receiver to a function -
KTIJ-23963
K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override" -
KTIJ-22359
K2 IDE: no completion for Java synthetic properties from super class -
KTIJ-23880
Completion doesn't work for Java synthetic property reference
IDE. Decompiler, Indexing, Stubs
-
KTIJ-25152
Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IR -
KTIJ-24475
Migrate kotlin index extension implementation from object to classes -
KTIJ-24335
Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProvider -
KTIJ-24206
Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect function -
KTIJ-15764
IR by default in Kotlin bytecode tool window
IDE. Gradle Integration
-
KT-59034
MPP build failed with "Factory type is not known for plugin variants" in kt-231-* -
KT-56671
KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package names -
KTIJ-24573
KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by host -
KTIJ-25757
KJS: 1.9.0-Beta fails to run when running in Android Studio -
KTIJ-24701
KGP import: JVM+Android shared source sets don't receive a correct default stdlib dependency -
KTIJ-24745
IDE sync of kotlin("js") projects with js(BOTH) set fails with exception because of the new MPP IDE import -
KTIJ-24567
Enable KGP dependency resolution by default -
KTIJ-24729
KotlinMPPGradleProjectResolverKt must not be requested from main classloader on project import -
KTIJ-11978
IDE does not recognize the sources JAR of a published to mavenLocal MPP library
IDE. Inspections and Intentions
-
KTIJ-24684
K2 IDE: 'Redundant qualifier name' false positive in type specification in extension function -
KTIJ-24662
K2 IDE: False positive "Redundant qualifier name" inspection for nested class from base interface -
KTIJ-25232
K2 IDE: "Redundant qualifier name" inspection false positive with object referenced via property -
KTIJ-25447
Make Enum.entries and RangeUntil inspections don't check for opt-in when APIs become stable -
KTIJ-23588
K2 IDE. False positive unused import directive for extension function of an object -
KTIJ-25112
K2 IDE: False positive "Actual value of parameter 'b' is always 'null'" -
KTIJ-24485
Explicit API mode: false positive "redundant 'public' modifier" -
KTIJ-24453
Unsuccessfull resolve error from OperatorToFunctionIntention on recursive property declaration
IDE. JS
-
KT-58427
Kotlin Gradle Plugin ignores language version value for Kotlin/JS sources
IDE. Libraries
-
KTIJ-25096
K2 IDE: Library sessions are garbage collected between performance test runs with enabled library caches -
KTIJ-24413
Cannot navigate to enum of the Kotlin library via entries call
IDE. Misc
-
KT-58763
K2 IDE: NoSuchMethodError: KtPsiFactory$Companion.contextual -
KTIJ-25304
Move IDE Extension Points from compiler.xml to the IDE repository -
KTIJ-24893
K2 IDE: Serializable plugin causes infinite resolve recursion
IDE. Multiplatform
-
KTIJ-25859
MPP: Library wizard with android target uses deprecatedandroidTest
source set -
KTIJ-25479
Compiler options is not imported correctly for js source sets -
KTIJ-24011
MPP: Native tests are missing run gutters
IDE. Navigation
-
KTIJ-23073
K2 IDE: Navigation doesn't work from library sources to another library sources -
KTIJ-24819
K2 IDE: support compiler reference index -
KTIJ-24697
K2 IDE: handling PresistenceMap in LLFirSessionsCache takes a lot of time -
KTIJ-24373
K2 IDE: Qualified generic type is not fully resolved
IDE. Run Configurations
-
KTIJ-25046
K2 IDE. Junit5 test method with internal modifier can't be launched using gutter
IDE. Wizards
-
KTIJ-25932
Turn off the adding new targets in Kotlin Multiplatform Wizard -
KTIJ-26022
Project module not selected in a second page of "New Project" window in KMP wizard -
KTIJ-24834
Set default for "kotlin.mpp.experimental" flag for K/JS features to true
JavaScript
New Features
-
KT-12784
JS: generate ES2015 compatible modules -
KT-48154
KJS / IR: Inline members support for external types -
KT-51582
FIR: support basic compile-time evaluation for JS backend
Fixes
-
KT-43490
KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of Throwable -
KT-57690
K2/MPP: compileProductionLibraryKotlinJs fails with Module has a reference to symbol kotlin/arrayOf|3204918726020768747[0]. Neither the module itself nor its dependencies contain such declaration -
KT-56911
K2/MPP: Compile K/JS fails for@Serializable
annotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImpl -
KT-56950
Support KLIB IC with K2 -
KT-58570
KJS: ES6 classes + PL throw java.lang.NullPointerException -
KT-58835
K2/JS: Fix incremental compilation klib tests -
KT-58794
KJS / K2: Assertion failed with Space build -
KT-51706
Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript fails -
KT-54452
Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for them -
KT-53180
Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties order -
KT-39650
KJS IR: provide a way to enable ES2015 class generation -
KT-57990
KJS/IR. Invalidsuper
call for final parent methods (ES classes) -
KT-58246
KJS: ES15 classses — duplicated code in class constructor -
KT-57479
KJS: Add an annotation for a function parameter which checks that a passed argument has an external type -
KT-58201
Unknown statement type when building with ES modules -
KT-30810
values and valueOf are miscompiled for external enum classes -
KT-57024
Ugly TypeScript definitions for declarations with both@JsExport
and@Serializable
-
KT-56237
KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS code -
KT-54638
K2/JS: Fir2ir - implement and use JS-specific mangler -
KT-54028
Native / JS: Using private object implementing a sealed interface causes a linker error -
KT-57423
KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objects -
KT-57711
K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIB -
KT-57078
JS IC: Unbound symbol left inSymbolTable
inJsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariance
tests -
KT-57254
Deprecateexternal enum
declarations -
KT-57002
KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constant -
KT-56961
JS IR: serializedIrFileFingerprints in klib manifest has a wrong format -
KT-56282
KJS: Invalidate incremental cache in case of compiler internal errors
KMM Plugin
-
KT-55402
"Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPods -
KT-55988
KN debugger in KMM plugin for Android Studio can't recognize the source code
Language Design
New Features
-
KT-48872
Provide modern and performant replacement for Enum.values() -
KT-15613
Introduce special syntax for the until operator -
KT-4107
Design and implement a solution for toString, equals and hashCode on objects (data object)
Fixes
-
KT-28850
Prohibit protected visibility in final expected classes -
KT-39362
Expect fun interface must have actual fun interface counterpart -
KT-48994
Prohibit type unsound java fields assignments -
KT-58791
Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.x -
KT-53778
Release stdlib API about "rangeUntil" operator in 1.9 -
KT-53653
Export Enum.entries to Objective-C and Swift -
KT-55177
Deprecate declaration of expect and actual counterparts of same class in one module -
KT-49110
Prohibit access to members of companion of enum class from initializers of entries of this enum -
KT-47986
Forbid implicit inferring a type variable into an upper bound in the builder inference context -
KT-57395
Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0 -
KT-55082
Bump KLib version for Enum.entries -
KT-49264
Deprecate infix function calls of functions named "suspend" with dangling function literal
Libraries
New Features
-
KT-58046
Stabilize remaining kotlin.time API: time sources, time marks, measureTime -
KT-58074
Stabilization of Atomics API in K/N -
KT-55268
Mutiplatform@Volatile
annotation -
KT-51908
Provide common function for getting regex capture group by name -
KT-53263
Path.createParentDirectories -
KT-7637
Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...) -
KT-40728
Add AssertionError constructor withcause: Throwable
parameter to common stdlib -
KT-57298
Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlink
Performance Improvements
-
KT-54739
build
method in collection builders (Set, Map, List) should return a single instance for empty collections -
KT-42589
Provide common listOf(value) overload to avoid allocation of the vararg -
KT-55091
Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twice -
KT-57617
Optimize ReversedListReadOnly iterator -
KT-57607
KJS: Bad performance for ArrayList.addAll
Fixes
-
KT-58841
Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing property -
KT-57728
Explicitly specify level of stability of programmatically-accessible interoperability API -
KT-58985
Update KClass.isData KDoc -
KT-57762
Introduce HexFormat for formatting and parsing hexadecimals -
KT-55612
Stabilize experimental API for 1.9 -
KT-58548
Stabilize standard library API for Enum.entries -
KT-56400
Disable compilation of atomicfu-runtime with legacy JS backend -
KT-58276
Deprecate redundant public declarations in kotlin.native.concurrent -
KT-35973
Extract org.w3c declarations from stdlib-js -
KT-58073
JS/Legacy compiler blocks compilation of kotlinx.atomicfu with K2 -
KT-57317
Repack EnumEntries from stdlib into the compiler -
KT-54702
Native: mark Worker and related APIs as obsolete -
KT-55610
Deprecate kotlin.jvm.Volatile annotation in platforms except JVM -
KT-57404
Native: Support AnnotationTarget.TYPE_PARAMETER -
KT-57318
Change EnumEntries stdlib implementation to be eager -
KT-57137
Native: Consider removing ArrayAsList -
KT-56661
Missing EnumEntries-related bytecode in kotlin-stdlib-1.9.255-SNAPSHOT.jar -
KT-51579
PlatformImplementations loading is not compatible with graalvm native-image --no-fallback
Native
-
KT-54098
Decommission and remove 'enableEndorsedLibs' flag from Gradle setup -
KT-52594
Provide Alpha support for Native in the K2 platform -
KT-56071
K2/MPP: Native build functionality -
KT-56218
[K2/N] Receiver annotations for properties are not serialized -
KT-56326
[K2/N] RemoveRedundantCallsToStaticInitializersPhase removes important static initializer -
KT-27002
lateinit
intrinsics frontend checkers aren't applied on Native
Native. Build Infrastructure
-
KT-58160
Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)'
Native. C and ObjC Import
-
KT-54610
Kotlin Native can't callobjc_direct
functions -
KT-57918
[K2/N] Support typealiases in FirClassSymbol<*>.selfOrAnySuperClass() -
KT-58651
Native c-interop tool generates broken@Deprecated
annotations -
KT-57541
Compilation fails without explicit cast on cinterop code -
KT-54805
KMP ios memory leak when using CA Layer -
KT-57490
[K/N] Duplicate package names for cinterop klibs with objc protocols fails to link
Native. ObjC Export
-
KT-58839
K/N: Exception during HiddenFromObjC marked class extension function compiling -
KT-56464
K/N: Allow HiddenFromObjC for classes -
KT-57507
K2: Set of Objc exported declarations is different between K1 and K2
Native. Runtime
-
KT-58441
Kotlin/Native:@ObjCAction
@ObjCOutlet
generate bridges without switching state -
KT-57091
Align Native and Java file/class initialization behavior
Native. Runtime. Memory
-
KT-56233
[Kotlin/Native] Crash when enum values are accessed in multiple threads -
KT-58130
Implement preview of custom allocator for Kotlin/Native -
KT-56402
Native: if a Kotlin peer for an Obj-C object is created on the main thread, then Kotlin runtime should run objc_release for it on the main thread
Native. Stdlib
-
KT-57344
Try to remove strange .equals overload on primitive types -
KT-57592
Native: Remove the default parameter value for AtomicLong constructor
Native. Testing
-
KT-57349
Enable more K2 MPP codegen/box tests for Kotlin/Native -
KT-57026
K2: Fix Native test infrastructure for MPP
Reflection
-
KT-54833
Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objects -
KT-56650
ArrayStoreException from InlineClassAwareCaller.call with an array of inline class -
KT-56093
Metaspace leak in a Gradle plugin built with Kotlin 1.8.0 -
KT-55937
Optimize implementation of kotlinFunction/kotlinProperty
Specification
-
KT-58932
Specify the priority between candidates with type and value receivers when doing callable reference inference -
KT-54254
Specify that an annotation type cannot have itself as a nested element -
KT-53427
Specify@SubclassOptInRequired
-
KT-53323
Add Enum.entries to Kotlin specification, KEEP-283 -
KT-54255
Specify extension receivers are effectivelynoinline
-
KT-53646
Incorporate rangeUntil (..<) operator into specification
Tools. CLI
-
KT-57495
Add JVM target bytecode version 20 -
KT-57154
Incorrect version of JDK is provided through CoreJrtFs -
KT-56209
Add CLI support for HMPP in K2 -
KT-58351
Confusing error message when using removed -Xjvm-default mode value -
KT-57535
K2: Kotlin command line compiler doesn't see class files on the class path in 2.0 -
KT-57644
K2: Prohibit passing HMPP module structure with CLI arguments to metadata compiler -
KT-56351
Reduce memory usage spent on compiler settings
Tools. Commonizer
-
KT-57796
NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20 -
KT-56207
Investigate failing tests in ClassifierCommonizationFromSourcesTest
Tools. Compiler Plugins
Fixes
-
KT-57821
K2: Compiler calls declaration generation plugins twice for classes in the common source set -
KT-57406
FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotations -
KT-57626
K2: SERIALIZER_NOT_FOUND for serializable class from another module -
KT-57400
FIR Compiler Plugins:annotated
predicate does not work with Java classes -
KT-57140
K2: Implement backwards compatibility for FirFunctionTypeKindExtension -
KT-56685
K2: ArrayIndexOfBound during session creation if compiler plugins are enabled -
KT-55375
Remove "legacy" mode of jvm-abi-gen plugin -
KT-53470
FIR: passMemberGenerationContext
to all methods of FirDeclarationGenerationExtension -
KT-51092
Lombok@Value
causes IllegalAccessError -
KT-55885
K2 plugin API: Backend-only declarations are not visible from other modules -
KT-55584
K2: Improve registration of session components from compiler plugins -
KT-55843
FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as well -
KT-53874
Optimize checking for plugin applicability and redesign DeclarationPredicates
Tools. Compiler plugins. Serialization
Fixes
-
KT-58954
Serialization: NPE at run time when accessing a delegating property of a deserialized object -
KT-56537
Serialization: Presence of (transient) delegated field in the serialized class breaks deserialization -
KT-58918
Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing property -
KT-59113
Serialization: NPE at run time when accessing a delegating property of a deserialized object -
KT-57647
Serialization: "IllegalAccessError: Update to static final field" caused by serializable value class -
KT-57704
K2/serialization: false-positive SERIALIZER_NOT_FOUND when compiling against 1.7.20 binary with enum class -
KT-57083
K2/serialization: can't resolve serializers for classes from other modules -
KT-56480
K2: false-positive warning about incompatible serializer type when using type aliases -
KT-56594
K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive types -
KT-56553
Support 'serialization plugin intrinsics' feature in K2 -
KT-56244
kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
Tools. Daemon
-
KT-50846
Remove "new" Kotlin daemon from codebase
Tools. Gradle
New Features
-
KT-56971
Expose jvmTargetValidationMode property in KotlinCompile Gradle task -
KT-57159
Add project level compiler options for Kotlin/JVM plugin
Performance Improvements
-
KT-57052
Gradle: Stop using exceptions for flow control -
KT-57757
Reduce classpath snapshotter memory consumption -
KT-56052
Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilation
Fixes
-
KT-55624
Update KGP integration tests that use removed in Gradle 8 getClassifier method -
KT-59589
Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscript -
KT-59063
Explicit API mode broken in Kotlin 1.9.0-Beta -
KT-57653
Explicit API mode is not enabled when free compiler arguments are specified in Gradle project -
KT-59256
[1.9.0-Beta] ServiceLoader does not pick up classes defined in the same project -
KT-58662
Gradle 8.1 + Configuration Cache: custom values data is missing from build report -
KT-58280
org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath -
KT-59191
Actual compilation failure exception might be hidden in the case of a Kotlin daemon crash -
KT-56211
Improve Kotlin build reports -
KT-57767
Gradle: "ZipException: invalid entry size" with 1.8.20 -
KT-57736
K2: Introduce an easy way to try K2 compiler in Gradle user projects -
KT-59056
FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs options -
KT-55740
Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecated -
KT-37652
Support explicit mode for Android projects -
KT-58251
Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+ -
KT-57224
Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the code -
KT-58571
ExplicitApi mode should not apply for test compilations -
KT-42718
Test and AndroidTest sources should be excluded from explicit API requirements for libraries -
KT-58916
[1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative API -
KT-58869
K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2" -
KT-52811
Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin version -
KT-57330
Provide collection of usage statistics for the Dokka -
KT-57393
jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 value -
KT-58745
KaptGenerateStubs task should also be configured with the same compiler plugin options -
KT-58682
Explicit api mode does not apply in MPP projects -
KT-52976
Remove deprecated Gradle conventions usages -
KT-58530
Compiler plugin unbundling changes should be backward compatible with Kotlin plugin -
KT-36904
Adding folders to sourceSets.resources.srcDir() in Gradle script does not work -
KT-58313
An exception in console if no task is executed and file build reports are enabled -
KT-58619
Move all pm20 interfaces into Gradle plugin codebase -
KT-58320
Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itself -
KT-53923
Add 'progressive' compiler argument to Gradle compiler options -
KT-53924
Add 'optIn' compiler arguments to Gradle compiler options -
KT-53748
Remove KotlinCompile setClasspath/getClasspath methods -
KT-56454
Bump minimal support AGP version to 4.2.2 -
KT-57397
Add infrastructure to use the build-tools-api to run compilation from Gradle -
KT-56946
Switch incremental Gradle tests for K2 to use language version 2.0 -
KT-57782
Disable daemon fallback strategy for Gradle integration tests by default -
KT-57142
Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source files -
KT-54447
Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public API -
KT-49785
Avoid creating task output backups until really needed -
KT-56047
False positive message about full recompilation is displayed while restoring from build cache and then making a syntax error -
KT-56421
Gradle: plugin should not use BasePluginExtension deprecated properties -
KT-55241
Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazily -
KT-56357
Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactories -
KT-56352
Make build scan reports more readable -
KT-55972
Gradle: Add an assertion to all integration tests ifwarningMode
is notFAIL
, but the build doesn't produce any warnings
Tools. Gradle. Cocoapods
-
KT-38749
Support reusing generated C-interop between dependant pods -
KT-54161
Support adding extra code to generated Podfile from the Kotlin gradle plugin -
KT-56162
Provide granular Gradle warnings suppression for CocoaPodsIT
Tools. Gradle. JS
New Features
-
KT-48791
KJS: Support for Power(ppc64le) and Z(s390x) -
KT-32209
org.jetbrains.kotlin.js does not respect Gradle's archivesBaseName -
KT-52646
KJS / Gradle: make "KotlinCompilationNpmResolver already closed" a warning -
KT-52647
KJS / Gradle: Make "Projects must be configuring" a warning -
KT-56158
KJS: Support implementation dependencies
Fixes
-
KT-59604
Unresolved reference: useKarma in convention plugin -
KT-57604
JS, Space: Circular dependency between tasks -
KT-59116
K/JS npm dependcies are not resolved properly on Kotlin 1.9 -
KT-54731
KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrc -
KT-58970
browserTest gradle task fails if karma is used and gradle configuration cache is enabled -
KT-59004
Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module project -
KT-56458
KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated fromYarnImportedPackagesVersionResolver
-
KT-57985
K/JS:packageJson
Gradle configurations don't inherit unique attributes from JsTarget DSL -
KT-57817
JS: executables for couple of JS targets builds in the same directory -
KT-58199
K/JS: Remove useCoverage method -
KT-57116
KJS / Gradle:commonWebpackConfig
not applied if called afterbinaries.executable()
-
KT-58522
K/JS: Upgrade NPM dependency versions -
KT-57629
K/JS: Change default destination of JS production distribution -
KT-57480
K/JS: Use IR compiler by default without explicit choosing of js compiler -
KT-58345
K/JS: Webpack task skipped with ES modules because files have mjs extension -
KT-58071
KJS / Gradle:jsNodeTest
task is not incremental -
KT-43809
KJS: browserProductionExecutableDistributeResources tasks deletes distributions directory -
KT-56690
Kotlin2JsCompiler friendDependencies cannot be configured through friendPaths -
KT-57920
K/JS: Make imported NPM package not considering dev dependencies -
KT-56025
KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSync -
KT-57630
K/JS: webpack updating twice on one change of kt sources -
KT-47351
KJS / IR::jsTestPackageJson
is unable to find nested included builds under composite build -
KT-44754
K/JS:browserRun --continuous
keeps rebuilding without any changes -
KT-49774
KJS / Gradle: Errors during NPM dependencies resolution in parallel build lead to unfriendly error messages like "Projects must be closed" -
KT-57387
Remove support of webpack 4 -
KT-57386
Kotlin/JS upgrade npm dependencies -
KT-56705
KJS / Gradle: Module name starting with '@' isn't properly set when FUS is disabled -
KT-46428
KJS / IR: Composing build failed "Failed to create MD5 hash for package.json" -
KT-53687
Don't trigger npm and yarn related tasks if it not relevant for assemble -
KT-49915
KJS / Gradle: Gradle build cache miss because of absolute path inKotlinJsIrLink.filteredArgumentsMap
-
KT-56192
KJS: In browser testing no original sources in stacktrace -
KT-42395
Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept null -
KT-43305
Support Node.JS downloading for Ubuntu -
KT-48631
KJS: Unconditionally uses linux/x86 binaries -
KT-38015
NodeJS installation does not extract symlinks correctly (npm and npx)
Tools. Gradle. Multiplatform
New Features
-
KT-34662
Provide an option for Android targets to compile & runcommonTest
tests as unit tests only, instrumented tests only, or both -
KT-55881
Add possibility to enable/disable sources publication similar to Java Gradle Plugin API
Fixes
-
KT-59446
MPP: transformCommonMainDependenciesMetadata failing for api java dependency in shared jvm source set with Future was not completed yet -
KT-55751
MPP / Gradle: Consumable configurations must have unique attributes -
KT-57688
MPP:compileDebugKotlinAndroid
task fails with llegalArgumentException: 'moduleName' is null! -
KT-56210
Pass module structure to CLI of K2 if K2 enabled -
KT-57531
KotlinNativeLink: StackOverflowError when consuming library with dependency cycles (from constraints) -
KT-58281
Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by default -
KT-57903
Prepare for migration to the pluggable android target plugin -
KT-49933
Support Gradle Configuration caching with HMPP -
KTIJ-25644
KGP import: 'KotlinRunConfiguration' won't be able to infer correct runtime classpath -
KT-58661
KGP: KotlinJvmTarget: Implement 'run' carrier task -
KT-59055
KotlinJvmRun not respecting jvmToolchain setting -
KT-57959
Module-name value can't be changed for the android target of a multiplatform project -
KT-55506
TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source sets -
KTIJ-25732
Flaky: KotlinMultiplatformSmokeTests .testJvmAndNative -
KTIJ-25039
New import can add unresolved dependency as empty -
KT-57652
Don't expose sourcesElements for project2project dependencies -
KT-58601
Finalise "ExternalKotlinTargetApi" shape for initial 1.9 release -
KT-58710
External Target Api: Add API to control SourceSetTree -
KT-58488
Add a diagnostic message to KGP in case of val androidTest by getting usage -
KT-57482
cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0 -
KT-58062
Commonizer configuration cache not compatible with Gradle 8.1 -
KT-58086
Warn about using MPP libraries published in the legacy mode -
KTIJ-24254
KotlinProjectArtifactDependencyResolver returning too early -
KT-56439
TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurations -
KT-57023
Cryptic Gradle task descriptions for compile tasks -
KT-58470
Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source set -
KT-58466
K2 Gradle: non *.kt files are passed to -Xfragment-sources -
KT-58319
kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'" -
KT-51940
HMPP resolves configurations during configuration -
KT-58261
Link kotlin native binary framework tasks fails when configuration cache is enabled -
KT-41506
UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM target -
KT-58209
Do not use the term 'Module' in KotlinTargetHierarchy -
KT-56153
When the dependency is unresolved, import fails and don't import anything instead of degrading gracefully -
KT-56571
New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modules -
KTIJ-24552
TCS: KotlinMppGradleProjectResolverExtension: Add 'afterProjectResolved' API -
KTIJ-24368
Multiplatform;Composite Builds: prepareKotlinIdeaImport not executed on included builds -
KTIJ-24377
Multiplatform;Composite Builds: Unresolved symbols from a root project of included build -
KT-56712
Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class *MppDependencyProjectStructureMetadataExtractorFactory -
KT-56461
MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependencies -
KT-56841
MPP: Module-to-module dependencies don't work inside included build in included build -
KT-42748
Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properly -
KT-52356
MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android application -
KT-51293
Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source set -
KTIJ-24771
Multiplatform: Composite builds do not resolve in IDEA when rootProject.name != buildIdentifier.name -
KT-56700
V2 MPP Source Set layout warnings should include link to docs -
KT-55926
TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTarget -
KTIJ-24364
KotlinProjectArtifactDependencyResolver: Extend API to include information about 'requesting source set' -
KTIJ-24365
KotlinMPPGradleProjectResolver: Create extension points for other plugins (Android) -
KT-55730
MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
-
KT-58838
KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings) -
KT-57823
KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilations -
KT-57815
KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {} -
KT-57944
K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sources -
KT-53108
Expose Kotlin/Native compiler options as Gradle DSL -
KT-58063
Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1 -
KT-38317
Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flag -
KT-56280
Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Incremental Compile
-
KT-58289
IC fails to detect a change to class annotations -
KT-58986
New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)" -
KT-56197
If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental build -
KT-56886
K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successful
Tools. JPS
-
KTIJ-25384
JPS plugin: serialization plugin is not applied to modules -
KT-56438
Add minimal statistic report for JPS build -
KT-58314
kotlin-build-statistics is missing for kotlin-jps-plugin -
KT-55696
JPS IC K2 - fix new failing tests with Java interop -
KT-57102
SCE: DefaultErrorMessages$Extension: DefaultErrorMessagesWasm not a subtype after adding WASM error messages
Tools. Kapt
-
KT-54468
KAPT Gradle plugin causes eager task creation -
KT-59521
Kapt maven plugin require version of annotation processor -
KT-58301
K2: Compile Kotlin task failure for the generated by Kapt sources : 'Source NameOfTheGenerated.kt does not belong to any module -
KT-57598
K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0 -
KT-58226
KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructor
Tools. Maven
-
KTIJ-25445
Maven. JVM target is imported as 1.6 when no target specified in pom.xml
Tools. Parcelize
-
KT-59112
K2: "IllegalStateException: Function has no body with@Parcelize
" on nested sealed class hierarchies
Tools. Scripts
-
KT-58366
The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementation
Tools. Wasm
-
KT-56585
Change wasmBrowserRun Browser Executable to System Default -
KT-56159
Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm" -
KT-57203
Update Kotlin/Wasm to support Gradle 8
v1.8.22
: Kotlin 1.8.22
Changelog
Tools. Gradle
-
KT-58280
org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.8.22.zip | 91f50fe25c9edfb1e79ae1fe2ede85fa4728f7f4b0587644a4eee40252cdfaa6 |
kotlin-native-linux-x86_64-1.8.22.tar.gz | a1fb41fc010b347d5d9a5449ebb48ad200c59ec2a9121b01db5165db6697e58b |
kotlin-native-macos-x86_64-1.8.22.tar.gz | 0d6e6b12569a4b8ff2f301f827192dd715a29962cc01eed05557aa8e6eb7c20d |
kotlin-native-macos-aarch64-1.8.22.tar.gz | 29805af3220eab3c163ac54f02a6097436d4ddfa83eca7815eb053517093e417 |
kotlin-native-windows-x86_64-1.8.22.zip | 91b04aa9f3dc3d5968c75d8e7f163e542458867915777e995162864cc805b2e5 |
v1.8.21
: Kotlin 1.8.21
Changelog
Compiler
-
KT-57848
Native: compilation of dynamic/static library fails with Xcode 14.3 -
KT-57875
Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDA -
KT-57946
KAPT: "RuntimeException: No type for expression" with delegate
JavaScript
-
KT-57356
KJS: StackOverflowException on@JsExport
with type parameters referring to one another
Tools. Commonizer
-
KT-57796
NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20
Tools. Compiler plugins. Serialization
-
KT-58067
Serialization: NullPointerException caused by@Contextual
property with type with generic -
KT-57730
Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java type
Tools. Gradle. JS
-
KT-57766
KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules"
Tools. Kapt
-
KT-58027
Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"
Tools. Maven
-
KT-58048
Maven: "Too many source module declarations found" after upgrading to 1.8.20 -
KT-58101
'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.8.21.zip | 6e43c5569ad067492d04d92c28cdf8095673699d81ce460bd7270443297e8fd7 |
kotlin-native-linux-x86_64-1.8.21.tar.gz | 0fc854641dd6d88dce3cc044bb5bc99b9035480474e23541eff03771690c68cf |
kotlin-native-macos-x86_64-1.8.21.tar.gz | e73bfdac0461ee0c84f25e61063c243bf8d4eb8e0ff5da250456d6a23c677fd6 |
kotlin-native-macos-aarch64-1.8.21.tar.gz | 0a97957921ed55458f3e6cc9117643914ccf3663d8ad7eb161a4a03035a7521b |
kotlin-native-windows-x86_64-1.8.21.zip | f23d3288a47ee580f82f862d55452a75074fce3d26fe7e7f55e27b6015226d8d |
v1.8.20
: Kotlin 1.8.20
Changelog
Analysis API
-
KT-55510
K2: Lost designation for local classes -
KT-55191
AA: add an API to compare symbol pointers -
KT-55487
K2: symbol pointer restoring doesn't work for static members -
KT-55336
K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project -
KT-55098
AA: KtDeclarationRenderer should render a context receivers -
KT-51181
LL API: errors for SAM with suspend function from another module -
KT-50250
Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression -
KT-54360
KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FE1.0
-
KT-55825
AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter
Analysis API. FIR
-
KT-54311
K2: proper implementation of KtSymbolPointer -
KT-50238
Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
-
KT-52160
FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped -
KT-55566
LL FIR: Tests incompiler/testData/diagnostics/tests/testsWithJava17
fail under LL FIR -
KT-55339
LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type alias -
KT-55327
LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function test -
KT-54826
KtSymbolPointer: migrate from IdSignature to our own solution
Android
-
KT-54464
MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
-
KT-38924
Wasm support in nodejs -
KT-56160
Getting WebAssembly.CompileError in browsers not supported GC and other required proposals -
KT-46773
Implement an experimental version of the Kotlin/Wasm compiler backend -
KT-56584
K/Wasm: Can't link symbol class -
KT-56166
Fix compatibility with Firefox Nightly -
KT-55589
Basic support of WASI -
KT-53790
Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
-
KT-54535
Implement custom equals and hashCode for value classes in Kotlin/JVM -
KT-55949
Release experimental@Volatile
support in native -
KT-44698
Frontend (K2): print file name/line on compiler crash/exception -
KT-54666
K2: Allow to skip specifying type arguments for members from raw type scope -
KT-54524
Implement Java synthetic property references in compiler -
KT-54024
K2: support -Xlink-via-signatures mode
Performance Improvements
-
KT-33722
JVM: Result API causes unnecessary boxing -
KT-53330
Optimize for-loops and contains over open-ended ranges with until operator (..<
) for all backends -
KT-54415
JVM BE: performance loss related to multi-field inline class lowering -
KT-48759
Infix compareTo boxes inline classes -
KT-55033
Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function -
KT-54501
Improve code generation for inline classes with custom equals
Fixes
-
KT-56965
K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val] -
KT-56611
Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle -
KT-55251
Enum.entries compilation error should be more specific -
KT-56527
K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder -
KT-56526
InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20 -
KT-57388
Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property -
KT-53153
Synthetic Enum.entries can be shadowed by user-defined declarations -
KT-51290
"AssertionError: Parameter indices mismatch at context" with context receivers -
KT-57242
Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RC -
KT-57261
"IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instance -
KT-57107
Handling of Windows line endings CRLF broken in latest snapshot with K2 -
KT-57117
K2: Compiler reports invalid columns in diagnostics in case of crlf line endings -
KT-56500
The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDA -
KT-56258
VerifyError: Bad local variable type when using -Xdebug -
KT-54455
Unexpected result of equality comparison of inline class objects -
KT-56251
Generic Java synthetic property references don't work in K2 -
KT-55886
K2: Wrong code location mapping with Windows line endings -
KT-43296
FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic -
KT-57053
Problem around anonymous objects in inline functions -
KT-54950
NoSuchMethodError on calling 'addAll' on inline class implementing mutable list -
KT-56815
compileKotlin task is stuck with while(true) and suspend function -
KT-56847
Unresolved reference to Java annotation in Kotlin class with the same name packages -
KT-52459
Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses -
KT-56215
JVM: Object extension function nullable receiver null check false negative when object is null -
KT-56188
K/N: AssertionError when casting SAM wrapper with generic type parameter -
KT-56033
Restore 'isMostPreciseContravariantArgument' function signature for compatibility -
KT-56407
Backend Internal error: Exception during IR lowering during:daemon-common-new:compileKotlin
-
KT-55887
K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa -
KT-56701
K2 (with LightTree) reports syntax errors without additional information -
KT-56649
K2 uses 0-index for line numbers rather than 1-index -
KT-54807
K2. Support@OnlyInputTypes
diagnostic checks (contains
like calls) -
KT-51247
"AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional types -
KT-55436
K1: implement warning about shadowing of the derived property by the base class field -
KT-56521
Static scope initializers sometimes not called when first accessed from interop -
KT-49182
Strange cast from Unit to String -
KT-55288
False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier -
KT-33132
Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass -
KT-56061
K1 does not report error on inconsistent synthetic property assignment -
KT-55483
K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory -
KT-55125
Difference in generated bytecode for open suspend functions of generic classes -
KT-54140
SOE atIrBasedDescriptorsKt.makeKotlinType
with mixing recursive definitely not nullable type with nullability -
KT-56224
Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodies -
KT-54662
K2: Assign operator ambiguity on synthetic property from java -
KT-54507
K2: WrongimplicitModality
for interface inFirHelpers
-
KT-55912
"UnsupportedOperationException: Unsupported const element type kotlin.Any" caused bykotlin
fqn in annotation -
KT-56018
[K2/N] Fir2Ir does not take value parameters annotations from FIR to IR -
KT-56091
[K2/N] Fix various property annotations -
KT-54209
K2: false positive deprecation on a class literal with deprecated companion -
KT-55977
[K2/N] Suspend function reference type is wrongly serialized to klib -
KT-55493
K2: False-negative VAL_REASSIGNMENT -
KT-55372
K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent class -
KT-55371
K2: compiled code fails trying to call static method of package-private Java grandparent class -
KT-55408
K2: can't access indirectly inherited from a package-private class Java members through a type alias -
KT-55116
K2: store static qualifiers in dispatch receiver field -
KT-55996
K2: cannot switch the light tree mode off with -Xuse-fir-lt=false -
KT-55368
K2/MPP: Metadata compiler -
KT-54305
K1: implement warning "synthetic setter projected out" -
KT-52027
"NullPointerException" when using context receivers with inline fun -
KT-55984
Stack allocated array is not cleaned between loop iterations -
KT-52593
Provide Alpha support for JS in the K2 platform -
KT-54656
NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameter -
KT-56015
Remove unnecessary stack traces for special checks for ObjC interop -
KT-55606
K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another class -
KT-53884
K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this class -
KT-54502
Synthetic extensions on raw types work differently from regular getter calls -
KT-49351
FIR: Raw type scopes are unsupported -
KT-49345
FIR: Properly support raw types in type parameter upper bounds -
KT-55733
K2. Reference resolve works incorrectly for classes declared through typealias -
KT-46369
FIR: Investigate raw types for arrays -
KT-41794
[FIR] Implement raw type based scope -
KT-55181
K2. No compilation error on throwing not throwable -
KT-55398
Kotlin inline nested inline lambda's inline variable will inline not correctly -
KT-55359
K2. No error when secondary constructor does not delegate to primary one -
KT-55759
K2: Unresolved reference ofserializer
if library linking is used (with kotlinx.serialization plugin) -
KT-54705
Kotlin scripting doesn't support files with UTF-8 BOM -
KT-51753
FIR: various errors due to expect/actual mapping absence in translator -
KT-44515
FIR DFA: extract non-null info from anonymous object's initialization -
KT-55018
K2 / serialization: FIR2IR fails on local companion -
KT-55284
Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...) -
KT-55693
K2. Type inference changed in k2 -
KT-54742
K2: lambda with conditional barereturn
inferred to return Any, not Unit -
KT-54332
Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404 -
KT-55509
Invisible fake overrides are listed among lazy IR class members -
KT-55597
K2.This type has a constructor, and thus must be initialized here
error is missed for anonymous object inherits class with no-arg constructor -
KT-54357
"ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver" with anonymous object extending a class with a context receiver -
KT-51397
"VerifyError: Bad type on operand stack" with context receivers -
KT-54905
KLIB check on compiled with pre-release version -
KT-55615
K2 often does not expand type aliases in annotation position -
KT-54522
K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList type -
KT-54300
K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous object -
KT-55495
K2: support lateinit intrinsic applicability checker -
KT-55494
MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already exists -
KT-54980
K2: Explicit type arguments in calls with the wrong number of type arguments are not resolved -
KT-54730
K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parameters -
KT-55611
IC / MPP: Optional internal annotations are not visible on incremental builds -
KT-55324
K2: ControlFlowGraphBuilder fails with index out of bounds exception -
KT-55656
K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtime -
KT-51277
"NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projection -
KT-52791
Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file" -
KT-55071
Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functions -
KT-52193
Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source set -
KT-54573
K2: untouched implicit types in delegated constructor call of data class with@JvmRecord
-
KT-55037
Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3 -
KT-48989
JVM / IR: "IllegalStateException: Bad exception handler end" when first parameter of inline function is nullable with "try/catch/finally" default value and second parameter tries to call toString() on the first -
KT-55231
K2: Contract declarations are not passed to checkers -
KT-54411
False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines code -
KT-55005
Inconsistent behavior of array set operation in Kotlin 1.7.21 -
KT-44625
Property backing/delegate field annotations are not serialized/deserialized for non-JVM targets -
KT-42490
Receiver annotations are not serialized/deserialized for non-JVM targets -
KT-53441
K2: cannot access static method of package-private Java grandparent class -
KT-54197
[K2] Exception from inliner for inline function with context receiver -
KT-55246
Disable 'CustomEqualsInValueClasses' feature in 1.9 language version -
KT-55247
Disable 'InlineLateinit' feature in 1.9 language version -
KT-53957
K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receivers -
KT-55421
K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbol -
KT-52815
Compiler option -Xjdk-release fails to compile mixed projects -
KT-52236
Different modality in psi and fir -
KT-54921
K2: cannot access static field of package-private Java parent class -
KT-53698
K2: FIR2IR fails on call of inivisble extension function with Suppress -
KT-53920
K2: "NoSuchElementException: Keyorg.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab
is missing in the map" with unreachable code and anonymous object -
KT-55358
INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functions -
KT-51475
"ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contract -
KT-51951
"IllegalStateException: No receiver" caused by implicit invoke on typealias context receiver -
KT-52373
Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is included -
KT-54220
K2: compiler fails on compiling plus expression on unsigned int -
KT-54692
K2: compiler fails on compiling unsigned shifts -
KT-54824
K2: missing smartcast after two levels of aliasing and a reassignment -
KT-53368
Out of bounds read in sse version of String::hashCode -
KT-54978
K2: Property accesses with explicit type arguments pass frontend checkers -
KT-51863
ClassCastException when using context receivers with named argument. -
KT-55123
JvmSerializableLambda is not applicable in common code in multiplatform projects -
KT-45970
Missing deprecation warnings for constant operators calls in property initializers -
KT-54851
K2: analysis of as/is contains multiple errors that result in missing diagnostics -
KT-54668
K2: Inference error in body of lazy property with elvis with Nothing in RHS -
KT-55269
FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClass -
KT-55026
K2: Function hides internal constructor from another module -
KT-53070
Update intellij testdata fixes for FIR and merge it to master -
KT-53492
No parameter null check generated for constructor taking an inline class type -
KT-50489
Smart cast may lead to failing inference -
KT-55160
Kotlin's fragment element types must not extendIStubFileElementType
-
KT-55143
K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classes -
KT-47933
Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.Repeatable -
KT-55035
FIR: do not use FirValueParameter for FirFunctionalTypeRef -
KT-55095
Wrong containingDeclarationSymbol in type parameter from Enhancement -
KT-53946
K2: don't resolve Enum.declaringClass and Enum.getDeclaringClass -
KT-54673
K2. "Superclass is not accessible" from interface error for sealed interfaces -
KT-55074
OptIn false negative: constructor call with default argument value -
KT-54260
K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen plugin -
KT-55034
FIR: provide information about containing function/constructor to FirValueParameter -
KT-54744
K2: reassigning a var erases smartcast info of a variable derived from the old value -
KT-53988
K2: False negative "The expression cannot be a selector (occur after a dot)" -
KT-53983
K2 crashes with NPE when 'this' is used inside enum class constructor -
KT-54910
Can not declare typed equals operator in inline class with "Nothing" return type -
KT-54909
Usage of custom typed equals operator in generic inline class is type-unsafe -
KT-53371
Properly resolve FIR to get fully resolved annotations -
KT-53519
FIR: argument mapping for annotations on value parameter is not properly built -
KT-54827
MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation ofandroidMain
target -
KT-54417
K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver type -
KT-54972
K2: Local functions with multiple type arguments are broken -
KT-54762
Private constructor is accessible from a public inline function via@PublishedAPI
annotation -
KT-54832
Deprecate incorrect callable references resolution behavior for KT-54316 -
KT-54732
DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64 -
KT-54897
K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another module -
KT-54784
NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scripts -
KT-54840
Field for const property on interface companion object loses deprecated status when copied to interface -
KT-53825
class files are generated when compilation fails with platform declaration clash -
KT-54526
K2: Raw type scope is lost after exiting from elvis -
KT-54570
K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw types -
KT-52157
Annotation on type parameter isn't present in the symbol loaded from the library -
KT-54318
VerifyError on{ null }
in catch block -
KT-54654
K2: Implicit types leaks into delegated member -
KT-54645
K2: Clash of two inherited classes with the same name -
KT-53255
[FIR2IR] StackOverflowError with long when-expression conditions -
KT-48861
No warning on incorrect usage of array type annotated as Nullable in Java -
KT-54539
@Deprecated
on members of private companion object is no longer needed -
KT-54403
Unexpected behaviour on overridden typed equals in inline class -
KT-54536
Unexpected result of comparison of inline class instances -
KT-54603
ClassCastException on comparison of inline classes with custom equals -
KT-54401
Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing' -
KT-54378
K2: smart cast breaks subtyping in case with complex projections -
KT-53761
Reified type not propagated to supertype token through two inline functions -
KT-53876
Manually instantiated annotations with unsigned arrays are not equal -
KT-51740
NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting range -
KT-54084
ClassCastException when trying to call a context receiver's method -
KT-51282
IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using@JvmMultifileClasses
-
KT-53479
False positive "Cannot access 'runCatching' before superclass constructor has been called" -
KT-50950
JVM IR: "AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION" when using bound reference to suspend SAM function -
KT-49364
"VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to Int -
KT-51478
Inapplicable receiver diagnostic expected when there are two context receiver candidates
Docs & Examples
-
KT-32469
@Synchronized
on extension method doesn't generate instance lock
IDE
New Features
-
KTIJ-24378
Update Kotlin plugin to 1.8.0 in IDEA 223.2
Performance Improvements
-
KT-55445
KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE
Fixes
-
KTIJ-24657
Disable pre-release and other metadata checks in IDE -
KT-55929
Unresolved dependencies for intermediate multiplatform SourceSets -
KTIJ-24179
Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2 -
KTIJ-23547
K2 IDE: Functional type: explicit parameter name VS ParameterName annotation -
KTIJ-23347
K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in tests -
KT-55862
Can't resolve kotlin-stdlib-js sources in IDE -
KTIJ-23587
K2: SOE in delegate field resolution -
KT-55782
[SLC] Typealiases are not exapnded in arguments of annotations -
KT-55778
[SLC] Incorrect determination of useSitePostion for types of local declarations -
KT-55780
[SLC] No approximation of anonymous and local types in members -
KT-55743
K2 SLC: SymbolLightClassForClassOrObject must have a name -
KT-55604
Descriptor leak -
KT-55502
SLC: drop redundant 'final' modifier from synthetic static enum members -
KT-55497
LC: drop@NotNull
annotation from parameter from synthetic Enum.valueOf -
KT-55496
SLC: generated synthetic enum methods by symbols instead of manual creation -
KT-55481
SLC: implement correct java annotations for annotation classes (Retention, Target, etc.) -
KT-55470
SLC: implement light class for RepeatableContainer -
KT-55442
SLC: 'isInheritor' for 'DefaultImpls' should work correctly -
KTIJ-23449
K2: "parent must not be null" from SymbolLightClassBase.getContext() -
KT-40609
IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with Throws -
KT-54051
Migrate symbol light classes from KtSymbol to KtElement
IDE. Completion
-
KTIJ-22503
Support code completion for data objects -
KTIJ-22361
ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl ” on K2
IDE. Debugger
-
KTIJ-24259
Debugger is stuck in an infinite loop in an Android project -
KTIJ-24003
Smart step into doesn't work for Java synthetic properties references -
KTIJ-24039
Support smart step into for property setters
IDE. Decompiler, Indexing, Stubs
-
KTIJ-24351
Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal
IDE. Gradle Integration
-
KTIJ-24616
Gradle Integration: "NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets" during sync fail after updating Kotlin IJ Plugin to 1.8.20-Beta -
KT-55347
Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialised -
KTIJ-23781
TCS: Gradle Sync: Support friend&dependsOn via IdeaKotlinSourceDependency
IDE. Gradle. Script
-
KT-56941
Gradle KTS / Navigation: Go to declaration for Java types doesn't work
IDE. Inspections and Intentions
-
KTIJ-23404
K2 IDE. Platform type is inserted as type parameter for "Change return type" intention -
KTIJ-24319
"Set module version to *" quickfix isn't working -
KTIJ-23225
"Change package" intention unintentionally and intractably replaces text inside of critical strings and comments -
KTIJ-23892
UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9 -
KTIJ-22087
Support IDE inspections for upcoming data objects -
KTIJ-24286
Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.String -
KTIJ-23859
ConvertObjectToDataObjectInspection support more hashCode and toString cases -
KTIJ-23760
Get rid ofreadResolve
logic in ConvertObjectToDataObjectInspection
IDE. KDoc
-
KTIJ-24342
KDoc: First line break character is swallowed when pasted
IDE. Misc
-
KTIJ-24370
Remove link to k2.xml from plugin.xml in kt-223 branches -
KTIJ-24210
Compatibility issue with the CUBA plugin
IDE. Multiplatform
-
KTIJ-21205
MPP: Kotlin not configured error is shown for K/N sources if Android target is presented -
KT-52172
Multiplatform: Support composite builds -
KT-56198
Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm build -
KTIJ-24147
MPP: NullPointerException: versionString must not be null
IDE. Refactorings. Move
-
KTIJ-24243
Move declarations: "Search in comments and strings" and "Search for text occurrences" options are always enabled when files are moved
IDE. Script
-
KT-56632
Script configuration cannot be loaded for embedded code snippets
IDE. Wizards
-
KTIJ-24562
Android target created by wizard contains AGP higher than supported -
KTIJ-24402
Changes "Browser Application for Kotlin/Wasm" wizard template -
KTIJ-23525
Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
JavaScript
New Features
-
KT-54118
Kotlin/JS IR: keep declarations with non-minified names -
KT-35655
Investigate could we use "names" field in SourceMaps to improve debug experience
Fixes
-
KT-55971
KJS: Result of suspend function cannot be assigned to property of dynamic value -
KT-52374
KJS / IR: caling suspend function as dynamic ignores the rest of the expression -
KT-56884
KJS: "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier." caused by enum and array inside the companion object -
KT-51122
Provide fully-qualified method name in Kotlin/JS source maps -
KT-56602
KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-Beta -
KT-56580
KJS: languageVersionSettings string is unstable -
KT-56581
KJS: Lock file for incremental cache -
KT-56582
KJS: Function type interface reflection crashes the compiler in incremental build -
KT-55720
KJS:ReferenceError: SuspendFunction1 is not defined
with 1.8 when importingkotlin.coroutines.SuspendFunction1
-
KT-56469
KJS: BE Incremental rebuild spoils source map comment -
KT-55930
KJS: A recursive callable reference of the inline function leads broken cross module references -
KT-31888
Kotlin/JS: make possible to callmain()
in main run tasks, but not in test tasks -
KT-51581
FIR: support JS backend -
KT-55786
KJS: Rewriting of secondary constructors if they are protected -
KT-52563
KJS / IR: Invalid TypeScript generated for class extending base class with private constructor -
KT-55367
KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS code -
KT-55240
KJS: "NoSuchElementException: No element of given type found" caused by@JsExport
andThrowable's
child class -
KT-54398
KJS / IR + IC: Support *.d.ts generation -
KT-55144
KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a caller -
KT-54134
KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions around -
KT-54911
KJS / IR + IC: invalidate all klib dependencies after removing it -
KT-54912
KJS / IR + IC: Commit cache header only in the end (after lowering) -
KT-52677
Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke" -
KT-54480
KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as default -
KT-41294
KJS: Weird behaviour of j2v8 in test infra -
KT-54173
Kotlin/JS + IR: failed to providekeep
setting to avoid DCE remove of default interface function from implementing object
Language Design
-
KT-55451
Preview of lifting restriction on secondary constructor bodies for value classes -
KT-54621
Preview of Enum.entries: modern and performant replacement for Enum.values() -
KT-54525
Preview of Java synthetic property references -
KT-55337
Preview of data objects -
KT-55344
Deprecate@Synchronized
in platforms except JVM
Libraries
-
KT-35508
EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.) -
KT-56794
Libraries: "Recursively copying a directory into its subdirectory is prohibited" Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystem -
KT-55935
[Kotlin/JVM] Path.copyToRecursively does not work across file systems -
KT-55978
Provide Common Base64 encoding in stdlib -
KT-46211
[Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large input -
KT-31066
Add Closeable & use to common stdlib -
KT-55609
Introduce experimental kotlin.concurrent.Volatile annotation -
KT-39789
Segfault in Kotlin/Native regex interpreter -
KT-53310
Native: HashMap/HashSet doesn't reclaim storage after removing elements
Native
-
KT-56443
Native link task reports w: Cached libraries will not be used for optimized compilation -
KT-55938
[Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build
Native. C and ObjC Import
-
KT-55303
Objective-C import: improve-fmodules
flag discoverability. -
KT-39120
Cinterop tool doesn't support the -fmodules compiler argument -
KT-40426
Incorrect Objective-C extensions importing that prevents UIKit usage -
KT-55653
Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override it -
KT-54284
Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
-
KT-56350
Kotlin/Native: restore "use Foundation" in generated Objective-C frameworks -
KT-55736
Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point" -
KT-53638
Native: support disabling mangling globally for Swift names in generated Objective-C header -
KT-53069
SOE on K/N framework build for Arm64 -
KT-53317
ObjCName annotation is not applied to an extension receiver in Objective-C export
Native. Stdlib
-
KT-53064
Native: provide stdlib API to obtain memory management statistics
Reflection
-
KT-27585
Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessible -
KT-55178
Improve performance of KCallable.callBy -
KT-53279
Reflection: "KotlinReflectionInternalError: Method is not supported" caused by@Repeatable
annotation deserialization at runtime if it's repeated and contains arrays -
KT-44977
Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access
Tools. CLI
-
KT-57077
1.8.20-RC-243
shows Java 19 warnings even if configured with Java 17 toolchain -
KT-56992
Performance test regression in Gradle when switching to Kotlin 1.8.20 -
KT-56789
Metaspace memory leak in CoreJrtFileSystem -
KT-56925
Remove warning about assignment plugin -
KT-54652
Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disable -
KT-55784
Unable to format compilation errors with ansi colors in compilation server -
KT-54718
K2: Compiler crashes with "IllegalArgumentException: newPosition > limit" -
KT-54337
CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error
Tools. Commonizer
-
KT-47429
[Commonizer] OKIO support -
KT-51517
C Interop Commonizer Fails On Classifier That Doesn't Exist
Tools. Compiler Plugins
Fixes
-
KT-53590
K2 Allopen does not look for transitive meta-annotations -
KT-56487
Add more methods to DescriptorSerializerPlugin -
KT-54020
[K2] [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to@AllArgsConstructor
annotation and an empty list is set as a constructor param value -
KT-53096
Create a pack of compiler utilities for generating declarations from plugins -
KT-55248
K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classes -
KT-54756
Deprecate "legacy" mode of jvm-abi-gen plugin -
KT-55233
jvm-abi-gen strips out InnerClass attributes -
KT-54994
K2 plugin API: Compile-time constants are not evaluated before IR -
KT-55023
K2 plugin API: Compilation with Kotlin daemon fails after certain number of tries -
KT-55286
K2: Parcelize plugin sometimes can't find nested objects in current class -
KT-54500
Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen
Tools. Compiler plugins. Serialization
-
KT-56738
Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enum -
KT-56990
"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using@Serializer
and List argument -
KT-54441
Prohibit implicit serializer customization via companion object -
KT-49983
Implement prototype of kotlinx.serialization for K2 compiler -
KT-48733
"AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameter -
KT-54297
Regression in serializable classes with star projections
Tools. Gradle
New Features
-
KT-54691
Kotlin Gradle Plugin libraries alignment platform -
KT-54492
Send gradle build errors from idea -
KT-55540
Add compilation speed metric in build reports -
KT-55541
Validate FUS metrics values on Gradle side
Performance Improvements
-
KT-54836
Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+ -
KT-55995
Add ability to perform precise compilation task outputs backup -
KT-54579
Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11 -
KT-54588
KotlinCompile: Avoid callingFileCollection.getFiles()
multiple times
Fixes
-
KT-57296
Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied -
KT-56645
Gradle: KGP reports an incorrect resources processing task name for JVM projects -
KT-55824
DeprecatecommonMain.dependsOn(anything)
in user scripts -
KT-56221
Gradle KTS: False positiveVal cannot be reassigned
when using an extension and its property with an implicitset
operator -
KT-55452
Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task -
KT-55565
Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTask -
KT-55632
'The configuration :kotlinCompilerClasspath is both consumable and declarable' messages are displayed in logs for different types of projects for KotlinCompile task with gradle 8 -
KT-56414
Dependency locking and failed builds with Kotlin 1.8.10 -
KT-52625
Compatibility with Gradle 7.4 release -
KT-55544
Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgs -
KT-52149
Gradle: declare shared build services usages withTask#usesService
-
KT-55323
Gradle: allow to opt-out of reporting compiler arguments to a http statistics service -
KT-53811
Compatibility with Gradle 7.6 release -
KT-52998
Compatibility with Gradle 7.5 release -
KT-55741
Gradle 8: Build service '' is being used by task '' without the corresponding declaration via 'Task#usesService'. -
KT-55174
KotlinCompile task produces deprecation "Build service 'variant_impl_factories_...' is being used by task" -
KT-54425
Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage() -
KT-54998
"kotlin.gradle.performance" FUS collector reports data twice -
KT-55520
Add required configuration for Kotlin Gradle Plugin API reference publication -
KT-52963
Build report code breaks Gradle project isolation. -
KT-55164
KGP: "Cannot access project ':' from project ':list'" JVM - Project Isolation with Multi Modules and Configuration Cache fails -
KT-52490
Gradle: [org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warnings -
KT-55000
Include information about the new IC into "kotlin.gradle.performance" FUS collector -
KT-54941
Gradle, Daemon, MacOS M1: "Native integration is not available for Mac OS X aarch64" on first build -
KT-45748
Migrate all Kotlin Gradle plugin Android tests to new test setup -
KT-54029
Validate Binary Compatibility for kotlin-gradle-plugin-api
Tools. Gradle. Cocoapods
-
KT-41830
CocoaPods integration: Support link-only mode for pods -
KT-55117
PodGenTask doesn't declare ouputs properly -
KT-55243
Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root project -
KT-56304
Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic libraries -
KT-56298
Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle project -
KT-55801
Deprecate useLibraries -
KT-55790
Improper sdk selected for watchosDeviceArm64 target
Tools. Gradle. JS
New Features
-
KT-25878
Provide Option to Define Scoped NPM Package -
KT-37759
[Gradle, JS] Support arguments of command line for webpack and nodejs task -
KT-33518
Allow specifying command line args for node in nodejs or mocha tests -
KT-46163
KJS / Ktor: Support run on the next free port if default one is occupied
Performance Improvements
-
KT-55476
KotlinWebpack should be cacheable -
KT-39108
Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend plugin -
KT-45411
Investigate memory consumption in npm package -
KT-51376
KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies
Fixes
-
KT-57285
KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourceset -
KT-57068
KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-Beta -
KT-54445
KJS Remove dukat integration -
KT-56999
K/JS: KotlinJsIrLink::rootCacheDirectory property must be public -
KT-56765
K/JS: Several binaries use same cache directory -
KT-54529
KJS / IR: generate typescript definitions only on explicit Gradle action -
KT-56488
Debugger won't stop on breakpoints of JS browser test -
KT-56719
KJS / Gradle: Compile sync task has to sync only changed files -
KT-56131
KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is broken -
KT-37668
Kotlin/JS: nodeTest failure due to main() function fail is reported as "BUILD SUCCESSFUL" -
KT-35285
Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locations -
KT-55593
KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as@Deprecated
in 1.8 -
KT-33291
JS: No build result with gradle parallel build in multiproject build -
KT-40925
KJS: need a way to configure extra environment variables for the test task -
KT-47236
KJS:kotlinNpmInstall
fails if no yarn is downloaded -
KT-53288
KJS / Gradle: FileNotFoundException when customising moduleName -
KT-54511
Kotlin/JS generated package.json main field is not correctly set if module name contains a/
(slash) -
KT-54421
KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14 -
KT-54503
Make the target observer API public in kotlin JS Extension -
KT-54418
KJS: Change test running with kotlin-test adapter -
KT-54132
KJS IR: Sometimes karma failed on teamcity because of uninitialized browser
Tools. Gradle. Multiplatform
New Features
-
KT-54766
TCS: external Android Target APIs: Milestone: Compile -
KT-50967
Make c-interop libs resolve robust to build clean -
KT-53570
multiplatform 'natural hierarchy' prototype
Fixes
-
KT-36943
Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jar -
KT-57460
Kotlin Gradle Plugin: Nullthis
pointer in transformCommonMainDependenciesMetadata -
KT-57306
[Kotlin 1.8.20-RC] GradleException: Could not load the value of fieldapiConfiguration
oforg.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer
-
KTIJ-23750
KotlinMppModelSerializationService is not invoked in production environment -
KTIJ-24223
Update latest tested KGP version to 1.9.0-dev-764 -
KT-56536
Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.name -
KTIJ-23889
TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependencies -
KT-56729
commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3 -
KT-56510
Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistribution -
KT-54180
TCS: Initial external Android Target APIs -
KT-55010
TCS: External Android Target Prototype: Setup Android dependencies -
KT-54783
KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilations -
KT-54867
KotlinWithJavaCompilation does not respect javaSourceSet classpaths -
KT-52413
MPP: Gradle dependency substitution breaks KMP import for native targets -
KT-56115
Multiplatform;Composite Builds: Support import with cinterop commonization enabled -
KT-54312
TCS: Replace CompilationDetails abstract class hierarchy by composable implementation -
KT-47441
MPP: Unresolved reference for dependent on the other module with dependencySubstitution -
KT-56429
Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folder -
KT-56337
Unable to import a project with cinterop with enableKgpDependencyResolution -
KT-55873
Unrequested dependencies leaking into common source sets: Regression after703fd0f
-
KT-55891
Deprecate pre-HMPP flags -
KT-56278
TCS: Gradle Sync: [MISSING_DEPENDENCY_CLASS] on libraries used in shared native source sets -
KT-56143
CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on target -
KT-56285
TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolution -
KT-56204
KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefix -
KT-56111
Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is required -
KT-54974
TCS: Gradle Sync: Implement IdeKotlinDependencyResolvers -
KT-38712
Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is Turkish -
KT-54975
TCS: Gradle Sync: Implement stdlib-common filter for platform source sets -
KT-48839
Sources.jar of the root artifact of MPP library includes source files from test sourcesets -
KT-55492
TCS: Gradle Sync: Sources and Documentation as extra 'classpath' -
KT-55237
TCS: Gradle Sync: Support stdlib-native sources -
KT-55475
TCS: Gradle Sync: Fine tune jvmAndAndroid source sets -
KT-55189
TCS: Gradle Sync: Support icons (native, js) and global libraries -
KT-55218
KotlinTargetHierarchy: Disambiguate declaring targets vs including targets -
KT-55112
TCS: Gradle Sync: Resolve Source Dependencies -
KT-54977
TCS: Gradle Sync: Implement debugging tools -
KT-54948
TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCS -
KT-55289
TCS: Gradle Sync: Prototypical sources jar resolution -
KT-55238
TCS: Gradle Sync: Support commonized native distribution -
KT-55230
Remove metadata dependencies transformation for runtimeOnly scope -
KT-53338
Prettify the message about incompatible AGP and KGP versions -
KT-55134
MPP / Gradle: Cannot read test tasks state -
KT-54506
Test tasks are considered up-to-date after a failure when triggered byallTests
-
KTIJ-23509
Update latest tested KGP version to 1.8.20-dev-1815 -
KT-54787
Test tasks are not up-to-date when an individual test task called after aggregating test task -
KT-54033
Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP Apis -
KT-54202
CInterop Commonization fails on first run when native distribution is not yet commonizied -
KT-54135
Add documentation with examples to CompositeMetadataArtifact
Tools. Gradle. Native
-
KT-37051
MPP Gradle plugin: duplicated cinterop libraries in composite build -
KT-55650
Pass through errors from Gradle to Xcode -
KT-56205
Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibs -
KT-54969
Support podspec generation for the new K/N artifact DSL
Tools. Incremental Compile
-
KT-55021
New IC: "The following LookupSymbols are not yet converted to programSymbols" when removing/renaming file facades -
KTIJ-21161
Incremental build is taking too long when no files have changed in the project -
KT-53832
Enable new incremental compilation by default in Gradle -
KT-55622
MPP: Incremental compilation ignores changes in source set structure -
KT-55309
IC: Get rid ofNonCachingLazyStorage
-
KT-53402
Incremental compilation tries to compile resources -
KT-54791
Incremental compilation in JPS broken in 1.8.20-dev-1815
Tools. JPS
-
KT-56165
Language version 1.9 and 2.0 is absent in Kotlin Compiler settings -
KT-51536
[JPS] Recompile module on facet settings change -
KT-53735
JPS / IC: "IOException: The system cannot find the file specified" on Windows -
KT-47983
[JPS] Adding compilerSettings to Facet should initiate rebuild of module -
KT-54449
Cyrillic characters in a filename break builds on linux
Tools. Kapt
New Features
-
KT-53135
Enable JVM IR for KAPT stub generation by default -
KT-41129
kotlin-maven-plugin + kapt - allow aptMode to be set according to docs
Fixes
-
KT-56635
KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-Beta -
KT-56360
Kapt with JVM IR changes fields order -
KT-54380
Kapt / IR: Build failed when inheritance by functional interface with suspend modifier -
KT-54245
JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.kt -
KT-33847
Kapt does not included Filer-generated class files on compilation classpath -
KT-55490
Kapt + JVM IR: "annotation@Foo
is missing default values" -
KT-43786
KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScope -
KT-43117
Kapt: "System is already defined in this compilation unit" -
KT-46966
Kapt: correctErrorTypes: receiver type is NonExistentClass -
KT-46965
Kapt: correctErrorTypes: custom setter gets Object parameter type -
KT-51087
KAPT:@JvmRepeatable
annotations are present in inverse order in KAPT stubs -
KT-54870
KAPT stub generation with JVM_IR backend throws exception for delegated properties -
KT-44350
Kapt Gradle integration tests failing with Android Gradle plugin 7.0 -
KT-54030
Kapt: annotation processor warnings are displayed as errors on JDK 17+ -
KT-32596
kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation -
KT-37586
KAPT: When delegated property use an unknown type (to-be-generated class),correctTypeError
will mess up the$delegate
field type
Tools. Maven
-
KT-56697
IC: "Incremental compilation was attempted but failed" Failed to get changed files: java.io.IOException: readPrevChunkAddress -
KT-55709
Maven: "java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible" -
KT-29346
Add components.xml to automatically compile kotlin maven projects -
KT-13995
Maven: Kotlin compiler plugin should respect model's compile source roots -
KT-54822
Maven: Too low-level error message "Parameter specified as non-null is null: method kotlin.text.StringsKt__StringsJVMKt.startsWith, parameter " from Kotlin Maven plugin invoking compiler when tags are empty -
KT-47110
Disable jdk8-specific warnings in kotlin-maven-plugin
Tools. Scripts
-
KT-54095
It is difficult (if not impossible) to use kotlin compiler plugins with scripting -
KT-54461
Warnings and stack traces when executing scripts via kotlin-maven-plugin -
KT-54733
Scripts: ConcurrentModificationException in *.main.kts scripts -
KT-53283
Scripts: main-kts JAR does not relocate embedded SLF4J and jsoup libraries
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.8.20.zip | 10df74c3c6e2eafd4c7a5572352d37cbe41774996e42de627023cb4c82b50ae4 |
kotlin-native-linux-x86_64-1.8.20.tar.gz | 43d3f2149c4862b9b3ebf84a0f26912f2a587082d2858747564ffeafd2534438 |
kotlin-native-macos-x86_64-1.8.20.tar.gz | e39e801eb8ae2e86a8fe0b5ee32535bf176fd284b6f6883a431cafbb27684055 |
kotlin-native-macos-aarch64-1.8.20.tar.gz | becc0f4367ae8854f33546efff40767cc2cb227da0cd7935a9a6784e9a2736d2 |
kotlin-native-windows-x86_64-1.8.20.zip | 5e25ef348e9eab9895f63047a3857b428dc977e81d22771a69d712500d7cf60a |
v1.8.10
: Kotlin 1.8.10
Changelog
Compiler
-
KT-55483
K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory -
KT-55729
"None of the following functions can be called with the arguments supplied:" in 1.8.0 -
KT-55769
"ERROR: Could not find accessor": Android DataBinding fails with Kotlin 1.8.0 -
KT-55308
InnerClass attributes should be sorted (innermost last)
JavaScript
-
KT-56282
KJS: Invalidate incremental cache in case of compiler internal errors -
KT-55852
JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type -
KT-55716
KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0 -
KT-55758
KJS / IR: Checking implemented interface on a class implementing a @JsExport interface returns the wrong result
Reflection
-
KT-56093
Metaspace leak in a Gradle plugin built with Kotlin 1.8.0
Tools. Compiler plugins. Serialization
-
KT-56347
[Kotlin 1.8] Regression kotlinx.serialization compiler plugin internal error -
KT-55681
Serialization: NullPointerException after update to 1.8.0 caused by@Serializer(forClass= ..)
-
KT-56244
kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0 -
KT-55683
Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object -
KT-55682
Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0
Tools. Gradle
-
KT-55697
KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath
Tools. Gradle. Multiplatform
-
KT-55730
MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
-
KT-56280
Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Kapt
-
KT-48013
Kapt generates illegal stubs for private interface methods
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.8.10.zip | 4c3fa7bc1bb9ef3058a2319d8bcc3b7196079f88e92fdcd8d304a46f4b6b5787 |
kotlin-native-linux-x86_64-1.8.10.tar.gz | 4c5c8a82a63a3a9845be2514d536ca407340db7fc558b97c43ed003f866a9742 |
kotlin-native-macos-x86_64-1.8.10.tar.gz | 52ea7cf2dfaae058fc00fc4e00ec89fefe5a7e4c83abeadb7531cc9346ff18db |
kotlin-native-macos-aarch64-1.8.10.tar.gz | 08cef514e9d582b0e7bcf3f592dd853270b535a4b765555db97381aeb8c92a85 |
kotlin-native-windows-x86_64-1.8.10.zip | e8b9a04f0df3cdec6fa360a6781723fc8551e93c70dfd1aaffbd282b7cddc19d |
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
Edited by Andrew Stuart