126 KiB
126 KiB
1.6.20
Compiler
New Features
KT-48217Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is usedKT-49929[FIR] Support programmatic creation of annotation class instancesKT-49276Warn about potential overload resolution change if Range/Progression starts implementing CollectionKT-47902Do not propagate method deprecation through overridesKT-49857Require Xcode 13 for building Kotlin/Native compilerKT-47701Support instantiation of annotation classes on NativeKT-46085Support experimental parallel compilation of a single module in the JVM backendKT-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 referencesKT-50076Performance regression in super call to an interface member in $DefaultImplsKT-50080Performance regression in string template with generic property with primitive upper boundKT-50084Performance regression in concatenation with 'String?'KT-50078Performance regression in for-in-array loopKT-50039Performance regression in inner class constructor call with default parametersKT-48784An anonymous class has fields for variables that are only used in the constructorKT-42010Generate IINC instruction for postfix increment in JVM_IRKT-48433JVM_IR don't generate null check on 'this$0' parameter of inner class constructorKT-48435JVM_IR ConstForLoopBenchmark performance regressionKT-48507JVM_IR ForLoopBenchmark regressionsKT-48640Performance regression in 'longDownToLoop' benchmarksKT-29822Generate specialized bytecode for loops withIndex over unsigned arraysKT-48669Generate optimizable counter loop for loops over indices of unsigned arraysKT-49444Possible performance degradation with UInt downTo loopKT-48944Possible performance regression with comparison of local KFunctionsKT-17111Eliminate redundant store/load instructions when the value stored is simpleKT-36837Generate more compact code for for-in-range loop in JVM_IRKT-48947JVM / IR Possible performance regression with string templatesKT-48931JVM / IR: Performance degradation with string concatenationKT-36654Generate more compact bytecode for safe call in JVM_IR
Fixes
KT-24643Prohibit using a type parameter declared for an extension property inside delegateKT-51747MakeKtCallableDeclaration.getContextReceiversdefault to preserve compatibilityKT-49658NI: False negative TYPE_MISMATCH on nullable type withwhenKT-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 functionsKT-48626JVM IR: incorrect behavior for captured for-loop parameter since 1.6.20-dev-723KT-51036JVM / IR: "NullPointerException: Parameter specified as non-null is null" with synchronized and companion objectKT-51471Native: incorrect debug information when inheriting suspend fun invoke implementationKT-51352"ClassCastException: class ScopeCoroutine cannot be cast to class Iterable" caused by coroutines and context receiversKT-51271"ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3" with inlining of context functionKT-47084JVM IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL" with tailrec function default parameter nested inline lambdaKT-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 builderKT-51353IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACKKT-48945JVM IR: special bridge forgetis not generated in a Map subclassKT-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 typeKT-49793JVM:IncompatibleClassChangeError: Expected non-static fieldwhen property delegation uses receiver of another delegated propertyKT-51302Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformerKT-51148"AssertionError: At this stage there should be no remaining variables with proper constraints" caused by two type parametersKT-50970Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targetsKT-50843Kotlin/Native: LLVM constant merge pass does not work for Kotlin constantsKT-51157JVM / IR: "IndexOutOfBoundsException: Index: 1, Size: 1" caused by interface hierarchy and UInt method parameterKT-50498Exception after analysing an erroneous lambdaKT-50258equals()returnsfalseon the same enum instances if we check it for the second time inwhenKT-51062Progressions resolve changing warning isn't reported for Java methodsKT-48544JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" with callable reference::arrayOfKT-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 operatorKT-51080Line number in mapping for the first instruction is lostKT-49526JVM IR: Function reference with non-denotable intersection type argument is not inlined and is incorrectly approximatedKT-50399Error: unexpected variance in super type argument: out @0KT-50649JVM IR: ClassCastException when returning Result as generic typeKT-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 usedKT-50856SAM conversion generates invalid bytecode for genericsKT-45693False negative INCOMPATIBLE_TYPES withwhenwith generic subjectKT-49903JVM IR: InlineOnly optimization leads to behavior change for println with mutating System.outKT-51022Fix error messages for resolution ambiguity with stub typesKT-51035PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression:" caused by recursive call of java functionKT-50797Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying typeKT-50878Usage of contextual declarations from third-party library is allowed without-Xcontext-receiversKT-49829Wrong "cast can never succeed" diagnostic with builder inferenceKT-49828Improve builder inference diagnostics with overload resolution ambiguityKT-50989CCE cause by EmptySubstitutor in ResolutionWithStubTypesCheckerKT-49729Implement deprecation warning for private constructors of sealed classesKT-49349Implement deprecation for invalid if as expression in rhs of elvisKT-46285[SEALED_SUPERTYPE_IN_LOCAL_CLASS] Error message isn't adopted to local objects and sealed interfacesKT-49002Allow OptIn marker on override if base class has the same markerKT-48899Report warnings on overrides with wrong types nullabilityKT-49461Implement prohibitation of access to members of companion of enum class from initializers of entries of this enumKT-49754Kotlin/JS: @JsExport on enum class reports NON_EXPORTABLE_TYPE warningKT-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 typeKT-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 fileKT-50120HMPP: False positive [NO_VALUE_FOR_PARAMETER] for expect function usagesKT-49864JVM IR: NoSuchMethodError calling default interface method with inline class return type in -Xjvm-default=all modeKT-49812JVM / IR: "java.lang.VerifyError: Bad return type" when using Result type attribute + extension function with same nameKT-49936Extension property in a data class with the same name as the constructor parameter leads to incorrect component function being resolved and generatedKT-48181"ISE: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" on creating instance of kotlin.MetadataKT-50215VerifyError caused by missing cast after is check in whenKT-49977"Parameter specified as non-null is null" when inline class implements interface method with default parametersKT-50385DUPLICATE_LABEL_IN_WHEN is reported on incorrect branchesKT-49092JVM: ArrayIndexOutOfBoundsException on compiling call withifexpression and TODO() argumentsKT-48987JVM / IR: Smartcast, which never succeed, crashes the compilerKT-50277Invalid bytecode generated for inline lambda in suspend functionKT-50219FIR DFA/CFA: no smart cast after null check and assignmentKT-44561FIR DFA: extract non-null info from comparison against variable with initial constant valueKT-44560FIR DFA: propagate non-null info to original variables in not-null assertion or cast expressionKT-50278FIR: accidental resolve to inaccessible value parameterKT-47483JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" on compiling Array instantiation with TODOKT-50304EXC_BAD_ACCESS at IntrinsicsNative.kt starting coroutine on object with suspend fun as supertypeKT-49765JVM: ClassCastException when trying to add object to EmptyListKT-46879"AssertionError: Stack should be spilled before suspension call" with Flow and reified typeKT-50172"AssertionError: Not a callable reflection type" on local function reference with the same name as local variableKT-49443JVM IR, Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with constructor call of class that has a top-level extension function callKT-50193Garbage collection is not working the same way after jvm-ir-backend changeKT-19424Compilation exception for script with property delegate calling operator invoke on an objectKT-43995Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" if companion object initializer calls method on listKT-47000Allow graceful migration to -Xjvm-default=all-compatibility by allowing to inherit from interfaces even in the old (-Xjvm-default=disable) modeKT-50180FIR: not enough information to infer type variable for definitely not null typeKT-50163FIR: ISE unsupported compile-time value BLOCK on complex annotationsKT-50171JVM IR: "UninitializedPropertyAccessException: Parent not initialized: IrVariableImpl" on SAM-converted property setter reference with Double parameter inside lambdaKT-50140Internal error on explicit string concatenation of generic type value with 'String' upper boundKT-49992Anonymous object should not have access to private members from supertypesKT-49973Check existing of default error message for all diagnosticsKT-50019Property delegated to callable reference: "ISE: Local class should have its name computed in InventNamesForLocalClasses" with -Xno-optimized-callable-referencesKT-49645JVM / IR: "IllegalStateException: Local class should have its name computed" caused by default suspend function in interface and value classKT-50028Incorrect implicit casts from UnitKT-49615JVM / IR: "Exception during IR lowering" with list of value classes with non-trivial constructor inside suspend lambdaKT-49127FIR: smart cast is not performed after comparisonKT-48708Incorrect cast from Unit to IntKT-48376FIR: False positive UNITIALIZED_VARIABLE after try/finally with return from tryKT-48113FIR: (false) positive EQUALITY_NOT_APPLICABLE for intersection with platform typeKT-48305FIR: incorrect raw type castKT-48378FIR: synthetic accessor lowering should not attempt to modify other filesKT-48634FIR: false property-setter-function resolve cycleKT-48621FIR: SyntheticAccessorLowering should not attempt to modify other files for protected JvmFieldKT-48381Invalid LLVM module: verification failure of createInlineClassInArgumentPosition.ktKT-48527Native: top-level properties in files with @Test functions are initialized eagerly even if lazy initialization is enabledKT-48559IllegalArgumentException: Unexpected super type argument: * @ 0 during IR loweringKT-48687IR dump mismatch after deep copy with symbols in IR text testKT-44811[FIR] Exception in body resolve of new contractsKT-48363FIR behaves differently in case of resolution between classifier and top-level propertyKT-48801"AssertionError: Stack should be spilled before suspension call" with Flow and crossinlineKT-46389JVM / IR: "ClassCastException: class IrGetValueImpl cannot be cast to class IrConst" with inheritance of supertypes member functions with similar signaturesKT-47797Regression during migration to 1.6 in compilerKT-47987Can't infer a postponed type variable based on callable reference receiver typeKT-48446"IllegalStateException: IrErrorType (getErasedUpperBound)" caused by suspend function referenceKT-48651Collect intermediate annotations during type expandingKT-48754JVM IR: in EnclosingMethod leads to IncompatibleClassChangeError on Android 5.0KT-45034Use the new type inference for top-level callable referencesKT-49001OptIn marker should spread from class to its members, taking into account real dispatch receiver typeKT-49038Generics are discriminated during callable references resolution (false negative)KT-48954JVM IR: IllegalAccessError when using Java method reference in constructorKT-48284JVM / IR: "IllegalStateException: Function has no body: FUN STATIC_INLINE_CLASS_REPLACEMENT" caused by inline member toString of value class and string interpolationKT-49053JVM / IR: "AssertionError: Unbound symbols not allowed" on inheriting a protected Java method that returns a package private class from a differently-named fileKT-49106JVM: infinite recursion with overridden default suspend interface method where override calls superKT-45345FIR DFA:FirDataFlowAnalyzerseems to add wrong type constraints for type parametersKT-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 warningsKT-46371FIR: Investigate FunctionType -> ExtensionFunctionType coercionKT-49078FIR: false positive TYPE_VARIANCE_CONFLICTKT-47135FIR: local class references does not compileKT-48600NON_TAIL_RECURSIVE_CALL missing for calls inside lambdaKT-48602NON_TAIL_RECURSIVE_CALL missing for calls with explicit dispatch receiver to a singletonKT-48982JVM / IR: KotlinNothingValueException caused by function with local objectKT-49087FIR: false positive REPEATED_ANNOTATIONKT-48648JVM IR: "AssertionError: Should be primitive or nullable primitive type" with @JvmField generic property with Number upper boundKT-49069FIR: False positive INAPPLICABLE_JVM_NAME on getterKT-49203JVM IR: "AssertionError: Unbound symbols not allowed" with lateinit var andplusAssignoperator convention callKT-48993JVM / IR: "IllegalStateException: Validation failed in file <multi-file facade ...>" using @JvmMultifileClass and one of the symbols in the file exposes a @JvmInline value classKT-48938FIR: Investigate how priorities should work in case SAM-conversion + type parametersKT-49129FIR: false positive of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASSKT-49076FIR: false positive "An annotation argument must be compile-time constant" on array of importsKT-49222FIR: StackOverflow in MethodSignatureMapperKT-49083FIR erroneously requires default value parameters for override calls when imported from objectKT-49135FIR: ambiguity between type alias and functionKT-49134FIR makes no difference between lambda with empty parameter list and without explicit parameter listKT-49301FIR: Unresolved reference: for object inherited from inner classKT-49070FIR: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with type parameter / class conflictKT-49133FIR: protected java.lang.Throwable constructor is not availableKT-49407JVM / IR: "java.lang.VerifyError: Bad local variable type" with "Int.mod" inside "Long.mod" and non-trivial argumentKT-44975SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC: confusing error messageKT-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 @OptIn annotationKT-49411JVM / IR: NullPointerException during IR lowering with @JvmField property in loop rangeKT-49260FIR: make FirBasedSymbol hierarchy to correspond FirDeclaration hierarchyKT-49289FIR: false positive "return required" for if/else with inlined return in branchKT-49316JVM / IR: "AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" caused by unreachable code which try to modifyvalfrom the other packageKT-45915NoDescriptorForDeclarationException: Descriptor wasn't found for declaration FUN with circular module dependencies in JPSKT-49288FIR2IR: consider generating all fake override calls properlyKT-42784FIR2IR: first create fake overrides, then bind overridden to themKT-48816Kotlin/Native Symbol for public platform.darwin/NSObject|null[100] is unboundKT-49372JVM / IR: Incorrect work of the loop optimization for mutable variableKT-49356Native: UnsupportedOperationException: RETURNABLE_BLOCK caused by nested return with boxing and inlineKT-49659JVM IR: Missing value class mangling in SAM wrappers for fun interfaces from different modulesKT-47101Incorrect scope for supertypes in companion objectsKT-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 typeKT-49575IllegalArgumentException: Unhandled intrinsic in ExpressionCodegen with circular module dependencies in JPSKT-47669IR inliner doesn't handle inner class functions referring outer thisKT-48668JVM IR: "ISE: Value at CLASS must not be null for CLASS" for modules with a dependency cycleKT-49370JVM / IR: "java.lang.VerifyError: Bad local variable type" with "fun Long.mod" and non-trivial argumentKT-46744Memory Leaks in Kotlin daemonKT-48806False-negative USED_AS_EXPRESSION for unreachable catch clausesKT-45972FIR: type is incorrectly resolved to privateKT-46968Remove FirCompositeScope from type resolveKT-49072FIR: accidental resolve to private-in-file typeKT-34822FIR scopes: deal with nested / inner classes and type parameter priorityKT-49702Exception from RENDER_WHEN_MISSING_CASES diagnostic on malformed sealed class inheritorKT-49860[FIR] Add smartcast expression to syntheticsubjaccessKT-49836Inference fails on lambda and adjacent function expressions with receiverKT-49832Inference fails on lambda for function types with extension parameterKT-44022Excessive diagnostics range for DECLARATION_CANT_BE_INLINEDKT-48690VERSION_REQUIREMENT_DEPRECATION_ERROR message: use current compiler version instead of language versionKT-49609Incorrect grammar in DATA_CLASS_NOT_PROPERTY_PARAMETER error messageKT-49600Misspelled error message for non-constructor properties with backing fields in @JvmRecord classKT-49339Warn about synchronizing on value classesKT-49950Compilation failed: An operation is not implemented: IrBasedTypeParameterDescriptorKT-43604Problem with initialization orderKT-23890Default arguments are not transferred from expect generic member functionsKT-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 receiverKT-48325Safe call operator prevents object from being garbage collected before leaving functionKT-50004Linking kotlinx.serialization crashes on Native and JS IR backendsKT-49311Missing FIR checker for unresolved references in import statementKT-48104FIR does not see NotNull/Nullable annotations on type argumentsKT-46812[FIR] Make FIR diagnostics not related to Diagnostics from FE 1.0KT-37374[FIR] AddCheckInfixModifierresolution stageKT-38351FIR: SupportCheckOperatorModifierresolution stageKT-39614[FIR] Fix building CFG for different candidates of plus assign callKT-40197[FIR] Strange Behaviour of Type ArgumentsKT-40362[FIR] Match type arguments with type parameters of corresponding qualifierKT-40375FIR: No transformation implicit type -> error type for function value parametersKT-40585[FIR] Incorrect type for 1/1.0KT-42525[FIR] Incorrect IR produced for java.lang.Byte.MAX_VALUEKT-43359FIR: Check applicability type for callable reference with unbound receiverKT-43378FIR: Support or prohibit via call checker callable references to member extensionsKT-43289FIR: Correctly load irrelevant override for special built-insKT-44558Annotation arguments const expr support is missing in FIRKT-45223[FIR] Ambiguity between explicit and syntheticremoveAtKT-42215FIR: callable reference resolution with type constraints at call-sitesKT-45520FIR: NONE_APPLICABLE for unsafe call to function with overloads instead of UNSAFE_CALLKT-46410[FIR] Transform of FirAugmentedArraySetCall leaves erroneous nodes in control flow graphKT-46421FIR: Investigate builder-inference casesKT-43948FIR: hidden unresolved callable referenceKT-46558FIR DFA: run once contract is not considered when analyzing lambdaKT-47125FIR: Do not avoid trivial constraints if they aren't from upper boundsKT-43691FIR: false positive VARIABLE_INITIALIZER_IS_REDUNDANT with usage in try...finallyKT-37311[FIR] Support inference of callable references with type variable as expected typeKT-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 headerKT-47647NI: Function reference to Java static method can't compile if passed directly as KFunction1 parameterKT-46995Fix setters implicit types only resolved on full body resolveKT-46359Kotlin 1.5 lambda is not Java-serializable by defaultKT-49282FIR: suspend conversion does not work inside suspend lambdaKT-48953FIR: implement diagnostic DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETERKT-38813FIR: Report INSTANCE_ACCESS_BEFORE_SUPER_CALL diagnostic on receiver usages in secondary constructors headersKT-49657FIR: accidental override with get:JvmNameKT-49655FIR: smart cast is not performed after update of var to not-null value in branch
Docs & Examples
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 propertyKT-50580[Docs] [Kotlin/Native] Support instantiation of annotation classes on NativeKT-50874[Docs] [Language] Add ability to specify generic type parameters as not-nullKT-50564[Docs] [K/JS] Ensure that @AfterTest is invoked after the @Test function 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 reloadedKTIJ-21154StackOverflowError on Companion.extractPotentiallyFixableTypesForExpectedType that causes "Syntax highlighting has been temporarily turned off"KTIJ-20129Load "@NotNull T" types from libraries as definitely non-nullable if any module in project loads such types as definitely non-nullableKTIJ-9793UAST: KotlinAbstractUElement.equals fails for psi-less elementsKTIJ-16203UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpressionKTIJ-18720UAST: @Deprecated(level=DeprecationLevel.HIDDEN) makes method visibility be droppedKTIJ-18039@Deprecated(level=HIDDEN) elements return false for isDeprecated()KTIJ-18716KotlinUMethodWithFakeLightDelegate.hasAnnotation() doesn't find annotationsKTIJ-20220Kotlin plugin crashes very oftenKTIJ-20308Syntax highlighting is temporary suspended for file ... due to internal errorKTIJ-6085ExceptionIncorrect CachedValue...with KtUltraLightMethodForSourceDeclarationKTIJ-18977Do not show warningOutdated bundled kotlin compilerif there are no compatible plugin with newer compilerKTIJ-20253Consider supporting special highlighting for definitely non-null typesKT-42194OOME: Java heap space from incremental compilationKTIJ-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#containsKTIJ-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 failsKTIJ-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/WatcherKTIJ-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 contextKTIJ-20956Debugger: coroutine debugger fails to load sometimesKTIJ-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 functionKTIJ-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 IDEAKTIJ-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.20KT-47570MPP, IDE: kotlin-test-common leaks into dependencies of platform-specific source setsKTIJ-19541IDE: Kotlin Facets aren't created for Gradle projects added viaincludeBuildKT-48882MPP IDE import: Failing cinterop Gradle tasks shall not fail importKTIJ-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) @OptIn annotationsKTIJ-15780Add quickfix for migration of Experimental -> RequiresOptInKTIJ-18865Provide quick fixes for OptIn markers on forbidden targetsKTIJ-18439Make suggestions for applying opt-in quickfixes more distinctKTIJ-19985Provide quickfix for SAFE_CALL_WILL_CHANGE_NULLABILITY diagnostic
Fixes
KTIJ-20550False positives in "Unnecessary '@OptIn' annotation" inspectionKTIJ-20993Quick-fix for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS leads to unreachable codeKTIJ-20557Quick fix to addAnyas an upper bound for type parameter to make it non-nullableKTIJ-20827Process type mismatch compiler warnings to provide a corresponding quick fixKTIJ-12578"Make abstract" quick fix for missing abstract members implementations could warn of potentially broken inheritanceKTIJ-20425Quick fix to replace@NotNullparameter typeTwith a definitely non-nullable typeT & AnyKTIJ-19997Inspection "Possibly blocking call in non-blocking context could lead to thread starvation" suggests "Wrap call in 'withContext'" resulting in red codeKTIJ-18291Quickfix "Add @OptIn() annotation" adds the annotation to primary constructor when invoked on primary constructor parameterKTIJ-19512Implement IDE support for new rules of deprecation inheritanceKTIJ-20156Exception when applying 'Convert to with'KTIJ-20290Forbid "move to constructor" intention if class contains secondary constructorKTIJ-20288Forbid "move to constructor" intention for actual classes with actual constructorKT-49736Introduce import alias fails when qualifier is unresolvedKTIJ-18743"Redundant nullable return type" applied onactualmethod doesn't change the signature ofexpectKTIJ-12343Inspection "Sealed sub-class has no state and no overridden equals" is applied incorrectly to expect/actual declarations of sealed classes with nested subclassesKTIJ-19406The "Add @OptIn(...)" quick fix does not shorten the annotation when adding an argument to the existing annotationKTIJ-12351generate equals & hashCode() by identityintention generates incompilable code for multiplatform project modulesKTIJ-13227Forbid "move property to constructor" for actual classes with actual constructor having at least one parameter alreadyKTIJ-11328No quick fixes are suggested for annotation from experimental API used with file targetKTIJ-14427Meta-annotation value isn't updated for all the corresponding parts of a multiplatform annotationKTIJ-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 methodsKTIJ-15823Refactor / Extract Function: resulted declaration gets no @OptIn from 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 templatesKTIJ-20878Unable to create project with Kotlin Project Wizard when JDK 17 is used.KTIJ-20244Compose MPP project from wizard requires minCompileSdk=31KTIJ-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 exportedKT-43224KJS: Allow using inline classes in external typesKT-35100Make Char inline class in K/JSKT-42936KJS IR: Support js-code test directives similar to legacyKT-47525KJS / IR: Support protected members in d.ts generationKT-50110KJS / IR: Enable properties lazy initialization by default
Performance Improvements
KT-46443KJS / IR: ImproveCharArrayandCharperformanceKT-45665KJS / IR:equalson inline value classes is boxedKT-43644KJS / IR: Avoid creating lambda classes
Fixes
KT-51685KJS / IR: TypeError: collection.iterator_jk1svi_k$ regression in Kotlin 1.6.20-RC2KT-51523KJS IR: "Uncaught TypeError: a._get_length__2347802853_w7ahp7_k$ is not a function"KT-51700KJS / IR: Compiler uses wrong function with ListKT-51222KJS / IR: "RangeError: Maximum call stack size exceeded": Default function overloads marked with @JsExport are brokenKT-45054KJS: Export secondary constructors as class static methodsKT-37916KJS: .d.ts generation not working for enum classesKT-48199KJS / IR: Improve error message for linkage problemsKT-51030KJS / IR: internal class that implements public interface is missing gettersKT-45434KJS: "WRONG_EXPORTED_DECLARATION" when usingJsExporton interfacesKT-50934KJS / IR: Re-export all JS-exports from the main module for the multi-module modeKT-45620KJS / IR: Remainder of division ofInt.MIN_VALUEby -1 is negative zero (-0)KT-44981KJS / IR crashes onkotlin.js.jscalls with complex constexprKT-41964KJS IR: Reference to local variable and parameter from js fun could be broken unexpectedlyKT-50682Kotlin/JS: IR + IC: TypeError "Cannot read properties of undefined" when properties from different sources refer one another in initializersKT-50175Kotlin/JS, IR: with incremental compilation top level properties initialization is not lazyKT-40236KJS: IR. Invalid override for external field with @JsNameKT-46525KJS / IR: Generate context-dependent names for lambdas and object expressionsKT-49779KJS / IR: Exported abstract class implementing interface not export interfaces member in d.tsKT-49773KJS / IR: Exported enum implementing interfaceKT-41912KJS / IR: generates invalid defineProperty methods for class hierarchiesKT-46225KJS IR: tailrec function with capturing lambda in default parameter value leads to UninitializedPropertyAccessException at compile timeKT-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 funKT-49738Ensure that @AfterTest is invoked after the @Test function completes for asynchronous testsKT-45542KJS / IR: "IllegalStateException" for method with default argument in expect classKT-50464KJS IR: Functions with optional parameters and stable names are exported without @JsExportKT-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 insidewhenKT-20791ushr Behavior differs in Javascript and Java targetsKT-49844KJS / IR: "IllegalStateException: IrSimpleFunctionSymbolImpl is already bound" with callable referenceKT-46961KJS / IR: "IllegalStateException: Can't find name for declaration" when external object contains enum classKT-43191KJS / IR: static companion field is not static in d.tsKT-39891[KJS / IR] String interpolation and byte shift round Long valueKT-50040JS IR: "Function must be an accessor of corresponding property" exception on private properties with getter in an exported classKT-49878Kotlin/JS, IR: incremental compilation fails with CCE: "class StageController cannot be cast to class WholeWorldStageController"KT-46202KJS / IR: "IllegalStateException" on exported value classKT-42039KJS / IR: JsQualifier annotation can cause conflicts with built-in functionsKT-39364KJS: Can't export sealed class/object with subclasses inside the body to typescript definitionKT-47360KJS / IR:js()function with string valKT-47376KJS / IR: Incorrectd.tsgeneration for sealed classesKT-47767KJS / IR: "IllegalStateException" with inline function with several lambda invocation declared through typealiasKT-47342KJS / IR: "StackOverflowError" onInlinerTypeRemapper.remapTypeArgumentsKT-46218KJS / IR: Incorrect result for localtailrecfunction called from capturing inline lambdaKT-45056KJS / IR: Inconsistentordinalproperty value for enum classesKT-47096KJS / IR:Console.logintroduces spaces between each characterKT-47516KJS / IR: Wrong behavior when trying to access property in enum entryKT-47806KJS / IR: "IllegalStateException" with invocation of extension function with generic and lambda parameter onString.CompanionKT-49225KJS: Default value for value class parameter is not consideredKT-49326KJS / IR: Overridden properties should not be exportedKT-49363KJS / IR: Nested declarations inside exported object are not exportedKT-49300KJS: Source map generator leaks source files descriptors when source embedding is enabledKT-40525KJS IR: investigate issues with using kotlin-wrappersKT-50197KJS IR: using APIs in different packages but with same method name generates clashesKT-45958KJS: Line breaks are missing injsfiles after If-expressionKT-40213KJS: fix and "unmute" cases from .../nonReifiedTypeParameters/ "muted" while fixing KT-38771KT-50152Kotlin/JS: with incremental compilation browserRun / nodeRun produce no outputKT-50315Kotlin/JS: building project with some dependencies fails: IAE: "Duplicate definition"KT-50203JS IR BE: new IC for loweringsKT-43250KJS / IR: "Can't find name for declaration FUN" with Json#encodeToString as function referenceKT-46992KJS / IR: Incorrect boxing of inline classes returned by crossinline suspend lambdasKT-49776KJS / IR: inliner doesn't handle inner class functions referring outer thisKT-49849KJS / IR: Access of exported member properties should be by its stable nameKT-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 incompilableKT-21197Support cross platform common implementationsKT-42435Prototype multiple receiversKT-48385Deprecate confusing grammar in when-with-subjectKT-49542FIR: Smart cast may lead to inconsistent inference resultKT-23727Internal declarations from other module in star imports should have lower priority than public declarations from default importsKT-50251Support language version 1.3 in Kotlin 1.6.20KT-17765Ambiguity between SAM adapters when one SAM interface is sub type of anotherKT-10926False overload resolution ambiguity when both vararg and collection matchKT-41214JDK 17: Emit PermittedSubclasses attribute when compiling sealed classes
Libraries
KT-44089Java version checking doesn't work on AndroidKT-50033Some packages of kotlin-stdlib with public API are not exported in module-infoKT-48367Usingsynchronizedon captured object leads to slow JVM executionKT-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 BetaKT-49144Kotlin/Native executable early segmentation faultKT-49348KONAN_NO_64BIT_ATOMIC does not guard Kotlin_AtomicLong_addAndGetKT-42500KLIB: K/N compiler cannot link with a library with incorrect symbol in the name or the pathKT-49395K/N: After 1.5.20, compiling code includingKSuspendFunction3to framework leads to "Assertion failed at parametersAssociated"KT-49967Kotlin iOS regex issueKT-49873Native does not sort Strings correctlyKT-49347androidNativeArm32 binaries crash when using atomic operationsKT-49597Kotlin/Native: Exporting the Arrow library into the framework causes StackOverflowError in the Devirtualization phaseKT-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 reportKT-49768Kotlin/Native: Add -Xoverride-konan-properties to cinterop.
Native. ObjC Export
KT-47399Kotlin Native - Objective-C with Swift 5.5 Async Function Needs Returning KotlinUnitKT-48282Kotlin sealed class roots and abstract classes within sealed hierarchies have their constructors exposed to Objective-C/SwiftKT-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 frameworkKT-47331Kotlin/Native: support Xcode 13 SDKs
Native. Platforms
KT-48078Native: Support non-NativeActivity Android executables
Native. Runtime
KT-48424Support resolving source locations using libbacktraceKT-51586SIGSEGV on worker7 testKT-50491Kotlin/Native: Deadlock in the Ktor server tests with the new memory manager
Native. Runtime. Memory
KT-50879Kotlin/Native: Stabilize Concurrent Sweep GCKT-50948Kotlin/Native: Concurrent Sweep GC hangs on Windows in GCStateHolder::waitEpochFinished/waitScheduledKT-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 MMKT-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_$_findViewCacheKT-50627NullPointerException when using kotlin-android-extensions synthetic after updating Kotlin to 1.6.10KT-50887kotlin-android-extensions plugin breaks whenpackageattribute missing from AndroidManifest.xml
Tools. CLI
KT-51309Add JVM target bytecode version 18KT-48027"Module ... cannot be found in the module graph" with module-info in META-INF/versionsKT-50695Compiling into IR backends with language version 1.3 is not rejectedKT-46329Deprecated-Xjvm-defaultvalues are not reportedKT-51025JVM CLI compiler takes class file from classpath instead of input java source fileKT-50889AnalysisHandlerExtension multiple round execution is broken on Kotlin/MultiPlatform withexpectActualLinker=trueflagKT-48417CLI: boolean -X arguments accept a value after '=' which is ignoredKT-11164Allow running class files with '.class' extension in 'kotlin' scriptKT-46171NoClassDefFoundError produced when running kotlin script
Tools. Commonizer
KT-48568[Commonizer] timespec properties are not commonized in kotlinx.coroutinesKT-46257MPP: Stdlib included more than once for an enabled hierarchical commonizationKT-49735[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targetsKT-48856MPP: Unable to resolve c-interop dependency for test compilation in an intermediate source set with the only platformKT-48288[Commonizer] platform.posix.timespec.tv_sec not commonized in OKIOKT-47574[Commonizer] TypeAliasTypeCommonization: Properly substitute underlying type argumentsKT-48221MPP: Too few targets specified if platform test source set depends on mainKT-47100[Commonizer] Commonize underlying type-alias types
Tools. Compiler Plugins
KT-50718Unable to serialize an object with a generic fieldKT-50764Kotlin 1.6.10 custom serializers for a generic type receive the unit serializer on jvmKT-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 compilationKT-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 scanKT-41689Support statistics for Configuration CacheKT-49299Add more flexible way for defining Kotlin compiler execution strategyKT-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 changeKT-48884Configuration performance regression in Kotlin Gradle plugin 1.5.30KT-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 initscriptKT-51588Restoring from build cache breaks Kotlin incremental compilationKT-50620Gradle Kotlin Plugin crashes in CI due to hostname resolving issueKT-49921Setup basic release performance regression testsKT-51177After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource changeKT-48134Debug log level causes build cache missKT-50719Kotlin Gradle Plugin may hang on writing statisticsKT-48849Cache miss due to empty directories inKotlinCompileinputsKT-49014Disable Explicit API is not possibleKT-48408Build may fail with strict JVM target validation mode when project has no Kotlin sourcesKT-49107Configuration cache: undeclared kotlin.caching.enabled system property readKT-50369Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines propertyKT-48046Gradle Throws Exception From Kotlin Plugin:destinationDir must not be nullKT-50037Kotlin compile task registers more than one task action and their order of execution is counter-intuitiveKT-49772Kotlin in-process compilation does not release file handlesKT-47215KJS: "UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized" when runningkotlinNpmInstallorrootPackageJsonlocallyKT-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 ICKT-49061KJS / Gradle: Custom package.json handlers break configuration cacheKT-35640Kotlin/JS: Gradle: DCEdevMode = truesetting has no effect on incremental buildKT-49095KJS / Gradle: KotlinJsTest tasks increase configuration cache state size depending on number of modules in projectKT-49253KJS / Gradle: Error while evaluating property 'filteredArgumentsMap' of task ':compileProductionExecutableKotlinJs'KT-49902Kotlin/JS: Gradle: with --debug it still runs yarn without --ignore-scriptsKT-49808KJS / Gradle: NPE when running node.js Mocha tests with configuration cache reuseKT-49530KJS: Update Node.JS and YarnKT-50930KJS / IR: Incremental compilation cache building not consider multiple artifactsKT-50485KJS / IR: Enable per-module by defaultKT-49445KJS / IR: "AssertionError: Built-in class kotlin.Unit is not found" 1.5.31 fails on consuming artifacts built with 1.6.0KT-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 librariesKT-41641MPP: NoSuchElementException: "Collection is empty" when android library is added butandroid()source set isn'tKT-50567commonizeNativeDistribution fails when enableGranularSourceSetsMetadata is set to trueKT-50592[Gradle][MPP] Mitigate isolated KGP classpath issuesKT-51176CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmppKT-49089An annotation class annotated with @OptionalExpectation can not be used in another module with HMPP enabledKT-48818False positive warning about usedenableDependencyPropagationflag with enabled hierarchical mpp by defaultKT-49596Composite Metadata Jar: Read location of cinterops from KotlinProjectStructureMetadata fileKT-41823Default arguments not work in iosMain metadata with enableGranularSourceSetsMetadataKT-50574Only enable cinterop metadata transformation when 'kotlin.mpp.enableCInteropCommonization' is set
Tools. Gradle. Native
New Features
KT-47633Accept version when configuring cocoapods for kotlin/nativeKT-42630CocoaPods Gradle plugin: Allow customization of podspec propertiesKT-48553Kotlin/Native: use Gradle Shared Build Service to read konan.propertiesKT-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 artifactsKT-47768Gradle MPP plugin: K/N targets break task configuration avoidance for assemble taskKT-49971Make 'embedAndSignAppleFrameworkForXcode' task visible for usersKT-43815[CocoaPods Plugin] Pod name cannot be changedKT-50105Usage of XCFramework and cocoapods plugin leads to error in prepareKotlinBuildScriptModel taskKT-42105Multiplatform Cocoapod kotlin plugin doesn't support repo distributionKT-48808XCFramework task fails when using static debug frameworksKT-42755Cocoapods plugin using backslashes on Windows
Tools. JPS
KT-51434Language version 1.7 is absent in Kotlin Compiler settingsKT-48399Internal Error: Unknown version of LookupSymbolKeyDescriptor=-6KT-49177JPS: Kotlin compiler doesn't recompile file that references Java constant in class bodyKT-46506JPS: Kotlin compiler doesn't recompile file that references Java constantKT-47909UtilsKt.recordPackageLookup is slowKT-47857Class loaders clash when building kotlin project with FIR with JPS without daemonKT-45773Improve quality of JPS incremental compilation
Tools. Kapt
KT-41456Kotlin compilation failure after successful kapt causes invalid incremental buildsKT-48402Kapt throws "Fatal Error: Unable to find package java.lang in classpath or bootclasspath" with JDK 16 and Kotlin 1.5.30KT-48617Cache miss due to empty directories in KaptGenerateStubsTask inputsKT-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 annotationKT-48826Deprecate 'kapt.use.worker.api' propertyKT-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 oneKT-48414Script: get location of the script.main.kts fileKT-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-targetKT-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
1.6.10
Android
KT-49798[MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute
Compiler
Performance Improvements
KT-49821Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter
Fixes
KT-49833java.lang.NullPointerException caused by accidental newline in package directiveKT-49838Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameterKT-49752Regression in method return type inference: "IllegalStateException: Expected some types"KT-49876Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0KT-49792Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend functionKT-49834Coroutine method transformer generates invalid locals table.KT-49441Support friend modules in Kotlin NativeKT-49248K/N: Symbol withIrSimpleFunctionSymbolImplis unbound after 1.5.30KT-49651Inconsistent compiler APIs for repeatable annotationsKT-49168JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM methodKT-49573No annotated types, compiler emits "Annotated types are not supported in typeOf"KT-47192Build Fake Overrides for internal members of classes from friend moduleKT-48673IR: IllegalStateException for usage of internal member declared in a superclass in another module
JavaScript
KT-47811KJS / IR: "ClassCastException" when using suspend function inconsole.log
Language Design
KT-49868Support language version 1.3 in Kotlin 1.6.10
Libraries
KT-50173Different behavior of Regex escapeReplacement function in JVM and JS
Tools. Android Extensions
KT-49799NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0
Tools. Compiler Plugins
KT-50005jvm-abi-gen plugin: do not change the declaration order in generated jarsKT-49726JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter
Tools. Gradle
KT-49835Android consumers can't resolve Android debug variants of published MPP libraries published with Kotlin 1.6.0 & Gradle 7.0+KT-49910Incremental compilation speed regression in 1.6.0 for Android projects
Tools. Gradle. JS
KT-49109KJS / Gradle: Configuration failed: Could not find node-14.17.0-darwin-arm64.tar.gz (org.nodejs:node:14.17.0)KT-50135KJS: Problem with Yarn install with scripts on WindowsKT-34014Gradle, JS: Ability to persist / reuse yarn.lockKT-49505KJS / IR: Installation of NPM dependencies should be with ignore-scripts
Tools. Gradle. Native
KT-49931Kotlin Multiplatform Fails in Windows after 1.6.0 upgrade - Cannot run program "pod"KT-49771podInstall task is not executed after adding a pod dependency to the shared module
Tools. Incremental Compile
KT-49822Incremental compilation state is modified when the build fails in Kotlin 1.6KT-49340"IllegalStateException:@NotNullmethod org/jetbrains/kotlin/com/intellij/openapi/application/AsyncExecutionService.getService must not return null" with Anvil plugin and incremental compilation
1.6.0
Android
KT-48019Bundle Kotlin Tooling Metadata into apk artifactsKT-47733JVM / IR: Android Synthetic don't generate _findCachedViewById function
Compiler
New Features
KT-47984In-place arguments inlining for @InlineOnly functionsKT-12794Allow runtime retention repeatable annotations when compiling under Java 8KT-43714Support annotations on class type parameters (AnnotationTarget.TYPE_PARAMETER)KT-45949Kotlin/Native: Improve bound check eliminationKT-43919Support loading Java annotations on base classes and implementing interfaces' type argumentsKT-48194Try to resolve calls where we don't have enough type information, using the builder inference despite the presence of the annotationKT-47736Support conversion from regular functional types to suspending ones in JVM IRKT-39055Support property delegate created via synthetic method instead of field
Performance Improvements
KT-45185FIR2IR: get rid of IrBuiltIns usagesKT-47918JVM / IR: Performance degradation with const-bound for-cyclesKT-33835Bytecode including unnecessary null checks for safe calls where left-hand side is non-nullableKT-41510Compilation of kotlin html DSL is still too slowKT-48211We spend a lot of time in ExpectActual declaration checker when there is very small amount of actual/expect declarationKT-39054Optimize delegated properties which call get/set on the given KProperty instance on JVMKT-46615Don't generate nullability assertions in methods for directly invoked lambdas
Fixes
KT-49613JVM / IR: "Exception during IR lowering" with java fun interface and it's non-trivial usageKT-49548"ClassCastException: java.util.ArrayList$Itr cannot be cast to kotlin.collections.IntIterator" with Iterable insideletKT-22562Deprecate calls to "suspend" named functions with single dangling lambda argumentKT-47120JVM IR: NoClassDefFoundError when there are an extension and a regular function with the same nameKT-49477Has ran into recursion problem with two interdependant delegatesKT-49442ClassCastException on reporting [EXPOSED_FROM_PRIVATE_IN_FILE] Deprecation: private-in-file class should not expose 'private-in-class'KT-49371JVM / IR: "NoSuchMethodError" with multiple inheritanceKT-44843PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with delegate who has name or parameter with the same name as a propertyKT-49294Turning FlowCollector into 'fun interface' leads to AbstractMethodErrorKT-18282Companion object referencing it's own method during construction compiles successfully but fails at runtime with VerifyErrorKT-25289Prohibit access to class members in the super constructor call of its companion and nested objectKT-32753Prohibit @JvmField on property in primary constructor that overrides interface propertyKT-43433Suspend conversion is disabledmessage in cases where it is not supported and quickfix to update language version is suggestedKT-49399Building repeatable annotation with Container nested class fails with ISE: "Repeatable annotation class should have a container generated"KT-49209Default upper bound for type variables should be non-nullKT-49335NPE inRepeatedAnnotationLowering.wrapAnnotationEntriesInContainerwhen using@Repeatableannotation from different fileKT-48876java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.expressions.impl.IrReturnableBlockImpl@4a729df2KT-48131IAE "Repeatable annotation container value must be a class reference" on using Kotlin-repeatable annotation from dependencyKT-49322Postpone promoting warnings to errors forProperTypeInferenceConstraintsProcessingfeatureKT-49285Exception on nested builder inference callsKT-49101IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(out Number)KT-41378Compilation failed: Deserializer for declaration public kotlinx.coroutines/SingleThreadDispatcher|null[0] is not foundKT-47285IR deserialization exception when dependency KLIB has class instead of typealiasKT-46697IllegalStateException: IrTypeAliasSymbol expected: Unbound public symbol for public kotlinx.coroutines/CancellationException|null[0] compiling KMM module for Kotlin/Native with Kotlin 1.5KT-36399Gradually support TYPE_USE nullability annotations read from class-filesKT-11454Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-filesKT-18768@Notnull annotation from Java does not work with varargsKT-24392Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETERKT-48157FIR: incorrect resolve with built-in names in useKT-46409FIR: erroneous resolve to qualifier instead of extensionKT-44566FirConflictsCheckerdo not check for conflicting overloads across multiple filesKT-37318FIR: Discuss treating flexible bounded constraints in inferenceKT-45989FIR: wrong callable reference type inferredKT-46058[FIR] Remove state from some checkersKT-45973FIR: wrong projection type inferredKT-43083[FIR] False positive 'HIDDEN' on internalKT-48794Breaking change in 1.5.30: Builder inference lambda contains inapplicable calls so {1} cant be inferredKT-46727Report warning on contravariant usages of star projected argument from JavaKT-40668FIR: Ambiguity on qualifier when having multiple different same-named objects in near scopesKT-37081[FIR] errors NO_ELSE_IN_WHEN and INCOMPATIBLE_TYPES absenceKT-48162NON_VARARG_SPREAD isn't reported on *toTypedArray() callKT-45118ClassCastException caused by parent and child class in if-elseKT-47605Kotlin/Native: switch to LLD linker for MinGW targetsKT-48912K/NSymbol with IrSimpleFunctionSymbolImpl is unboundandJS Validation failed in file shaders.ktKT-44436Support default not null annotations to enhance T into T!!KT-49190Increase stub versionsKT-48261"overload resolution ambiguity" for JSpecify+jsr305-annotated Java List implementationKT-48778-Xtype-enhancement-improvements-strict-mode not respecting @NonNull annotation for property accesses?KT-48606[1.6] Instantiated annotations do not implement hashCode correctly/consistentlyKT-49157Tail-call optimization miss with cast to type parameterKT-46437NI: "Throwable: Resolution error of this type shouldn't occur for resolve if as a call" caused by reflectively accessing private property inside "if/else" or "when" expressionKT-48590IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(*) reified type class referenceKT-48633Can't infer builder inference's type argument across local classKT-49136JVM IR: NPE with safe call chain and property set to null by reflectionKT-48570OptIn marker should not spread from class to its membersKT-48928Prohibit using old JVM backend with language version >= 1.6KT-41978NI: Kotlin fails to infer type of function argumentKT-48101Smart cast on base class property is impossible if base class is from another moduleKT-48732JVM / IR: MalformedParameterizedTypeException is thrown when a Spring Bean of suspending function type is registeredKT-47841Turning LV to 1.6 breaks some diagnostics based on jspecify annotationsKT-48498JVM IR: IllegalAccessError with inline function call and property delegation from different moduleKT-48319JVM / IR: AssertionError: FUN caused by suspend lambda inside anonymous functionKT-48835Psi2ir: vararg parameter value is lost when translating adapted function reference to base class memberKT-46908JVM / IR: do not wrap fun interface implementation into another SAM adapter if it inherits from a functional typeKT-48927JVM IR: "VerifyError: Bad invokespecial instruction: current class isn't assignable to reference class" when up-casting and read a base class's private property that has a custom getter in the base class's public functionKT-48992Postpone migration to new operator resolution scheme for integer literalsKT-48290Type bounds warning based on Java annotations not issues with language level 1.6KT-47920There is no warning on violated nullability of type parameter in accordance with java nullability annotationKT-41664Remove the "runtime JAR files in the classpath should have the same version" warningKT-48851Keep using warn mode for jspecify in 1.6KT-46829IR: NullPointerException caused by setting scoped generic extension varKT-42972Forbid protected constructor calls from public inline functionsKT-45378Prohibit super calls in public-api inline functionsKT-48515JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-48825JVM IR: NPE with delegated property "by this" to base classKT-48535Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warningKT-47928Prohibit declarations of repeatable annotation classes whose container annotation violates JLSKT-47971Report error on declaration of a repeatable annotation class with nested class named ContainerKT-48478JVM IR: Coroutines 1.5.1 + Kotlin 1.5.30 - ClassCastException: CompletedContinuation cannot be cast to DispatchedContinuationKT-48523Kotlin/Native: cross-compilation from Linux to MinGW not working whenplatform.posixis usedKT-48671JVM / IR: "AssertionError: Primitive array expected: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS"KT-46181JVM IR: private @JvmStatic function is generated in the outer class instead of companion object, which breaks existing calls via JNI or reflection (e.g. JUnit @MethodSource)KT-48736JVM IR: assert in SyntheticAccessorLowering when inline function attempts to access package-private field from JavaKT-48653Warnings on non-exhaustive when statements missing in some cases with 1.6KT-48394JVM: Invalid locals caused by unboxing bytecode optimizationKT-20542IllegalAccessError on calling private function with default parameters from internal inline function used in another packageKT-48331JVM / IR: "VerifyError: Bad access to protected data in invokevirtual" when a sealed class uses another sealed class in its same hierarchy level as a constructor parameterKT-48380kotlin.RuntimeException: Unexpected receiver typeKT-47855Kotlin/Native: compilation fails due to Escape AnalysisKT-48291False positive [ACTUAL_MISSING] Declaration must be marked with 'actual' when implementing actual interfaceKT-48445"IAE: Top level call context should not be null to analyze coroutine-lambda" when compiling Kotlin with language version 1.6KT-48618Enable by default "suspend conversion" feature in 1.6KT-47638Drop EXPERIMENTAL_IS_NOT_ENABLED diagnosticKT-48589KotlinTypeRefiner is lost, leading to TYPE_MISMATCH and OVERLOAD_RESOLUTION_AMBIGUITY issues with MPP projectsKT-48615Inconsistent behavior with integer literals overflow (Implementation)KT-47937Implement deprecation of computing constant values of complex boolean expressions in when condition branches and conditions of loopsKT-48391JVM / IR: "AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" caused by class which inherits interface which has default function with default argument from companion const valKT-48552Kotlin/Native: iosArm64 debug build fails in 1.6.0-M1-139KT-46182Native: prohibit using dots in identifiersKT-46230JVM IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER MOVED_DISPATCH_RECEIVER" with value class overriding function with default parameterKT-48302FIR: Investigate not-null assertion on generic Java methodKT-48350JVM IR: NPE from LocalDeclarationsLowering on property reference with field from outer class used as receiver (1.6.0-M1 regression)KT-48500AE: "Last parameter type of suspend function must be Continuation, but it is kotlin.coroutines.experimental.Continuation" forkotlin-stdlib-commonlibraryKT-48469Problem with properties lazy initialization while using kotlinx.serialization pluginKT-48432Regression in IntRange.contains (and probably other ranges too) when used in-placeKT-44855"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" on smart cast of protected field ownerKT-47542Incorrect ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED after migration to 1.6 on class indirectly extending RuntimeExceptionKT-48166FIR: incorrect common supertype for PSI elements hierarchyKT-47499JVM / IR: java.lang.VerifyError: Bad access to protected data in invokevirtual when trying to clone the result of lambda invocation that is "this" in an extension functionKT-46451JVM Debugging: stepping on finally block end brace line before stepping into finally codeKT-48329It's impossible to infer a type variables based on several builder inference lambdasKT-48193Don't use the builder inference for calls which can be resolved without itKT-46450JVM Debugging: some break statements in catch blocks have no line numbers and you cannot set breakpoints on themKT-48298FIR: incorrect deserialized annotations in back-endKT-48234FIR: false positive NON_INTERNAL_PUBLISHED_API for primary constructor propertyKT-48174IR interpreter: unsupported compile-time callKT-48158FIR: false positive ASSIGNMENT_TYPE_MISMATCH as a result of wrong type inference around callable referencesKT-48109FIR: incorrect type inference for generic argument of intersection typeKT-48161FIR: false positive ARGUMENT_TYPE_MISMATCH for bounded type parameter VS Java not-nullKT-48159FIR: erroneous scope order during type resolve of constructor return typeKT-48165FIR: false positive "initializer should be a constant value" on String.lengthKT-48175FIR: exception for JvmField on local class propertyKT-48164FIR: false positive OVERRIDING_FINAL_MEMBER in enum entryKT-48116FIR: false positive NOT_A_LOOP_LABELKT-48102FIR: false positive ABSTRACT_MEMBER_NOT_IMPLEMENTED with mapped stdlib functionsKT-47911Native compiler on ios_arm64 target generates movi.2d instructions, which are mishandled by Apple hardwareKT-48105FIR: generic/specific callable reference ambiguityKT-14392Repeated annotation with use site target is not detected for getter and setterKT-47493Missed frontend diagnostic in try/catchKT-48058"No type for expression" compiler exception on calls with unused lambdaKT-47597JVM IR: if statement doesn't eval correctly on 1.5.20 possible nullable type differences.KT-47922False negative type mismatch on empty when as last statement of lambdaKT-34594Do not generate fake debugger variables initialization for @InlineOnly functionsKT-47749Incorrect scope of a local variable inside the coroutineKT-47527JVM / IR ClassCastException: "kotlin.Unit cannot be cast to java.lang.String"KT-47840JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER name: x" in nested local functions with recursive callsKT-46448JVM Debugging: Locals in finally blocks not always duplicated when the finally block isKT-47716JVM / IR: NoSuchMethodError when trying to get MAX_VALUE from ULong in non-trivial try/finally contextKT-47762JVM / IR: Properties with the same signatures in inline class and its companion object crashes the compiler with NullPointerExceptionKT-47741JVM / IR: VerifyError: Bad type on operand stack with iterator and invoking method reference to IntIteratorKT-43696ClassFormatError on @JvmStatic external fun in interface companion objectKT-47715JVM / IR, R8: External getter cannot be represented in dex formatKT-47684Add warning onischecks which are always falseKT-47685False positive CAST_NEVER_SUCCEEDS on variable of intersection typeKT-32188NI: False positive "This cast can never succeed"KT-35687NI: Poor cast can never succeed [CAST_NEVER_SUCCEEDS]KT-41331False negative USELESS_IS_CHECK with nullKT-47609JVM IR: "AssertionError: Unexpected number of type arguments" when compiling an extension property with annotation and it extends a value class with a generic parameterKT-47413FIR: Rework FirDelegatedScopeKT-47492Illegal use of DUP
Docs & Examples
KT-48534Wrong compiler argument for RequiresOptIn
IDE
KT-48604MISSING_DEPENDENCY_CLASS in test source sets with kotlin.mpp.enableGranularSourceSetsMetadata=true
IDE. Debugger
KT-47970AE: "Either library or explicit name have to be provided " in IR debugger tests
IDE. Gradle Integration
KT-46273MPP: Don't fail import for case of missed platform in source set structureKT-48823Improve error reporting on import when configuration phase in Gradle failedKT-48504MPP: UninitializedPropertyAccessException on import if new hierarchical mpp flag conflicts with other flagsKT-47463MPP: Import fails withTask 'runCommonizer' not found in root projectif Kotlin configured only in module
IDE. Multiplatform
KT-47604kotlin-stdlib-common leaks into dependencies of Android-specific source sets
JavaScript
KT-43783KJS / IR: companion object and nested objects are not exportedKT-47524KJS / IR: Treat protected members as part of exported APIKT-48132KJS / IR: "IllegalStateException" when interface methods don't have default implementationKT-47700Support instantiation of annotation classes on JSKT-48317KJS / IR: "TypeError: ... is not a function" on running code with suspend function inheritorsKT-48344KJS / IR: incorrect call with vararg argument from suspend functionKT-47751Kotlin/JS: IR + IC: "argument has no effect without source map" warnings on build
Libraries
New Features
KT-46423infix extension fun Comparable.compareToKT-47421Stabilize collection buildersKT-48584Introduce JVM readln() and readlnOrNull() top-level functions
Performance Improvements
KT-45438Remove brittle ‘contains’ optimization in minus/removeAll/retainAll
Fixes
KT-28378Different behavior of Regex replace function in JVM and JS when replacement string contains group referenceKT-46785Get rid of !! after readLine() in the standard libraryKT-46784Stabilize Duration API in the standard libraryKT-46229Bring back Duration factory extension propertiesKT-27738Make JS Regex.replace not inlineKT-48607Stabilize experimental API for 1.6KT-47304Random#nextLong generates value outside provided rangeKT-47706System property that controls the brittlecontainsoptimizationKT-48999Align behavior of some JS functions with their JVM counterpartKT-46243Typography.leftGuillemete and Typography.rightGuillemete are named inconsistent with standardKT-46101Review deprecations in stdlib for 1.6KT-48456Introduce Common (multi-platform) readln() and readlnOrNull() top-level functionsKT-48587Deprecate some of JS-only stdlib APIKT-39328Make builder collection implementations serializableKT-47676K/JS: MatchResult.next() returns no expected next match if called aftermatchEntireKT-39166Nothing is silently mapped to Void in arguments of the type passed to typeOfKT-39330Migrate declarations from kotlin.dom and kotlin.browser packages to kotlinx.*KT-28753Comparing floating point values in array/list operations 'contains', 'indexOf', 'lastIndexOf': IEEE 754 or total orderKT-38854Gradually change the return type of collection min/max functions to non-nullableKT-38754Deprecate appendln in favor of appendLine
Native
KT-48807Cinterop: cannot create bindings for a framework when Xcode 13 RC is installedKT-49384Kotlin/Native: Unexpected variance in super type argument: out @0KT-47424StackOverflowError in IR hashCode() methods compiling KMM module for Kotlin/Native with Kotlin 1.5.0+KT-49234SIGSEGV using the new memory manager in release in Kotlin 1.6.0-RC in MacosX64KT-48566ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/NativeKT-48039Native: support shaded (aka embeddable) compiler jar in Gradle pluginKT-42693Remove dependency on ncurses5 library
Native. C Export
KT-47209kotlin-native fails to generate valid C header if a setter takes anonymous parameter (_)
Native. C and ObjC Import
KT-48074Native: cinterop: __flexarr support
Native. ObjC Export
KT-47809Kotlin/Native: ObjC-export module name usage in klib compilation
Native. Platforms
KT-43024Kotlin/Native: Windows as cross-compilation target
Native. Runtime
KT-48452Kotlin/Native: Support thread state switching in termination handlers for the new MM
Native. Runtime. Memory
KT-48143Kotlin/Native: test fails with assert with new MM and state checkerKT-48364Uninitialized top-level properties in new MMKT-44283staticCFunction with CValue parameter crashes when invoked off the main thread
Native. Stdlib
KT-47662[Native, All platforms] Incorrect parsing of long strings to Float and Double
Reflection
KT-45066Support flexible types (nullability, mutability, raw) in typeOfKT-35877typeOf<MutableList<>> cannot be distinguished from typeOf<List<>> in Kotlin/JVM
Tools. CLI
KT-49007Support three previous API versionsKT-48622Introduce compiler X-flag to use the builder inference for all calls by defaultKT-32376“no main manifest attribute” on running the jar for cli-compiled Kotlin objects with main functionKT-48026Add the compiler X-flag to enable self upper bound type inferenceKT-47640CLI: support -option=value format as for -Xoption=valueKT-47099Add a stable compiler argument for opt-in requirements as soon as they are stable
Tools. Commonizer
New Features
KT-48455[Commonizer] Optimistic number commonizationKT-48459[Commonizer] Add opt-in annotation to optimistically commonized numbers
Fixes
KT-47430[Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for "unixMain"KT-48567[Commonizer] pthread_self function is not commonized in atomicfuKT-48287[Commonizer] platform.posix.mkdir not commonized in OKIOKT-48286[Commonizer] platform.posix.ftruncate not commonized in OKIOKT-47523MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only targetKT-48278[Commonizer] platform.posix.usleep not commonized in sqliterKT-46691MPP: Type mismatch for hierarchically commonized typealiasesKT-47221C-interop commonization fails if few targets reuse same source setKT-47775Commonizer don't run for shared native code if test source set depends on mainKT-47053MPP: Unable to resolve c-interop commonized code from shared test source setKT-48118Commonized c-interop lib is not attached to common main source setKT-47641Enabled cInterop commonization triggers native compilation during Gradle sync in IDEKT-47056MPP: Change naming for folder with commonized c-interop libraries
Tools. Compiler Plugins
KT-48842Compiler crash: Symbol with IrFieldSymbolImpl is unboundKT-48117Kotlin AllOpen Plugin should open private methodsKT-40340jvm-abi-gen plugin: failure with Android D8 (Dexer) toolKT-40133jvm-abi-gen plugin: fails for inline function containing apply block with anonymous objectKT-28704jvm-abi-gen plugin: avoid calling codegen twice per moduleKT-48111JVM / IR: "IllegalAccessError: tried to access method" with NoArg plugin and sealed class
Tools. Gradle
Performance Improvements
KT-49159KotlinGradleBuildServices leaks Gradle instance when configuration cache is enabled
Fixes
KT-45504Deprecate Gradle option KotlinJvmOptions.useIR since 1.5KT-49189In Gradle, dependencies on an MPP with Android+JVM fail to resolve in pure-Java projectsKT-48830Change deprecation level to 'ERROR' for 'KotlinGradleSubplugin'KT-48264Cannot write Kotlin build report unless directory existsKT-48745JVM target compatibility check should be disabled when Java sources are emptyKT-49066Setting kotlinOptions.modulePath in an android project breaks incremental compilationKT-48847Remove deprecated kotlin options marked for removal after 1.5KT-48245KGP makes compileOnly configuration resolvableKT-38010Invalid warning "Runtime JAR files in the classpath should have the same version." withjava-gradle-pluginKT-48768Misleading 'jdkHome' deprecation messageKT-46719Remove 'kotlin.useFallbackCompilerSearch' build optionKT-47792KGP should ignore ProjectDependency when customize kotlin DependenciesKT-47867Replace usages of IncrementalTaskInputs with InputChangesKT-46972Migrate Kotlin repo to use Gradle toolchain feature
Tools. Gradle. JS
KT-49124KJS / Gradle: Unable to load '@webpack-cli/serve' commandKT-49201KJS / Gradle: NPM dependencies resolution may fail on parallel buildsKT-48241KJS / Gradle: NPM test dependency may break Gradle configuration cacheKT-32071Possibility to disable downloading of Node.js and YarnKT-48332Make NodeJsSetupTask and YarnSetupTask not cacheableKT-37895KJS: NPM Post-install Scripts sometimes print "node: not found"KT-34985kotlin-gradle-plugin: Should align ways NodeJs and Yarn are downloaded
Tools. Gradle. Multiplatform
KT-48709MPP: Task compileKotlinMacosX64 fails on matching native variants if ktlint presentedKT-48919Gradle multiplatform plugin 1.6.0-M1 does not accept apiVersion = "1.7"KT-46343[Commonizer] Use lockfile for NativeDistributionCommonizationCacheKT-48427Execution failed for task ':commonizeNativeDistribution'. > java.io.FileNotFoundException lock (No such file or directory)KT-48513Commonized platform libraries are unresolved in modules for new hierarchical MPP flagKT-48138CInteropCommonizer: Missing commonization request if test source set has different targets than associated mainKT-35832Gradle: MPP plugin operates with -Xuse-experimental and not with -Xopt-in
Tools. Gradle. Native
KT-48729Test-source sets receive extra unnecessary granular dependencies to more common source sets when depending on MPP-libraryKT-37511CocoaPods Gradle plugin: Support incremental task execution when switching between Xcode and terminalKT-47362Cocoapods plugin: add error reporting for case when pod is not installed on user machineKT-37513CocoaPods Gradle plugin: Support building tests from terminal for projects depending on pods
Tools. Kapt
KT-45545Kapt is not compatible with JDK 16+KT-47853KaptWithoutKotlincTaskeagerly resolves dependencies during construction/configuration and can cause deadlocksKT-47934KaptJavaLog is unable to map stub back to the kotlin sourceKT-48195Kapt causes dead lock in DefaultFileLockManager
Tools. Scripts
KT-49400Script resolver options can't take values with special symbols (/, , $, :, .) in themKT-49012Compiling .kts script with inner class declaration fails with Backend Internal Error caused by AE: "Local class constructor can't have dispatch receiver"KT-47927Script: memory leak with new enginesKT-48025JVM / IR / Script: IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER caused by method tnat returns outer functionKT-48303main.kts script fails to detect vanished dependencies if run from the cacheKT-48177Scripts: OutOfMemoryException with circular @file:ImportKT-46645Scripts: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" caused by get accessor