fix(deps): update dependency org.jetbrains.kotlin:kotlin-test-junit to v1.9.10
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| org.jetbrains.kotlin:kotlin-test-junit (source) | dependencies | minor |
1.6.10 -> 1.9.10
|
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-test-junit)
v1.9.10: Kotlin 1.9.10
Changelog
Compiler
-
KT-60769Partially revert KT-58371 -
KT-60659Incorrect 'unresolved reference: addFirst' error with JDK 21 -
KT-60371Native custom allocator link error -
KT-60986Native: static caches with custom runtime options are broken on Linux -
KT-60770Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21 -
KT-60231NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$$$$$ after upgrade to Kotlin 1.9.0
JavaScript
-
KT-60785KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error -
KT-60852Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0 -
KT-57509KJS: Compiler generates native JS operator == for comparing values with Any type
Native
-
KT-60230Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3 -
KT-60758Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4
Native. C and ObjC Import
-
KT-59167Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1
Tools. Gradle
-
KT-61147Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of Gson -
KT-60543NoClassDefFoundError 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-57930Analysis API: provide an API for extending Kotlin resolution -
KT-57636K2: Add the return type of K2 reference shortener AAShortenCommand::invokeShortening()e.g.,ShorteningResultInfoto allow callers to access the shortening result PSI
Fixes
-
KT-58249Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful -
KT-55626Impossible to restore symbol by psi from script file -
KT-57314LL FIR: CombineLLFirProvider$SymbolProviders in session dependencies (optimization) -
KT-55527K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately -
KT-55329LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declaration -
KT-50732LL API: fix compiler based tests -
KT-57850K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbol -
KT-56543LL FIR: rework lazy transformers so transformers modify only declarations they suppose to -
KT-56721K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive update -
KT-50253Analysis API: Solve issues with ProcessCancelledException -
KT-56800K2 IDE: optimize deprecation calculation for symbols -
KT-55006Analysis API does not transform Java type refs for callable symbol return types -
KT-57256AA FIR: Reduce lazy resolve phase for deprecation status -
KT-57619K2: CFG for class initializer is not correctly built in reversed resolve mode -
KT-58141K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside type -
KT-57462Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing field -
KT-54864Analysis API: add function to get expect KtSymbol list by actual KtSymbol -
KT-56763Analysis API:.KtSourceModuleImpl is missing in the map.on symbol restore when symbol cannot be seen from the use-site module -
KT-56617Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbol -
KT-54430K2: .getAllOverriddenSymbols() returns invalid results
Backend. Native. Debug
-
KT-55440Kotlin/Native debugger: inline function parameters are not visible during debugging
Backend. Wasm
-
KT-58293Wasm: ReferenceError: e is not defined in kotlin.test.jsThrow -
KT-58931Wasm tests are failing to start on Kotlin 1.9.0-Beta -
KT-58188Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameter -
KT-57136K/Wasm: Restrict non-external types in JS interop -
KT-57060Clarify the lack of support for dynamic in Kotlin/Wasm -
KT-56955K/Wasm: Support restricted version of K/JSjs(code) -
KT-57276Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm support -
KT-56976K/Wasm bug with calling override of external function with default parameters
Compiler
New Features
-
KT-55333Allow secondary constructors in value classes with bodies -
KT-54944@Volatilesupport in native -
KT-54746Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modes -
KT-47902Do not propagate method deprecation through overrides -
KT-29378K2: rework warnings/errors for equality/identity operators on incompatible types -
KT-57477False-positive overload resolution ambiguity in case of lambda without arguments -
KT-57010Kotlin/Native: make it possible to compile bitcode in a separate compiler invocation -
KT-55691K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds) -
KT-46288Unexpected behavior of extension function on lambda with suspend receiver -
KT-24779Inconsistent smart cast behavior for bound data flow values
Performance Improvements
-
KT-23397Optimize out field for property delegate when it's safe (JVM) -
KT-56906FIR: Use cached instance of FirImplicitTypeRefImpl in FIR builders -
KT-56276LanguageVersion.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-55217K2: support callable reference conversions on top-level expressions -
KT-57232K2: 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-58837Partial linkage fails to report any compiler message on Windows when launched through Gradle plugin -
KT-57602K2: Rework member scope of types having projection arguments for covariant parameters -
KT-55171Put new contracts syntax under a feature flag -
KT-58719K2: 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-57510K2: Data class equals/hashCode/toString methods are not written to Klib metadata -
KT-56331K2: compiler backend crash on usage of expected function with default arguments -
KT-53846K2 / Context receivers: ClassCastException on secondary constructor of class with context receiver -
KT-58621K2: Private class shadows public function defined in the same package -
KT-59102K2: constant evaluator does not provide Long type on shl -
KT-59066[K2] delegation leads to "IllegalStateException: Expected some types" -
KT-56074K2: build Space JVM (snapshot 2022.3) -
KT-58787KAPT: "NullPointerException: null cannot be cast to non-null type" with delegate -
KT-57022K2 IllegalStateException in signature computation -
KT-56792K2: build kotlinpoet -
KT-57373K2: FIR properties synthesized when implementing interface by delegation don't have accessors -
KT-56583K1: Implement opt-in for integer cinterop conversions -
KT-59030[PL] Workaround for broken@Deprecatedannotations in c-interop KLIBs -
KT-58618K2: Local property delegates cannot infer generic return type -
KT-36770Prohibit unsafe calls with expected@NotNullT and given Kotlin generic parameter with nullable bound -
KT-56739K2: build Space iOS -
KT-57131K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputer -
KT-58137K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module -
KT-58897K2: False positive unresolved reference with same-named enum class and its entry -
KT-40903Forbid actual member in expect class -
KT-30905Expect var property with default public setter matches with actual var property with private setter -
KT-56172K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE error -
KT-56171Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE error -
KT-27261Contracts for infix functions don't work (for receivers and parameters) -
KT-56927Enum with secondary constructor can't be compiled with K2 using JS/Native backend -
KT-53568Partial linkage: absent class as type parameter bound causes failure ofcompileProductionExecutableKotlinJs -
KT-53608Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now private -
KT-53663Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend instead -
KT-56013K2. a set of errors about local properties are missing -
KT-53939Partial linkage: with turning object into class linkNative and jsTest tasks fail -
KT-53938Partial linkage: with turning interface into class and using as second parent Native build fails -
KT-53941Partial linkage: with turning class into object accessing member via parameterless constructor does not fail -
KT-53970Partial linkage: on turning nested class into inner JS tasks are successful, Native build fails -
KT-53971Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript fails -
KT-53972Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backend -
KT-54045Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized" -
KT-54046Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered" -
KT-53887Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateException -
KT-54047Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file" -
KT-54048Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner() -
KT-53995Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successful -
KT-43527@ExtensionFunctionTypeis allowed on function types with no parameters and leads to backend exception -
KT-55316K2. IllegalStateException on incorrect import directive name -
KT-57570Remove source code excerpts from platform type nullability assertion exceptions -
KT-56073K2: build Exposed -
KT-47932Report errors on cycles in annotation parameter types -
KT-38871Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated property -
KT-46344No error for a super class constructor call on a function interface in supertypes list -
KT-56609K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and@Nullableannotation Java parameter -
KT-56656K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotations -
KT-58332K2: local fun with suspend type is not marked as suspend in IR -
KT-57991K2: Modifier 'suspend' is not applicable to 'anonymous function' -
KT-54294K2: "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-52597Provide Alpha Support for Multiplatform in the K2 platform -
KT-58523K2: reference is resolved to imported type-alias instead of identically named top-level property -
KT-57098Native: avoid object initialization while accessing const val -
KT-5797332-th default value in inline classes override function is not used -
KT-57714"IllegalStateException: <B::!>" using reified generics -
KT-57810toStringof object erroneously considered as constant function in string concatenation -
KT-58076K2: Incorrect inference of type of labeled receiver -
KT-57929K2: Arguments of annotations are not calculated in a lot of strange locations -
KT-54874K2. No compilation error with incorrect Comparator invocation -
KT-55388Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated -
KT-53041NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parameters -
KT-54829Cleanup local types approximation logic -
KT-58577K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another module -
KT-58587MUST_BE_INITIALIZED must take into account effectivelly final -
KT-58524K2: 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-53929Enum.entries: consider changing scope behavior in K1 -
KT-58520K2: FIR2IR: ISE during const evaluation of operator times with exposed -
KT-57905K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different types -
KT-56662K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived class -
KT-57770K2: Support generation of serializer if base class for serializable class declared in different module -
KT-58375Kapt: "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-58013K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegation -
KT-58365K2: 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-58214Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDA -
KT-58030K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java method -
KT-58135K2: 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-58219K2/MPP/metadata: false-positive invisible reference error in Native-shared source set -
KT-58145K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source set -
KT-56023Constant operations (e.g. division) are not constant in K2 (JS, Native) -
KT-57354In suspend function default arguments are sometimes not deleted in IR -
KT-55242K2/MPP: basic build/link functionality -
KT-57979K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getter -
KT-57543K2 reports DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE -
KT-58142K2: val parameter with more specific type is lower priority -
KT-48546Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assign -
KT-57854RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessing -
KT-54518False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super class -
KT-58025K2: Argument type mismatch when using Springs HandlerMethodArgumentResolver -
KT-58259Unexpected unresolved function call with obvious invoke-convention desugaring -
KT-57135K2: 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-57069K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1 -
KT-57958K2: Initializer type mismatch when using extension property on type with star projection -
KT-58149K2: New inference error with buildList -
KT-58008K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested class -
KT-57835K2: compiler crash on lambda with dynamic receiver -
KT-57601K2: Builtin functionextensionToStringcan't be accessed -
KT-57655K2: ImplicitIntegerCoercion is not working for named arguments -
KT-58143K2: overload resolution ambiguity inside dynamic lambda -
KT-58132K2: Implicit int constant to long converion crashes FirSerializer -
KT-57378Partial linkage: Run codegen box tests for Native & JS with enabled PL -
KT-58207K2: Handle result of completion of synthetic call with callable reference argument -
KT-56549K2: Reference to Java sealed class fails to compile -
KT-57994K2: Type inference failed on function reference -
KT-58099interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type" -
KT-57671Synthetic $EntriesMappings declaration is public and generated even for enums from current module on IC -
KT-56517K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates" -
KT-58163FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phase -
KT-55646K2: Report definitely non-nullable as reified error -
KT-58043k2: Expect call is not removed from IR with nullability-based overload -
KT-56442K2: Make sure K2 has the same behavior for defaults with overrides as K1 has -
KT-55904Fix tests for volatile annotation on K2 -
KT-57928K2: Arguments of annotations on constructor value parameter are not calculated -
KT-57814K2: Argument type mismatch with delegating property -
KT-56490Implement deprecation for an anonymous type exposed from inline functions with type argument -
KT-57781K2: Generated serializer is invisible in a non-JVM test source set -
KT-57807K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFir -
KT-57962K2: No set method providing array access on dynamic -
KT-57353K2: 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-57899K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameter -
KT-57988K2: compiler exception on get operator on dynamic this -
KT-57960K2: incorrect type inference in lambda with dynamic receiver -
KT-57923K2: Optional expectation annotation crashes const evaluator -
KT-56511K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private class -
KT-58033K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declaration -
KT-58061K2: false-positive unsupported feature error on callable references to Java methods from annotation interfaces -
KT-55079Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problems -
KT-57889K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expression -
KT-57961K2: Unresolved reference using dynamic lambda parameter -
KT-57911K2: Contracts are not inherited by substitution overrides -
KT-57880K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variable -
KT-57986K2: NPE on building Space -
KT-57873K2: compiler FIR serialization crash on builder-style inference from lambda's return type -
KT-57941K2: Assertion error on loading serializable class with non-serializable property compiled with K1 compiler -
KT-57947K2: Incorrect resolution results when property type for invokeExtension is not inferred -
KT-58002K2: compiler FIR serialization crash on platform type with type-targeted Java annotation with Java enum as argument -
KT-57263K2/MPP/JVM: compiler codegen crash on expect-property as default argument for expect-function's parameter -
KT-56942K2: False-negative NO_ELSE_IN_WHEN if subject is flexible type -
KT-56687Unexpected behaviour with enum entries when using outdated stdlib -
KT-56398K2/MPP: compiler backend crash on inheritance from expected interface -
KT-57806K2: string interpolation as annotation parameter causes error -
KT-57611K2: Annotation arguments are not evaluated -
KT-56190[K2/N] Const initializers are not serialized to klib -
KT-57843K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecation -
KT-57350FIR: deprecation diagnostic is not reported on a super class call -
KT-57532K2: IrActualizer doesn't handle properties overloaded by extension receiver correctly -
KT-57776K2: 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-57879K2: compiler FIR serialization crash on passing Java constants as arguments to type-targeted annotations -
KT-57893K1/K2 inconsistency on smart casts of internally visible properties in friend modules -
KT-57876K2: stack overflow in compiler FIR deserialization on nested type-target annotation class used in enclosing class -
KT-57839K2: Compiler crash on lambda returning anonymous object with implemented lambda -
KT-57822K2: Can't refer to external interface from class literal -
KT-57809K2: No value passed for parameter of external class -
KT-56383Build intellij master with LV 1.9 -
KT-57735K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with@PlatformDependentannotation when there is an empty linux target in project -
KT-55056Builder inference causes incorrect type inference result in related call -
KT-57689K2: Unresolved reference to nested typealias in KLIB -
KT-57665K2: incorrect resolution of dynamic type -
KT-57381K2/MPP/Native: impossible to override Any::equals with non-external function -
KT-57654K2: Lambda with receiver deserialized as lambda without receiver during metadata compilation -
KT-57662K2: The error message is poorly formatted and not precise in case of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS error and@Suppressis used -
KT-57763FirExtensionRegistrar extension point broken -
KT-57312K2: IR interpreter fails on string interpolation withconst valfrom a klib involved -
KT-57768Don't decompile code to search for annotation arguments -
KT-55628Diagnostics for kotlin.concurrent.Volatile annotation applicability -
KT-55860K2. [CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic function -
KT-53491K2: Implement "Operator '==' cannot be applied to 'Long' and 'Int'" error -
KT-55804K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null asserted -
KT-57682K2: Incorrect composing of signatures for calls on dynamic types -
KT-55405K2: false-negative INVISIBLE_REFERENCE in import directives -
KT-54781K2: no error on unresolved import statement with more than one package -
KT-57635K2/MPP: Expect constructors are not considered as expect during metadata deserialization -
KT-57376K2/MPP: false-positive K/JS diagnostic in absence of K/JS target when sharing a source set between K/JVM and K/Native -
KT-55902K2: Support ImplicitIntegerCoercion annotation -
KT-56577Migrate Native KLIB ABI compatibility tests to K2 -
KT-56603[K2/N] Segfault invoking fun from binary compatible klib -
KT-57457K2: the error message is not quite informative in case of EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR -
KT-57568K2: K2, Native reports overload resolution ambiguity -
KT-57446K2: Adapter function reference is not generated inside when expression -
KT-54894K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with@UnsafeVarianceargument -
KT-57001K2 compilation fails due to nullabillity subtyping not working properly -
KT-57271Delay forbidding inference to an empty intersection to version 2.0 -
KT-57209K2: type parameters are available in companion object scope -
KT-50550False positive NO_ELSE_IN_WHEN with annotatedwhenbranch condition -
KT-57431K2 MPP JS: Compiler crash on transitive common dependencies -
KT-57456K2 reports uninitializied variable in enum class when variable is used in lambda and defined in companion object -
KT-57583K2/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-57556K2: Rename error 'This API is not available after FIR' -
KT-23447Integer.toChar compiles to missing method -
KT-46465Deprecate and make open Number.toChar() -
KT-49017Forbid usages of super or super if in fact it accesses an abstract member -
KT-56119BinaryVersion.isCompatible binary compatibility is broken -
KT-57369K2/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-57250K2: the metadata is serialized for anexpectclass even if theactualclass is present when compiling to klib -
KT-56660K2/MPP: compiler backend crash on invoking a K/Common constructor in K/JS code -
KT-55055K1: Builder inference violates upper bound -
KT-57316Initialize Enum.entries eagerly: avoid using invokedynamics -
KT-57491Kotlin synthetic parameter looks ordinary -
KT-56846K2: incorrect line & symbol numbers in exception reporting -
KT-56368K2/MPP: compiler backend crash on missing actual declaration -
KT-57104K2: false-positive conflicting inherited JVM declarations error despite use of@JvmNamein another module -
KT-56747[K2/N] Return type forlambda: (Any) -> Anywhich returns Unit is different for K1 and K2 and return statement is missing with K2 -
KT-57211K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argument -
KT-57302K2 fails with IllegalStateException on reading inherited property of Java enum -
KT-57424K2 IDE: "By now the annotations argument mapping should have been resolved" exception -
KT-57241K2 MPP: Actualization doesn't work for actual enum that has primary constructor with arguments -
KT-57210K2 MPP: Support of arguments with dynamic type -
KT-57182K2 MPP: Actualization doesn't work for nested objects -
KT-56344K2: Implement correct errors reporting of IrActualizer -
KT-54405K2 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-56926K2: incorrect line number generated for class constructor or method with default parameter when comment before -
KT-56913K2: Incorrect line numbers in overriden field getters and setters -
KT-56982K2: Incorrect line number start in when expression -
KT-56720K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance -
KT-57175K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliases -
KT-25694Fix reporting of uninitialized parameter in default values of parameters -
KT-57198K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parameters -
KT-15470Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is ok -
KT-57179FIR: preserve prefix increment behavior like in K1 by calling getter twice -
KT-57405K2. Function call ambiguity error when nullable String is passed to function with Spring@Nullableannotation in signature -
KT-57284K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived type -
KT-57221K2: compiler FIR2IR crash on function's unavailable cached type parameter -
KT-57036Unresolved reference: with inferred type of class constructor with extension parameter -
KT-56177K2: FIR should not generate annotation on both property and parameter -
KT-54990NI: Type mismatch when encountering bounded type parameter and projections -
KT-57065K2: overload resolution ambiguity between type-aliased constructor and identically named function -
KT-49653Deprecate and remove Enum.declaringClass synthetic property -
KT-57190K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversion -
KT-57166K2: 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-56169False negative deprecation warning about future inference error with builder inference -
KT-56657K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map) -
KT-57105K2: compiler codegen crash at property initialization in constructor after smartcast -
KT-56379K2: build tests for the Kotlin standard library -
KT-56079K2: build YouTrack 2022.3 -
KT-57092K2: false-positive multiple inherited implementations error -
KT-56696K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initialization -
KT-56354K2/MPP: unresolved references to library entities -
KT-57095K2: false-positive lack of type arguments error on raw cast of Base<*> to Derived: Base<T?> -
KT-56630FIR: ClassCastException on compilation hierarchy with a raw type -
KT-57171K2: Implement bytecode tests -
KT-57214K2: compiler FIR crash on annotation usage before annotation class declaration -
KT-57204K2: callable reference to mutable property of inherited by delegation superinterface isn't properly resolved -
KT-57195K2: false-positive VAR_TYPE_MISMATCH_ON_OVERRIDE on changing property's platform type to non-nullable type when overriding -
KT-56814K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as origin -
KT-54758DeprecateClassBuilderInterceptorExtension.interceptClassBuilderFactoryand provide another method without dependency on K1 -
KT-57253K2: clean up callable reference logic in FIR2IR -
KT-56225K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline class -
KT-56769K2. Annotation applicability is ignored during compilation when there's use-site@target -
KT-56616K2: cannot infer Java array type properly -
KT-57247K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type-aliased vararg property -
KT-57206K2: false-positive val reassignment error on synthetic property from generic class with overridden getter but not setter -
KT-56519K2: Compiler crash on a function reference on companion receiver that inherits from outer class -
KT-56506K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullability -
KT-56877K2: false-positive UNRESOLVED_LABEL for labeled this-expression in contract description -
KT-56863K2: false-positive property initialization analysis errors after smartcast -
KT-56864K2: Unexpected behavior with default parameter inheritance and function reference -
KT-56665K2: false positive RECURSIVE_TYPEALIAS_EXPANSION -
KT-53966K2 does not support SAM conversions with condition into Java/Kotlin functional interfaces -
KT-56659FIR: Increment operator on object leads to exception from resolve -
KT-56771FIR: Increment operator on qualified expressions leads to exception from resolve -
KT-56759K2: False-positive UNRESOLVED_REFERENCE on labeled desctructuring declaration in LT mode -
KT-56548K2: false positive overload resolution ambiguity for Java record constructor -
KT-56476K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-site -
KT-56138K2: Illegal conversion of lambda with parameters to ExtensionFunction expected type -
KT-56448K2: False-positive unsafe call due to incorrect inference of smartcasted type -
KT-55966K2: Not enough information to infer type variable K if smartcast is used -
KT-57168K2: compiler FIR2IR crash on synthetic property from generic class with overridden getter but not setter -
KT-56876K2: false-positive UNRESOLVED_REFERENCE for name of nested class in contract description -
KT-57194K2: overload resolution doesn't prioritize Double over Float -
KT-57067Warning about expect/aсtual in the same module doesn't take into account absence of 'actual' modifier -
KT-56954K2: function literals can be passed as arguments to parameters with kotlin.reflect function types -
KT-55423K2: Implement CONTRACT_NOT_ALLOWED -
KT-56923K2: no line number in bytecode when ASTORE exception in catch -
KT-56829K2: compiler FIR2IR crash on passing to function a callable reference to nested class's constructor with default arguments -
KT-57029Per-file caches fail on local inline function in an inline function -
KT-57085K2:@Suppressis sensitive to its argument's case -
KT-57103K1: AssertionError: Mismatching type arguments: 0 vs 1 + 0 when calling inline function with callable reference to generic synthetic property -
KT-57033Make KtClassLiteralExpression stub based -
KT-57035Make KtCollectionLiteralExpression stub based -
KT-40857Invalid parameterized types for extension function on parameterized receiver when javaParameters=true -
KT-56154Compiler backend crash on reference to Java synthetic property from generic class -
KT-56692StackOverflow in PrivateInlineFunctionsReturningAnonymousObjectsChecker -
KT-55879Modularized tests: fir.bench.language.version is used as API version, not language version -
KT-51821ClassCastException on anonymous fun interface implementation when unrelated vararg is used -
KT-56820K2: 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-56750K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method reference -
KT-55614K2: consider serializing static enum members (values/valueOf/entries) to match K1 behavior -
KT-30507Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is used -
KT-56646K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interface -
KT-56334K2: can't call expected function with default arguments -
KT-56514K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASS -
KT-56522K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS -
KT-56910Exception during IR lowering: Cannot determine lineNumber of element FUN name:cancelProgress -
KT-56542K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set call -
KT-56861FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime error -
KT-56234K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameter -
KT-56722K2: cannot resolve component call after smart cast -
KT-56875K2: isOperator flag is incorrectly set for java methods -
KT-56714K2: wrong argument mapping in DSL -
KT-56723K2: lambda accidentally returns Unit? instead of Unit -
KT-55877K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" -
KT-56386K2: Make possible to access Java field which is shadowed by Kotlin invisible property` -
KT-56862Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependency -
KT-55088JS, Native compilation fail with internal error onSomeEnum.entriesreference whenSomeEnumis from klib compiled with disabled EnumEntries language feature -
KT-40904No warning when declare actual in the same target (module) as expect -
KT-56707K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitly -
KT-56508Context receivers: Internal compiler error when compiling code containing a class with a secondary constructor -
KT-56706K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from library -
KT-56505K2: MissingNO_EXPLICIT_VISIBILITY_IN_API_MODEerrors on various declarations -
KT-56682K2: False-negative UNINITIALIZED_VARIABLE on access to delegated property -
KT-56678K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializer -
KT-56612K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argument -
KT-56445K2: False-positive unresolved reference to callable reference to function with default argument -
KT-55024K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal class -
KT-55722K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple) -
KT-56563Inference within if stops working when changing expected type from Any to a different type -
KT-55936K2: Support proper resolution of callable references as last statements in lambda -
KT-45989FIR: wrong callable reference type inferred -
KT-55169K2: False-negative NO_ELSE_IN_WHEN -
KT-55932K2. No compiler error when elvis operator returns not matched type -
KT-53987K2: False negative "TYPE_MISMATCH" with if statement return -
KT-41038NI: TYPE_MISMATCH when passing constructor of nested class -
KT-42449Can not resolve property for value of type Any even after casting type to a type with star projection -
KT-52934StackOverflow fromPseudocodeTraverserKt.collectDataFromSubgraphwithifinsidefinally -
KT-52860StackOverflowError when casting involving recursive generics and star projection -
KT-52424ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameter -
KT-52262TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive when -
KT-52502Forbid extension calls on inline functional parameters -
KT-51045SETTER_PROJECTED_OUT: Star projected nullable property can't be set to null -
KT-40480[FIR] SupporthasStableParameterNamefrom metadata -
KT-50134NI: Type inference regression in java streams groupingBy -
KT-50160False positive "USELESS_CAST" caused by indexed access operator -
KT-42715Unable to use implicit lambda paramitfor overloaded methods -
KT-49045False positive USELESS_CAST in generic type with nullable type parameter -
KT-49024AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combined -
KT-48975Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest version -
KT-47870INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent class -
KT-47495ReenteringLazyValueComputationException on invalid code -
KT-47490Missed diagnostic for incorrect callable reference in finally -
KT-47484"Recursion detected in a lazy value under LockBasedStorageManager" on invalid code -
KT-46301Combining branches with sealed interfaces inwhenbreaks type inference -
KT-44392False negative: redundant nullability/not null check on cast with as operator -
KT-43936Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested class -
KT-43846No smart cast when returning function closures with captured smart-cast variable -
KT-43603False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension property -
KT-43553JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE target -
KT-42169False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projection -
KT-42136NI: False positive [USELESS_CAST] when list serves to create a mutable list -
KT-41721SAM conversion fails on varargs with type approximated to Nothing -
KT-38288Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argument -
KT-37490NULL_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-37365NPE fromReflectionReferencesGenerator.generateCallableReferencewith inner class function reference and wrong parenthesis -
KT-36958NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception) -
KT-30756No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statement -
KT-24737Report an error on invalid this-expression with angle brackets on left-hand side of a callable reference -
KT-21463Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projection -
KT-6822Smart cast doesn't work inside local returned expression in lambda -
KT-55840Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IR -
KT-47815JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial function -
KT-17817No error reported on invalid LHS for class literal -
KT-47373Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literal -
KT-51143Wrong Unit-requiring at if/when branch with stub types -
KT-53671False-positive diagnostic reported on OptIn annotation import from root package -
KT-53494Mistaken 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-55931Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a call -
KT-20223Inline access check ignores operator calls toinvoke() -
KT-54478@NoInfercauses CONFLICTING_OVERLOADS -
KT-56472K2: 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-54931Annotations 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-24901No smart cast forwhenwith early return -
KT-53086"Cannot access '' before superclass constructor has been called" with inner class secondary constructor -
KT-55137Callable references with conversion are incorrectly allowed to be promoted to KFunction -
KT-30497EXACTLY_ONCE contract doesn't work in a function withvarargparameter -
KT-47074Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add Parcelize -
KT-24503Return-as-expression is allowed as this/super constructor parameter -
KT-55379False positive NO_ELSE_IN_WHEN with smartcast to Boolean -
KT-47750False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interface -
KT-53819False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local class -
KT-56457JVM: Enum.entries are not annotated with@NotNull -
KT-56072K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for is already bound" when trying to access java synthetic property of inherited class -
KT-50082Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base class -
KT-55822False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden members -
KT-55666K2: label on local function is rejected: "Target label does not denote a function" -
KT-56283False-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-56329K2: compiler backend crash on two expected functions with similar signatures -
KT-56361K2/MPP: receiver isn't available in lambda literals with receiver -
KT-55295K2/MPP: JS build functionality -
KT-55909[K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclass -
KT-55664K2: eliminate ClassId.isSame call from FirClass.isSubclassOf -
KT-56353K2. False negative "Unresolved reference" in default value of secondary constructor's parameter -
KT-56381K2: Function type kind not extracted from lambda literal in generic call -
KT-55747K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missing -
KT-56104Unnecessary inner classes attributes in class files for subclasses -
KT-55570K2: 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-56229K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenario -
KT-56199K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaload -
KT-56212K2: Exception when compiling extension function declaration with illegally chained type parameter receiver -
KT-55503K2: "Argument type mismatch" caused by using the wrong "this" -
KT-56050K2: inconsistency regarding visibility of synthetic properties with protected getter and public setter -
KT-49663FIR: 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-54647K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral -
KT-54648K2: Function call on left side of erroneous assignment isn't resolved -
KT-55699K2. False Negative "Type parameter T is not an expression" -
KT-56132Restore 'JvmBackendContext' constructor signature for compatibility -
KT-55973K2: Exception from UnusedChecker on an unused destructuring -
KT-56275K2 IDE: Missed error for enum super type -
KT-54775K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl " exception on incorrect code -
KT-55528K2: CFA for property initialization analysis is not run for class initialization graphs -
KT-54410K2: 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-55186K2: No compilation error on calling exception without constructor -
KT-36776Treat special constructions (if, when, try) as a usual calls when there is expected type -
KT-50947False negative: FE 1.0 doesn't report type variance conflict error on an inner type -
KT-39041Collection literals should not be allowed inside annotation classes -
KT-54694Consider enabling BooleanElvisBoundSmartCasts in K1 or K2 -
KT-54587K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another class -
KT-52774Resolve unqualified enum constants based on expected type
Docs & Examples
-
KT-53643Update coding style conventions to include rangeUntil operator -
KT-57902Create migration tutorial from kotlin-js to kotlin-multiplatform gradle plugin -
KT-58381[Docs][Libraries] Document Path.createParentDirectories
IDE
Performance Improvements
-
KTIJ-23501Make main run configuration detection lighter -
KT-56613Reduce memory consumption of light classes
Fixes
-
KTIJ-25855Infinite "Analyzing..." on .kt files from native source-set -
KTIJ-25448When 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-25673Temporarily switch off adding jvmToolchain to new/converted Kotlin projects -
KTIJ-25719K/Wasm: Fix import of wasm projects with Kotlin 1.9.0 -
KTIJ-24136Files with actual declarations are not highlighted in kotlinx.coroutines project -
KTIJ-24390Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle build -
KTIJ-24695Default Kotlin project can not be synced on Mac M1 -
KTIJ-25302Wrong 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-57849K2: contract violation due to implicit java type with annotation -
KTIJ-24666Store annotation arguments in cls -
KTIJ-24667Store constant expressions in cls -
KTIJ-24665Store contracts in cls -
KTIJ-24543An option to configure kotlin with JavaScript is available at Tools -> Kotlin menu -
KT-57857LC: FakeFileForLightClass: Read access is allowed from inside read-action -
KTIJ-25172Store flexible types in cls -
KT-57578SLC: incorrect upper bound wildcards -
KT-57917Analysis API: decompiled value parameters are not resolved -
KT-56046K2 IDE: Avoid redundant resolve from annotations -
KT-57569SLC: incorrect visibility for lateinit var with private setter -
KT-57547SLC: non-lastvarargvalue parameter type mismatch -
KTIJ-25034K2 IDE: unresolved import treated as unused -
KT-57548SLC: incorrect inheritance list for Comparator -
KT-56843Light classes: certain kinds of constant values in property initializers aren't supported -
KTIJ-24676Enum.entries is red if it's called on enum class from JDK or module without stdlib in dependencies -
KT-56868SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiers -
KTIJ-25048K2: IDE K2: "Unexpected scope FirNameAwareCompositeScope" -
KTIJ-24895K2 IDE: "Invalid FirDeclarationOrigin Synthetic" exception for synthetic "WHEN_CALL" function during highlighting -
KT-56833Light classes: Accessors to lateinit properties don't have@NotNullannotations -
KTIJ-24768IDE K2: "IllegalArgumentException Failed requirement at FirJvmTypeMapper" -
KT-56845Light classes: Overridden property accessors don't have@Overrideannotation -
KT-56441K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfully -
KT-56891Symbol Classes: DefaultImpls classes contain methods without default implementation -
KTIJ-24742K2 IDE: InvalidFirElementTypeException -
KTIJ-24067K2 IDE: references from .java source to top-level Kotlin members from dependencies are unresolved -
KT-56842Light Classes: Primitive-backed context receiver parameters shouldn't be marked with@NotNull -
KT-56835Light classes: Underlying fields for delegated properties should be marked as final and@NotNull -
KT-56840Light Classes: Inline classes backed by Java primitives shouldn't be marked with@NotNull -
KT-56728K2 IDE. False positivenot applicable tofor kotlin annotation with target annotating Java element -
KTIJ-24610K2: Exception from import optimizer: "Unexpected qualifier '10' of type 'KtConstantExpression`" -
KTIJ-24476Make application services to be classes instead of objects -
KTIJ-24574K2 IDE: "No fir element was found for" from inspections -
KT-55815SLC: Keep annotations on type when converting toPsiType -
KT-55669K2 IDE: INRE from light classes -
KTIJ-24530K2 IDE: status resolution fails with CCE -
KTIJ-23937K2: No 'JavaSymbolProvider' in array owner: Source session for module -
KTIJ-24087K2: Type parameter bounds found not analyzed during call inference -
KTIJ-24344K2 IDE: Object reference incorrectly resolves to 'invoke' operator function -
KTIJ-24107K2 IDE: Unresolved call for qualified companion invoke() -
KTIJ-24385K2 IDE: KtCallExpression(KtCallExpression) should always resolve to a KtCallInfo
IDE. Code Style, Formatting
-
KTIJ-24928Organize imports puts imports in one line if Formatter option is used
IDE. Completion
-
KTIJ-25108K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed() -
KTIJ-24989K2 IDE: completion should show information about expanded types for type alias parameters -
KTIJ-24992K2 IDE: completion shows return type with incorrect nullability when type is stub type -
KTIJ-24948K2 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-24256K2 IDE: Angle brackets are missing in completion of function with type parameters -
KTIJ-24083K2, Completion: Exception on adding a type parameter receiver to a function -
KTIJ-23963K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override" -
KTIJ-22359K2 IDE: no completion for Java synthetic properties from super class -
KTIJ-23880Completion doesn't work for Java synthetic property reference
IDE. Decompiler, Indexing, Stubs
-
KTIJ-25152Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IR -
KTIJ-24475Migrate kotlin index extension implementation from object to classes -
KTIJ-24335Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProvider -
KTIJ-24206Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect function -
KTIJ-15764IR by default in Kotlin bytecode tool window
IDE. Gradle Integration
-
KT-59034MPP build failed with "Factory type is not known for plugin variants" in kt-231-* -
KT-56671KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package names -
KTIJ-24573KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by host -
KTIJ-25757KJS: 1.9.0-Beta fails to run when running in Android Studio -
KTIJ-24701KGP import: JVM+Android shared source sets don't receive a correct default stdlib dependency -
KTIJ-24745IDE sync of kotlin("js") projects with js(BOTH) set fails with exception because of the new MPP IDE import -
KTIJ-24567Enable KGP dependency resolution by default -
KTIJ-24729KotlinMPPGradleProjectResolverKt must not be requested from main classloader on project import -
KTIJ-11978IDE does not recognize the sources JAR of a published to mavenLocal MPP library
IDE. Inspections and Intentions
-
KTIJ-24684K2 IDE: 'Redundant qualifier name' false positive in type specification in extension function -
KTIJ-24662K2 IDE: False positive "Redundant qualifier name" inspection for nested class from base interface -
KTIJ-25232K2 IDE: "Redundant qualifier name" inspection false positive with object referenced via property -
KTIJ-25447Make Enum.entries and RangeUntil inspections don't check for opt-in when APIs become stable -
KTIJ-23588K2 IDE. False positive unused import directive for extension function of an object -
KTIJ-25112K2 IDE: False positive "Actual value of parameter 'b' is always 'null'" -
KTIJ-24485Explicit API mode: false positive "redundant 'public' modifier" -
KTIJ-24453Unsuccessfull resolve error from OperatorToFunctionIntention on recursive property declaration
IDE. JS
-
KT-58427Kotlin Gradle Plugin ignores language version value for Kotlin/JS sources
IDE. Libraries
-
KTIJ-25096K2 IDE: Library sessions are garbage collected between performance test runs with enabled library caches -
KTIJ-24413Cannot navigate to enum of the Kotlin library via entries call
IDE. Misc
-
KT-58763K2 IDE: NoSuchMethodError: KtPsiFactory$Companion.contextual -
KTIJ-25304Move IDE Extension Points from compiler.xml to the IDE repository -
KTIJ-24893K2 IDE: Serializable plugin causes infinite resolve recursion
IDE. Multiplatform
-
KTIJ-25859MPP: Library wizard with android target uses deprecatedandroidTestsource set -
KTIJ-25479Compiler options is not imported correctly for js source sets -
KTIJ-24011MPP: Native tests are missing run gutters
IDE. Navigation
-
KTIJ-23073K2 IDE: Navigation doesn't work from library sources to another library sources -
KTIJ-24819K2 IDE: support compiler reference index -
KTIJ-24697K2 IDE: handling PresistenceMap in LLFirSessionsCache takes a lot of time -
KTIJ-24373K2 IDE: Qualified generic type is not fully resolved
IDE. Run Configurations
-
KTIJ-25046K2 IDE. Junit5 test method with internal modifier can't be launched using gutter
IDE. Wizards
-
KTIJ-25932Turn off the adding new targets in Kotlin Multiplatform Wizard -
KTIJ-26022Project module not selected in a second page of "New Project" window in KMP wizard -
KTIJ-24834Set default for "kotlin.mpp.experimental" flag for K/JS features to true
JavaScript
New Features
-
KT-12784JS: generate ES2015 compatible modules -
KT-48154KJS / IR: Inline members support for external types -
KT-51582FIR: support basic compile-time evaluation for JS backend
Fixes
-
KT-43490KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of Throwable -
KT-57690K2/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-56911K2/MPP: Compile K/JS fails for@Serializableannotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImpl -
KT-56950Support KLIB IC with K2 -
KT-58570KJS: ES6 classes + PL throw java.lang.NullPointerException -
KT-58835K2/JS: Fix incremental compilation klib tests -
KT-58794KJS / K2: Assertion failed with Space build -
KT-51706Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript fails -
KT-54452Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for them -
KT-53180Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties order -
KT-39650KJS IR: provide a way to enable ES2015 class generation -
KT-57990KJS/IR. Invalidsupercall for final parent methods (ES classes) -
KT-58246KJS: ES15 classses — duplicated code in class constructor -
KT-57479KJS: Add an annotation for a function parameter which checks that a passed argument has an external type -
KT-58201Unknown statement type when building with ES modules -
KT-30810values and valueOf are miscompiled for external enum classes -
KT-57024Ugly TypeScript definitions for declarations with both@JsExportand@Serializable -
KT-56237KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS code -
KT-54638K2/JS: Fir2ir - implement and use JS-specific mangler -
KT-54028Native / JS: Using private object implementing a sealed interface causes a linker error -
KT-57423KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objects -
KT-57711K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIB -
KT-57078JS IC: Unbound symbol left inSymbolTableinJsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariancetests -
KT-57254Deprecateexternal enumdeclarations -
KT-57002KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constant -
KT-56961JS IR: serializedIrFileFingerprints in klib manifest has a wrong format -
KT-56282KJS: 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-55988KN debugger in KMM plugin for Android Studio can't recognize the source code
Language Design
New Features
-
KT-48872Provide modern and performant replacement for Enum.values() -
KT-15613Introduce special syntax for the until operator -
KT-4107Design and implement a solution for toString, equals and hashCode on objects (data object)
Fixes
-
KT-28850Prohibit protected visibility in final expected classes -
KT-39362Expect fun interface must have actual fun interface counterpart -
KT-48994Prohibit type unsound java fields assignments -
KT-58791Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.x -
KT-53778Release stdlib API about "rangeUntil" operator in 1.9 -
KT-53653Export Enum.entries to Objective-C and Swift -
KT-55177Deprecate declaration of expect and actual counterparts of same class in one module -
KT-49110Prohibit access to members of companion of enum class from initializers of entries of this enum -
KT-47986Forbid implicit inferring a type variable into an upper bound in the builder inference context -
KT-57395Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0 -
KT-55082Bump KLib version for Enum.entries -
KT-49264Deprecate infix function calls of functions named "suspend" with dangling function literal
Libraries
New Features
-
KT-58046Stabilize remaining kotlin.time API: time sources, time marks, measureTime -
KT-58074Stabilization of Atomics API in K/N -
KT-55268Mutiplatform@Volatileannotation -
KT-51908Provide common function for getting regex capture group by name -
KT-53263Path.createParentDirectories -
KT-7637Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...) -
KT-40728Add AssertionError constructor withcause: Throwableparameter to common stdlib -
KT-57298Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlink
Performance Improvements
-
KT-54739buildmethod in collection builders (Set, Map, List) should return a single instance for empty collections -
KT-42589Provide common listOf(value) overload to avoid allocation of the vararg -
KT-55091Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twice -
KT-57617Optimize ReversedListReadOnly iterator -
KT-57607KJS: Bad performance for ArrayList.addAll
Fixes
-
KT-58841Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing property -
KT-57728Explicitly specify level of stability of programmatically-accessible interoperability API -
KT-58985Update KClass.isData KDoc -
KT-57762Introduce HexFormat for formatting and parsing hexadecimals -
KT-55612Stabilize experimental API for 1.9 -
KT-58548Stabilize standard library API for Enum.entries -
KT-56400Disable compilation of atomicfu-runtime with legacy JS backend -
KT-58276Deprecate redundant public declarations in kotlin.native.concurrent -
KT-35973Extract org.w3c declarations from stdlib-js -
KT-58073JS/Legacy compiler blocks compilation of kotlinx.atomicfu with K2 -
KT-57317Repack EnumEntries from stdlib into the compiler -
KT-54702Native: mark Worker and related APIs as obsolete -
KT-55610Deprecate kotlin.jvm.Volatile annotation in platforms except JVM -
KT-57404Native: Support AnnotationTarget.TYPE_PARAMETER -
KT-57318Change EnumEntries stdlib implementation to be eager -
KT-57137Native: Consider removing ArrayAsList -
KT-56661Missing EnumEntries-related bytecode in kotlin-stdlib-1.9.255-SNAPSHOT.jar -
KT-51579PlatformImplementations loading is not compatible with graalvm native-image --no-fallback
Native
-
KT-54098Decommission and remove 'enableEndorsedLibs' flag from Gradle setup -
KT-52594Provide Alpha support for Native in the K2 platform -
KT-56071K2/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-27002lateinitintrinsics frontend checkers aren't applied on Native
Native. Build Infrastructure
-
KT-58160Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)'
Native. C and ObjC Import
-
KT-54610Kotlin Native can't callobjc_directfunctions -
KT-57918[K2/N] Support typealiases in FirClassSymbol<*>.selfOrAnySuperClass() -
KT-58651Native c-interop tool generates broken@Deprecatedannotations -
KT-57541Compilation fails without explicit cast on cinterop code -
KT-54805KMP 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-58839K/N: Exception during HiddenFromObjC marked class extension function compiling -
KT-56464K/N: Allow HiddenFromObjC for classes -
KT-57507K2: Set of Objc exported declarations is different between K1 and K2
Native. Runtime
-
KT-58441Kotlin/Native:@ObjCAction@ObjCOutletgenerate bridges without switching state -
KT-57091Align Native and Java file/class initialization behavior
Native. Runtime. Memory
-
KT-56233[Kotlin/Native] Crash when enum values are accessed in multiple threads -
KT-58130Implement preview of custom allocator for Kotlin/Native -
KT-56402Native: 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-57344Try to remove strange .equals overload on primitive types -
KT-57592Native: Remove the default parameter value for AtomicLong constructor
Native. Testing
-
KT-57349Enable more K2 MPP codegen/box tests for Kotlin/Native -
KT-57026K2: Fix Native test infrastructure for MPP
Reflection
-
KT-54833Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objects -
KT-56650ArrayStoreException from InlineClassAwareCaller.call with an array of inline class -
KT-56093Metaspace leak in a Gradle plugin built with Kotlin 1.8.0 -
KT-55937Optimize implementation of kotlinFunction/kotlinProperty
Specification
-
KT-58932Specify the priority between candidates with type and value receivers when doing callable reference inference -
KT-54254Specify that an annotation type cannot have itself as a nested element -
KT-53427Specify@SubclassOptInRequired -
KT-53323Add Enum.entries to Kotlin specification, KEEP-283 -
KT-54255Specify extension receivers are effectivelynoinline -
KT-53646Incorporate rangeUntil (..<) operator into specification
Tools. CLI
-
KT-57495Add JVM target bytecode version 20 -
KT-57154Incorrect version of JDK is provided through CoreJrtFs -
KT-56209Add CLI support for HMPP in K2 -
KT-58351Confusing error message when using removed -Xjvm-default mode value -
KT-57535K2: Kotlin command line compiler doesn't see class files on the class path in 2.0 -
KT-57644K2: Prohibit passing HMPP module structure with CLI arguments to metadata compiler -
KT-56351Reduce memory usage spent on compiler settings
Tools. Commonizer
-
KT-57796NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20 -
KT-56207Investigate failing tests in ClassifierCommonizationFromSourcesTest
Tools. Compiler Plugins
Fixes
-
KT-57821K2: Compiler calls declaration generation plugins twice for classes in the common source set -
KT-57406FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotations -
KT-57626K2: SERIALIZER_NOT_FOUND for serializable class from another module -
KT-57400FIR Compiler Plugins:annotatedpredicate does not work with Java classes -
KT-57140K2: Implement backwards compatibility for FirFunctionTypeKindExtension -
KT-56685K2: ArrayIndexOfBound during session creation if compiler plugins are enabled -
KT-55375Remove "legacy" mode of jvm-abi-gen plugin -
KT-53470FIR: passMemberGenerationContextto all methods of FirDeclarationGenerationExtension -
KT-51092Lombok@Valuecauses IllegalAccessError -
KT-55885K2 plugin API: Backend-only declarations are not visible from other modules -
KT-55584K2: Improve registration of session components from compiler plugins -
KT-55843FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as well -
KT-53874Optimize checking for plugin applicability and redesign DeclarationPredicates
Tools. Compiler plugins. Serialization
Fixes
-
KT-58954Serialization: NPE at run time when accessing a delegating property of a deserialized object -
KT-56537Serialization: Presence of (transient) delegated field in the serialized class breaks deserialization -
KT-58918Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing property -
KT-59113Serialization: NPE at run time when accessing a delegating property of a deserialized object -
KT-57647Serialization: "IllegalAccessError: Update to static final field" caused by serializable value class -
KT-57704K2/serialization: false-positive SERIALIZER_NOT_FOUND when compiling against 1.7.20 binary with enum class -
KT-57083K2/serialization: can't resolve serializers for classes from other modules -
KT-56480K2: false-positive warning about incompatible serializer type when using type aliases -
KT-56594K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive types -
KT-56553Support 'serialization plugin intrinsics' feature in K2 -
KT-56244kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
Tools. Daemon
-
KT-50846Remove "new" Kotlin daemon from codebase
Tools. Gradle
New Features
-
KT-56971Expose jvmTargetValidationMode property in KotlinCompile Gradle task -
KT-57159Add project level compiler options for Kotlin/JVM plugin
Performance Improvements
-
KT-57052Gradle: Stop using exceptions for flow control -
KT-57757Reduce classpath snapshotter memory consumption -
KT-56052Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilation
Fixes
-
KT-55624Update KGP integration tests that use removed in Gradle 8 getClassifier method -
KT-59589Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscript -
KT-59063Explicit API mode broken in Kotlin 1.9.0-Beta -
KT-57653Explicit 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-58662Gradle 8.1 + Configuration Cache: custom values data is missing from build report -
KT-58280org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath -
KT-59191Actual compilation failure exception might be hidden in the case of a Kotlin daemon crash -
KT-56211Improve Kotlin build reports -
KT-57767Gradle: "ZipException: invalid entry size" with 1.8.20 -
KT-57736K2: Introduce an easy way to try K2 compiler in Gradle user projects -
KT-59056FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs options -
KT-55740Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecated -
KT-37652Support explicit mode for Android projects -
KT-58251Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+ -
KT-57224Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the code -
KT-58571ExplicitApi mode should not apply for test compilations -
KT-42718Test 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-58869K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2" -
KT-52811Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin version -
KT-57330Provide collection of usage statistics for the Dokka -
KT-57393jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 value -
KT-58745KaptGenerateStubs task should also be configured with the same compiler plugin options -
KT-58682Explicit api mode does not apply in MPP projects -
KT-52976Remove deprecated Gradle conventions usages -
KT-58530Compiler plugin unbundling changes should be backward compatible with Kotlin plugin -
KT-36904Adding folders to sourceSets.resources.srcDir() in Gradle script does not work -
KT-58313An exception in console if no task is executed and file build reports are enabled -
KT-58619Move all pm20 interfaces into Gradle plugin codebase -
KT-58320Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itself -
KT-53923Add 'progressive' compiler argument to Gradle compiler options -
KT-53924Add 'optIn' compiler arguments to Gradle compiler options -
KT-53748Remove KotlinCompile setClasspath/getClasspath methods -
KT-56454Bump minimal support AGP version to 4.2.2 -
KT-57397Add infrastructure to use the build-tools-api to run compilation from Gradle -
KT-56946Switch incremental Gradle tests for K2 to use language version 2.0 -
KT-57782Disable daemon fallback strategy for Gradle integration tests by default -
KT-57142Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source files -
KT-54447Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public API -
KT-49785Avoid creating task output backups until really needed -
KT-56047False positive message about full recompilation is displayed while restoring from build cache and then making a syntax error -
KT-56421Gradle: plugin should not use BasePluginExtension deprecated properties -
KT-55241Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazily -
KT-56357Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactories -
KT-56352Make build scan reports more readable -
KT-55972Gradle: Add an assertion to all integration tests ifwarningModeis notFAIL, but the build doesn't produce any warnings
Tools. Gradle. Cocoapods
-
KT-38749Support reusing generated C-interop between dependant pods -
KT-54161Support adding extra code to generated Podfile from the Kotlin gradle plugin -
KT-56162Provide granular Gradle warnings suppression for CocoaPodsIT
Tools. Gradle. JS
New Features
-
KT-48791KJS: Support for Power(ppc64le) and Z(s390x) -
KT-32209org.jetbrains.kotlin.js does not respect Gradle's archivesBaseName -
KT-52646KJS / Gradle: make "KotlinCompilationNpmResolver already closed" a warning -
KT-52647KJS / Gradle: Make "Projects must be configuring" a warning -
KT-56158KJS: Support implementation dependencies
Fixes
-
KT-59604Unresolved reference: useKarma in convention plugin -
KT-57604JS, Space: Circular dependency between tasks -
KT-59116K/JS npm dependcies are not resolved properly on Kotlin 1.9 -
KT-54731KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrc -
KT-58970browserTest gradle task fails if karma is used and gradle configuration cache is enabled -
KT-59004Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module project -
KT-56458KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated fromYarnImportedPackagesVersionResolver -
KT-57985K/JS:packageJsonGradle configurations don't inherit unique attributes from JsTarget DSL -
KT-57817JS: executables for couple of JS targets builds in the same directory -
KT-58199K/JS: Remove useCoverage method -
KT-57116KJS / Gradle:commonWebpackConfignot applied if called afterbinaries.executable() -
KT-58522K/JS: Upgrade NPM dependency versions -
KT-57629K/JS: Change default destination of JS production distribution -
KT-57480K/JS: Use IR compiler by default without explicit choosing of js compiler -
KT-58345K/JS: Webpack task skipped with ES modules because files have mjs extension -
KT-58071KJS / Gradle:jsNodeTesttask is not incremental -
KT-43809KJS: browserProductionExecutableDistributeResources tasks deletes distributions directory -
KT-56690Kotlin2JsCompiler friendDependencies cannot be configured through friendPaths -
KT-57920K/JS: Make imported NPM package not considering dev dependencies -
KT-56025KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSync -
KT-57630K/JS: webpack updating twice on one change of kt sources -
KT-47351KJS / IR::jsTestPackageJsonis unable to find nested included builds under composite build -
KT-44754K/JS:browserRun --continuouskeeps rebuilding without any changes -
KT-49774KJS / Gradle: Errors during NPM dependencies resolution in parallel build lead to unfriendly error messages like "Projects must be closed" -
KT-57387Remove support of webpack 4 -
KT-57386Kotlin/JS upgrade npm dependencies -
KT-56705KJS / Gradle: Module name starting with '@' isn't properly set when FUS is disabled -
KT-46428KJS / IR: Composing build failed "Failed to create MD5 hash for package.json" -
KT-53687Don't trigger npm and yarn related tasks if it not relevant for assemble -
KT-49915KJS / Gradle: Gradle build cache miss because of absolute path inKotlinJsIrLink.filteredArgumentsMap -
KT-56192KJS: In browser testing no original sources in stacktrace -
KT-42395Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept null -
KT-43305Support Node.JS downloading for Ubuntu -
KT-48631KJS: Unconditionally uses linux/x86 binaries -
KT-38015NodeJS installation does not extract symlinks correctly (npm and npx)
Tools. Gradle. Multiplatform
New Features
-
KT-34662Provide an option for Android targets to compile & runcommonTesttests as unit tests only, instrumented tests only, or both -
KT-55881Add possibility to enable/disable sources publication similar to Java Gradle Plugin API
Fixes
-
KT-59446MPP: transformCommonMainDependenciesMetadata failing for api java dependency in shared jvm source set with Future was not completed yet -
KT-55751MPP / Gradle: Consumable configurations must have unique attributes -
KT-57688MPP:compileDebugKotlinAndroidtask fails with llegalArgumentException: 'moduleName' is null! -
KT-56210Pass module structure to CLI of K2 if K2 enabled -
KT-57531KotlinNativeLink: StackOverflowError when consuming library with dependency cycles (from constraints) -
KT-58281Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by default -
KT-57903Prepare for migration to the pluggable android target plugin -
KT-49933Support Gradle Configuration caching with HMPP -
KTIJ-25644KGP import: 'KotlinRunConfiguration' won't be able to infer correct runtime classpath -
KT-58661KGP: KotlinJvmTarget: Implement 'run' carrier task -
KT-59055KotlinJvmRun not respecting jvmToolchain setting -
KT-57959Module-name value can't be changed for the android target of a multiplatform project -
KT-55506TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source sets -
KTIJ-25732Flaky: KotlinMultiplatformSmokeTests .testJvmAndNative -
KTIJ-25039New import can add unresolved dependency as empty -
KT-57652Don't expose sourcesElements for project2project dependencies -
KT-58601Finalise "ExternalKotlinTargetApi" shape for initial 1.9 release -
KT-58710External Target Api: Add API to control SourceSetTree -
KT-58488Add a diagnostic message to KGP in case of val androidTest by getting usage -
KT-57482cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0 -
KT-58062Commonizer configuration cache not compatible with Gradle 8.1 -
KT-58086Warn about using MPP libraries published in the legacy mode -
KTIJ-24254KotlinProjectArtifactDependencyResolver returning too early -
KT-56439TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurations -
KT-57023Cryptic Gradle task descriptions for compile tasks -
KT-58470Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source set -
KT-58466K2 Gradle: non *.kt files are passed to -Xfragment-sources -
KT-58319kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'" -
KT-51940HMPP resolves configurations during configuration -
KT-58261Link kotlin native binary framework tasks fails when configuration cache is enabled -
KT-41506UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM target -
KT-58209Do not use the term 'Module' in KotlinTargetHierarchy -
KT-56153When the dependency is unresolved, import fails and don't import anything instead of degrading gracefully -
KT-56571New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modules -
KTIJ-24552TCS: KotlinMppGradleProjectResolverExtension: Add 'afterProjectResolved' API -
KTIJ-24368Multiplatform;Composite Builds: prepareKotlinIdeaImport not executed on included builds -
KTIJ-24377Multiplatform;Composite Builds: Unresolved symbols from a root project of included build -
KT-56712Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class *MppDependencyProjectStructureMetadataExtractorFactory -
KT-56461MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependencies -
KT-56841MPP: Module-to-module dependencies don't work inside included build in included build -
KT-42748Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properly -
KT-52356MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android application -
KT-51293Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source set -
KTIJ-24771Multiplatform: Composite builds do not resolve in IDEA when rootProject.name != buildIdentifier.name -
KT-56700V2 MPP Source Set layout warnings should include link to docs -
KT-55926TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTarget -
KTIJ-24364KotlinProjectArtifactDependencyResolver: Extend API to include information about 'requesting source set' -
KTIJ-24365KotlinMPPGradleProjectResolver: Create extension points for other plugins (Android) -
KT-55730MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
-
KT-58838KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings) -
KT-57823KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilations -
KT-57815KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {} -
KT-57944K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sources -
KT-53108Expose Kotlin/Native compiler options as Gradle DSL -
KT-58063Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1 -
KT-38317Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flag -
KT-56280Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Incremental Compile
-
KT-58289IC fails to detect a change to class annotations -
KT-58986New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)" -
KT-56197If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental build -
KT-56886K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successful
Tools. JPS
-
KTIJ-25384JPS plugin: serialization plugin is not applied to modules -
KT-56438Add minimal statistic report for JPS build -
KT-58314kotlin-build-statistics is missing for kotlin-jps-plugin -
KT-55696JPS IC K2 - fix new failing tests with Java interop -
KT-57102SCE: DefaultErrorMessages$Extension: DefaultErrorMessagesWasm not a subtype after adding WASM error messages
Tools. Kapt
-
KT-54468KAPT Gradle plugin causes eager task creation -
KT-59521Kapt maven plugin require version of annotation processor -
KT-58301K2: Compile Kotlin task failure for the generated by Kapt sources : 'Source NameOfTheGenerated.kt does not belong to any module -
KT-57598K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0 -
KT-58226KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructor
Tools. Maven
-
KTIJ-25445Maven. JVM target is imported as 1.6 when no target specified in pom.xml
Tools. Parcelize
-
KT-59112K2: "IllegalStateException: Function has no body with@Parcelize" on nested sealed class hierarchies
Tools. Scripts
-
KT-58366The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementation
Tools. Wasm
-
KT-56585Change wasmBrowserRun Browser Executable to System Default -
KT-56159Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm" -
KT-57203Update Kotlin/Wasm to support Gradle 8
v1.8.22: Kotlin 1.8.22
Changelog
Tools. Gradle
-
KT-58280org.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-57848Native: compilation of dynamic/static library fails with Xcode 14.3 -
KT-57875Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDA -
KT-57946KAPT: "RuntimeException: No type for expression" with delegate
JavaScript
-
KT-57356KJS: StackOverflowException on@JsExportwith type parameters referring to one another
Tools. Commonizer
-
KT-57796NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20
Tools. Compiler plugins. Serialization
-
KT-58067Serialization: NullPointerException caused by@Contextualproperty with type with generic -
KT-57730Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java type
Tools. Gradle. JS
-
KT-57766KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules"
Tools. Kapt
-
KT-58027Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"
Tools. Maven
-
KT-58048Maven: "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-55510K2: Lost designation for local classes -
KT-55191AA: add an API to compare symbol pointers -
KT-55487K2: symbol pointer restoring doesn't work for static members -
KT-55336K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project -
KT-55098AA: KtDeclarationRenderer should render a context receivers -
KT-51181LL API: errors for SAM with suspend function from another module -
KT-50250Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression -
KT-54360KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FE1.0
-
KT-55825AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter
Analysis API. FIR
-
KT-54311K2: proper implementation of KtSymbolPointer -
KT-50238Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
-
KT-52160FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped -
KT-55566LL FIR: Tests incompiler/testData/diagnostics/tests/testsWithJava17fail under LL FIR -
KT-55339LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type alias -
KT-55327LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function test -
KT-54826KtSymbolPointer: migrate from IdSignature to our own solution
Android
-
KT-54464MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
-
KT-38924Wasm support in nodejs -
KT-56160Getting WebAssembly.CompileError in browsers not supported GC and other required proposals -
KT-46773Implement an experimental version of the Kotlin/Wasm compiler backend -
KT-56584K/Wasm: Can't link symbol class -
KT-56166Fix compatibility with Firefox Nightly -
KT-55589Basic support of WASI -
KT-53790Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
-
KT-54535Implement custom equals and hashCode for value classes in Kotlin/JVM -
KT-55949Release experimental@Volatilesupport in native -
KT-44698Frontend (K2): print file name/line on compiler crash/exception -
KT-54666K2: Allow to skip specifying type arguments for members from raw type scope -
KT-54524Implement Java synthetic property references in compiler -
KT-54024K2: support -Xlink-via-signatures mode
Performance Improvements
-
KT-33722JVM: Result API causes unnecessary boxing -
KT-53330Optimize for-loops and contains over open-ended ranges with until operator (..<) for all backends -
KT-54415JVM BE: performance loss related to multi-field inline class lowering -
KT-48759Infix compareTo boxes inline classes -
KT-55033Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function -
KT-54501Improve code generation for inline classes with custom equals
Fixes
-
KT-56965K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val] -
KT-56611Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle -
KT-55251Enum.entries compilation error should be more specific -
KT-56527K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder -
KT-56526InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20 -
KT-57388Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property -
KT-53153Synthetic Enum.entries can be shadowed by user-defined declarations -
KT-51290"AssertionError: Parameter indices mismatch at context" with context receivers -
KT-57242Equals 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-57107Handling of Windows line endings CRLF broken in latest snapshot with K2 -
KT-57117K2: Compiler reports invalid columns in diagnostics in case of crlf line endings -
KT-56500The 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-56258VerifyError: Bad local variable type when using -Xdebug -
KT-54455Unexpected result of equality comparison of inline class objects -
KT-56251Generic Java synthetic property references don't work in K2 -
KT-55886K2: Wrong code location mapping with Windows line endings -
KT-43296FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic -
KT-57053Problem around anonymous objects in inline functions -
KT-54950NoSuchMethodError on calling 'addAll' on inline class implementing mutable list -
KT-56815compileKotlin task is stuck with while(true) and suspend function -
KT-56847Unresolved reference to Java annotation in Kotlin class with the same name packages -
KT-52459Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses -
KT-56215JVM: Object extension function nullable receiver null check false negative when object is null -
KT-56188K/N: AssertionError when casting SAM wrapper with generic type parameter -
KT-56033Restore 'isMostPreciseContravariantArgument' function signature for compatibility -
KT-56407Backend Internal error: Exception during IR lowering during:daemon-common-new:compileKotlin -
KT-55887K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa -
KT-56701K2 (with LightTree) reports syntax errors without additional information -
KT-56649K2 uses 0-index for line numbers rather than 1-index -
KT-54807K2. Support@OnlyInputTypesdiagnostic checks (containslike calls) -
KT-51247"AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional types -
KT-55436K1: implement warning about shadowing of the derived property by the base class field -
KT-56521Static scope initializers sometimes not called when first accessed from interop -
KT-49182Strange cast from Unit to String -
KT-55288False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier -
KT-33132Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass -
KT-56061K1 does not report error on inconsistent synthetic property assignment -
KT-55483K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory -
KT-55125Difference in generated bytecode for open suspend functions of generic classes -
KT-54140SOE atIrBasedDescriptorsKt.makeKotlinTypewith mixing recursive definitely not nullable type with nullability -
KT-56224Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodies -
KT-54662K2: Assign operator ambiguity on synthetic property from java -
KT-54507K2: WrongimplicitModalityfor interface inFirHelpers -
KT-55912"UnsupportedOperationException: Unsupported const element type kotlin.Any" caused bykotlinfqn 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-54209K2: false positive deprecation on a class literal with deprecated companion -
KT-55977[K2/N] Suspend function reference type is wrongly serialized to klib -
KT-55493K2: False-negative VAL_REASSIGNMENT -
KT-55372K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent class -
KT-55371K2: compiled code fails trying to call static method of package-private Java grandparent class -
KT-55408K2: can't access indirectly inherited from a package-private class Java members through a type alias -
KT-55116K2: store static qualifiers in dispatch receiver field -
KT-55996K2: cannot switch the light tree mode off with -Xuse-fir-lt=false -
KT-55368K2/MPP: Metadata compiler -
KT-54305K1: implement warning "synthetic setter projected out" -
KT-52027"NullPointerException" when using context receivers with inline fun -
KT-55984Stack allocated array is not cleaned between loop iterations -
KT-52593Provide Alpha support for JS in the K2 platform -
KT-54656NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameter -
KT-56015Remove unnecessary stack traces for special checks for ObjC interop -
KT-55606K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another class -
KT-53884K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this class -
KT-54502Synthetic extensions on raw types work differently from regular getter calls -
KT-49351FIR: Raw type scopes are unsupported -
KT-49345FIR: Properly support raw types in type parameter upper bounds -
KT-55733K2. Reference resolve works incorrectly for classes declared through typealias -
KT-46369FIR: Investigate raw types for arrays -
KT-41794[FIR] Implement raw type based scope -
KT-55181K2. No compilation error on throwing not throwable -
KT-55398Kotlin inline nested inline lambda's inline variable will inline not correctly -
KT-55359K2. No error when secondary constructor does not delegate to primary one -
KT-55759K2: Unresolved reference ofserializerif library linking is used (with kotlinx.serialization plugin) -
KT-54705Kotlin scripting doesn't support files with UTF-8 BOM -
KT-51753FIR: various errors due to expect/actual mapping absence in translator -
KT-44515FIR DFA: extract non-null info from anonymous object's initialization -
KT-55018K2 / serialization: FIR2IR fails on local companion -
KT-55284Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...) -
KT-55693K2. Type inference changed in k2 -
KT-54742K2: lambda with conditional barereturninferred to return Any, not Unit -
KT-54332Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404 -
KT-55509Invisible fake overrides are listed among lazy IR class members -
KT-55597K2.This type has a constructor, and thus must be initialized hereerror 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-54905KLIB check on compiled with pre-release version -
KT-55615K2 often does not expand type aliases in annotation position -
KT-54522K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList type -
KT-54300K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous object -
KT-55495K2: support lateinit intrinsic applicability checker -
KT-55494MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already exists -
KT-54980K2: Explicit type arguments in calls with the wrong number of type arguments are not resolved -
KT-54730K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parameters -
KT-55611IC / MPP: Optional internal annotations are not visible on incremental builds -
KT-55324K2: ControlFlowGraphBuilder fails with index out of bounds exception -
KT-55656K2: 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-52791Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file" -
KT-55071Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functions -
KT-52193Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source set -
KT-54573K2: untouched implicit types in delegated constructor call of data class with@JvmRecord -
KT-55037Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3 -
KT-48989JVM / 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-55231K2: Contract declarations are not passed to checkers -
KT-54411False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines code -
KT-55005Inconsistent behavior of array set operation in Kotlin 1.7.21 -
KT-44625Property backing/delegate field annotations are not serialized/deserialized for non-JVM targets -
KT-42490Receiver annotations are not serialized/deserialized for non-JVM targets -
KT-53441K2: cannot access static method of package-private Java grandparent class -
KT-54197[K2] Exception from inliner for inline function with context receiver -
KT-55246Disable 'CustomEqualsInValueClasses' feature in 1.9 language version -
KT-55247Disable 'InlineLateinit' feature in 1.9 language version -
KT-53957K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receivers -
KT-55421K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbol -
KT-52815Compiler option -Xjdk-release fails to compile mixed projects -
KT-52236Different modality in psi and fir -
KT-54921K2: cannot access static field of package-private Java parent class -
KT-53698K2: FIR2IR fails on call of inivisble extension function with Suppress -
KT-53920K2: "NoSuchElementException: Keyorg.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115abis missing in the map" with unreachable code and anonymous object -
KT-55358INTEGER_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-52373Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is included -
KT-54220K2: compiler fails on compiling plus expression on unsigned int -
KT-54692K2: compiler fails on compiling unsigned shifts -
KT-54824K2: missing smartcast after two levels of aliasing and a reassignment -
KT-53368Out of bounds read in sse version of String::hashCode -
KT-54978K2: Property accesses with explicit type arguments pass frontend checkers -
KT-51863ClassCastException when using context receivers with named argument. -
KT-55123JvmSerializableLambda is not applicable in common code in multiplatform projects -
KT-45970Missing deprecation warnings for constant operators calls in property initializers -
KT-54851K2: analysis of as/is contains multiple errors that result in missing diagnostics -
KT-54668K2: Inference error in body of lazy property with elvis with Nothing in RHS -
KT-55269FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClass -
KT-55026K2: Function hides internal constructor from another module -
KT-53070Update intellij testdata fixes for FIR and merge it to master -
KT-53492No parameter null check generated for constructor taking an inline class type -
KT-50489Smart cast may lead to failing inference -
KT-55160Kotlin's fragment element types must not extendIStubFileElementType -
KT-55143K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classes -
KT-47933Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.Repeatable -
KT-55035FIR: do not use FirValueParameter for FirFunctionalTypeRef -
KT-55095Wrong containingDeclarationSymbol in type parameter from Enhancement -
KT-53946K2: don't resolve Enum.declaringClass and Enum.getDeclaringClass -
KT-54673K2. "Superclass is not accessible" from interface error for sealed interfaces -
KT-55074OptIn false negative: constructor call with default argument value -
KT-54260K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen plugin -
KT-55034FIR: provide information about containing function/constructor to FirValueParameter -
KT-54744K2: reassigning a var erases smartcast info of a variable derived from the old value -
KT-53988K2: False negative "The expression cannot be a selector (occur after a dot)" -
KT-53983K2 crashes with NPE when 'this' is used inside enum class constructor -
KT-54910Can not declare typed equals operator in inline class with "Nothing" return type -
KT-54909Usage of custom typed equals operator in generic inline class is type-unsafe -
KT-53371Properly resolve FIR to get fully resolved annotations -
KT-53519FIR: argument mapping for annotations on value parameter is not properly built -
KT-54827MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation ofandroidMaintarget -
KT-54417K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver type -
KT-54972K2: Local functions with multiple type arguments are broken -
KT-54762Private constructor is accessible from a public inline function via@PublishedAPIannotation -
KT-54832Deprecate incorrect callable references resolution behavior for KT-54316 -
KT-54732DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64 -
KT-54897K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another module -
KT-54784NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scripts -
KT-54840Field for const property on interface companion object loses deprecated status when copied to interface -
KT-53825class files are generated when compilation fails with platform declaration clash -
KT-54526K2: Raw type scope is lost after exiting from elvis -
KT-54570K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw types -
KT-52157Annotation on type parameter isn't present in the symbol loaded from the library -
KT-54318VerifyError on{ null }in catch block -
KT-54654K2: Implicit types leaks into delegated member -
KT-54645K2: Clash of two inherited classes with the same name -
KT-53255[FIR2IR] StackOverflowError with long when-expression conditions -
KT-48861No warning on incorrect usage of array type annotated as Nullable in Java -
KT-54539@Deprecatedon members of private companion object is no longer needed -
KT-54403Unexpected behaviour on overridden typed equals in inline class -
KT-54536Unexpected result of comparison of inline class instances -
KT-54603ClassCastException on comparison of inline classes with custom equals -
KT-54401Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing' -
KT-54378K2: smart cast breaks subtyping in case with complex projections -
KT-53761Reified type not propagated to supertype token through two inline functions -
KT-53876Manually instantiated annotations with unsigned arrays are not equal -
KT-51740NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting range -
KT-54084ClassCastException when trying to call a context receiver's method -
KT-51282IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using@JvmMultifileClasses -
KT-53479False positive "Cannot access 'runCatching' before superclass constructor has been called" -
KT-50950JVM 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-51478Inapplicable receiver diagnostic expected when there are two context receiver candidates
Docs & Examples
-
KT-32469@Synchronizedon extension method doesn't generate instance lock
IDE
New Features
-
KTIJ-24378Update Kotlin plugin to 1.8.0 in IDEA 223.2
Performance Improvements
-
KT-55445KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE
Fixes
-
KTIJ-24657Disable pre-release and other metadata checks in IDE -
KT-55929Unresolved dependencies for intermediate multiplatform SourceSets -
KTIJ-24179Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2 -
KTIJ-23547K2 IDE: Functional type: explicit parameter name VS ParameterName annotation -
KTIJ-23347K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in tests -
KT-55862Can't resolve kotlin-stdlib-js sources in IDE -
KTIJ-23587K2: 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-55743K2 SLC: SymbolLightClassForClassOrObject must have a name -
KT-55604Descriptor leak -
KT-55502SLC: drop redundant 'final' modifier from synthetic static enum members -
KT-55497LC: drop@NotNullannotation from parameter from synthetic Enum.valueOf -
KT-55496SLC: generated synthetic enum methods by symbols instead of manual creation -
KT-55481SLC: implement correct java annotations for annotation classes (Retention, Target, etc.) -
KT-55470SLC: implement light class for RepeatableContainer -
KT-55442SLC: 'isInheritor' for 'DefaultImpls' should work correctly -
KTIJ-23449K2: "parent must not be null" from SymbolLightClassBase.getContext() -
KT-40609IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with Throws -
KT-54051Migrate symbol light classes from KtSymbol to KtElement
IDE. Completion
-
KTIJ-22503Support code completion for data objects -
KTIJ-22361ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl ” on K2
IDE. Debugger
-
KTIJ-24259Debugger is stuck in an infinite loop in an Android project -
KTIJ-24003Smart step into doesn't work for Java synthetic properties references -
KTIJ-24039Support smart step into for property setters
IDE. Decompiler, Indexing, Stubs
-
KTIJ-24351Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal
IDE. Gradle Integration
-
KTIJ-24616Gradle 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-55347Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialised -
KTIJ-23781TCS: Gradle Sync: Support friend&dependsOn via IdeaKotlinSourceDependency
IDE. Gradle. Script
-
KT-56941Gradle KTS / Navigation: Go to declaration for Java types doesn't work
IDE. Inspections and Intentions
-
KTIJ-23404K2 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-23892UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9 -
KTIJ-22087Support IDE inspections for upcoming data objects -
KTIJ-24286Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.String -
KTIJ-23859ConvertObjectToDataObjectInspection support more hashCode and toString cases -
KTIJ-23760Get rid ofreadResolvelogic in ConvertObjectToDataObjectInspection
IDE. KDoc
-
KTIJ-24342KDoc: First line break character is swallowed when pasted
IDE. Misc
-
KTIJ-24370Remove link to k2.xml from plugin.xml in kt-223 branches -
KTIJ-24210Compatibility issue with the CUBA plugin
IDE. Multiplatform
-
KTIJ-21205MPP: Kotlin not configured error is shown for K/N sources if Android target is presented -
KT-52172Multiplatform: Support composite builds -
KT-56198Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm build -
KTIJ-24147MPP: NullPointerException: versionString must not be null
IDE. Refactorings. Move
-
KTIJ-24243Move declarations: "Search in comments and strings" and "Search for text occurrences" options are always enabled when files are moved
IDE. Script
-
KT-56632Script configuration cannot be loaded for embedded code snippets
IDE. Wizards
-
KTIJ-24562Android target created by wizard contains AGP higher than supported -
KTIJ-24402Changes "Browser Application for Kotlin/Wasm" wizard template -
KTIJ-23525Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
JavaScript
New Features
-
KT-54118Kotlin/JS IR: keep declarations with non-minified names -
KT-35655Investigate could we use "names" field in SourceMaps to improve debug experience
Fixes
-
KT-55971KJS: Result of suspend function cannot be assigned to property of dynamic value -
KT-52374KJS / IR: caling suspend function as dynamic ignores the rest of the expression -
KT-56884KJS: "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-51122Provide fully-qualified method name in Kotlin/JS source maps -
KT-56602KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-Beta -
KT-56580KJS: languageVersionSettings string is unstable -
KT-56581KJS: Lock file for incremental cache -
KT-56582KJS: Function type interface reflection crashes the compiler in incremental build -
KT-55720KJS:ReferenceError: SuspendFunction1 is not definedwith 1.8 when importingkotlin.coroutines.SuspendFunction1 -
KT-56469KJS: BE Incremental rebuild spoils source map comment -
KT-55930KJS: A recursive callable reference of the inline function leads broken cross module references -
KT-31888Kotlin/JS: make possible to callmain()in main run tasks, but not in test tasks -
KT-51581FIR: support JS backend -
KT-55786KJS: Rewriting of secondary constructors if they are protected -
KT-52563KJS / IR: Invalid TypeScript generated for class extending base class with private constructor -
KT-55367KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS code -
KT-55240KJS: "NoSuchElementException: No element of given type found" caused by@JsExportandThrowable'schild class -
KT-54398KJS / IR + IC: Support *.d.ts generation -
KT-55144KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a caller -
KT-54134KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions around -
KT-54911KJS / IR + IC: invalidate all klib dependencies after removing it -
KT-54912KJS / IR + IC: Commit cache header only in the end (after lowering) -
KT-52677Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke" -
KT-54480KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as default -
KT-41294KJS: Weird behaviour of j2v8 in test infra -
KT-54173Kotlin/JS + IR: failed to providekeepsetting to avoid DCE remove of default interface function from implementing object
Language Design
-
KT-55451Preview of lifting restriction on secondary constructor bodies for value classes -
KT-54621Preview of Enum.entries: modern and performant replacement for Enum.values() -
KT-54525Preview of Java synthetic property references -
KT-55337Preview of data objects -
KT-55344Deprecate@Synchronizedin platforms except JVM
Libraries
-
KT-35508EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.) -
KT-56794Libraries: "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-55978Provide Common Base64 encoding in stdlib -
KT-46211[Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large input -
KT-31066Add Closeable & use to common stdlib -
KT-55609Introduce experimental kotlin.concurrent.Volatile annotation -
KT-39789Segfault in Kotlin/Native regex interpreter -
KT-53310Native: HashMap/HashSet doesn't reclaim storage after removing elements
Native
-
KT-56443Native 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-55303Objective-C import: improve-fmodulesflag discoverability. -
KT-39120Cinterop tool doesn't support the -fmodules compiler argument -
KT-40426Incorrect Objective-C extensions importing that prevents UIKit usage -
KT-55653Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override it -
KT-54284Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
-
KT-56350Kotlin/Native: restore "use Foundation" in generated Objective-C frameworks -
KT-55736Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point" -
KT-53638Native: support disabling mangling globally for Swift names in generated Objective-C header -
KT-53069SOE on K/N framework build for Arm64 -
KT-53317ObjCName annotation is not applied to an extension receiver in Objective-C export
Native. Stdlib
-
KT-53064Native: provide stdlib API to obtain memory management statistics
Reflection
-
KT-27585Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessible -
KT-55178Improve performance of KCallable.callBy -
KT-53279Reflection: "KotlinReflectionInternalError: Method is not supported" caused by@Repeatableannotation deserialization at runtime if it's repeated and contains arrays -
KT-44977Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access
Tools. CLI
-
KT-570771.8.20-RC-243shows Java 19 warnings even if configured with Java 17 toolchain -
KT-56992Performance test regression in Gradle when switching to Kotlin 1.8.20 -
KT-56789Metaspace memory leak in CoreJrtFileSystem -
KT-56925Remove warning about assignment plugin -
KT-54652Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disable -
KT-55784Unable to format compilation errors with ansi colors in compilation server -
KT-54718K2: Compiler crashes with "IllegalArgumentException: newPosition > limit" -
KT-54337CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error
Tools. Commonizer
-
KT-47429[Commonizer] OKIO support -
KT-51517C Interop Commonizer Fails On Classifier That Doesn't Exist
Tools. Compiler Plugins
Fixes
-
KT-53590K2 Allopen does not look for transitive meta-annotations -
KT-56487Add more methods to DescriptorSerializerPlugin -
KT-54020[K2] [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to@AllArgsConstructorannotation and an empty list is set as a constructor param value -
KT-53096Create a pack of compiler utilities for generating declarations from plugins -
KT-55248K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classes -
KT-54756Deprecate "legacy" mode of jvm-abi-gen plugin -
KT-55233jvm-abi-gen strips out InnerClass attributes -
KT-54994K2 plugin API: Compile-time constants are not evaluated before IR -
KT-55023K2 plugin API: Compilation with Kotlin daemon fails after certain number of tries -
KT-55286K2: Parcelize plugin sometimes can't find nested objects in current class -
KT-54500Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen
Tools. Compiler plugins. Serialization
-
KT-56738Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enum -
KT-56990"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using@Serializerand List argument -
KT-54441Prohibit implicit serializer customization via companion object -
KT-49983Implement 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-54297Regression in serializable classes with star projections
Tools. Gradle
New Features
-
KT-54691Kotlin Gradle Plugin libraries alignment platform -
KT-54492Send gradle build errors from idea -
KT-55540Add compilation speed metric in build reports -
KT-55541Validate FUS metrics values on Gradle side
Performance Improvements
-
KT-54836Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+ -
KT-55995Add ability to perform precise compilation task outputs backup -
KT-54579Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11 -
KT-54588KotlinCompile: Avoid callingFileCollection.getFiles()multiple times
Fixes
-
KT-57296Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied -
KT-56645Gradle: KGP reports an incorrect resources processing task name for JVM projects -
KT-55824DeprecatecommonMain.dependsOn(anything)in user scripts -
KT-56221Gradle KTS: False positiveVal cannot be reassignedwhen using an extension and its property with an implicitsetoperator -
KT-55452Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task -
KT-55565Consider 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-56414Dependency locking and failed builds with Kotlin 1.8.10 -
KT-52625Compatibility with Gradle 7.4 release -
KT-55544Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgs -
KT-52149Gradle: declare shared build services usages withTask#usesService -
KT-55323Gradle: allow to opt-out of reporting compiler arguments to a http statistics service -
KT-53811Compatibility with Gradle 7.6 release -
KT-52998Compatibility with Gradle 7.5 release -
KT-55741Gradle 8: Build service '' is being used by task '' without the corresponding declaration via 'Task#usesService'. -
KT-55174KotlinCompile task produces deprecation "Build service 'variant_impl_factories_...' is being used by task" -
KT-54425Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage() -
KT-54998"kotlin.gradle.performance" FUS collector reports data twice -
KT-55520Add required configuration for Kotlin Gradle Plugin API reference publication -
KT-52963Build report code breaks Gradle project isolation. -
KT-55164KGP: "Cannot access project ':' from project ':list'" JVM - Project Isolation with Multi Modules and Configuration Cache fails -
KT-52490Gradle: [org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warnings -
KT-55000Include information about the new IC into "kotlin.gradle.performance" FUS collector -
KT-54941Gradle, Daemon, MacOS M1: "Native integration is not available for Mac OS X aarch64" on first build -
KT-45748Migrate all Kotlin Gradle plugin Android tests to new test setup -
KT-54029Validate Binary Compatibility for kotlin-gradle-plugin-api
Tools. Gradle. Cocoapods
-
KT-41830CocoaPods integration: Support link-only mode for pods -
KT-55117PodGenTask doesn't declare ouputs properly -
KT-55243Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root project -
KT-56304Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic libraries -
KT-56298Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle project -
KT-55801Deprecate useLibraries -
KT-55790Improper sdk selected for watchosDeviceArm64 target
Tools. Gradle. JS
New Features
-
KT-25878Provide Option to Define Scoped NPM Package -
KT-37759[Gradle, JS] Support arguments of command line for webpack and nodejs task -
KT-33518Allow specifying command line args for node in nodejs or mocha tests -
KT-46163KJS / Ktor: Support run on the next free port if default one is occupied
Performance Improvements
-
KT-55476KotlinWebpack should be cacheable -
KT-39108Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend plugin -
KT-45411Investigate memory consumption in npm package -
KT-51376KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies
Fixes
-
KT-57285KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourceset -
KT-57068KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-Beta -
KT-54445KJS Remove dukat integration -
KT-56999K/JS: KotlinJsIrLink::rootCacheDirectory property must be public -
KT-56765K/JS: Several binaries use same cache directory -
KT-54529KJS / IR: generate typescript definitions only on explicit Gradle action -
KT-56488Debugger won't stop on breakpoints of JS browser test -
KT-56719KJS / Gradle: Compile sync task has to sync only changed files -
KT-56131KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is broken -
KT-37668Kotlin/JS: nodeTest failure due to main() function fail is reported as "BUILD SUCCESSFUL" -
KT-35285Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locations -
KT-55593KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as@Deprecatedin 1.8 -
KT-33291JS: No build result with gradle parallel build in multiproject build -
KT-40925KJS: need a way to configure extra environment variables for the test task -
KT-47236KJS:kotlinNpmInstallfails if no yarn is downloaded -
KT-53288KJS / Gradle: FileNotFoundException when customising moduleName -
KT-54511Kotlin/JS generated package.json main field is not correctly set if module name contains a/(slash) -
KT-54421KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14 -
KT-54503Make the target observer API public in kotlin JS Extension -
KT-54418KJS: Change test running with kotlin-test adapter -
KT-54132KJS IR: Sometimes karma failed on teamcity because of uninitialized browser
Tools. Gradle. Multiplatform
New Features
-
KT-54766TCS: external Android Target APIs: Milestone: Compile -
KT-50967Make c-interop libs resolve robust to build clean -
KT-53570multiplatform 'natural hierarchy' prototype
Fixes
-
KT-36943Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jar -
KT-57460Kotlin Gradle Plugin: Nullthispointer in transformCommonMainDependenciesMetadata -
KT-57306[Kotlin 1.8.20-RC] GradleException: Could not load the value of fieldapiConfigurationoforg.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer -
KTIJ-23750KotlinMppModelSerializationService is not invoked in production environment -
KTIJ-24223Update latest tested KGP version to 1.9.0-dev-764 -
KT-56536Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.name -
KTIJ-23889TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependencies -
KT-56729commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3 -
KT-56510Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistribution -
KT-54180TCS: Initial external Android Target APIs -
KT-55010TCS: External Android Target Prototype: Setup Android dependencies -
KT-54783KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilations -
KT-54867KotlinWithJavaCompilation does not respect javaSourceSet classpaths -
KT-52413MPP: Gradle dependency substitution breaks KMP import for native targets -
KT-56115Multiplatform;Composite Builds: Support import with cinterop commonization enabled -
KT-54312TCS: Replace CompilationDetails abstract class hierarchy by composable implementation -
KT-47441MPP: Unresolved reference for dependent on the other module with dependencySubstitution -
KT-56429Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folder -
KT-56337Unable to import a project with cinterop with enableKgpDependencyResolution -
KT-55873Unrequested dependencies leaking into common source sets: Regression after703fd0f -
KT-55891Deprecate pre-HMPP flags -
KT-56278TCS: Gradle Sync: [MISSING_DEPENDENCY_CLASS] on libraries used in shared native source sets -
KT-56143CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on target -
KT-56285TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolution -
KT-56204KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefix -
KT-56111Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is required -
KT-54974TCS: Gradle Sync: Implement IdeKotlinDependencyResolvers -
KT-38712Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is Turkish -
KT-54975TCS: Gradle Sync: Implement stdlib-common filter for platform source sets -
KT-48839Sources.jar of the root artifact of MPP library includes source files from test sourcesets -
KT-55492TCS: Gradle Sync: Sources and Documentation as extra 'classpath' -
KT-55237TCS: Gradle Sync: Support stdlib-native sources -
KT-55475TCS: Gradle Sync: Fine tune jvmAndAndroid source sets -
KT-55189TCS: Gradle Sync: Support icons (native, js) and global libraries -
KT-55218KotlinTargetHierarchy: Disambiguate declaring targets vs including targets -
KT-55112TCS: Gradle Sync: Resolve Source Dependencies -
KT-54977TCS: Gradle Sync: Implement debugging tools -
KT-54948TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCS -
KT-55289TCS: Gradle Sync: Prototypical sources jar resolution -
KT-55238TCS: Gradle Sync: Support commonized native distribution -
KT-55230Remove metadata dependencies transformation for runtimeOnly scope -
KT-53338Prettify the message about incompatible AGP and KGP versions -
KT-55134MPP / Gradle: Cannot read test tasks state -
KT-54506Test tasks are considered up-to-date after a failure when triggered byallTests -
KTIJ-23509Update latest tested KGP version to 1.8.20-dev-1815 -
KT-54787Test tasks are not up-to-date when an individual test task called after aggregating test task -
KT-54033Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP Apis -
KT-54202CInterop Commonization fails on first run when native distribution is not yet commonizied -
KT-54135Add documentation with examples to CompositeMetadataArtifact
Tools. Gradle. Native
-
KT-37051MPP Gradle plugin: duplicated cinterop libraries in composite build -
KT-55650Pass through errors from Gradle to Xcode -
KT-56205Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibs -
KT-54969Support podspec generation for the new K/N artifact DSL
Tools. Incremental Compile
-
KT-55021New IC: "The following LookupSymbols are not yet converted to programSymbols" when removing/renaming file facades -
KTIJ-21161Incremental build is taking too long when no files have changed in the project -
KT-53832Enable new incremental compilation by default in Gradle -
KT-55622MPP: Incremental compilation ignores changes in source set structure -
KT-55309IC: Get rid ofNonCachingLazyStorage -
KT-53402Incremental compilation tries to compile resources -
KT-54791Incremental compilation in JPS broken in 1.8.20-dev-1815
Tools. JPS
-
KT-56165Language version 1.9 and 2.0 is absent in Kotlin Compiler settings -
KT-51536[JPS] Recompile module on facet settings change -
KT-53735JPS / IC: "IOException: The system cannot find the file specified" on Windows -
KT-47983[JPS] Adding compilerSettings to Facet should initiate rebuild of module -
KT-54449Cyrillic characters in a filename break builds on linux
Tools. Kapt
New Features
-
KT-53135Enable JVM IR for KAPT stub generation by default -
KT-41129kotlin-maven-plugin + kapt - allow aptMode to be set according to docs
Fixes
-
KT-56635KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-Beta -
KT-56360Kapt with JVM IR changes fields order -
KT-54380Kapt / IR: Build failed when inheritance by functional interface with suspend modifier -
KT-54245JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.kt -
KT-33847Kapt does not included Filer-generated class files on compilation classpath -
KT-55490Kapt + JVM IR: "annotation@Foois missing default values" -
KT-43786KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScope -
KT-43117Kapt: "System is already defined in this compilation unit" -
KT-46966Kapt: correctErrorTypes: receiver type is NonExistentClass -
KT-46965Kapt: correctErrorTypes: custom setter gets Object parameter type -
KT-51087KAPT:@JvmRepeatableannotations are present in inverse order in KAPT stubs -
KT-54870KAPT stub generation with JVM_IR backend throws exception for delegated properties -
KT-44350Kapt Gradle integration tests failing with Android Gradle plugin 7.0 -
KT-54030Kapt: annotation processor warnings are displayed as errors on JDK 17+ -
KT-32596kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation -
KT-37586KAPT: When delegated property use an unknown type (to-be-generated class),correctTypeErrorwill mess up the$delegatefield type
Tools. Maven
-
KT-56697IC: "Incremental compilation was attempted but failed" Failed to get changed files: java.io.IOException: readPrevChunkAddress -
KT-55709Maven: "java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible" -
KT-29346Add components.xml to automatically compile kotlin maven projects -
KT-13995Maven: Kotlin compiler plugin should respect model's compile source roots -
KT-54822Maven: 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-47110Disable jdk8-specific warnings in kotlin-maven-plugin
Tools. Scripts
-
KT-54095It is difficult (if not impossible) to use kotlin compiler plugins with scripting -
KT-54461Warnings and stack traces when executing scripts via kotlin-maven-plugin -
KT-54733Scripts: ConcurrentModificationException in *.main.kts scripts -
KT-53283Scripts: 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-55483K2: 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-55308InnerClass attributes should be sorted (innermost last)
JavaScript
-
KT-56282KJS: Invalidate incremental cache in case of compiler internal errors -
KT-55852JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type -
KT-55716KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0 -
KT-55758KJS / IR: Checking implemented interface on a class implementing a @JsExport interface returns the wrong result
Reflection
-
KT-56093Metaspace 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-55681Serialization: NullPointerException after update to 1.8.0 caused by@Serializer(forClass= ..) -
KT-56244kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0 -
KT-55683Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object -
KT-55682Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0
Tools. Gradle
-
KT-55697KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath
Tools. Gradle. Multiplatform
-
KT-55730MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
-
KT-56280Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Kapt
-
KT-48013Kapt 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 |
v1.8.0: Kotlin 1.8.0
Changelog
Analysis API
-
KT-50255Analysis API: Implement standalone mode for the Analysis API
Analysis API. FIR
-
KT-54292Symbol Light classes: implement PsiVariable.computeConstantValue for light field -
KT-54293Analysis API: fix constructor symbol creation when its accessed via type alias
Android
-
KT-53342TCS: New AndroidSourceSet layout for multiplatform -
KT-53013Increase AGP compile version in KGP to 4.1.3 -
KT-54013Report error when using deprecated Kotlin Android Extensions compiler plugin -
KT-53709MPP, Android SSL2: Conflicting warnings forandroidTest/kotlinsource set folder
Backend. Native. Debug
-
KT-53561Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"
Compiler
New Features
-
KT-52817Add@JvmSerializableLambdaannotation to keep old behavior of non-invokedynamic lambdas -
KT-54460Implementation of non-local break and continue -
KT-53916Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler -
KT-32208Generate method annotations into bytecode for suspend lambdas (on invokeSuspend) -
KT-53438Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage
Performance Improvements
-
KT-53347Get rid of excess allocations in parser -
KT-53689JVM: Optimize equality on class literals -
KT-53119Improve String Concatenation Lowering
Fixes
-
KT-53465Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20 -
KT-49658NI: False negative TYPE_MISMATCH on nullable type withwhen -
KT-48162NON_VARARG_SPREAD isn't reported on *toTypedArray() call -
KT-43493NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas -
KT-54393Change in behavior from 1.7.10 to 1.7.20 for java field override. -
KT-55357IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound -
KT-55068Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend -
KT-51284SAM conversion doesn't work if method has context receivers -
KT-48532Remove old JVM backend -
KT-55065Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend -
KT-53270K1: implement synthetic Enum.entries property -
KT-52823Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8 -
KT-55108IR interpreter: Error occurred while optimizing an expression: VARARG -
KT-53547Missing fun IrBuilderWithScope.irFunctionReference -
KT-54884"StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant -
KT-47475"IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClasses -
KT-55013State checker use-after-free with XCode 14.1 -
KT-54802"VerifyError: Bad type on operand stack" for inline functions on arrays -
KT-54707"VerifyError: Bad type on operand stack" in inline call chain on a nullable array value -
KT-48678Coroutine debugger: disable "was optimised out" compiler feature -
KT-54745Restore KtToken constructors without tokenId parameter to preserve back compatibility -
KT-54650Binary incompatible ABI change in Kotlin 1.7.20 -
KT-52786Frontend / K2: IndexOutOfBoundsException when opting in to K2 -
KT-54004Builder type inference does not work correctly with variable assignment and breaks run-time -
KT-54581JVM: "VerifyError: Bad type on operand stack" with generic inline function andwheninside try-catch block -
KT-53794IAE "Unknown visibility: protected/protected and package/" on callable reference to protected member of Java superclass -
KT-54600NPE on passing nullable Kotlin lambda as Java's generic SAM interface withsupertype bound -
KT-54463Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate -
KT-54509Ir Interpreter: unable to evaluate string concatenation with "this" as argument -
KT-54615JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression -
KT-53146JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime -
KT-53712Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER) -
KT-54366K2: no JVM BE specific diagnostics (in particular CONFLICTING_JVM_DECLARATIONS) in 1.8 -
KT-35187NullPointerException on compiling suspend inline fun with typealias to suspend function type -
KT-54275K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION" -
KT-53656"IllegalStateException: typeParameters == null for SimpleFunctionDescriptorImpl" with recursive generic type parameters -
KT-46727Report warning on contravariant usages of star projected argument from Java -
KT-53197K2: 'init' hides member of supertype 'UIComponent' and needs 'override' modifier -
KT-53867K2:@JvmRecorddoes not compile to a java record -
KT-53964K2 is unable to work with Java records -
KT-53349K2: TYPE_MISMATCH caused by non-local return -
KT-54100"Type variable TypeVariable(P) should not be fixed" crash in code with errors -
KT-54212K2: cannot calculate implicit property type -
KT-53699K2: Exception during IR lowering in code with coroutines -
KT-54192Warn about unsupported feature on generic inline class parameters -
KT-53723Friend modules aren't getting passed to cache build during box tests -
KT-53873K2: Duplicated diagnostics reported from user type ref checkers -
KT-50909"VerifyError: Bad type on operand stack" caused by smartcasting for nullable inline class property in class -
KT-54115Restore Psi2IrTranslator constructor from 1.7.20 -
KT-53908K2: Self-referencing generics in Java class causes New Inference Error (IE: class Foo<T extends Foo>) -
KT-53193K2: compile error on project that compiles fine with normal 1.7.10 -
KT-54062K2 Invalid serialization for type-aliased suspend function type with extension receiver -
KT-53953Forbid usages of super or super if in fact it accesses an abstract member -
KT-47473NI: Missed UPPER_BOUND_VIOLATED diagnostics if use type aliases with type parameters -
KT-54049K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED -
KT-30054Wrong approximation if nullable anonymous object with implemented interface is used -
KT-53751Postpone IgnoreNullabilityForErasedValueParameters feature -
KT-53324Implement Enum.entries lowering on K/N -
KT-44441K2: report redeclaration error if there is a Java class with the same name as the Kotlin class -
KT-53807No warning about declaringClass on an enum value -
KT-53493K2:val on function parametercounts as just warning -
KT-53435K2: "IllegalArgumentException: class KtValueArgument is not a subtype of class KtExpression for factory ANNOTATION_ARGUMENT_MUST_BE_CONST" if string in nested annotation is concatenated -
KT-52927AssertionError: LambdaKotlinCallArgumentImpl -
KT-53922Make Enum.entries unstable feature to poison binaries -
KT-53783Exception during psi2ir when declaring expect data object -
KT-53622[OVERLOAD_RESOLUTION_AMBIGUITY] when enum entry called 'entries' is present in K2 -
KT-41670JVM IR: AbstractMethodError when using inheritance for fun interfaces -
KT-53178K2: implement diagnostics for serialization plugin -
KT-53804Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib -
KT-52970Default value constant in companion object works on JVM and JS, but fails on native -
KT-51114FIR: Support DNN checks -
KT-27936Write InnerClasses attribute for all class names used in a class file -
KT-53719Parsing regression on function call with type arguments and labeled lambda -
KT-53261Evaluate effect from inline for primitive types -
KT-53706K2: Context receivers are not resolved on properties during type resolution stage -
KT-39492Kotlin.Metadata's packageName field cannot be an empty string -
KT-53664Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another module -
KT-52478[Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another one -
KT-48822CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationException -
KT-50281IllegalStateException: unsupported call of reified inlined function -
KT-50083Different error messages in android and JVM (Intrinsics.checkNotNullParameter). -
KT-53236Support Enum.entries codegen on JVM/IR BE -
KT-41017FIR: should we support smartcast after null check -
KT-53202"ISE: Descriptor can be left only if it is last" after direct invoke optimization on a capturing lambda -
KT-46969@BuilderInferencewith nested DSL scopes cause false-positive scope violation in Kotlin 1.5 -
KT-53257FIR: Improper context receiver argument is chosen when there are two extension receiver candidates -
KT-53090Anonymous function and extension function literals are generated as classes even with -Xlambdas=indy -
KT-53208K2: Cannot get annotation for default interface method parameter when compiled with-Xuse-k2 -
KT-53184K2: NoSuchMethodError on KProperty1.get() referenced via nullable typealias -
KT-53198K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit? -
KT-53100Optimization needed: (CONSTANT_PRIMITIVE(x: T?)) => x -
KT-49875[FIR] Support infering PRIVATE_TO_THIS visibility -
KT-53024Refactor FIR renderer to composable architecture -
KT-50995[FIR] Support SAM with receiver plugin -
KT-53148K1: introduce warning for inline virtual member in enum -
KT-49847Devirtualization fails to eliminate boxing in function reference context -
KT-52875Extension function literal creation with-Xlambdas=indyfails with incorrect arguments -
KT-53072INVALID_IF_AS_EXPRESSION error isn't shown in the IDE (LV 1.8) -
KT-52985Native: a function with typeT?returned akotlin.Unitinstead ofnull -
KT-52020FIR warning message includes internal rendering -
KT-48778-Xtype-enhancement-improvements-strict-mode not respecting@NonNullannotation for property accesses?
IDE
Fixes
-
KTIJ-22357CCE “class org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef” in K2 -
KT-55150Argument for@NotNullparameter 'scope' of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be null -
KTIJ-22165IDE notification to promote users to migrate to the new Kotlin/JS toolchain -
KTIJ-22166IDE notification (or something else) about JPS and Maven support for Kotlin/JS is deprecated -
KT-53543Rework light classes for file facade -
KT-48773Investigate the possibility of removing dependency on old JVM backend in light classes -
KTIJ-19699IDE: False positive type mismatch in Java code for Kotlin nested class non-direct inheritor from external library -
KT-51101FIR IDE: Exception on "Show Type Info" action -
KTIJ-22295MPP, IDE: False positive UPPER_BOUND_VIOLATED when JVM module implements the generic interface from MPP module and the type parameter is not equal to itself. -
KT-51656FIR IDE: ProgressCancelled exception is masked in the compiler during resolve -
KT-51315FIR IDE: move out base modules from fe10 plugin to reuse in k2 plugin -
KTIJ-22323K2: ISE during resolve of stdlib calls from the stdlib -
KTIJ-21391Generate -> Override methods : don't delegate to abstract methods -
KT-53097Extract common part of light classes to another module -
KTIJ-22354FIR LC: annotation owner is always null -
KTIJ-22157Kotlin call resolver leaks user code when reporting exception
IDE. Completion
-
KTIJ-22552Kotlin: 'for loop' postfix completion doesn't work - "Fe10SuggestVariableNameMacro must be not requested from main classloader" -
KTIJ-22503Support code completion for data objects
IDE. Debugger
-
KT-51755Compilation exception with scripting compilation during debug session -
KTIJ-21963Debugger / IR: Expression evaluation of the debugger doesn't work
IDE. Decompiler, Indexing, Stubs
-
KTIJ-22750Initialize Kotlin stub element types lazily -
KTIJ-18094IDE: "AssertionError: Stub count doesn't match stubbed node length" with minified Android AAR library -
KTIJ-17632IndexOutOfBoundsException: Cannot decompile a class located in minified AAR
IDE. Gradle Integration
-
KT-48135In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external libraries -
KTIJ-22345False positive unresolved reference for members of subclasses of expect classes. -
KT-53514HMPP: False positive forNone of the following functions can be called with the arguments supplied.with Enum in common module -
KT-51583Gradle 7.4+ | SamplesVariantRule interference: Could not resolve all files for configuration ':kotlinKlibCommonizerClasspath' -
KTIJ-21077Dependency matrix does not work with Jetpack compose / multiplatform projects
IDE. Inspections and Intentions
-
KTIJ-19531Adapt changes about new rules for method implementation requirements -
KTIJ-22087Support IDE inspections for upcoming data objects -
KTIJ-20510Quick fix to implement and call correct super method in case of inheritance with defaults -
KTIJ-20170Provide quickfix for deprecated resolution to private constructor of sealed class -
KTIJ-22630FIR IDE: Lazy resolve exception after invocation ofOverride membersaction on value class -
KT-49643Intentions: "Implement members" fails when base type function declaration uses unresolved generic types
IDE. JS
-
KTIJ-22167Make JS IR default in projects created by wizard -
KTIJ-22332Wizard: Kotlin/JS projects: cssSupport DSL should be updated
IDE. KDoc
-
KTIJ-22324K2 IDE: implement reference resolve inside KDocs
IDE. Multiplatform
-
KTIJ-19566New Project Wizard: Update HMPP-related flags in multiplatform wizards
IDE. Navigation
-
KT-51314FIR IDE: show Kotlin declarations in search symbol -
KTIJ-22755Find usage for constructor from kotlin library doesn't work for secondary constructor usages
IDE. Script
-
KTIJ-22598Add warning for standalone scripts in source roots -
KT-54325.settings.gradle.kts and .init.gradle.kts are reported as standalone scripts
IDE. Structural Search
-
KTIJ-21986KSSR: "CodeFragment with non-kotlin context should have fakeContextForJavaFile set: originalContext = null" warning shows up when replacing
IDE. Tests Support
-
KT-50269FIR IDE: Allow running tests via gutter
IDE. Wizards
-
KTIJ-23537Wizard: projects with Android modules require higher sdkCompileVersion -
KTIJ-23525Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion -
KTIJ-22763New Project Wizard: remove deprecated Android extensions plugin from Android target in the project constructor -
KTIJ-22481Wizard: Kotlin -> Browser application (gradle groove). Build error
JavaScript
Fixes
-
KT-55097KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception -
KT-54406Kotlin/JS: build with dependencies fails with "Could not find "kotlin" in [~/.local/share/kotlin/daemon]" -
KT-53074Make JS IR BE default in toolchain (gradle & CLI) -
KT-50589UTF-8 Instability in kotlin.js.map -
KT-54934KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures -
KT-54895KJS / IR + IC: broken cross module references for function default param wrappers -
KT-54520KJS / IR Allow IdSignature clashes -
KT-54120JS IR + IC: pointless invalidation of dependent code after modifying companions -
KT-53986KJS / IR + IC: compiler produces different JS file names with IC and without IC -
KT-54010JS IR + IC: Force IC cache invalidation after updating language version or features -
KT-53931KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not defined -
KT-53968Kotlin/JS: no UninitializedPropertyAccessException on access to non-initialized lateinit property defined in dependencies -
KT-54686KJS / IR: Incorrect generation of signatures when one of argument is nested class -
KT-54479KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructure -
KT-54382KJS / IR: Wrong type check for inheritors of suspend functions -
KT-54323KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuild -
KT-53361KJS / IR: No debug info is generated for in-line js code -
KT-53321Implement Enum.entries lowering on JS/IR -
KT-53112KJS IR turn on IC infra by default -
KT-50503Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: "Could not find library" after removing module dependency -
KT-54011JS IR + IC: EnumEntries don't work well when IC is enabled -
KT-53672KJS / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by function reference to extension function of reified type variable -
KT-43455KJS: IR. Incremental compilation problem with unbound symbols -
KT-53539KJS: Exported class inherited non-exported class shows warning -
KT-53443KJS/IR: NullPointerException caused by anonymous objects inside lambdas -
KT-52795K/JS and K/Native IR-validation/compilation errors for a valid kotlin code -
KT-52805KJS/IR: Invalid call of inline function inalsoblock -
KT-51151KJS / IR: Wrong overloaded generic method with receiver is called -
KT-52830KJS/IR: Sourcemap disabling doesn't work -
KT-52968KJS / IR: Buggy generation of overridden methods -
KT-53063KJS / IR + IC: undefined cross module reference for implemented interface functions -
KT-51099KJS / IR + IC: Cache invalidation doesn't check generic class variance annotations (in, out) -
KT-51090KJS / IR + IC: Cache invalidation doesn't check suspend qualifier -
KT-51088KJS / IR + IC: Cache invalidation doesn't check class qualifiers (data, inline) -
KT-51083KJS / IR + IC: Cache invalidation doesn't check inline function which was non inline initially -
KT-51896KJS / IR + IC: Cache invalidation doesn't trigger rebuild for fake overridden inline functions
Language Design
-
KT-48385Deprecate confusing grammar in when-with-subject -
KT-48516Forbid@Synchronizedannotation on suspend functions -
KT-41886Ability to require opt-in for interface implementation, but not for usage -
KT-34943OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java code -
KT-51334Implement type-bound labelthis@Type
Libraries
New Features
-
KT-21007Provide Kotlin OSGI Bundle with extensions for JRE8 (and JRE7) -
KT-54082Comparable and subtractible TimeMarks -
KT-52928Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.Path -
KT-49425Update OptIn documentation to reflect latest design changes -
KT-54005Allow callingdeclaringJavaClasson Enum -
KT-52933rangeUntil members in built-in types
Performance Improvements
-
KT-53508Cache typeOf-related KType instances when kotlin-reflect is used
Fixes
-
KT-51907Switch JVM target of the standard libraries to 1.8 -
KT-54835Document that Iterable.all(emptyCollection) returns TRUE. -
KT-54168Expand on natural order in comparator docs -
KT-53277Stabilize experimental API for 1.8 -
KT-53864Review deprecations in stdlib for 1.8 -
KT-47707Remove the system property and the brittlecontainsoptimization code itself -
KT-52336Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1) -
KT-53927Remove deprecation from ConcurrentModificationException constructors -
KT-53152Introduce EnumEntries to stdlib as backing implementation of Enum.entries -
KT-53134stdlib > object Charsets > not thread safe lazy initialization -
KT-51063Gradle project with JPS runner: "JUnitException: Failed to parse version" JUnit runner internal error with JUnit -
KT-52908Native: setUnhandledExceptionHook swallows exceptions
Native
-
KT-51043Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2 -
KT-50786Native: prohibit suspend calls inside autoreleasepool {} -
KT-52834Implement test infrastructure for K2/Native
Native. C Export
-
KT-36878Reverse C Interop: incorrect headers generation for primitive unassigned type arrays -
KT-53599[Reverse C Interop] Provide box/unbox API for unsigned primitive types -
KT-41904Kotlin/Native : error: duplicate member for interface and function with the same name -
KT-42830[Reverse C Interop] Add API to get value of boxed primitives -
KT-39496K/N C: optional unsigned types as function parameters crash the compiler -
KT-39015Cannot compile native library with nullable inline class
Native. C and ObjC Import
-
KT-54738Cocoapods cinterop: linking platform.CoreGraphics package -
KT-54001Kotlin/Native: support header exclusion in cinterop def files -
KT-53151Native: Custom declarations in .def don't work with modules, only headers
Native. ObjC Export
-
KT-53680Obj-C refinement annotations -
KT-54119Native: runtime assertion failed due to missing thread state switch -
KT-42641Don't export generated component* methods from Kotlin data classes to Obj-C header
Native. Platform Libraries
-
KT-54225Native: update to Xcode 14.1 -
KT-54164Native: commonizer fails on CoreFoundation types -
KT-39747Why is there no WinHttp API in Kotlin/Native's Windows API?
Native. Runtime
-
KT-49228Kotlin/Native: Allow to unset unhandled exception hook -
KT-27305Fix FILE macro insideRuntimeCheckandRuntimeAssert
Native. Runtime. Memory
-
KT-54498Deprecation message of 'FreezingIsDeprecated' is not really helpful -
KT-53182New memory manager: Unexpected memory usage on IOS
Native. Stdlib
-
KT-52429Small Usability Improvements for Worker API
Reflection
-
KT-54629Incorrectly cached class classifier -
KT-54611KTypeImpldoes not take into account class loader from theclassifierproperty -
KT-48136MakeReflection.getOrCreateKotlinPackageuse cache whenkotlin-reflectis used -
KT-50705Use ClassValue to cache KClass objects in kotlin-reflect -
KT-53454Properly cache the same class's KClass when it's loaded by multiple classloaders in getOrCreateKotlinClass
Specification
-
KT-54210Update Kotlin specification to mention that since 1.8 generics in value classes are allowed
Tools. CLI
-
KT-54116Add JVM target bytecode version 19 -
KT-53278Support values 6 and 8 for -Xjdk-release -
KT-46312CLI: Kotlin runner should use platform class loader to load JDK modules on Java 9+
Tools. Commonizer
-
KT-54310Commonizer fails on 1.8.0-dev K/N distributions -
KT-48576[Commonizer] platform.posix.pselect not commonized in Ktor
Tools. Compiler Plugins
-
KT-46959Kotlin Lombok: Support generated builders (@Builder) -
KT-53683Unresolved reference compilation error occurs if a file is annotated with@Singular and has any guava collection type : ImmutableTable, ImmutableList or else -
KT-53657[K2] Unresolved reference compilation error occurs if a field is annotated with@Singular and has type NavigableMap without explicit types specification -
KT-53647[K2] Unresolved reference compilation error occurs if a field is annotated with@Singular and has type Iterable<> -
KT-53724Param of the@Singular lombok annotation ignoreNullCollections=true is ignored by kotlin compiler -
KT-53451[K2] References to methods generated by@With lombok annotation can't be resolved with enabled K2 compiler -
KT-53721[K2] There is no compilation error while trying to add null as a param of the field with non-null type -
KT-53370Kotlin Lombok compiler plugin can't resolve methods generated for java boolean fields annotated with@With annotation
Tools. Compiler plugins. Serialization
-
KT-54878JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer<Box<*>>() -
KT-55340Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type -
KT-55296Improve exceptions in serialization plugin -
KT-55180KJS: regression in serialization for Kotlin 1.8.0-beta -
KT-53157Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serialization -
KT-54297Regression in serializable classes with star projections -
KT-49660kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed class -
KT-43910JS IR: Serialization with base class: "IndexOutOfBoundsException: Index 0 out of bounds for length 0"
Tools. Daemon
-
KT-52622Kotlin/JS, Kotlin/Common compilations start Kotlin daemon incompatible with Kotlin/JVM compilation on JDK 8
Tools. Gradle
New Features
-
KT-27301Expose compiler flags via Gradle lazy properties -
KT-53357Change single build metrics property -
KT-50673Gradle: KotlinCompile task(s) should use@NormalizeLineEndings -
KT-34464Kotlin build report path not clickable in the IDE
Performance Improvements
-
KT-51525[Gradle] Optimize evaluating args for compile tasks -
KT-52520Remove usage of reflection from CompilerArgumentsGradleInput
Fixes
-
KT-48843Add ability to disable Kotlin daemon fallback strategy -
KT-55334kaptGenerateStubs passes wrong android variant module names to compiler -
KT-55255Gradle: stdlib version alignment fails build on dynamic stdlib version. -
KT-55363[K1.8.0-Beta] Command line parsing treats plugin parameters as source files -
KT-54993Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+ -
KT-54136Duplicated classes cause build failure if a dependency to kotlin-stdlib specified in an android project -
KT-50115Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly -
KT-55222Migrate AndroidDependencyResolver to the new Gradle API -
KT-55119There is no validation for different jvmTarget and targetCompatibility values in multiplatform projects with jvm target and used java sources -
KT-55102Compile java task fails with different target version in pure kotlin project -
KT-54995[1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters withNo value passed for parameter 'mustExist' -
KT-35003Automatically set targetCompatibility for kotlin-jvm projects to work with gradle 6 metadata -
KT-45335kotlinOptions.jvmTarget conflicts with Gradle variants -
KT-48798Android: going from one to more than one productFlavor causes inputs of commonSourceSet$kotlin_gradle_plugin property of compileKotlin task to change -
KT-55019Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation -
KT-55004jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {} -
KT-54888Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase -
KT-54399Undeprecate 'kotlinOptions' DSL -
KT-54306Change the naming of newly added Compiler*Options classes and interfaces -
KT-54580KotlinOptions in AbstractKotlinCompilation class are deprecated -
KT-54653java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt exception if a dependency to the kotlin-stdlib is added -
KT-52624Compatibility with Gradle 7.3 release -
KT-54703Stdlib substitution does not work with JPMS modules -
KT-54602Prevent leaking Gradle Compile DSL types into compiler cli runtime -
KT-54439Project failed to sync Native LaguageSettings to compiler options in afterEvaluate -
KT-53885Bump minimal supported Gradle version to 6.8.3 -
KT-53773Protect and system properties can contain sensitive data -
KT-53732Add custom values limits for build scan reports -
KT-52623Compatibility with Gradle 7.2. release -
KT-51831Gradle: removekotlin.compiler.execution.strategysystem property -
KT-51679Change deprecation level to error for KotlinCompile setClasspath/getClasspath methods -
KT-54335Kotlin build report configuration. There is no validation for SINGLE_FILE output if the required kotlin.build.report.single_file property is empty or absent -
KT-54356Kotlin build report configuration. Wrong path is used for the property kotlin.internal.single.build.metrics.file -
KT-53617KotlinCompilerExecutionStrategy value is ignored by depending modules if configure once for all project modules using allProjects {} -
KT-53823Kotlin Gradle Plugin uses deprecated Gradle API: Provider.forUseAtConfigurationTime() -
KT-54142Increase Kotlin Gradle plugin Gradle target API to 7.5 -
KT-50161Android variant filter breaks KotlinCompile cache compatibility -
KT-54113LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong context -
KT-53830Versions of kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 aren't overrided if added as transitive dependencies to kotlin-stdlib -
KT-54112Missing target input on KotlinNativeLink task -
KT-45879Documentation: Wrong kotlin languageVersion "1.6 (EXPERIMENTAL)" -
KT-54103Remove JvmTarget.JVM_1_6 from generated Gradle compiler type -
KT-52959KMP code is breaking Gradle project isolation -
KT-50598MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first build -
KT-53246Gradle: Special characters in paths of errors and warnings should be escaped -
KT-47730How to avoid stdlib coming from Kotlin gradle plugin -
KT-52209Corrupted cache and non-incremental build if produce caches "in process" and restore then compiling with kotlin daemon -
KT-41642"TaskDependencyResolveException: Could not determine the dependencies" when trying to apply stdlib -
KT-53390Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilation -
KT-52984Kotlin Gradle plugin is misbehaving by resolving DomainObjectCollection early -
KT-38622Non-incremental compilation because of R.jar with Android Gradle plugin 3.6 -
KT-38576AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpath
Tools. Gradle. Cocoapods
-
KT-54314Cocoapods: Signing pod dependency for Xcode 14 -
KT-54060Xcode 14: disable bitcode embedding for Apple frameworks -
KT-53340Change default linking type for frameworks registered by cocoapods plugin -
KT-53392Deprecate and delete downloading pod dependencies by direct link -
KT-53695Build of macOS application fails if a framework is integrated via Cocoapods plugin
Tools. Gradle. JS
-
KT-53367KJS: Migrate cssSupport API -
KT-45789KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask output -
KT-55099K/JS: Second declaration of JS target without compiler type report warning incorrectly -
KT-52951[KGP/JS] Browser test target registration via properties -
KT-52950KJS: Report if yarn.lock was updated during built -
KT-53374KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache support -
KT-53381Kotlin/JS: with erased kotlin-js-store/ and reportNewYarnLock = true the task kotlinUpgradeYarnLock always fails -
KT-53788KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabled -
KT-53614Kotlin/JS upgrade npm dependencies
Tools. Gradle. Multiplatform
New Features
-
KT-53396Support 'implementation platform()' by gradle kotlin mpp plugin for JVM target -
KT-40489MPP / Gradle: support BOM (enforcedPlatform) artifacts in source set dependencies DSL
Performance Improvements
-
KT-52726[MPP] Optimize caching/performance/call-sites of 'compilationsBySourceSets'
Fixes
-
KT-54634MPP: Test Failure causes:KotlinJvmTest$Executor$execute$1 does not define failure -
KT-35916Gradle MPP plugin: Configurations for a main compilation and its default source set have different naming -
KT-46960Repeated kotlin/native external libraries in project -
KT-27292MPP: jvm { withJava() }: Gradle build: Java source under Kotlin root is resolved while building, but does not produce output class files -
KT-34650Naming clash in MPP+Android: androidTest vs androidAndroidTest -
KT-54387Remove MPP alpha stability warning -
KT-31468Targets disambiguation doesn't work if a depending multiplatform module useswithJava()mode -
KT-54090Take an Apple test device from the device list -
KT-54301KotlinToolingVersionOrNull: IllegalArgumentException -
KT-53256Implement K/N compiler downloading for KPM -
KT-45412KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source set -
KT-49202Tests on android target can't be executed in multiplatform project if dependency to kotlin-test framework is provided as a single dependency and tests configured to be executed via Junit5
Tools. Gradle. Native
New Features
-
KT-43293Support Gradle configuration caching with Kotlin/Native -
KT-53107Add arm64 support for watchOS targets (Xcode 14)
Fixes
-
KT-53704Native cinterop: eager header path calculation -
KT-54814Kotlin/Native: Github Actions: Testing watchOSX64 with Xcode 14 — Invalid device: Apple Watch Series 5 -
KT-54627Native: :commonizeNativeDistribution with configuration cache enabled fails even when set to warn on JDK 17 -
KT-54339Link tasks fail if Gradle Configuration Cache is enabled -
KT-53191Native cinterop sync problem with gradle -
KT-54583watchosDeviceArm64 target shouldn't register test tasks -
KT-52303Gradle / Native: Build tasks ignore project.buildDir -
KT-54442Gradle iOS test tasks fail if a device is not selected explicitly -
KT-54177Gradle: DeprecateenableEndorsedLibsflag -
KT-47355Support macos target for FatFramework task -
KT-53339MPP / CocoaPods: The static framework fails to install on a real iOS device -
KT-31573Missing description for Native Gradle tasks -
KT-53131Gradle Sync: "NoSuchElementException: Array contains no element matching the predicate" with CocoaPods -
KT-53686Task assembleReleaseXCFramework fails with "error: the path does not point to a valid framework" if project name contains a dash
Tools. Incremental Compile
-
KT-54144New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline function with custom JvmName -
KT-53871New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessor -
KT-19804Relocatable IC caches
Tools. JPS
-
KT-45474False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation -
KT-54228Switching abstract to sealed classes causes incremental issue -
KT-38483JPS: Stopping compilation causes IDE CompilationCanceledException -
KT-50310False positive NO_ELSE_IN_WHEN on incremental build when adding sealed classes -
KT-48813Move cache version to compiler -
KTIJ-921JPS: FileNotFoundException on project build in mixed Kotlin/Scala project
Tools. Kapt
-
KT-54187JVM IR + kapt: incorrect modifierfinalis generated for nested enum in interface -
KT-48827Remove 'kapt.use.worker.api' property
Tools. Scripts
-
KT-54355Scripts: Internal compiler error (languageVersion=1.9) -
KT-53009Scripting: NDFDE “Descriptor wasn't found for declaration SCRIPT” on using script definition with kotlin from master
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.8.0.zip | 0bb9419fac9832a56a3a19cad282f8f2d6f1237d2d467dc8dfe9bd4a2a43c42e |
| kotlin-native-linux-x86_64-1.8.0.tar.gz | 1634d4fa815c5cbd5d4f67526501ab0637e99efe3b1c279bb648f60425dc9688 |
| kotlin-native-macos-x86_64-1.8.0.tar.gz | e3764714c4b3f4fe5925d1bf55cb4f79c9d63fd0110ba337a3e4729cc0236c5e |
| kotlin-native-macos-aarch64-1.8.0.tar.gz | 75a49236907e0b577558a8353b4ab3221a5073ee4835fa72ec3b0448bd60aca5 |
| kotlin-native-windows-x86_64-1.8.0.zip | 3c552df79b62afb229e3e3dcef2797fd1eaae307b0903ccfd473665bb4a2238d |
v1.7.22: Kotlin 1.7.22
This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21. Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.7.22.zip | 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83 |
| kotlin-native-linux-x86_64-1.7.22.tar.gz | dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff |
| kotlin-native-macos-x86_64-1.7.22.tar.gz | 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5 |
| kotlin-native-macos-aarch64-1.7.22.tar.gz | 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e |
| kotlin-native-windows-x86_64-1.7.22.zip | 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92 |
v1.7.21: Kotlin 1.7.21
Changelog
Compiler
-
KT-54463Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate -
KT-54509Ir Interpreter: unable to evaluate string concatenation with "this" as argument -
KT-54004Builder type inference does not work correctly with variable assignment and breaks run-time -
KT-54393Change in behavior from 1.7.10 to 1.7.20 for java field override. -
KT-54615JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression -
KT-54581JVM: "VerifyError: Bad type on operand stack" with generic inline function andwheninside try-catch block -
KT-53146JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime -
KT-54600NPE on passing nullable Kotlin lambda as Java's generic SAM interface withsupertype bound -
KT-54707"VerifyError: Bad type on operand stack" in inline call chain on a nullable array value -
KT-54650Binary incompatible ABI change in Kotlin 1.7.20 -
KT-54802"VerifyError: Bad type on operand stack" for inline functions on arrays
Native. Runtime. Memory
-
KT-54498Deprecation message of 'FreezingIsDeprecated' is not really helpful
Tools. Gradle. Multiplatform
-
KT-54387Remove MPP alpha stability warning -
KT-48436False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"
Tools. JPS
-
KT-45474False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.7.21.zip | 8412b31b808755f0c0d336dbb8c8443fa239bf32ddb3cdb81b305b25f0ad279e |
| kotlin-native-linux-x86_64-1.7.21.tar.gz | 0f9eb04a5ee0665a195c1f1093c778f5696216660feb638b29f923f586093dd0 |
| kotlin-native-macos-x86_64-1.7.21.tar.gz | 9530cadcf05cfd6111ef35725115009283b1a0292427261b78d43853c35ccd44 |
| kotlin-native-macos-aarch64-1.7.21.tar.gz | f75e1a68e193b0cd9df56f15166fb4e721641b408065531b620cf204d78922e5 |
| kotlin-native-windows-x86_64-1.7.21.zip | 5e76301f6c386ea83dc668e171887244908c18da636f7237d5371b56d8fec8da |
v1.7.20: Kotlin 1.7.20
1.7.20
Analysis API
-
KT-52667FIR IDE: fun interfaces (SAM interfaces) are not properly resolved -
KT-52136FIR: Implicit type declaration from the other module cannot be used for overloading
Analysis API. FE1.0
-
KT-51962Analysis API: Finish Analysis API for FE1.0
Analysis API. FIR
-
KT-52779FIR IDE: Import Optimizer cannot handle generic type qualifiers -
KT-50236Fix OOB modification trackers for non-Kotlin code -
KT-51240Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module. -
KT-50868Analysis API: decompiled type aliases are not resolved
Compiler
-
KT-53739Builder inference, extension hides members -
KT-53733Kotlin/Native: update source documentation for the new default memory manager -
KT-53667Compiler crashes on attempt to alloc a string on the stack in new MM -
KT-53480Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string -
KT-52843Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long -
KT-53475Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"
New Features
-
KT-52495Support until operator in back-ends -
KT-52420Implement resolve of until operator -
KT-52419Implement until operator in the parser -
KT-33755Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework -
KT-51665FIR: implement label resolve for "typed this" case -
KT-52361Report warning on potentially empty intersection types
Performance Improvements
-
KT-47816Disable script discovery for non-script environments -
KT-48635JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes -
KT-23397Optimize out field for property delegate when it's safe (JVM)
Fixes
-
KT-53272Backend Internal error: Exception during IR lowering / No such value argument slot: 2 -
KT-53124Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables -
KT-51868JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface -
KT-36770Prohibit unsafe calls with expected@NotNullT and given Kotlin generic parameter with nullable bound -
KT-52974"IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project -
KT-53007JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class -
KT-53019K2: cannot cast callable reference to Function1 in runtime -
KT-53031K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameter -
KT-29168Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes -
KT-52432Using the IDE compiled with K2 (useFir) throws VerifyError exception -
KT-52327False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reported -
KT-49682Support JVM IR in KAPT stub generation -
KT-24643Prohibit using a type parameter declared for an extension property inside delegate -
KT-51972FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler plugin -
KT-52011[FIR] All-open compiler plugin isn't supported -
KT-51950JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegation -
KT-52540Native: kotlin.NotImplementedError with Arrow library -
KT-48031"IllegalStateException: Type variable TypeVariable(T) should not be fixed!" -
KT-47708RequiresOptIn check does not flag experimental method usage in SAM lambda expressions -
KT-52913JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class -
KT-50771IR partial linkage: Removed abstract callable members are not supported -
KT-52994Enable generic inline classes as experimental feature -
KT-52742CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default values -
KT-52743Non-null generic functions throws NPE when assigned to val -
KT-52745Frontend / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed class -
KT-52832Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be true -
KT-52403IncompatibleClassChangeError when inlining suspend funs -
KT-50107Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiver -
KT-47965Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let call -
KT-25787No error on crossinline usage of receiver parameter of functional type in an inline function -
KT-52762Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name" -
KT-52680K2: overload resolution ambiguity ifthisis casted in a different method -
KT-52676K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from Java -
KT-50293False positive: USELESS_CAST on stub types -
KT-52175WRONG_ANNOTATION_TARGET for annotation that used inside if -
KT-52338"IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field -
KT-49507JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field -
KT-44512FIR DFA: incorrect smartcast after null assignment inside a lambda -
KT-49200FIR/FE 1.0: different behavior with multiple matching star imports -
KT-52718declaringClass deprecation message mentions the wrong replacement in 1.7 -
KT-52190FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMap -
KT-52197Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambda -
KT-52057Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation arguments -
KT-47823JVM IR: "IllegalArgumentException: Inline class types should have the same representation" withbreakusage in the loop range -
KT-51883Kotlin 1.6.20 generates "-" in type names around lambdas and inline extension function with reified type which breaks Apache Beam -
KT-52684Syntax error regression on complicated combination of LT and GTEQ -
KT-52417Reflection: Can't reflect on type parameters captured by SAM converted lambda -
KT-46797JVM IR: suspendImpl has no generic signature, breaking reified types in anonymous object supertypes when using the type token pattern -
KT-51464FIR: Unable to infer type in coroutines flow code -
KT-52163JVM IR: Double.compareTo(Int) compiled to integer comparison -
KT-41980FIR: erroneous scope during annotation resolve -
KT-47159KtPsiUtils.areParenthesesUseless()is returning a false positive on expressions for interface delegation -
KT-51418Substitute anonymous type's supertypes -
KT-35544kotlin.TypeCastException has no message on Native -
KT-52386StackOverflowError during Kotlin/Native gradle build -
KT-52592NPE from KProperty.getExtensionDelegate on property delegated to another property -
KT-52551Delegating to object property reference does not invoke object's initializer -
KT-51704Contracts: "AssertionError: Arguments and parameters size mismatch" with companion object -
KT-25527False positive UNUSED_VALUE for delegated property/variable -
KT-51002[FIR] Hidden declaration hides visible one -
KT-51008[FIR] Star import does not work for nested calssifiers of java class -
KT-52407FIR: Star import has lower priority than built-in import -
KT-52431Reported error instead of warning due to empty intersection type found -
KT-49394Bad message and suggestion: The feature "unit conversion" is disabled -
KT-51168FIR: Inference error with Java interop and captured types -
KT-49961"AssertionError: Left expression was not processed: BINARY_EXPRESSION" when analyzing dangling [bracketed] expression inside elvis -
KT-50108Difference in fun interface conversion behavior for uninitialized not-null function values -
KT-51889Calls to super-classes constructors with context receivers fail on runtime -
KT-51228[FIR] Unresolved reference on callable reference on implicitthiswith smartcast -
KT-52364False positive for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION -
KT-52237JVM / IR: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER CONTINUATION_CLASS" when implementing Map interface on class with suspending functions -
KT-50832Method references to suspend inline functions are processed incorrectly -
KT-52194False positive "Class 'my.packge.MyClass' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" but builds fine -
KT-47203JVM Debugger: Parameter value doesn't change for tailrec function -
KT-52131False positive variable unused warning when calling inline function in finally block -
KT-51738Debugger: stepping over in inline function with multiple inline lambda invocations is incorrect -
KT-52198Losing reference to the value of an outer variable (Ref$ObjectRef) when using suspend inline with suspendCancellableCoroutine -
KT-50994FIR: AssertionError during inference of delegated properties with implicit types -
KT-51757FIR does not see various JS/Native specific declarations in common modules -
KT-51201FIR: ARGUMENT_TYPE_MISMATCH diagnostic contains generic parameter instead of the actual type -
KT-48444FIR: type argument rejected for annotation -
KT-51754JVM: Local variable table invalid for do-while with continue -
KT-51936Breakpoint not hit on last line of suspend function on Android -
KT-27333Forbid@Synchronizedannotation on suspend functions -
KT-51530"StackOverflowError: CoroutineTransformerMethodVisitor.spillVariables" with data class in Flow -
KT-51460FIR: Protected property inaccessible from inner class -
KT-53947IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER -
KT-51234Context receivers can be duplicated in function declaration -
KT-51576Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@'" withatcharacter -
KT-49479JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls -
KT-52270NullPointerException caused by braces on if-else returning a method reference inside lambda -
KT-47621False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter -
KT-37796NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself -
KT-45430PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context -
KT-52691K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces -
KT-52822Fix contract for KtElement.getReference() -
KT-50223IndexOutOfBoundsException fromClassicTypeSystemContext$DefaultImpls.getParameterduring call resolution -
KT-51963Change Maven version to 1.7.255 -
KT-47664Incorrect type checking in the case of generic types -
KT-48765NI: Inferred type does not respect the bound of type variable -
KT-51243False positive error "No required context receiver" inside contextual lambda -
KT-43541TYPE_MISMATCH for member function which is not occur for top level function during unsafe cast -
KT-51016[FIR] False positive OVERLOAD_RESOLUTION_AMBIGUITY between two extensions on different supertypes -
KT-50155FIR: support contextual receivers -
KT-38637Catch NoSuchFieldException in optimized when expression over enum
Docs & Examples
-
KT-49896Kotlin/JS: improve-Xir-property-lazy-initializationdescription due to making it true by default
IDE
-
KTIJ-22286Kotlin JPS project created via wizard does not contain Kotlin libraries in case of not-released version -
KTIJ-22065IDE notification motivating Kotlin users to use EAP -
KTIJ-22209Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10) -
KTIJ-22171Fix test BuiltInDecompilerConsistencyTest -
KTIJ-22016Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light class -
KT-52571MPP Tasks on import are not up-to-date after subsequent launches -
KT-47777ISE thrown from KtLightClassForFacadeImpl.Companion.createForFacadeNoCache has wrong message.
IDE. FIR
-
KT-52360FIR IDE: Make the fix ofisInheritormethod better -
KT-51786FIR IDE: IllegalStateException exception in Inspections' infrastructure -
KT-52331Analysis API: ArrayIndexOutOfBoundsException exception in Diagnostics' infrastructure
IDE. Code Style, Formatting
-
KTIJ-21346Incorrect formatting for functions with context receivers and visibility modifiers
IDE. Completion
-
KTIJ-21910FIR IDE: Fix completion tests started failing after visibility checker refinement
IDE. Decompiler, Indexing, Stubs
-
KTIJ-21243ContextReceivers: "UpToDateStubIndexMismatch: PSI and index do not match" plugin exception on library with context receivers usage attempt
IDE. Gradle Integration
-
KT-47627IDE import fails with com.intellij.util.lang.PathClassLoader error forrunCommonizerGradle task on 212, 213 IDEAs -
KTIJ-21638MPP: IntelliJ can not resolve MPP references in common-code -
KT-52216HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendant
IDE. Inspections and Intentions
-
KTIJ-22540Invalid "remove unnecessary parentheses" when delegating a functional interface to a SAM in brackets
IDE. J2K
-
KTIJ-21665J2K generates non compiling code when liftingreturnand one branch is broken before binary operator
IDE. JS
-
KTIJ-22337Wizard: Kotlin/Js for browser: cssSupport DSL should be updated
IDE. K2
-
KTIJ-21672FIR IDE: Method reference on generic class breaks resolve -
KTIJ-21714FIR IDE: Inherently imported type from another module is not properly resolved
IDE. Script
-
KT-52525Update scripts handling in source roots
IDE. Misc
-
KTIJ-21699Refactoring: move out parts of the plugin useful for both FE10 and K2
JavaScript
New Features
-
KT-39423KJS: Optionally generate a method to handle optional parameters for function in typescript -
KT-42282KJS IR: add an ability to run separate tests
Performance Improvements
-
KT-50270KJS IR: Unnecessary getter and setter calls when accessing class members
Fixes
-
KT-51133Kotlin/JS - IR: even simple lambdas generate a lot of useless boilerplate -
KT-51123Provide a way to add comments to generated JS -
KT-48493KJS / IR: Invalid d.ts for inner classes inside objects -
KT-52553KJS / IR: diamond hierarchy with super.toString produces stack overflow in runtime -
KT-23252JS: Unit materialization on declaration and assignment -
KT-51128Kotlin/JS - IR generate huge count of useless blocks -
KT-50778KJS/IR: Inline class has no field when building production distribution -
KT-50157KSJ IR: Applying identity equality operator to Chars always returns false -
KT-38262Javascript generation (and Typescript) fails on 'then', 'catch' and 'finally' (and others?) claiming they are reserved names -
KT-51066KJS / IR: suspend lambda parameter of value class is undefined -
KT-51102KJS/IR: Assertion failed at translateCallArguments(jsAstUtils.kt:343) -
KT-51878KJS / Legacy: Unit is not materialized in an overridden method, but it should be
Language Design
-
KT-47986Implicit inferring a type variable into an upper bound in the builder inference context -
KT-49264Deprecate infix function calls of functions named "suspend" with dangling function literal -
KT-25636Native: Object is frozen by default problem -
KT-49303Implement support for basic compile-time evaluation
Libraries
-
KT-52932Open-ended ranges in the standard library -
KT-52910Provide visit extension functions for java.nio.file.Path -
KT-48232Multiplatform function for computing cubic root -
KT-52778The documentation for theDurationdoes not indicate any differences from the ISO-8601 -
KT-52618ThreadLocalRandom is not a good source of randomness on Android before SDK 34, so don't use it for Kotlin Random
Native
-
KT-53346MPP project with kotlinx-serialization-json:1.4.0-RC is not built
Native. C Export
-
KT-45468Kotlin/Native: Bitcode verification error when trying to export a cached klib to a static or dynamic library
Native. C and ObjC Import
-
KT-53373Native: @ExportObjCClass doesn't work with the new memory manager -
KT-49034Kotlin/Native:cnames.structs.Fooresolves into wrong declaration -
KT-26478Objective-C object's class name is null in ClassCastException's message
Native. ObjC Export
-
KT-51593Include more information in Objective-C header documentation -
KT-33117Improve customizing Info.plist in produced frameworks -
KT-52681Native:@end;for Objective-C is generated with an unnecessary semicolon
Native. Platforms
-
KT-52226Kotlin/Native: Add support for cross-compilation of MIPS targets from macOS and Windows hosts
Native. Runtime
-
KT-52430KMM 1.6.21 framework built with Xcode13, new MM GC Can't support iOS 9.x -
KT-53534Kotlin/Native:-Xruntime-logs=gc=infoflag doesn't work with compiler caches in 1.7.20-beta
Native. Runtime. Memory
-
KT-52692Kotlin/Native: fix tests with aggressive GC -
KT-52130Kotlin/Native: use Xallocator for Kotlin objects only -
KT-51436Kotlin/Native: optimize mark queue
Reflection
-
KT-51804An error occurs when callBy a KFunction that contains a value class as an argument, has a default argument set, and has more than 32 arguments.
Tools. CLI
-
KT-52465CLI: IllegalStateException IrSimpleFunctionPublicSymbolImpl when source root is duplicated -
KT-52380Invalid path to compiler plugins should be reported as a compiler error -
KT-51025JVM CLI compiler takes class file from classpath instead of input java source file -
KT-51846Setting random value to the compiler argument where number is expected should produce an error. "-Xbackend-threads=abcd"
Tools. Compiler Plugins
-
KT-52486[K2] Looking for function/constructor whose parameters are annotated or meta annotated -
KT-52872Mark supportsK2 in ComponentRegistrar.kt as JvmDefault to avoid compatibility problems -
KT-52804A function obtained by Fir IrBuiltins has an incorrect package -
KT-52468Rename module and jar for lombok compiler plugin
Tools. Gradle
-
KT-53670Gradle: Cyclic dependency between kotlin-gradle-plugin-idea-1.7.20-Beta and kotlin-gradle-plugin-idea-proto-1.7.20-Beta -
KT-53615Gradle: Fix deprecation warnings in CleanableStoreImpl -
KT-53118Fully up-to-date builds are slower with Kotlin 1.7.0 -
KT-51923Improve usability of errors and warnings by being able to click on them -
KT-53244Report from gradle about compiler plugins -
KT-52839Warn in Gradle log why incremental compilation failed -
KT-46019Compatibility with Gradle 7.1 release -
KT-47047Migrate Kotlin Gradle Plugin from using Gradle conventions -
KT-52698Don't add InspectClassesForMultiModuleIC task when new incremental compilation is enabled -
KT-52867Provide simplified JVM toolchain configuration method -
KT-45747Add basic JUnit 5 Kotlin Gradle Plugin Android tests setup -
KT-46034Shadow Kotlin Gradle plugin dependencies -
KT-28664Support ExtensionContainer on kotlin targets and source sets. -
KT-19472Useful extensions of Gradle Kotlin DSL provided by Gradle Kotlin plugin -
KT-34393Kotlin Gradle DSL: Inconsistent srcDir configuration between Java and Kotlin -
KT-51629There isn't enough info about incremental compilation state in logs while running build with --info key
Tools. Gradle. Cocoapods
-
KT-53174CocoaPods: Synthetic Podfile does not specify platform -
KT-53127"MaterialComponents normal armv7" in Cocoapods plugin between Kotlin 1.6.21 and 1.7.0 -
KT-44155Cocoapods doesn't support pods without module map file inside -
KT-49032Cocoapods cinterop: some header files are not found -
KT-53337Add warning about future changing default linking type of framework provided via cocoapods plugin
Tools. Gradle. JS
-
KT-52637KJS / Gradle: Add SCSS webpack config -
KT-51527Kotlin/JS: BrowserXRun causes full-screen Webpack error "Compiled with problems: asset size limit/entrypoint size limit" for fresh Kotlin-React project from wizard -
KT-51532Kotlin/JS: passing environment variable via Gradle script causes "Execution optimizations have been disabled" warnings -
KT-52221Kotlin/JS: failed Node tests are not reported in a standard way
Tools. Gradle. Multiplatform
-
KT-52243CInteropProcess is not cacheable despite the annotation -
KT-52741MPP: klib outputs are not reproducible -
KT-52208MPP: Gradle plugin 1.7 doesn't support latest api versions (1.8, 1.9) -
KT-54071MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0
Tools. Gradle. Native
-
KT-52632Gradle / Native: commonizeNativeDistributionTask can never be up-to-date -
KT-52328"ld: framework not found SQLCipher" linkDebugTestIosSimulatorArm64 error
Tools. Incremental Compile
-
KT-53168Incremental compilation doesn't perform correctly after a few iterations -
KT-52925[IR BE] Non incremental build occurs after build failure for compileKotlinJs task -
KT-52946CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant module -
KT-52329Reduce memory usage of classpath snapshot cache -
KT-53266Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant field -
KT-53231New IC reports build failures for missing classpath snapshots
Tools. JPS
-
KT-47824'when expression must be exhaustive' isn't thrown during incremental compilation -
KT-51873JPS build is incorrect after gdw build -
KTIJ-17072JPS does not rebuild Kotlin usages of declared in Java when enum entry is added -
KT-51537Rebuild module on plugin classpaths change
Tools. REPL
-
KT-45065REPL: Incorrect output for unsigned value -
KT-53043Scripting: Changes in REPL protocol: mark end of errors
Tools. Scripts
-
KT-52598Scripts and REPL snippets are not checked against using 'kotlin' package -
KT-47187Kotlin ScriptEngine Failes to Compile a Trivial Statement After Failing to Compile a Broken One -
KT-47191[Kotlin Script Engine] Compiling Without Evaluating Leaves Engine in a Bad State
Tools. Kapt
-
KT-52761Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.7.20.zip | 5e3c8d0f965410ff12e90d6f8dc5df2fc09fd595a684d514616851ce7e94ae7d |
| kotlin-native-linux-x86_64-1.7.20.tar.gz | 65ac0a71fbff016d4387956768a49b668e6cda316e96adb116de5cf1169f5627 |
| kotlin-native-macos-x86_64-1.7.20.tar.gz | 449d68b055ea5b45106d1cbc925bc43d7e1a9ab9d6b1cdd16722fa569b8fd8b1 |
| kotlin-native-macos-aarch64-1.7.20.tar.gz | 221aa20718cf81897ba682479da838e44f221424f3a867f7871fff231b50a799 |
| kotlin-native-windows-x86_64-1.7.20.zip | b84bea3f8c62ec2f614e7d282335c5df891a654a843d30a9a55ebe29c68ea044 |
v1.7.10: Kotlin 1.7.10
Changelog
Compiler
-
KT-52702Invalid locals information when compilingkotlinx.collections.immutablewith Kotlin 1.7.0-RC2 -
KT-52892Disappeared specific builder inference resolution ambiguity errors -
KT-52782Appeared receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature -
KT-52718declaringClass deprecation message mentions the wrong replacement in 1.7
IDE. Configuration
-
KTIJ-21982Cannot run/build anything with Kotlin plugin since last update
Tools. Gradle
-
KT-52777'org.jetbrains.kotlinx:atomicfu:1.7.0' Gradle 7.0+ plugin variant was published with missing classes
Tools. Gradle. JS
-
KT-52856Kotlin/JS: Upgrade NPM dependencies
Tools. Gradle. Multiplatform
-
KT-52955SourceSetMetadataStorageForIde: Broken 'cleanupStaleEntries' with enabled configuration caching or isolated ClassLoaders -
KT-52694Kotlin 1.7.0 breaks Configuration Caching in Android projects
Tools. Incremental Compile
-
KT-52669Full rebuild in IC exception recovery leaves corrupt IC data
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.7.10.zip | 7683f5451ef308eb773a686ee7779a76a95ed8b143c69ac247937619d7ca3a09 |
| kotlin-native-linux-x86_64-1.7.10.tar.gz | b874373e87381b94c6a385178ea9594a5b4cfeb2fbae2bd89d3cb84c96bc3b96 |
| kotlin-native-macos-x86_64-1.7.10.tar.gz | 4e9470c25e0c6b3b79e86a59c7eca4d79c5a28ca515e80db93504535b2332a00 |
| kotlin-native-macos-aarch64-1.7.10.tar.gz | c02be577f541a5c73e1af75534006eea6e09cf67b3a886f323dae6f0406bcb3e |
| kotlin-native-windows-x86_64-1.7.10.zip | 52c64c754a23da3d554d89beb9cdc322ffcb19b8d6f1e812e849e597d282b99d |
v1.7.0: Kotlin 1.7.0
Changelog
Analysis API. FIR
-
KT-50864Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign target -
KT-50252Analysis API: Implement FirModuleResolveStates for libraries -
KT-50862Analsysis API: do not create use site subsitution override symbols
Analysis API. FIR Low Level API
-
KT-50729Type bound is not fully resolved -
KT-50728Lazy resolve of extension function from 'kotlin' package breaks over unresolved type -
KT-50271Analysis API: get rid of using FirRefWithValidityCheck
Backend. Native. Debug
-
KT-50558K/N Debugger. Error is not displayed in variables view for catch block
Compiler
New Features
-
KT-26245Add ability to specify generic type parameters as not-null -
KT-45165Remove JVM target version 1.6 -
KT-27435Allow implementation by delegation to inlined value of inline class -
KT-47939Support method references to functional interface constructors -
KT-50775Support IR partial linkage in Kotlin/Native (disabled by default) -
KT-51737Kotlin/Native: Remove unnecessary safepoints on watchosArm32 and iosArm32 targets -
KT-44249NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER with type usage in higher order function
Performance Improvements
-
KT-48233Switching to JVM IR backend increases compilation time by more than 15% -
KT-51699Kotlin/Native: runtime has no LTO in debug binaries -
KT-34466Use optimized switch over enum only when all entries are constant enum entry expressions -
KT-50861FIR: Combination of array set convention and plusAssign works exponentially -
KT-47171For loop doesn't avoid boxing with value class iterators (JVM) -
KT-29199'next' calls for iterators of merged primitive progressive values are not specialized -
KT-50585JVM IR: Array constructor loop should use IINC -
KT-22429Optimize 'for' loop code generation for reversed arrays -
KT-50074Performance regression in String-based 'when' with single equality clause -
KT-22334Compiler backend could generate smaller code for loops using range such as integer..array.size -1 -
KT-35272Unnecessary null check on unsafe cast after not-null assertion operator -
KT-27427Optimize nullable check introduced with 'as' cast
Fixes
-
KT-46762Finalize support for jspecify -
KT-51499@file:OptIndoesn't cover override methods -
KT-52037FIR: add error in 1.7.0 branch if run with non-compatible plugins -
KT-46756Release the K2/JVM compiler in Alpha -
KT-49715IR: "IllegalStateException: Function has no body: FUN name:toString" during IR lowering with shadowed extension inside interface -
KT-45508False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class member -
KT-28078Report error "Public property exposes its private type" for primary constructor properties instead of warning -
KT-49017Forbid usages of super or super if in fact it accesses an abstract member -
KT-38078Prohibit calling methods from Any with "super" qualifier once they are overridden as abstract in superclass -
KT-52363Evaluate impact of qualifiedthisbehavior change warnings -
KT-52561JVM: Coroutine state machine loses value after a check-induced smart cast -
KT-52311java.lang.VerifyError: Bad type on operand stack -
KT-41124Inconsistency of exceptions at init block for an enum entry with and without a qualifier name -
KT-46860Make safe calls always nullable -
KT-52503New green code appeared at the callable reference resolution -
KT-51925Native: "IllegalStateException: Symbol for kotlinx.cinterop/CStructVar|null[0] is unbound" caused by inline function -
KT-49317"IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter -
KT-51844New errors in overload resolution involving vararg extension methods -
KT-52006"java.lang.Throwable: Unbalanced tree Exception" on indexing kotlin project -
KT-51223Report warning about conflicting inherited members from deserialized dependencies -
KT-51439FE 1.0: implement type variance conflict deprecation on qualifier type arguments -
KT-51433FE 1.0: implement warnings about label resolve changes -
KT-51317Regression in resolution of lambdas where expected type has an extension receiver parameter -
KT-45935JVM IR: Add not-null assertion for explicit definitely not-null parameters -
KT-51818"ClassCastException: class CoroutineSingletons cannot be cast to class" with suspendCoroutineUninterceptedOrReturn and coroutines -
KT-51718JVM / IR: "VerifyError: Bad type on operand stack" caused by nullable variable inside suspend function -
KT-51927Native:The symbol of unexpected type encountered during IR deserializationerror when multiple libraries have non-conflicting declarations with the same name -
KT-52394JVM: Missing annotation on method with value class return type when a subclass is present in the same file in Kotlin 1.7.0-Beta -
KT-51640FIR: remove warning about "far from being production ready" -
KT-45553FIR: support hiding declaration from star import by as import -
KT-52404Prolong deprecation cycle for errors at contravariant usages of star projected argument from Java -
KT-50734TYPE_MISMATCH: NonNull parameter with a type of Nullable type argument causes compiler warning -
KT-51235JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" when property with inline class type is overridden to return Nothing? -
KT-48935NI: Multiple generic parameter type constraints are not applied as expected when the parameter is of function type -
KT-49661NI: No TYPE_INFERENCE_UPPER_BOUND_VIOLATED when argument is inferred by return type -
KT-50877Inconsistent flexible type -
KT-51988"NPE: getContainingDeclaration…lDeclarationType.REGULAR) must not be null" when using@BuilderInferencewith multiple type arguments -
KT-48890Revert Opt-In restriction "Overriding methods can only have opt-in annotations that are present on their basic declarations." -
KT-52035FIR: add error in 1.7.0 branch if run on JS / Native configuration -
KT-45461NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when passing an argument to a function with generic constraints -
KT-52146JVM IR: "AssertionError: Primitive array expected" on vararg of SAM types with self-type and star projection -
KT-50730Implement error for a super class constructor call on a function interface in supertypes list -
KT-52040JVM: ClassFormatError Illegal method name "expectFailure$__proxy-0" -
KT-50845Postpone rxjava errors reporting in the strict mode till 1.8 due to found broken cases -
KT-51979"AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override -
KT-51759FIR DFA: false positive "Variable must be initialized" -
KT-50378Unresolved reference for method in Jsoup library in a kts script file -
KT-34919"Visibility is unknown yet" when named parameter in a function type used in a typealias implemented by an abstract class -
KT-51893Duplicated [OVERRIDE_DEPRECATION] on overridden properties -
KT-41034K2: Change evaluation semantics for combination of safe calls and convention operators -
KT-51843Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags -
KT-51914False positive RETURN_TYPE_MISMATCH in intellij ultimate -
KT-51711Compiler warning is displayed in case there is 'if' else branch used with elvis -
KT-33517Kotlin ScriptEngine does not respect async code when using bindings -
KT-51850FIR cannot resolve ambiguity with different SinceKotlin/DeprecatedSinceKotlin -
KT-44705Deprecate using non-exhaustive if's and when's in rhs of elvis -
KT-44510FIR DFA: smartcast after elvis with escaping lambda -
KT-44879FIR DFA: Trackincanddecoperator calls in preliminary loop visitor -
KT-51758FIR: explicit API mode errors should not be reported for effectively internal / private entities -
KT-51203FIR: Inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and properties -
KT-51624FIR: false-positive INAPPLICABLE_LATEINIT_MODIFIER for lateinit properties with unresolved types -
KT-51204FIR IC: Incremental compilation fails on nested crossinline -
KT-51798Fix ISE from IR backend when data class inherits equals/hashCode/toString with incompatible signature -
KT-46187FIR: OVERLOAD_RESOLUTION_AMBIGUITY on SAM-converted callable reference to List::plus -
KT-51761Incorrect NONE_APPLICABLE in expect class -
KT-51756FIR: false positive NO_VALUE_FOR_PARAMETER in expect class delegated constructor call -
KT-49778Support cast to DefinitelyNotNull type in Native -
KT-51441-Xpartial-linkage option specified in Gradle build script is not passed to Native linker -
KT-34515NI: "AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" with double not-null assertion to brackets -
KT-48546PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with recursive property access in lazy block -
KT-28109"AssertionError: No setter call" for incrementing parenthesized result of indexed access convention operator -
KT-46136Unsubstituted return type inferred for a function returning anonymous object upcast to supertype -
KT-51364FIR: ambiguity due to String constructors clash -
KT-51621FIR: visible VS invisible qualifier conflict -
KT-50468FIR compilers fails with CCE when meets top-level destruction -
KT-51557Inline stack frame is not shown for default inline lambda -
KT-51358OptIn: show default warning/error message in case of empty message argument -
KT-44152FIR2IR fails on declarations from java stdlib if java classes are loaded from PSI instead of binaries -
KT-50949PSI2IR: NSEE fromArgumentsGenerationUtilsKt.createFunctionForSuspendConversionwith providing lambda as argument with suspend type -
KT-39256ArrayStoreException with list of anonymous objects with inferred types created in reified extension function -
KT-39883Deprecate computing constant values of complex boolean expressions in when condition branches and conditions of loops -
KT-36952Exception during codegen: cannot pop operand off an empty stack (reference equality, implicit boxing, type check) -
KT-51233AssertionError in JavaLikeCounterLoopBuilder with Compose -
KT-51254Verify Error on passing null to type parameter extending inline class -
KT-50996[FIR] Support Int -> Long conversion for property initializers -
KT-51000[FIR] Support Int -> Long? conversion -
KT-51003[FIR] Consider Int -> Long conversion if expected type is type variable -
KT-51018[FIR] Wrong type inference if one of constraints is integer literal -
KT-51446Metadata serialization crashes with IOOBE when deserializing underlying inline class value with type table enabled -
KT-50973Redundant line number mapping for finally block with JVM IR -
KT-51272Incompatible types: KClass and callable reference Collection::class -
KT-51274"Expected some types" exception on when branch for when expression of erroneous type -
KT-51229FIR: private constructor of internal data class treated as internal and not private -
KT-50750[FIR] Report UNSUPPORTED on array literals not from annotation classes -
KT-51200False EXPOSED_PARAMETER_TYPE for internal type parameter of internal type -
KT-49804False positive of UPPER_BOUND_VIOLATED and RETURN_TYPE_MISMATCH -
KT-51121Inconsistent SAM behavior in multiple cases causing AbstractMethodError (Kotlin 1.6.10) -
KT-50136FIR: syntax error on (T & Any) -
KT-49465FIR2IR: support definitely not-null types -
KT-51357FIR: error in inference while using integer literal in expected Long position -
KT-49925[FIR] Incorrect builder inference (different cases) -
KT-50542"IllegalStateException: Type parameter descriptor is not initialized: T declared in sort" with definitely non-null type Any & T in generic constraint -
KT-51171FIR: classErrorresolution problem -
KT-51156Multiplatform linkDebugFramework task throws NoSuchElementException when expect class constructors utilize nested enum constant -
KT-51017[FIR] Ambiguity on callable reference between two functions on generic receiver with different bounds -
KT-51007[FIR] False positive ILLEGAL_SUSPEND_FUNCTION_CALL if fun interface with suspend function declared in another module -
KT-50998[FIR] Int.inv() cal does not considered as compile time call -
KT-51009[FIR] Incorrect inference of lambda in position of return -
KT-50997[FIR] Incorrect type of typealias for suspend functional type -
KT-49714Compiler reports "'operator modifier is inapplicable" if expect class with increment operator is provided via type alias -
KT-48623Type nullability enhancement improvements -
KT-44623"IllegalStateException: IdSignature is allowed only for PublicApi symbols" when suspending receiver is annotated with something -
KT-46000JVM / IR: AssertionError on isSubtypeOfClass check in copyValueParametersToStatic with Compose -
KT-50211Annotation Instantiation with default arguments in Native -
KT-49412Controversial "type argument is not within its bounds" reported by FIR -
KT-48044[FIR] Investigate behavior ofUPPER_BOUND_VIOLATEDon complex cases -
KT-37975Don't show deprecation of enum class itself for its own member -
KT-50737Inheritance from SuspendFunction leads to compiler crash -
KT-50723Implement a fix of reporting of uninitialized parameter in default values of parameters -
KT-50749Implement UNSUPPORTED reporting on array literals inside objects in annotation classes -
KT-50753Implement reporting errors on cycles in annotation parameter types -
KT-50758Fix inconsistency of exceptions at init block for an enum entry with and without a qualifier name -
KT-50182CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT: clarify error message forconstin object expression -
KT-50183Fix missing apostrophe escapes in compiler error messages -
KT-50788FIR: false unsafe call on not-null generic -
KT-50785FIR: inconsistent smart cast after comparison with true -
KT-50858[FIR LL] FIR in low level mode creates multiple symbols for same declaration -
KT-50822Analysis API: make declaration transformers machinery to be a thread safe -
KT-50972FIR doesn't report VAL_REASSIGNMENT on synthetic properties -
KT-50969FIR: diamond inheritance with different parameter types depends on a supertype order -
KT-50875FIR: no smart cast after reassignment with elvis -
KT-50835Inline functions with suspend lambdas break the tail-call optimization -
KT-49485JVM / IR: StackOverflowError with long when-expression conditions -
KT-35684NI: "IllegalStateException: Expected some types" from builder-inference about intersecting empty types on trivial code -
KT-50776FIR: ambiguity between Sequence.forEach and Iterable.forEach -
KT-48908Error for annotation on parameter type could have distinct ID and message referring 1.6 -
KT-48907SUPERTYPE_IS_SUSPEND_FUNCTION_TYPE error could have message referring version 1.6 -
KT-50774FIR2IR: NSEE in case of lambda in enum entry constructor call -
KT-49016Drop QUALIFIED_SUPERTYPE_EXTENDED_BY_OTHER_SUPERTYPE diagnostic -
KT-34338Parameterless main causes duplicate JVM signature error -
KT-50577JVM_IR: No NPE when casting uninitialized value of non-null type to non-null type -
KT-50476JVM_IR: NSME when calling 'super.removeAt(Int)' implemented in Java interface as a default method -
KT-50257JVM_IR: Incorrect bridge delegate signature for renamed remove(I) causes SOE with Kotlin class inherited from fastutils IntArrayList -
KT-50470FIR: inapplicable candidate in delegate inference due to nullability -
KT-32744Inefficient compilation of null-safe call (extra null checks, unreachable code)
Docs & Examples
-
KT-52032Document performance optimizations of the Kotlin/JVM compiler in 1.7.0 -
KT-49424Update KEEP for OptIn
IDE
Fixes
-
KTIJ-21735Exception when opening a project -
KTIJ-17414UAST: Synthetic enum methods have null return values -
KTIJ-17444UAST: Synthetic enum methods are missing nullness annotations -
KTIJ-19043UElement#comments is empty for a Kotlin property with a getter -
KTIJ-10031IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex.@Serializable) -
KTIJ-21515Load JVM target 1.6 as 1.8 in Maven projects -
KTIJ-21151Exception about wrong read access from "Java overriding methods searcher" with Kotlin overrides -
KTIJ-20736NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to start -
KT-50111Resolving into KtUltraLightMethod -
KTIJ-21063IDE highlighting: False positive error "Context receivers should be enabled explicitly" -
KTIJ-20810NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project open -
KTIJ-19088KotlinUFunctionCallExpression.resolve() returns null for calls to@JvmSyntheticfunctions -
KTIJ-17869KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructors -
KTIJ-21061UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class type -
KTIJ-20200UAST:@Deprecated(level=HIDDEN)constructors are not returning UMethod.isConstructor=true -
KTIJ-19624NoDescriptorForDeclarationException on iosTest.kt.vm
IDE. Code Style, Formatting
-
KTIJ-20554Introduce some code style for definitely non-null types
IDE. Completion
-
KTIJ-14740Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source set
IDE. Debugger
-
KTIJ-20815MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodError
IDE. Decompiler, Indexing, Stubs
-
KTIJ-21472"java.lang.IllegalStateException: Could not read file" exception on indexing invalid class file -
KTIJ-20802Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&Any -
KT-51248Function and parameter names with special symbols have to backticked
IDE. FIR
-
KTIJ-20443FIR IDE: Work in Dumb mode -
KTIJ-21374FIR IDE: Incorrect highlighting for operators -
KTIJ-21013FIR IDE: Inconsistent smartcasts highlighting -
KTIJ-21343FIR IDE: Navigation from explicit invoke call does not work -
KTIJ-20852FIR IDE: Exception when checkingisInheritoron two classes in different modules -
KTIJ-21021FIR IDE: Completion of extension function does not work on nullable receiver -
KTIJ-20637FIR IDE: Strange exception while commenting-uncommenting FirReferenceResolveHelper.kt -
KTIJ-20971FIR IDE: "Parameter Info" shows parameters of uncallable methods
IDE. Gradle Integration
-
KTIJ-21807Gradle to IDEA import: language and API version settings are not imported for Native facet -
KTIJ-21692Kotlin Import Test maintenance: 1.7.0-Beta -
KTIJ-20567Kotlin/JS: Gradle import into IDEA creates no proper sub-modules, source sets, facets
IDE. Hints. Inlay
-
KTIJ-20552Support definitely non-null types in inlay hints
IDE. Inspections and Intentions
New Features
-
KTIJ-18979Quickfix for INTEGER_OPERATOR_RESOLVE_WILL_CHANGE to add explicit conversion call -
KTIJ-19950Provide quickfixes forINVALID_IF_AS_EXPRESSION_WARNINGandNO_ELSE_IN_WHEN_WARNING -
KTIJ-19866Create quick-fix for effective visibility error on private-in-file interface exposing private class -
KTIJ-19939Provide quickfix for deprecated confusing expressions in when branches
Fixes
-
KTIJ-20705Register quickfix forNO_CONSTRUCTOR_WARNINGdiagnostic -
KTIJ-21226"Remove else branch" quick fix is not suggested -
KTIJ-20981Definitely non-null types: quick-fixes suggested incorrectly for LV=1.6 when Xenhance-type-parameter-types-to-def-not-null flag is set -
KTIJ-20953Add quickfix for OVERRIDE_DEPRECATION warning to 1.7 - 1.9 migration -
KTIJ-20734Replace with [@JvmInline] value quick fix should be appliable on a whole project -
KTIJ-21420Add 'else' branch quick fix suggestion is displayed twice in case 'if' isn't completed -
KTIJ-21192"Make protected" intention is redundant for interface properties -
KTIJ-18120"Make public" intention does not add explicit "public" modifier when using ExplicitApi Strict mode -
KTIJ-20493"Create expect" quick fix doesn't warn about platform-specific annotations
IDE. Misc
-
KTIJ-21582Notification for Kotlin EAP survey
IDE. Multiplatform
-
KT-49523Improve environment setup experience for KMM projects -
KT-50952MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes
IDE. Native
-
KT-44329Improve UX of using Native libraries in Kotlin -
KTIJ-21602With Native Debugging Support plugin Gradle run configurations can't be executed from IDEA: LLDB_NATVIS_RENDERERS_ENABLED
IDE. Wizards
-
KTIJ-20919Update ktor-html-builder dependency in kotlin wizards -
KTIJ-20962Wizard: Invalid Ktor imports
JavaScript
New Features
-
KT-51735KJS / IR: Minimize member names in production mode
Performance Improvements
-
KT-51127Kotlin/JS - IR generates plenty of uselessUnit_getInstance() -
KT-50212KJS IR: Upcast should be a no-op -
KT-16974JS: Kotlin.charArrayOf is suboptimal due to Rhino bugs
Fixes
-
KT-44319JS IR BE: Add an ability to generate separate JS files for each module -
KT-52518Kotlin/JS IR: project with 1.6.21 fails to consume library built with 1.7.0-RC: ISE "Unexpected IrType kind: KIND_NOT_SET" at IrDeclarationDeserializer.deserializeIrTypeData() -
KT-52010K/JS IR: both flows execute when using elvis operator -
KT-41096KJS IR:@JsExportshould use original js name for external declarations -
KT-52144KJS / IR: Missing property definitions for interfaced defined properties -
KT-52252KJS / IR: overridden properties are undefined/null -
KT-51973KJS / IR overridden properties of inherited interface missing -
KT-51125Provide a way to useimportkeyword injsexpressions -
KT-40888KJS / IR: Missing methods are no longer generated (polyfills) -
KT-50504KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields -
KT-51853JS compilation fails with "Uninitialized fast cache info" error -
KT-51205K/JS IR: external class is mapped to any -
KT-50806Typescript definitions contain invalid nested block comments with generic parent and type argument without@JsExport -
KT-51841KJS / IR: No flat hash for FUN FAKE_OVERRIDE with kotlin.incremental.js.ir=true -
KT-51081KJS / IR + IC: Passing an inline function with default params as a param to a higher-order function crashes the compiler -
KT-51084KJS / IR + IC: Cache invalidation doesn't check generic inline functions reified qualifier -
KT-51211K/JS IR: JsExport: Can't export nested enum -
KT-51438KJS / IR: Duplicated import names for the same external names -
KT-51238Kotlin/JS: IR + IC: build fails after clean oncompileTestDevelopmentExecutableKotlinJstask: "Failed to create MD5 hash for file '.../build/classes/kotlin/main' as it does not exist" -
KT-50674KJS / IR: JS code cannot modify local variable -
KT-50953KJS IR: Incorrect nested commenting in d.ts -
KT-15223JS: function that overrides external function withvarargparameter is translated incorrectly -
KT-50657KJS / IR 1.6.20-M1-39 - Date in Kotlin JS cannot be created from long.
Language Design
New Features
-
KT-45618Stabilize builder inference -
KT-30485Underscore operator for type arguments -
KT-49006Support at least three previous versions of language/API -
KT-16768Context-sensitive resolution prototype (Resolve unqualified enum constants based on expected type) -
KT-14663Support having a "public" and a "private" type for the same property -
KT-50477Functional conversion does not work on suspending functions -
KT-32162Allow generics for inline classes
Fixes
-
KT-12380Support sealed (exhaustive) whens -
KT-27750Reverse reservation of 'yield' as keyword -
KT-22956Release OptIn annotations -
KT-44866Change behavior of private constructors of sealed classes -
KT-49110Prohibit access to members of companion of enum class from initializers of entries of this enum -
KT-29405Switch default JVM target version to 1.8
Libraries
New Features
-
KT-50484Extensions for java.util.Optional in stdlib -
KT-50146Reintroduce min/max(By/With) operations on collections with non-nullable return type -
KT-46132Specialized default time source with non-allocating time marks -
KT-41890Support named capture groups in Regex on Native -
KT-48179Introduce API to retrieve the number of CPUs the runtime has
Performance Improvements
-
KT-42178Range and Progression should override last()
Fixes
-
KT-42436Supportjava.nio.Pathextension in the standard library -
KT-51470Stabilize experimental API for 1.7 -
KT-51775JS: Support named capture groups in Regex -
KT-51776Native: Support back references to groups with multi-digit index -
KT-51082Introduce Enum.declaringJavaClass property -
KT-51848Promote deepRecursiveFunction to stable API -
KT-48924KJS:toStringin base 36 produces different results in JS compare to JVM -
KT-50742Regular expression is fine on jvm but throws PatternSyntaxException for native macosX64 target -
KT-50059Stop publishing kotlin-stdlib and kotlin-test artifacts under modular classifier -
KT-26678Rename buildSequence/buildIterator to sequence/iterator
Native
-
KT-49406Kotlin/Native: generate standalone executable for androidNative targets by default -
KT-48595Enable Native embeddable compiler jar in Gradle plugin by default -
KT-51377Native: synthetic forward declarations are preferred over commonized definitions -
KT-49145Kotlin/Native static library compilation fails for androidNative* -
KT-49496Gradle (or the KMM plugin) is caching the Xcode Command Line Tools location -
KT-49247gradle --offline should translate into airplaneMode for kotin-native compiler
Native. Build Infrastructure
-
KT-52259kotlin-native releases from GitHub don't contain platform libs
Native. C and ObjC Import
-
KT-49455Methods from Swift extensions are not resolved in Kotlin shared module -
KT-50648Incorrect KMM cinterop conversion
Native. ObjC Export
-
KT-50982RuntimeAssertFailedPanic in iOS when Kotlin framework is initialized before loading -
KT-49937Kotlin/Native 1.5.31: 'runtime assert: Unexpected selector clash' when 'override fun toString(): String' is used
Native. Platforms
-
KT-52232Kotlin/Native: simplify toolchain dependency override for MinGW
Native. Runtime
-
KT-52365Kotlin/Native fails to compile projects for 32-bit targets when new memory manager is enabled
Native. Runtime. Memory
-
KT-48537Kotlin/Native: improve GC triggers in the new MM. -
KT-50713Kotlin/Native: Enable Concurrent Sweep GC by default
Native. Stdlib
-
KT-50312enhancement: kotlin native -- add alloc<TVarOf>(T)
Native. Testing
-
KT-50316Kotlin/Native: Produce a list of available tests alongside the final artifact -
KT-50139Create tests for Enter/Leave frame optimization
Reflection
-
KT-27598"KotlinReflectionInternalError" when usingcallByon constructor that has inline class parameters -
KT-31141IllegalArgumentException when reflectively accessing nullable property of inline class type
Tools. CLI
-
KT-52409Report error when use-k2 with Multiplatform -
KT-51717IllegalArgumentException: Unexpected versionNeededToExtract (0) in 1.6.20-RC2 with useFir enabled -
KT-52217Rename 'useFir' to 'useK2' -
KT-29974Add a compiler option '-Xjdk-release' similar to javac's '--release' to control the target JDK version -
KT-51673Make language version description not in capital letters -
KT-48833-Xsuppress-version-warnings allows to suppress errors about unsupported versions -
KT-51627kotlinc fails withjava.lang.RuntimeExceptionif/tmp/build.txtfile exists on the disk -
KT-51306Support reading language settings from an environment variable and overriding the current settings by them -
KT-51093"-Xopt-in=..." command line argument no longer works
Tools. Commonizer
-
KT-43309Overwrite return type and parameter types of callable member to succeed commonization -
KT-52050[Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for 'nativeMain' on linux or windows hosts -
KT-51224MPP: For optimistically commonized numbers missed kotlinx.cinterop.UnsafeNumber -
KT-51215MPP: Update Kdoc description for kotlinx.cinterop.UnsafeNumber -
KT-51686Cinterop: Overload resolution ambiguity in 1.6.20-RC2 -
KT-46636HMPP: missed classes fromplatform.posix.* -
KT-51332Optimistic number commonization is disabled by default in KGP with enabled HMPP
Tools. Compiler Plugins
-
KT-50992jvm-abi-gen breaks inline functions in inline classes with private constructors in Kotlin 1.6.20
Tools. Daemon
-
KT-32885KT. Kotlin daemon compilation process is broken: java.lang.IllegalStateException Service is dying at entities generation by Kotlin.kts script
Tools. Gradle
New Features
-
KT-49227Support Gradle plugins variants -
KT-50869Provide API that allow AGP to set up Kotlin compilation -
KT-48008Consider offering a KotlinBasePlugin -
KT-52030Provide experimental possibility to view internal information about Kotlin Compiler performance
Performance Improvements
-
KT-52141Optimize Java class snapshotting for thekotlin.incremental.useClasspathSnapshotfeature -
KT-51978Optimize classpath snapshot cache for thekotlin.incremental.useClasspathSnapshotfeature -
KT-51326Kotlin-gradle-plugin performance issue with mass java SourceRoots
Fixes
-
KT-52448Compilation tasks are missing input/output/internal annotations on includes/excludes properties -
KT-52239Type based task configuration-blocks for JVM stopped working in Gradle -
KT-52313No recompilation in Gradle after adding or removing function parameters, removing functions (and maybe more) in dependent modules -
KT-51854Add Ktor to gradle performance benchmark -
KT-52086Rename flag 'use-fir' to 'use-k2' -
KT-52509Main variant published to Gradle plugin portal uses unshadowed artifact -
KT-52392Gradle: 1.7.0 does not support custom gradle build configuration on Windows OS -
KT-32805KotlinCompile inherits properties sourceCompatibility and targetCompatibility which breaks Gradle's incremental compilation -
KT-52189Provide Gradle Kotlin/DSL friendly deprecated classpath property in KotlinCompiler task -
KT-51415Confusing build failure reason is displayed in case kapt is used and different JDKs are used for compileKotlin and compileJava tasks -
KT-52187New IC can not be enabled in an Android project using kapt -
KT-51898Upgrading Kotlin/Kotlin Gradle plugin to 1.5.3 and above breaks 'com.android.asset-pack' plugin -
KT-51913Gradle plugin should not add attributes to the legacy configurations -
KT-34862Restoring from build cache breaks Kotlin incremental compilation -
KT-45777New IC in Gradle -
KT-51360Show performance difference in percent between releases -
KT-51380Add open-source project using Kotlin/JS plugin to build regression benchmarks -
KT-51937Toolchain usage with configuration cache prevents KotlinCompile task to be UP-TO-DATE -
KT-48276Remove kotlin2js and kotlin-dce-plugin -
KT-52138KSP could not access internal methods/properties in Kotlin Gradle Plugin -
KT-51342Set minimal supported Android Gradle plugin version to 3.6.4 -
KT-50494Remove kotlin.experimental.coroutines Gradle DSL option -
KT-49733Bump minimal supported Gradle version to 6.7.1 -
KT-48831Remove 'KotlinGradleSubplugin' -
KT-47924Remove annoying cast in toolchain extension method for Kotlin DSL -
KT-46541Fail Gradle builds when deprecated kotlinOptions.jdkHome is set -
KT-51830Gradle: deprecatekotlin.compiler.execution.strategysystem property -
KT-47763Gradle DSL: Remove deprecated useExperimentalAnnotation and experimentalAnnotationInUse -
KT-51374NoSuchFileException in getOrCreateSessionFlagFile() -
KT-51837kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6. -
KT-51454KotlinJvmTest is not a cacheable task -
KT-45745Migrate only Kotlin Gradle Plugin tests to new JUnit5 DSL and run them separately on CI -
KT-47318Remove deprecated 'kotlinPluginVersion' property in `KotlinBasePluginWrapper' -
KT-51378Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpath -
KT-46038Gradle:kotlin_modulefiles are corrupted in the KotlinCompile output, and gets cached -
KT-51064Kotlin gradle build hangs on MetricsContainer.flush -
KT-48779Gradle: Could not connect to kotlin daemon
Tools. Gradle. Cocoapods
-
KT-50622Cocoapods Plugin: cocoapods-generate does not work correctly with ruby 3.0.0 and higher -
KT-51861Custom binary name in CocoaPods plugin isn't respected by fatFramework task
Tools. Gradle. JS
-
KT-52221Kotlin/JS: failed Node tests are not reported in a standard way -
KT-51895K/JS: Redundant technical messages during JS tests -
KT-51414Allow set up environment variables for JS tests -
KT-51623Kotlin/JS: Mocha could not failed when external module not found -
KT-51503Update NPM dependency versions
Tools. Gradle. Multiplatform
New Features
-
KT-51386[KPM] IdeaKotlinProjectModelBuilder: Implement dependencies
Fixes
-
KT-49524Improve DSL for managing Kotlin/Native binary output -
KT-51765com.android.lint in multiplatform project without android target should not trigger warning -
KT-38456MPP with Android source set: allTests task does not execute Android unit tests -
KT-44227Common tests are not launched on local JVM for Android via allTests task in a multiplatform project -
KT-51946Temporarily mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 -
KT-52140Support extensibility Kotlin Artifacts DSL by external gradle plugins -
KT-51947Mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 using Reflection -
KT-50925Could not resolve all files for configuration ':metadataCompileClasspath' -
KT-51262[KPM] IDEA import: Move model builder to KGP -
KT-51220[KPM][Android] Implement generic data storage and import pipeline -
KT-48649No run task generated for macosArm64 target in Gradle plugin
Tools. Gradle. Native
-
KT-47746Allow customization of the Kotlin/Native compiler download url -
KT-51884Gradle Native: "A problem occurred starting process 'command 'xcodebuild''" when buildingassembleFooXCFrameworktask on Linux
Tools. Incremental Compile
-
KT-51546FIR incremental compilation fails with assertion "Trying to inline an anonymous object which is not part of the public ABI" -
KT-49780IncrementalCompilerRunner bug: Outputs are deleted after successful rebuild following fallback from an exception -
KT-44741Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constant
Tools. JPS
-
KTIJ-17280JPS: don't use java.io.File.createTempFile as it is not working sometimes -
KTIJ-20954NPE at at org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver on compiling by JPS with LV > 1.7
Tools. Kapt
-
KT-49533Make kapt work out of the box with latest JDKs -
KT-52284FIR: add error in 1.7.0 branch if run with Kapt -
KT-51463KAPT: Incremental compilation not working when rerunning unit tests -
KT-51132KAPT: Support reporting the number of generated files by each annotation processor -
KT-30172Kapt: Shutdown kotlinc gracefully in case of error in annotation processor
Tools. Scripts
-
KT-49173Add support for nullable types in provided properties and other configuration-defined declarations -
KT-52294[Scripting] Update oudated org.eclipse.aether dependencies to new org.apache.maven.resolver -
KT-51213Kotlin JSR223 crashes with "ScriptException: ERROR java.lang.NullPointerException:" if bindings contain one or more null values -
KT-48812Script: "IllegalStateException: unknown classifier kind SCRIPT" when passing a function reference to a Flow -
KT-50902Scripts loaded from the compilation cache ignore theloadDependencieseval configuration property -
KT-52186Scripts: Backend Internal error: Exception during IR lowering when using symbol from a dependency inside a function -
KT-51731Script: jsr223 memory leak in spring-boot Fat Jar -
KT-49258Scripts: method 'void ()' not found with multiple evals using kotlin script JSR223 -
KT-51346Scripts: "BackendException: Exception during IR lowering" with variable of imported script inside class
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.7.0.zip | f5216644ad81571e5db62ec2322fe07468927bda40f51147ed626a2884b55f9a |
| kotlin-native-linux-x86_64-1.7.0.tar.gz | 0a70da9bbd9405233f68d7a5863d098cb372f60171e5620f023b6fb9b9e99a9c |
| kotlin-native-macos-x86_64-1.7.0.tar.gz | b39a85a6e59e91eecb09f51290dc9704e816752275f9cb3a83b994d68b14fc9f |
| kotlin-native-macos-aarch64-1.7.0.tar.gz | 5f1f4c1fb4090c27db3caf5f03953566855bb8ba08272cbb40414c9420fd257c |
| kotlin-native-windows-x86_64-1.7.0.zip | 2736b340adc708fe21083d441a86f96bb77fbbbe3f7c41a29fb1e10dd488bb26 |
v1.6.21: Kotlin 1.6.21
Changelog
Compiler
-
KT-51979"AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override -
KT-51893Duplicated [OVERRIDE_DEPRECATION] on overridden properties -
KT-51927Native:The symbol of unexpected type encountered during IR deserializationerror when multiple libraries have non-conflicting declarations with the same name -
KT-51843Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags -
KT-51672JVM IR: Inline class mangling issue in interface default methods split across multiple modules -
KT-51711Compiler warning is displayed in case there is 'if' else branch used with elvis -
KT-49317"IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter
IDE. Native
-
KTIJ-20819Native debugging support: "Debug is impossible without lldb binaries required by Kotlin/Native" on "Attach to process"
JavaScript
-
KT-52010K/JS IR: both flows execute when using elvis operator -
KT-51973KJS / IR overridden properties of inherited interface missing -
KT-50504KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields
Tools. Gradle
-
KT-51837kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.
Tools. Gradle. Multiplatform
-
KT-51810MPP / Gradle: Dependency locking fails with 1.6.20 -
KT-51765com.android.lint in multiplatform project without android target should not trigger warning
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.6.21.zip | 632166fed89f3f430482f5aa07f2e20b923b72ef688c8f5a7df3aa1502c6d8ba |
| kotlin-native-linux-x86_64-1.6.21.tar.gz | 14e7b9bee2e9ef7bff9a69881fef44d287bbb3adaa05396e0c03e77dfc9b0d3d |
| kotlin-native-macos-x86_64-1.6.21.tar.gz | 61dfee00b11f3c27e349854b9a9d530ed86a882e6c8a81f77f16acecf9660eeb |
| kotlin-native-macos-aarch64-1.6.21.tar.gz | c2734c651e680b85805c17488f31125220d96eca8e3ba89b5b58f07c61ff5239 |
| kotlin-native-windows-x86_64-1.6.21.zip | db8560138580038c23e88a7ceb6eb4e8a3ec7d7fd66218e82096d52402f280a8 |
v1.6.20: Kotlin 1.6.20
Changelog
Compiler
New Features
-
KT-48217Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is used -
KT-49929[FIR] Support programmatic creation of annotation class instances -
KT-49276Warn about potential overload resolution change if Range/Progression starts implementing Collection -
KT-47902Do not propagate method deprecation through overrides -
KT-49857Require Xcode 13 for building Kotlin/Native compiler -
KT-47701Support instantiation of annotation classes on Native -
KT-46085Support experimental parallel compilation of a single module in the JVM backend -
KT-46603Generate SAM-conversions to Java interfaces extending 'java.io.Serializable' as serializable using java.lang.invoke.LambdaMetafactory
Performance Improvements
-
KT-50156HMPP: Slow frontend/ide performance in OKIO (ExpectActualDeclarationChecker) -
KT-50073Performance regression in adapted function references -
KT-50076Performance regression in super call to an interface member in $DefaultImpls -
KT-50080Performance regression in string template with generic property with primitive upper bound -
KT-50084Performance regression in concatenation with 'String?' -
KT-50078Performance regression in for-in-array loop -
KT-50039Performance regression in inner class constructor call with default parameters -
KT-48784An anonymous class has fields for variables that are only used in the constructor -
KT-42010Generate IINC instruction for postfix increment in JVM_IR -
KT-48433JVM_IR don't generate null check on 'this$0' parameter of inner class constructor -
KT-48435JVM_IR ConstForLoopBenchmark performance regression -
KT-48507JVM_IR ForLoopBenchmark regressions -
KT-48640Performance regression in 'longDownToLoop' benchmarks -
KT-29822Generate specialized bytecode for loops withIndex over unsigned arrays -
KT-48669Generate optimizable counter loop for loops over indices of unsigned arrays -
KT-49444Possible performance degradation with UInt downTo loop -
KT-48944Possible performance regression with comparison of local KFunctions -
KT-17111Eliminate redundant store/load instructions when the value stored is simple -
KT-36837Generate more compact code for for-in-range loop in JVM_IR -
KT-48947JVM / IR Possible performance regression with string templates -
KT-48931JVM / IR: Performance degradation with string concatenation -
KT-36654Generate more compact bytecode for safe call in JVM_IR
Fixes
-
KT-24643Prohibit using a type parameter declared for an extension property inside delegate -
KT-51747MakeKtCallableDeclaration.getContextReceiversdefault to preserve compatibility -
KT-49658NI: False negative TYPE_MISMATCH on nullable type withwhen -
KT-43493NI: @BuilderInference prevents compilation error of "Operator '==' cannot be applied to 'Long' and 'Int'" -
KT-51649Kotlin/Native: reduce binary size of watchosArm32 and iosArm32 targets by limiting inlining of runtime functions -
KT-48626JVM IR: incorrect behavior for captured for-loop parameter since 1.6.20-dev-723 -
KT-51036JVM / IR: "NullPointerException: Parameter specified as non-null is null" with synchronized and companion object -
KT-51471Native: incorrect debug information when inheriting suspend fun invoke implementation -
KT-51352"ClassCastException: class ScopeCoroutine cannot be cast to class Iterable" caused by coroutines and context receivers -
KT-51271"ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3" with inlining of context function -
KT-47084JVM IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL" with tailrec function default parameter nested inline lambda -
KT-30616Script: "Don't know how to generate outer expression" for top-level variable reference from static context (companion object, enum) -
KT-50520"NPE: containingDeclaration.ac…lDeclarationType.REGULAR) must not be null" with implicit type on self-referencing lambda in a builder -
KT-51353IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACK -
KT-48945JVM IR: special bridge forgetis not generated in a Map subclass -
KT-48499Interface call with an inline/value parameter generates AbstractMethodError after rebuilding the module, but NOT the file. -
KT-49998JVM: missing default value for annotation parameter of an unsigned type -
KT-49793JVM:IncompatibleClassChangeError: Expected non-static fieldwhen property delegation uses receiver of another delegated property -
KT-51302Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformer -
KT-51148"AssertionError: At this stage there should be no remaining variables with proper constraints" caused by two type parameters -
KT-50970Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targets -
KT-50843Kotlin/Native: LLVM constant merge pass does not work for Kotlin constants -
KT-51157JVM / IR: "IndexOutOfBoundsException: Index: 1, Size: 1" caused by interface hierarchy and UInt method parameter -
KT-50498Exception after analysing an erroneous lambda -
KT-50258equals()returnsfalseon the same enum instances if we check it for the second time inwhen -
KT-51062Progressions resolve changing warning isn't reported for Java methods -
KT-48544JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" with callable reference::arrayOf -
KT-50978[Native] Error while building static cache: NoSuchElementException at IrTypeInlineClassesSupport.getInlinedClassUnderlyingType(InlineClasses.kt:341) -
KT-50977[Native] Error while building static cache: IllegalStateException: Class CLASS ENUM_ENTRY is not found at KonanIrlinkerKt.findClass(KonanIrlinker.kt:229) -
KT-50976[Native] Error while building static cache: IllegalStateException: No descriptor found at DescriptorByIdSignatureFinder.findDescriptorForPublicSignature(DescriptorByIdSignatureFinder.kt:157) -
KT-51040Type inference fails on 1.6: "Cannot use 'CapturedType(*)' as reified type parameter" with EnumSet and elvis operator -
KT-51080Line number in mapping for the first instruction is lost -
KT-49526JVM IR: Function reference with non-denotable intersection type argument is not inlined and is incorrectly approximated -
KT-50399Error: unexpected variance in super type argument: out@0 -
KT-50649JVM IR: ClassCastException when returning Result as generic type -
KT-50617JVM IR: java.lang.IndexOutOfBoundsException "Empty list doesn't contain element at index 0" when class and interface have the same name and extension function is used -
KT-50856SAM conversion generates invalid bytecode for generics -
KT-45693False negative INCOMPATIBLE_TYPES withwhenwith generic subject -
KT-49903JVM IR: InlineOnly optimization leads to behavior change for println with mutating System.out -
KT-51022Fix error messages for resolution ambiguity with stub types -
KT-51035PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression:" caused by recursive call of java function -
KT-50797Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying type -
KT-50878Usage of contextual declarations from third-party library is allowed without-Xcontext-receivers -
KT-49829Wrong "cast can never succeed" diagnostic with builder inference -
KT-49828Improve builder inference diagnostics with overload resolution ambiguity -
KT-50989CCE cause by EmptySubstitutor in ResolutionWithStubTypesChecker -
KT-49729Implement deprecation warning for private constructors of sealed classes -
KT-49349Implement deprecation for invalid if as expression in rhs of elvis -
KT-46285[SEALED_SUPERTYPE_IN_LOCAL_CLASS] Error message isn't adopted to local objects and sealed interfaces -
KT-49002Allow OptIn marker on override if base class has the same marker -
KT-48899Report warnings on overrides with wrong types nullability -
KT-49461Implement prohibitation of access to members of companion of enum class from initializers of entries of this enum -
KT-49754Kotlin/JS:@JsExporton enum class reports NON_EXPORTABLE_TYPE warning -
KT-49598Misleading error message "Using @JvmRecord is only allowed with -jvm-target 15 and -Xjvm-enable-preview flag enabled" -
KT-44133Inline classes: class literal in annotation arguments uses underlying type -
KT-47703ClassCastException: Programmatically created annotation can't hold Array<KClass<*>> -
KT-47549JVM / IR: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER CONTINUATION_CLASS caused by suspend function inside "fun interface" in another file -
KT-50120HMPP: False positive [NO_VALUE_FOR_PARAMETER] for expect function usages -
KT-49864JVM IR: NoSuchMethodError calling default interface method with inline class return type in -Xjvm-default=all mode -
KT-49812JVM / IR: "java.lang.VerifyError: Bad return type" when using Result type attribute + extension function with same name -
KT-49936Extension property in a data class with the same name as the constructor parameter leads to incorrect component function being resolved and generated -
KT-48181"ISE: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" on creating instance of kotlin.Metadata -
KT-50215VerifyError caused by missing cast after is check in when -
KT-49977"Parameter specified as non-null is null" when inline class implements interface method with default parameters -
KT-50385DUPLICATE_LABEL_IN_WHEN is reported on incorrect branches -
KT-49092JVM: ArrayIndexOutOfBoundsException on compiling call withifexpression and TODO() arguments -
KT-48987JVM / IR: Smartcast, which never succeed, crashes the compiler -
KT-50277Invalid bytecode generated for inline lambda in suspend function -
KT-50219FIR DFA/CFA: no smart cast after null check and assignment -
KT-44561FIR DFA: extract non-null info from comparison against variable with initial constant value -
KT-44560FIR DFA: propagate non-null info to original variables in not-null assertion or cast expression -
KT-50278FIR: accidental resolve to inaccessible value parameter -
KT-47483JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" on compiling Array instantiation with TODO -
KT-50304EXC_BAD_ACCESS at IntrinsicsNative.kt starting coroutine on object with suspend fun as supertype -
KT-49765JVM: ClassCastException when trying to add object to EmptyList -
KT-46879"AssertionError: Stack should be spilled before suspension call" with Flow and reified type -
KT-50172"AssertionError: Not a callable reflection type" on local function reference with the same name as local variable -
KT-49443JVM IR, Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with constructor call of class that has a top-level extension function call -
KT-50193Garbage collection is not working the same way after jvm-ir-backend change -
KT-19424Compilation exception for script with property delegate calling operator invoke on an object -
KT-43995Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" if companion object initializer calls method on list -
KT-47000Allow graceful migration to -Xjvm-default=all-compatibility by allowing to inherit from interfaces even in the old (-Xjvm-default=disable) mode -
KT-50180FIR: not enough information to infer type variable for definitely not null type -
KT-50163FIR: ISE unsupported compile-time value BLOCK on complex annotations -
KT-50171JVM IR: "UninitializedPropertyAccessException: Parent not initialized: IrVariableImpl" on SAM-converted property setter reference with Double parameter inside lambda -
KT-50140Internal error on explicit string concatenation of generic type value with 'String' upper bound -
KT-49992Anonymous object should not have access to private members from supertypes -
KT-49973Check existing of default error message for all diagnostics -
KT-50019Property delegated to callable reference: "ISE: Local class should have its name computed in InventNamesForLocalClasses" with -Xno-optimized-callable-references -
KT-49645JVM / IR: "IllegalStateException: Local class should have its name computed" caused by default suspend function in interface and value class -
KT-50028Incorrect implicit casts from Unit -
KT-49615JVM / IR: "Exception during IR lowering" with list of value classes with non-trivial constructor inside suspend lambda -
KT-49127FIR: smart cast is not performed after comparison -
KT-48708Incorrect cast from Unit to Int -
KT-48376FIR: False positive UNITIALIZED_VARIABLE after try/finally with return from try -
KT-48113FIR: (false) positive EQUALITY_NOT_APPLICABLE for intersection with platform type -
KT-48305FIR: incorrect raw type cast -
KT-48378FIR: synthetic accessor lowering should not attempt to modify other files -
KT-48634FIR: false property-setter-function resolve cycle -
KT-48621FIR: SyntheticAccessorLowering should not attempt to modify other files for protected JvmField -
KT-48381Invalid LLVM module: verification failure of createInlineClassInArgumentPosition.kt -
KT-48527Native: top-level properties in files with@Testfunctions are initialized eagerly even if lazy initialization is enabled -
KT-48559IllegalArgumentException: Unexpected super type argument: *@ 0during IR lowering -
KT-48687IR dump mismatch after deep copy with symbols in IR text test -
KT-44811[FIR] Exception in body resolve of new contracts -
KT-48363FIR behaves differently in case of resolution between classifier and top-level property -
KT-48801"AssertionError: Stack should be spilled before suspension call" with Flow and crossinline -
KT-46389JVM / IR: "ClassCastException: class IrGetValueImpl cannot be cast to class IrConst" with inheritance of supertypes member functions with similar signatures -
KT-47797Regression during migration to 1.6 in compiler -
KT-47987Can't infer a postponed type variable based on callable reference receiver type -
KT-48446"IllegalStateException: IrErrorType (getErasedUpperBound)" caused by suspend function reference -
KT-48651Collect intermediate annotations during type expanding -
KT-48754JVM IR: in EnclosingMethod leads to IncompatibleClassChangeError on Android 5.0 -
KT-45034Use the new type inference for top-level callable references -
KT-49001OptIn marker should spread from class to its members, taking into account real dispatch receiver type -
KT-49038Generics are discriminated during callable references resolution (false negative) -
KT-48954JVM IR: IllegalAccessError when using Java method reference in constructor -
KT-48284JVM / IR: "IllegalStateException: Function has no body: FUN STATIC_INLINE_CLASS_REPLACEMENT" caused by inline member toString of value class and string interpolation -
KT-49053JVM / IR: "AssertionError: Unbound symbols not allowed" on inheriting a protected Java method that returns a package private class from a differently-named file -
KT-49106JVM: infinite recursion with overridden default suspend interface method where override calls super -
KT-45345FIR DFA:FirDataFlowAnalyzerseems to add wrong type constraints for type parameters -
KT-44513FIR DFA: extract non-null info from x?.y!! -
KT-44559FIR DFA: propagate non-null info from not-null assertion (!!) -
KT-49073FIR: REDUNDANT_MODIFIER and DEPRECATED_MODIFIER_PAIR should be warnings -
KT-46371FIR: Investigate FunctionType -> ExtensionFunctionType coercion -
KT-49078FIR: false positive TYPE_VARIANCE_CONFLICT -
KT-47135FIR: local class references does not compile -
KT-48600NON_TAIL_RECURSIVE_CALL missing for calls inside lambda -
KT-48602NON_TAIL_RECURSIVE_CALL missing for calls with explicit dispatch receiver to a singleton -
KT-48982JVM / IR: KotlinNothingValueException caused by function with local object -
KT-49087FIR: false positive REPEATED_ANNOTATION -
KT-48648JVM IR: "AssertionError: Should be primitive or nullable primitive type" with @JvmField generic property with Number upper bound -
KT-49069FIR: False positive INAPPLICABLE_JVM_NAME on getter -
KT-49203JVM IR: "AssertionError: Unbound symbols not allowed" with lateinit var andplusAssignoperator convention call -
KT-48993JVM / IR: "IllegalStateException: Validation failed in file <multi-file facade ...>" using @JvmMultifileClass and one of the symbols in the file exposes a @JvmInline value class -
KT-48938FIR: Investigate how priorities should work in case SAM-conversion + type parameters -
KT-49129FIR: false positive of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASS -
KT-49076FIR: false positive "An annotation argument must be compile-time constant" on array of imports -
KT-49222FIR: StackOverflow in MethodSignatureMapper -
KT-49083FIR erroneously requires default value parameters for override calls when imported from object -
KT-49135FIR: ambiguity between type alias and function -
KT-49134FIR makes no difference between lambda with empty parameter list and without explicit parameter list -
KT-49301FIR: Unresolved reference: for object inherited from inner class -
KT-49070FIR: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with type parameter / class conflict -
KT-49133FIR: protected java.lang.Throwable constructor is not available -
KT-49407JVM / IR: "java.lang.VerifyError: Bad local variable type" with "Int.mod" inside "Long.mod" and non-trivial argument -
KT-44975SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC: confusing error message -
KT-38698MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED error message: interface is called a "class" -
KT-45001Confusing warning message "This class can only be used with the compiler argument" for@OptInannotation -
KT-49411JVM / IR: NullPointerException during IR lowering with@JvmFieldproperty in loop range -
KT-49260FIR: make FirBasedSymbol hierarchy to correspond FirDeclaration hierarchy -
KT-49289FIR: false positive "return required" for if/else with inlined return in branch -
KT-49316JVM / IR: "AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" caused by unreachable code which try to modifyvalfrom the other package -
KT-45915NoDescriptorForDeclarationException: Descriptor wasn't found for declaration FUN with circular module dependencies in JPS -
KT-49288FIR2IR: consider generating all fake override calls properly -
KT-42784FIR2IR: first create fake overrides, then bind overridden to them -
KT-48816Kotlin/Native Symbol for public platform.darwin/NSObject|null[100] is unbound -
KT-49372JVM / IR: Incorrect work of the loop optimization for mutable variable -
KT-49356Native: UnsupportedOperationException: RETURNABLE_BLOCK caused by nested return with boxing and inline -
KT-49659JVM IR: Missing value class mangling in SAM wrappers for fun interfaces from different modules -
KT-47101Incorrect scope for supertypes in companion objects -
KT-49360Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location" -
KT-48430JVM: ClassCastException with inline class as generic argument for type parameter used in a function type -
KT-49575IllegalArgumentException: Unhandled intrinsic in ExpressionCodegen with circular module dependencies in JPS -
KT-47669IR inliner doesn't handle inner class functions referring outer this -
KT-48668JVM IR: "ISE: Value at CLASS must not be null for CLASS" for modules with a dependency cycle -
KT-49370JVM / IR: "java.lang.VerifyError: Bad local variable type" with "fun Long.mod" and non-trivial argument -
KT-46744Memory Leaks in Kotlin daemon -
KT-48806False-negative USED_AS_EXPRESSION for unreachable catch clauses -
KT-45972FIR: type is incorrectly resolved to private -
KT-46968Remove FirCompositeScope from type resolve -
KT-49072FIR: accidental resolve to private-in-file type -
KT-34822FIR scopes: deal with nested / inner classes and type parameter priority -
KT-49702Exception from RENDER_WHEN_MISSING_CASES diagnostic on malformed sealed class inheritor -
KT-49860[FIR] Add smartcast expression to syntheticsubjaccess -
KT-49836Inference fails on lambda and adjacent function expressions with receiver -
KT-49832Inference fails on lambda for function types with extension parameter -
KT-44022Excessive diagnostics range for DECLARATION_CANT_BE_INLINED -
KT-48690VERSION_REQUIREMENT_DEPRECATION_ERROR message: use current compiler version instead of language version -
KT-49609Incorrect grammar in DATA_CLASS_NOT_PROPERTY_PARAMETER error message -
KT-49600Misspelled error message for non-constructor properties with backing fields in @JvmRecord class -
KT-49339Warn about synchronizing on value classes -
KT-49950Compilation failed: An operation is not implemented: IrBasedTypeParameterDescriptor -
KT-43604Problem with initialization order -
KT-23890Default arguments are not transferred from expect generic member functions -
KT-48811Expect/actual class with default constructor argument values can not be instantiated from a shared source set without passing arguments (with HMPP enabled) -
KT-48106FIR: incorrect type inference in provideDelegate receiver -
KT-48325Safe call operator prevents object from being garbage collected before leaving function -
KT-50004Linking kotlinx.serialization crashes on Native and JS IR backends -
KT-49311Missing FIR checker for unresolved references in import statement -
KT-48104FIR does not see NotNull/Nullable annotations on type arguments -
KT-46812[FIR] Make FIR diagnostics not related to Diagnostics from FE 1.0 -
KT-37374[FIR] AddCheckInfixModifierresolution stage -
KT-38351FIR: SupportCheckOperatorModifierresolution stage -
KT-39614[FIR] Fix building CFG for different candidates of plus assign call -
KT-40197[FIR] Strange Behaviour of Type Arguments -
KT-40362[FIR] Match type arguments with type parameters of corresponding qualifier -
KT-40375FIR: No transformation implicit type -> error type for function value parameters -
KT-40585[FIR] Incorrect type for 1/1.0 -
KT-42525[FIR] Incorrect IR produced for java.lang.Byte.MAX_VALUE -
KT-43359FIR: Check applicability type for callable reference with unbound receiver -
KT-43378FIR: Support or prohibit via call checker callable references to member extensions -
KT-43289FIR: Correctly load irrelevant override for special built-ins -
KT-44558Annotation arguments const expr support is missing in FIR -
KT-45223[FIR] Ambiguity between explicit and syntheticremoveAt -
KT-42215FIR: callable reference resolution with type constraints at call-sites -
KT-45520FIR: NONE_APPLICABLE for unsafe call to function with overloads instead of UNSAFE_CALL -
KT-46410[FIR] Transform of FirAugmentedArraySetCall leaves erroneous nodes in control flow graph -
KT-46421FIR: Investigate builder-inference cases -
KT-43948FIR: hidden unresolved callable reference -
KT-46558FIR DFA: run once contract is not considered when analyzing lambda -
KT-47125FIR: Do not avoid trivial constraints if they aren't from upper bounds -
KT-43691FIR: false positive VARIABLE_INITIALIZER_IS_REDUNDANT with usage in try...finally -
KT-37311[FIR] Support inference of callable references with type variable as expected type -
KT-31972Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@1f5b38c2(ErrorType). -
KT-48761Report NO_TAIL_CALLS_FOUND on 'tailrec' modifier, not on the whole function header -
KT-47647NI: Function reference to Java static method can't compile if passed directly as KFunction1 parameter -
KT-46995Fix setters implicit types only resolved on full body resolve -
KT-46359Kotlin 1.5 lambda is not Java-serializable by default -
KT-49282FIR: suspend conversion does not work inside suspend lambda -
KT-48953FIR: implement diagnostic DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER -
KT-38813FIR: Report INSTANCE_ACCESS_BEFORE_SUPER_CALL diagnostic on receiver usages in secondary constructors headers -
KT-49657FIR: accidental override with get:JvmName -
KT-49655FIR: smart cast is not performed after update of var to not-null value in branch
Docs & Examples
-
KT-50866[Docs] [Kotlin/Native] Support non-NativeActivity Android executables -
KT-50220[Docs] [Kotlin/JVM] New @JvmDefaultWithCompatibility annotation and changes in -Xjvm-default arguments behavior -
KT-50844[Docs][K/JS] KJS / IR: Installation of NPM dependencies should be with ignore-scripts -
KT-50831[Docs][K/JS] Gradle, JS: Ability to persist / reuse yarn.lock -
KT-51086[Docs] [Build Tools] Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask` -
KT-50563[Docs] [Build Tools] Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines property -
KT-50580[Docs] [Kotlin/Native] Support instantiation of annotation classes on Native -
KT-50874[Docs] [Language] Add ability to specify generic type parameters as not-null -
KT-50564[Docs] [K/JS] Ensure that @AfterTest is invoked after the@Testfunction completes for asynchronous tests
IDE
New Features
-
KTIJ-20169Link to What's new in a notification about new Kotlin version
Performance Improvements
-
KTIJ-20568Optimize SubpackagesIndexService#hasSubpackages
Fixes
-
KTIJ-13020New compiler settings are applied only after the project is reloaded -
KTIJ-21154StackOverflowError on Companion.extractPotentiallyFixableTypesForExpectedType that causes "Syntax highlighting has been temporarily turned off" -
KTIJ-20129Load "@NotNullT" types from libraries as definitely non-nullable if any module in project loads such types as definitely non-nullable -
KTIJ-9793UAST: KotlinAbstractUElement.equals fails for psi-less elements -
KTIJ-16203UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpression -
KTIJ-18720UAST:@Deprecated(level=DeprecationLevel.HIDDEN)makes method visibility be dropped -
KTIJ-18039@Deprecated(level=HIDDEN)elements return false for isDeprecated() -
KTIJ-18716KotlinUMethodWithFakeLightDelegate.hasAnnotation() doesn't find annotations -
KTIJ-20220Kotlin plugin crashes very often -
KTIJ-20308Syntax highlighting is temporary suspended for file ... due to internal error -
KTIJ-6085ExceptionIncorrect CachedValue...with KtUltraLightMethodForSourceDeclaration -
KTIJ-18977Do not show warningOutdated bundled kotlin compilerif there are no compatible plugin with newer compiler -
KTIJ-20253Consider supporting special highlighting for definitely non-null types -
KT-42194OOME: Java heap space from incremental compilation -
KTIJ-13019"Add '-Xopt-in=kotlin.io.path.ExperimentalPathApi' to module untitled1 compiler arguments" only works until the project is reloaded
IDE. Completion
-
KTIJ-20095Optimize FilterOutKotlinSourceFilesScope#contains -
KTIJ-16250Completion of override with return type annotated with TYPE_USE-targeted annotation suggests two duplicate entries
IDE. Debugger
-
KTIJ-20716JVM Debugger in common code can't get JVM-specific view on common code and fails -
KTIJ-18562JVM debugger: coroutineContext.job causes "Failed to generate expression: KtNameReferenceExpression" -
KTIJ-20019MPP Debugger: NSFE “Field not found” on accessing property with explicit getter from common code in Evaluate expression/Watcher -
KTIJ-19990MPP Debugger: Evaluate expression for some stdlib in common source set fails with Method threw 'java.lang.ClassNotFoundException' exception. -
KTIJ-20929MPP Debugger: in a project with single JVM target evaluation of expect function fails with 'NoSuchMethodError' exception in common context -
KTIJ-20956Debugger: coroutine debugger fails to load sometimes -
KTIJ-20775MPP Debugger: Evaluate expression for actual typealiases in jvm source set fails with Method threw 'java.lang.ClassNotFoundException' exception. -
KTIJ-20712MPP Debugger: evaluator fails when evaluating expect function -
KTIJ-19344K/N debugger shows all types as ObjHeader in variable view.
IDE. Gradle Integration
-
KTIJ-20097HMPP+Android Project that depends on pure Android Lib fails to import in IDEA -
KTIJ-20756MPP targeting Android and JVM reports 'The feature "multi platform projects" is experimental and should be enabled explicitly' -
KTIJ-20745Gradle: NSEE “Key main is missing in the map.” on project import in AS 212 + Kotlin 1.6.20 -
KT-47570MPP, IDE: kotlin-test-common leaks into dependencies of platform-specific source sets -
KTIJ-19541IDE: Kotlin Facets aren't created for Gradle projects added viaincludeBuild -
KT-48882MPP IDE import: Failing cinterop Gradle tasks shall not fail import -
KTIJ-18135MPP, IDE: False positive "No value passed for parameter" in CommonTest when expect declaration has default value and actual does not
IDE. Inspections and Intentions
New Features
-
KTIJ-12437Add inspection to detect redundant (obsolete, unused)@OptInannotations -
KTIJ-15780Add quickfix for migration of Experimental -> RequiresOptIn -
KTIJ-18865Provide quick fixes for OptIn markers on forbidden targets -
KTIJ-18439Make suggestions for applying opt-in quickfixes more distinct -
KTIJ-19985Provide quickfix for SAFE_CALL_WILL_CHANGE_NULLABILITY diagnostic
Fixes
-
KTIJ-20550False positives in "Unnecessary@OptInannotation" inspection -
KTIJ-20993Quick-fix for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS leads to unreachable code -
KTIJ-20557Quick fix to addAnyas an upper bound for type parameter to make it non-nullable -
KTIJ-20827Process type mismatch compiler warnings to provide a corresponding quick fix -
KTIJ-12578"Make abstract" quick fix for missing abstract members implementations could warn of potentially broken inheritance -
KTIJ-20425Quick fix to replace@NotNullparameter typeTwith a definitely non-nullable typeT & Any -
KTIJ-19997Inspection "Possibly blocking call in non-blocking context could lead to thread starvation" suggests "Wrap call in 'withContext'" resulting in red code -
KTIJ-18291Quickfix "Add@OptIn()annotation" adds the annotation to primary constructor when invoked on primary constructor parameter -
KTIJ-19512Implement IDE support for new rules of deprecation inheritance -
KTIJ-20156Exception when applying 'Convert to with' -
KTIJ-20290Forbid "move to constructor" intention if class contains secondary constructor -
KTIJ-20288Forbid "move to constructor" intention for actual classes with actual constructor -
KT-49736Introduce import alias fails when qualifier is unresolved -
KTIJ-18743"Redundant nullable return type" applied onactualmethod doesn't change the signature ofexpect -
KTIJ-12343Inspection "Sealed sub-class has no state and no overridden equals" is applied incorrectly to expect/actual declarations of sealed classes with nested subclasses -
KTIJ-19406The "Add@OptIn(...)" quick fix does not shorten the annotation when adding an argument to the existing annotation -
KTIJ-12351generate equals & hashCode() by identityintention generates incompilable code for multiplatform project modules -
KTIJ-13227Forbid "move property to constructor" for actual classes with actual constructor having at least one parameter already -
KTIJ-11328No quick fixes are suggested for annotation from experimental API used with file target -
KTIJ-14427Meta-annotation value isn't updated for all the corresponding parts of a multiplatform annotation -
KTIJ-19735NSME org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix on IJ212 + Kotlin master
IDE. Navigation
-
KTIJ-18145IDE freeze on 'Show Usage'
IDE. Refactorings. Extract Function
-
KTIJ-10026Refactor / Extract function: Adds unnecessary nullability annotations for parameters coming fromNotNullorNullableJava methods -
KTIJ-15823Refactor / Extract Function: resulted declaration gets no@OptInfrom original function when necessary
IDE. Refactorings. Move
-
KTIJ-5661[Tests] MoveRefactoring: Fix ignored incorrect tests of crossmodule declaration moving
IDE. Wizards
-
KTIJ-19232New project wizard: delete MPP Mobile-Library and Application templates -
KTIJ-20878Unable to create project with Kotlin Project Wizard when JDK 17 is used. -
KTIJ-20244Compose MPP project from wizard requires minCompileSdk=31 -
KTIJ-20781Update kotlin-wrappers version in wizard
JS. Tools
-
KT-47387KJS: Support Apple Silicon for node distrib download
JavaScript
New Features
-
KT-44494KJS / IR: Allow enum classes to be exported -
KT-43224KJS: Allow using inline classes in external types -
KT-35100Make Char inline class in K/JS -
KT-42936KJS IR: Support js-code test directives similar to legacy -
KT-47525KJS / IR: Support protected members in d.ts generation -
KT-50110KJS / IR: Enable properties lazy initialization by default
Performance Improvements
-
KT-46443KJS / IR: ImproveCharArrayandCharperformance -
KT-45665KJS / IR:equalson inline value classes is boxed -
KT-43644KJS / IR: Avoid creating lambda classes
Fixes
-
KT-51685KJS / IR: TypeError: collection.iterator_jk1svi_k$ regression in Kotlin 1.6.20-RC2 -
KT-51523KJS IR: "Uncaught TypeError: a._get_length__2347802853_w7ahp7_k$ is not a function" -
KT-51700KJS / IR: Compiler uses wrong function with List -
KT-51222KJS / IR: "RangeError: Maximum call stack size exceeded": Default function overloads marked with @JsExport are broken -
KT-45054KJS: Export secondary constructors as class static methods -
KT-37916KJS: .d.ts generation not working for enum classes -
KT-48199KJS / IR: Improve error message for linkage problems -
KT-51030KJS / IR: internal class that implements public interface is missing getters -
KT-45434KJS: "WRONG_EXPORTED_DECLARATION" when usingJsExporton interfaces -
KT-50934KJS / IR: Re-export all JS-exports from the main module for the multi-module mode -
KT-45620KJS / IR: Remainder of division ofInt.MIN_VALUEby -1 is negative zero (-0) -
KT-44981KJS / IR crashes onkotlin.js.jscalls with complex constexpr -
KT-41964KJS IR: Reference to local variable and parameter from js fun could be broken unexpectedly -
KT-50682Kotlin/JS: IR + IC: TypeError "Cannot read properties of undefined" when properties from different sources refer one another in initializers -
KT-50175Kotlin/JS, IR: with incremental compilation top level properties initialization is not lazy -
KT-40236KJS: IR. Invalid override for external field with@JsName -
KT-46525KJS / IR: Generate context-dependent names for lambdas and object expressions -
KT-49779KJS / IR: Exported abstract class implementing interface not export interfaces member in d.ts -
KT-49773KJS / IR: Exported enum implementing interface -
KT-41912KJS / IR: generates invalid defineProperty methods for class hierarchies -
KT-46225KJS IR: tailrec function with capturing lambda in default parameter value leads to UninitializedPropertyAccessException at compile time -
KT-50528Kotlin/JS: IR + IC: TypeError: "combined.get_icpjjy_k$ is not a function" for code callingGlobalScope.launch {} -
KT-50512KJS / IR: IC failed with const val in inline fun -
KT-49738Ensure that @AfterTest is invoked after the@Testfunction completes for asynchronous tests -
KT-45542KJS / IR: "IllegalStateException" for method with default argument in expect class -
KT-50464KJS IR: Functions with optional parameters and stable names are exported without@JsExport -
KT-43374KJS / IR: "class org.jetbrains.kotlin.js.backend.ast.JsIf cannot be cast to class org.jetbrains.kotlin.js.backend.ast.JsExpressionStatement" caused byif-elseexpression insidewhen -
KT-20791ushr Behavior differs in Javascript and Java targets -
KT-49844KJS / IR: "IllegalStateException: IrSimpleFunctionSymbolImpl is already bound" with callable reference -
KT-46961KJS / IR: "IllegalStateException: Can't find name for declaration" when external object contains enum class -
KT-43191KJS / IR: static companion field is not static in d.ts -
KT-39891[KJS / IR] String interpolation and byte shift round Long value -
KT-50040JS IR: "Function must be an accessor of corresponding property" exception on private properties with getter in an exported class -
KT-49878Kotlin/JS, IR: incremental compilation fails with CCE: "class StageController cannot be cast to class WholeWorldStageController" -
KT-46202KJS / IR: "IllegalStateException" on exported value class -
KT-42039KJS / IR: JsQualifier annotation can cause conflicts with built-in functions -
KT-39364KJS: Can't export sealed class/object with subclasses inside the body to typescript definition -
KT-47360KJS / IR:js()function with string val -
KT-47376KJS / IR: Incorrectd.tsgeneration for sealed classes -
KT-47767KJS / IR: "IllegalStateException" with inline function with several lambda invocation declared through typealias -
KT-47342KJS / IR: "StackOverflowError" onInlinerTypeRemapper.remapTypeArguments -
KT-46218KJS / IR: Incorrect result for localtailrecfunction called from capturing inline lambda -
KT-45056KJS / IR: Inconsistentordinalproperty value for enum classes -
KT-47096KJS / IR:Console.logintroduces spaces between each character -
KT-47516KJS / IR: Wrong behavior when trying to access property in enum entry -
KT-47806KJS / IR: "IllegalStateException" with invocation of extension function with generic and lambda parameter onString.Companion -
KT-49225KJS: Default value for value class parameter is not considered -
KT-49326KJS / IR: Overridden properties should not be exported -
KT-49363KJS / IR: Nested declarations inside exported object are not exported -
KT-49300KJS: Source map generator leaks source files descriptors when source embedding is enabled -
KT-40525KJS IR: investigate issues with using kotlin-wrappers -
KT-50197KJS IR: using APIs in different packages but with same method name generates clashes -
KT-45958KJS: Line breaks are missing injsfiles after If-expression -
KT-40213KJS: fix and "unmute" cases from .../nonReifiedTypeParameters/ "muted" while fixing KT-38771 -
KT-50152Kotlin/JS: with incremental compilation browserRun / nodeRun produce no output -
KT-50315Kotlin/JS: building project with some dependencies fails: IAE: "Duplicate definition" -
KT-50203JS IR BE: new IC for lowerings -
KT-43250KJS / IR: "Can't find name for declaration FUN" with Json#encodeToString as function reference -
KT-46992KJS / IR: Incorrect boxing of inline classes returned by crossinline suspend lambdas -
KT-49776KJS / IR: inliner doesn't handle inner class functions referring outer this -
KT-49849KJS / IR: Access of exported member properties should be by its stable name -
KT-49850KJS / IR: Member properties in exported class should be getter/setter in d.ts
Language Design
-
KT-19423Script: reference from class to script top-level member is incompilable -
KT-21197Support cross platform common implementations -
KT-42435Prototype multiple receivers -
KT-48385Deprecate confusing grammar in when-with-subject -
KT-49542FIR: Smart cast may lead to inconsistent inference result -
KT-23727Internal declarations from other module in star imports should have lower priority than public declarations from default imports -
KT-50251Support language version 1.3 in Kotlin 1.6.20 -
KT-17765Ambiguity between SAM adapters when one SAM interface is sub type of another -
KT-10926False overload resolution ambiguity when both vararg and collection match -
KT-41214JDK 17: Emit PermittedSubclasses attribute when compiling sealed classes
Libraries
-
KT-44089Java version checking doesn't work on Android -
KT-50033Some packages of kotlin-stdlib with public API are not exported in module-info -
KT-48367Usingsynchronizedon captured object leads to slow JVM execution -
KT-49721KJS: Regex("\b").findAll yields infinite sequence when a zero length match is found before a surrogate pair (e.g. emoji)
Native
New Features
-
KT-49463--dry-run flag for llvm_builder/package.py
Fixes
-
KT-51359Native: the compiler doesn't work on macOS 12.3 Beta -
KT-49144Kotlin/Native executable early segmentation fault -
KT-49348KONAN_NO_64BIT_ATOMIC does not guard Kotlin_AtomicLong_addAndGet -
KT-42500KLIB: K/N compiler cannot link with a library with incorrect symbol in the name or the path -
KT-49395K/N: After 1.5.20, compiling code includingKSuspendFunction3to framework leads to "Assertion failed at parametersAssociated" -
KT-49967Kotlin iOS regex issue -
KT-49873Native does not sort Strings correctly -
KT-49347androidNativeArm32 binaries crash when using atomic operations -
KT-49597Kotlin/Native: Exporting the Arrow library into the framework causes StackOverflowError in the Devirtualization phase -
KT-49790"Undefined symbols" error when linking project with kotest 5.0.0.RC and Kotlin 1.6
Native. Build Infrastructure
-
KT-48625Native: distribution doesn't contain sources for kotlin.test
Native. C Export
-
KT-47828Kotlin/Native: Kotlin exception is not filtered out on interop border when producing a dynamic library with compiler caches enabled
Native. C and ObjC Import
-
KT-35059Better "could not build module" cinterop report -
KT-49768Kotlin/Native: Add -Xoverride-konan-properties to cinterop.
Native. ObjC Export
-
KT-47399Kotlin Native - Objective-C with Swift 5.5 Async Function Needs Returning KotlinUnit -
KT-48282Kotlin sealed class roots and abstract classes within sealed hierarchies have their constructors exposed to Objective-C/Swift -
KT-46866Memory consumption / performance of Kotlin classes with String property in KMP project on iOS Swift
Native. Platform Libraries
-
KT-50045Kotlin/Native: Re-enable disabled Hypervisor framework -
KT-47331Kotlin/Native: support Xcode 13 SDKs
Native. Platforms
-
KT-48078Native: Support non-NativeActivity Android executables
Native. Runtime
-
KT-48424Support resolving source locations using libbacktrace -
KT-51586SIGSEGV on worker7 test -
KT-50491Kotlin/Native: Deadlock in the Ktor server tests with the new memory manager
Native. Runtime. Memory
-
KT-50879Kotlin/Native: Stabilize Concurrent Sweep GC -
KT-50948Kotlin/Native: Concurrent Sweep GC hangs on Windows in GCStateHolder::waitEpochFinished/waitScheduled -
KT-49497iOS Swift "runtime assert: Must be positive" and "runtime assert: cycle collector shall only work with single object containers" -
KT-50026Kotlin/Native: Make AtomicReference behave like FreezableAtomicReference with the new MM -
KT-49013Kotlin/Native: Correctly switch thread state to native for spin locks
Native. Testing
-
KT-48561Test sideEffectInTopLevelInitializerMultiModule fails with new MM
Reflection
-
KT-50198Reflection: NPE fromkotlin.jvm.internal.Intrinsics.areEqualwith Spock
Tools. Android Extensions
-
KT-50784kotlin-android-extensions produces unbound symbol under_$_findViewCache -
KT-50627NullPointerException when using kotlin-android-extensions synthetic after updating Kotlin to 1.6.10 -
KT-50887kotlin-android-extensions plugin breaks whenpackageattribute missing from AndroidManifest.xml
Tools. CLI
-
KT-51309Add JVM target bytecode version 18 -
KT-48027"Module ... cannot be found in the module graph" with module-info in META-INF/versions -
KT-50695Compiling into IR backends with language version 1.3 is not rejected -
KT-46329Deprecated-Xjvm-defaultvalues are not reported -
KT-51025JVM CLI compiler takes class file from classpath instead of input java source file -
KT-50889AnalysisHandlerExtension multiple round execution is broken on Kotlin/MultiPlatform withexpectActualLinker=trueflag -
KT-48417CLI: boolean -X arguments accept a value after '=' which is ignored -
KT-11164Allow running class files with '.class' extension in 'kotlin' script -
KT-46171NoClassDefFoundError produced when running kotlin script
Tools. Commonizer
-
KT-48568[Commonizer] timespec properties are not commonized in kotlinx.coroutines -
KT-46257MPP: Stdlib included more than once for an enabled hierarchical commonization -
KT-49735[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets -
KT-48856MPP: Unable to resolve c-interop dependency for test compilation in an intermediate source set with the only platform -
KT-48288[Commonizer] platform.posix.timespec.tv_sec not commonized in OKIO -
KT-47574[Commonizer] TypeAliasTypeCommonization: Properly substitute underlying type arguments -
KT-48221MPP: Too few targets specified if platform test source set depends on main -
KT-47100[Commonizer] Commonize underlying type-alias types
Tools. Compiler Plugins
-
KT-50718Unable to serialize an object with a generic field -
KT-50764Kotlin 1.6.10 custom serializers for a generic type receive the unit serializer on jvm -
KT-46444JVM IR, serialization: "AssertionError: No such value argument slot in IrConstructorCallImpl: 0" with KSerializer of ClosedRange
Tools. Daemon
-
KT-47522Provide reasonable resolution strategy for OutOfMemoryError during compilation -
KT-51116OOM user-friendly message isn't displayed if there is main exception caused by out of memory
Tools. Gradle
New Features
-
KT-48620Add build information into Gradle build scan -
KT-41689Support statistics for Configuration Cache -
KT-49299Add more flexible way for defining Kotlin compiler execution strategy -
KT-21056Kotlin Gradle Plugin tasks execution should be parallelized by default
Performance Improvements
-
KT-50664Compile speed regression going from Kotlin 1.5.31 to 1.6.10 for incremental changes when Java class in a dependent child module w/ kapt is modified w/o a method/class signature change -
KT-48884Configuration performance regression in Kotlin Gradle plugin 1.5.30 -
KT-49782Improve compilation task outputs snapshot performance
Fixes
-
KT-51501Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.6.0-RC when applying Enterprise Plugin from initscript -
KT-51588Restoring from build cache breaks Kotlin incremental compilation -
KT-50620Gradle Kotlin Plugin crashes in CI due to hostname resolving issue -
KT-49921Setup basic release performance regression tests -
KT-51177After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource change -
KT-48134Debug log level causes build cache miss -
KT-50719Kotlin Gradle Plugin may hang on writing statistics -
KT-48849Cache miss due to empty directories inKotlinCompileinputs -
KT-49014Disable Explicit API is not possible -
KT-48408Build may fail with strict JVM target validation mode when project has no Kotlin sources -
KT-49107Configuration cache: undeclared kotlin.caching.enabled system property read -
KT-50369Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines property -
KT-48046Gradle Throws Exception From Kotlin Plugin:destinationDir must not be null -
KT-50037Kotlin compile task registers more than one task action and their order of execution is counter-intuitive -
KT-49772Kotlin in-process compilation does not release file handles -
KT-47215KJS: "UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized" when runningkotlinNpmInstallorrootPackageJsonlocally -
KT-46406Remove 'kotlin.parallel.tasks.in.project' build property
Tools. Gradle. JS
Performance Improvements
-
KT-49037KJS / Gradle: Configuration cache usage on large projects lead to high memory consumption by Gradle daemon
Fixes
-
KT-51060KJS / IR: Incorrect order of libraries with IC -
KT-49061KJS / Gradle: Custom package.json handlers break configuration cache -
KT-35640Kotlin/JS: Gradle: DCEdevMode = truesetting has no effect on incremental build -
KT-49095KJS / Gradle: KotlinJsTest tasks increase configuration cache state size depending on number of modules in project -
KT-49253KJS / Gradle: Error while evaluating property 'filteredArgumentsMap' of task ':compileProductionExecutableKotlinJs' -
KT-49902Kotlin/JS: Gradle: with --debug it still runs yarn without --ignore-scripts -
KT-49808KJS / Gradle: NPE when running node.js Mocha tests with configuration cache reuse -
KT-49530KJS: Update Node.JS and Yarn -
KT-50930KJS / IR: Incremental compilation cache building not consider multiple artifacts -
KT-50485KJS / IR: Enable per-module by default -
KT-49445KJS / IR: "AssertionError: Built-in class kotlin.Unit is not found" 1.5.31 fails on consuming artifacts built with 1.6.0 -
KT-38040Make Chrome Headless use "--no-sandbox" (configurable) - for Docker
Tools. Gradle. Multiplatform
-
KT-46198[Commonizer] c-interop commonization: Support publishing libraries compiled with commonized c-interop libraries -
KT-41641MPP: NoSuchElementException: "Collection is empty" when android library is added butandroid()source set isn't -
KT-50567commonizeNativeDistribution fails when enableGranularSourceSetsMetadata is set to true -
KT-50592[Gradle][MPP] Mitigate isolated KGP classpath issues -
KT-51176CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmpp -
KT-49089An annotation class annotated with @OptionalExpectation can not be used in another module with HMPP enabled -
KT-48818False positive warning about usedenableDependencyPropagationflag with enabled hierarchical mpp by default -
KT-49596Composite Metadata Jar: Read location of cinterops from KotlinProjectStructureMetadata file -
KT-41823Default arguments not work in iosMain metadata with enableGranularSourceSetsMetadata -
KT-50574Only enable cinterop metadata transformation when 'kotlin.mpp.enableCInteropCommonization' is set
Tools. Gradle. Native
New Features
-
KT-47633Accept version when configuring cocoapods for kotlin/native -
KT-42630CocoaPods Gradle plugin: Allow customization of podspec properties -
KT-48553Kotlin/Native: use Gradle Shared Build Service to read konan.properties -
KT-47529Read list of opt-in cacheable native targets from konan.properties
Fixes
-
KT-49330commonizeNativeDistribution: "ClassCastException: KotlinJvmProjectExtension_Decorated cannot be cast to class org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension" -
KT-49484Kotlin/Native: XCFramework should include dSYM files for release artifacts -
KT-47768Gradle MPP plugin: K/N targets break task configuration avoidance for assemble task -
KT-49971Make 'embedAndSignAppleFrameworkForXcode' task visible for users -
KT-43815[CocoaPods Plugin] Pod name cannot be changed -
KT-50105Usage of XCFramework and cocoapods plugin leads to error in prepareKotlinBuildScriptModel task -
KT-42105Multiplatform Cocoapod kotlin plugin doesn't support repo distribution -
KT-48808XCFramework task fails when using static debug frameworks -
KT-42755Cocoapods plugin using backslashes on Windows
Tools. JPS
-
KT-51434Language version 1.7 is absent in Kotlin Compiler settings -
KT-48399Internal Error: Unknown version of LookupSymbolKeyDescriptor=-6 -
KT-49177JPS: Kotlin compiler doesn't recompile file that references Java constant in class body -
KT-46506JPS: Kotlin compiler doesn't recompile file that references Java constant -
KT-47909UtilsKt.recordPackageLookup is slow -
KT-47857Class loaders clash when building kotlin project with FIR with JPS without daemon -
KT-45773Improve quality of JPS incremental compilation
Tools. Kapt
-
KT-41456Kotlin compilation failure after successful kapt causes invalid incremental builds -
KT-48402Kapt throws "Fatal Error: Unable to find package java.lang in classpath or bootclasspath" with JDK 16 and Kotlin 1.5.30 -
KT-48617Cache miss due to empty directories in KaptGenerateStubsTask inputs -
KT-48450Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask` -
KT-32596kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation -
KT-48826Deprecate 'kapt.use.worker.api' property -
KT-47002Kapt: warning mentions non-effective propertykapt.includeCompileClasspath
Tools. Maven
-
KT-50306Configured plugin dependencies should be available in kotlin-maven-plugin scripts
Tools. Parcelize
-
KT-19853Parcelize: CREATOR field should be available from code
Tools. REPL
-
KT-20488REPL: java.lang.InternalError: "Enclosing constructor not found" for class reference on an anonymous object literal
Tools. Scripts
-
KT-48758Kotlin scripting: introduce a link from evaluation configuration to the compilation one -
KT-48414Script: get location of the script.main.kts file -
KT-40497“Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6.” for running script without specified jvm-target -
KT-49329Kotlin scripts are compiled with jvmTarget 1.8 by default and in many scenarios there is no way to redefine it, which lead to inlining errors e.g. with JDK 17
Tools. Wasm
-
KT-49893Don't publish wasm targets withorg.jetbrains.kotlin.js.compilerattribute
| File | Sha256 |
|---|---|
| kotlin-compiler-1.6.20.zip | daf17db1c194f4205f3af67129367a69b388f819177963dc53a7b4b2c4d8ce22 |
| kotlin-native-linux-x86_64-1.6.20.tar.gz | d967d6fd87056177ec520b00eee23b994389a1eb486c000af39d2d2fbbfbf3be |
| kotlin-native-macos-x86_64-1.6.20.tar.gz | b53f93258b7ffe4b09e38cd6a5d87aed42a5d0f6f0fba6417e666e6ee12477f1 |
| kotlin-native-macos-aarch64-1.6.20.tar.gz | 3c86d8388d986005095a57e7c58ea6237ac4915ab238feb5613c89fd9a335b6a |
| kotlin-native-windows-x86_64-1.6.20.zip | 241f40852388c51da303931e5c7a4f4c86adca8510d0bd7479b7ac65ce86e3cc |
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this MR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
Edited by Automation Bot