1.6.10
Android
KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak ‘AgpVersionAttr’ attribute
Compiler
Performance Improvements
KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter
Fixes
KT-49833 java.lang.NullPointerException caused by accidental newline in package directiveKT-49838 Type inference fails on 1.6.0: Cannot use ‘CapturedType(*)’ as reified type parameterKT-49752 Regression in method return type inference: “IllegalStateException: Expected some types”KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0KT-49792 Atomicfu: “standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load” with suspend functionKT-49834 Coroutine method transformer generates invalid locals table.KT-49441 Support friend modules in Kotlin NativeKT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30KT-49651 Inconsistent compiler APIs for repeatable annotationsKT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM methodKT-49573 No annotated types, compiler emits “Annotated types are not supported in typeOf”KT-47192 Build Fake Overrides for internal members of classes from friend moduleKT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module
JavaScript
KT-47811 KJS / IR: “ClassCastException” when using suspend function in console.log
Language Design
KT-49868 Support language version 1.3 in Kotlin 1.6.10
Libraries
KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS
Tools. Android Extensions
KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0
Tools. Compiler Plugins
KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jarsKT-49726 JVM/IR: “IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER”: Serialization with sealed class as type parameter
Tools. Gradle
KT-49835 Android consumers can't resolve Android debug variants of published MPP libraries published with Kotlin 1.6.0 & Gradle 7.0+KT-49910 Incremental compilation speed regression in 1.6.0 for Android projects
Tools. Gradle. JS
KT-49109 KJS / Gradle: Configuration failed: Could not find node-14.17.0-darwin-arm64.tar.gz (org.nodejs:node:14.17.0)KT-50135 KJS: Problem with Yarn install with scripts on WindowsKT-34014 Gradle, JS: Ability to persist / reuse yarn.lockKT-49505 KJS / IR: Installation of NPM dependencies should be with ignore-scripts
Tools. Gradle. Native
KT-49931 Kotlin Multiplatform Fails in Windows after 1.6.0 upgrade - Cannot run program “pod”KT-49771 podInstall task is not executed after adding a pod dependency to the shared module
Tools. Incremental Compile
KT-49822 Incremental compilation state is modified when the build fails in Kotlin 1.6KT-49340 “IllegalStateException: @NotNull method org/jetbrains/kotlin/com/intellij/openapi/application/AsyncExecutionService.getService must not return null” with Anvil plugin and incremental compilation
1.6.0
Android
KT-48019 Bundle Kotlin Tooling Metadata into apk artifactsKT-47733 JVM / IR: Android Synthetic don't generate _findCachedViewById function
Compiler
New Features
KT-47984 In-place arguments inlining for @InlineOnly functionsKT-12794 Allow runtime retention repeatable annotations when compiling under Java 8KT-43714 Support annotations on class type parameters (AnnotationTarget.TYPE_PARAMETER)KT-45949 Kotlin/Native: Improve bound check eliminationKT-43919 Support loading Java annotations on base classes and implementing interfaces' type argumentsKT-48194 Try to resolve calls where we don't have enough type information, using the builder inference despite the presence of the annotationKT-47736 Support conversion from regular functional types to suspending ones in JVM IRKT-39055 Support property delegate created via synthetic method instead of field
Performance Improvements
KT-45185 FIR2IR: get rid of IrBuiltIns usagesKT-47918 JVM / IR: Performance degradation with const-bound for-cyclesKT-33835 Bytecode including unnecessary null checks for safe calls where left-hand side is non-nullableKT-41510 Compilation of kotlin html DSL is still too slowKT-48211 We spend a lot of time in ExpectActual declaration checker when there is very small amount of actual/expect declarationKT-39054 Optimize delegated properties which call get/set on the given KProperty instance on JVMKT-46615 Don't generate nullability assertions in methods for directly invoked lambdas
Fixes
KT-49613 JVM / 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 inside letKT-22562 Deprecate calls to “suspend” named functions with single dangling lambda argumentKT-47120 JVM IR: NoClassDefFoundError when there are an extension and a regular function with the same nameKT-49477 Has ran into recursion problem with two interdependant delegatesKT-49442 ClassCastException on reporting [EXPOSED_FROM_PRIVATE_IN_FILE] Deprecation: private-in-file class should not expose ‘private-in-class’KT-49371 JVM / IR: “NoSuchMethodError” with multiple inheritanceKT-44843 PSI2IR: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression” with delegate who has name or parameter with the same name as a propertyKT-49294 Turning FlowCollector into ‘fun interface’ leads to AbstractMethodErrorKT-18282 Companion object referencing it's own method during construction compiles successfully but fails at runtime with VerifyErrorKT-25289 Prohibit access to class members in the super constructor call of its companion and nested objectKT-32753 Prohibit @JvmField on property in primary constructor that overrides interface propertyKT-43433 Suspend conversion is disabled message in cases where it is not supported and quickfix to update language version is suggestedKT-49399 Building repeatable annotation with Container nested class fails with ISE: “Repeatable annotation class should have a container generated”KT-49209 Default upper bound for type variables should be non-nullKT-49335 NPE in RepeatedAnnotationLowering.wrapAnnotationEntriesInContainer when using @Repeatable annotation from different fileKT-48876 java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.expressions.impl.IrReturnableBlockImpl@4a729df2KT-48131 IAE “Repeatable annotation container value must be a class reference” on using Kotlin-repeatable annotation from dependencyKT-49322 Postpone promoting warnings to errors for ProperTypeInferenceConstraintsProcessing featureKT-49285 Exception on nested builder inference callsKT-49101 IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(out Number)KT-41378 Compilation failed: Deserializer for declaration public kotlinx.coroutines/SingleThreadDispatcher|null[0] is not foundKT-47285 IR deserialization exception when dependency KLIB has class instead of typealiasKT-46697 IllegalStateException: IrTypeAliasSymbol expected: Unbound public symbol for public kotlinx.coroutines/CancellationException|null[0] compiling KMM module for Kotlin/Native with Kotlin 1.5KT-36399 Gradually support TYPE_USE nullability annotations read from class-filesKT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-filesKT-18768 @Notnull annotation from Java does not work with varargsKT-24392 Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETERKT-48157 FIR: incorrect resolve with built-in names in useKT-46409 FIR: erroneous resolve to qualifier instead of extensionKT-44566 FirConflictsChecker do not check for conflicting overloads across multiple filesKT-37318 FIR: Discuss treating flexible bounded constraints in inferenceKT-45989 FIR: wrong callable reference type inferredKT-46058 [FIR] Remove state from some checkersKT-45973 FIR: wrong projection type inferredKT-43083 [FIR] False positive ‘HIDDEN’ on internalKT-48794 Breaking change in 1.5.30: Builder inference lambda contains inapplicable calls so {1} cant be inferredKT-46727 Report warning on contravariant usages of star projected argument from JavaKT-40668 FIR: Ambiguity on qualifier when having multiple different same-named objects in near scopesKT-37081 [FIR] errors NO_ELSE_IN_WHEN and INCOMPATIBLE_TYPES absenceKT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() callKT-45118 ClassCastException caused by parent and child class in if-elseKT-47605 Kotlin/Native: switch to LLD linker for MinGW targetsKT-48912 K/N Symbol with IrSimpleFunctionSymbolImpl is unbound and JS Validation failed in file shaders.ktKT-44436 Support default not null annotations to enhance T into T!!KT-49190 Increase 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-49157 Tail-call optimization miss with cast to type parameterKT-46437 NI: “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-48590 IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(*) reified type class referenceKT-48633 Can‘t infer builder inference’s type argument across local classKT-49136 JVM IR: NPE with safe call chain and property set to null by reflectionKT-48570 OptIn marker should not spread from class to its membersKT-48928 Prohibit using old JVM backend with language version >= 1.6KT-41978 NI: Kotlin fails to infer type of function argumentKT-48101 Smart cast on base class property is impossible if base class is from another moduleKT-48732 JVM / IR: MalformedParameterizedTypeException is thrown when a Spring Bean of suspending function type is registeredKT-47841 Turning LV to 1.6 breaks some diagnostics based on jspecify annotationsKT-48498 JVM IR: IllegalAccessError with inline function call and property delegation from different moduleKT-48319 JVM / IR: AssertionError: FUN caused by suspend lambda inside anonymous functionKT-48835 Psi2ir: vararg parameter value is lost when translating adapted function reference to base class memberKT-46908 JVM / IR: do not wrap fun interface implementation into another SAM adapter if it inherits from a functional typeKT-48927 JVM 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-48992 Postpone migration to new operator resolution scheme for integer literalsKT-48290 Type bounds warning based on Java annotations not issues with language level 1.6KT-47920 There is no warning on violated nullability of type parameter in accordance with java nullability annotationKT-41664 Remove the “runtime JAR files in the classpath should have the same version” warningKT-48851 Keep using warn mode for jspecify in 1.6KT-46829 IR: NullPointerException caused by setting scoped generic extension varKT-42972 Forbid protected constructor calls from public inline functionsKT-45378 Prohibit super calls in public-api inline functionsKT-48515 JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-48825 JVM IR: NPE with delegated property “by this” to base classKT-48535 Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warningKT-47928 Prohibit declarations of repeatable annotation classes whose container annotation violates JLSKT-47971 Report error on declaration of a repeatable annotation class with nested class named ContainerKT-48478 JVM IR: Coroutines 1.5.1 + Kotlin 1.5.30 - ClassCastException: CompletedContinuation cannot be cast to DispatchedContinuationKT-48523 Kotlin/Native: cross-compilation from Linux to MinGW not working when platform.posix is usedKT-48671 JVM / IR: “AssertionError: Primitive array expected: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS”KT-46181 JVM 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-48736 JVM IR: assert in SyntheticAccessorLowering when inline function attempts to access package-private field from JavaKT-48653 Warnings on non-exhaustive when statements missing in some cases with 1.6KT-48394 JVM: Invalid locals caused by unboxing bytecode optimizationKT-20542 IllegalAccessError on calling private function with default parameters from internal inline function used in another packageKT-48331 JVM / 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-48380 kotlin.RuntimeException: Unexpected receiver typeKT-47855 Kotlin/Native: compilation fails due to Escape AnalysisKT-48291 False 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-48618 Enable by default “suspend conversion” feature in 1.6KT-47638 Drop EXPERIMENTAL_IS_NOT_ENABLED diagnosticKT-48589 KotlinTypeRefiner is lost, leading to TYPE_MISMATCH and OVERLOAD_RESOLUTION_AMBIGUITY issues with MPP projectsKT-48615 Inconsistent behavior with integer literals overflow (Implementation)KT-47937 Implement deprecation of computing constant values of complex boolean expressions in when condition branches and conditions of loopsKT-48391 JVM / 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-48552 Kotlin/Native: iosArm64 debug build fails in 1.6.0-M1-139KT-46182 Native: prohibit using dots in identifiersKT-46230 JVM IR: “IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER MOVED_DISPATCH_RECEIVER” with value class overriding function with default parameterKT-48302 FIR: Investigate not-null assertion on generic Java methodKT-48350 JVM IR: NPE from LocalDeclarationsLowering on property reference with field from outer class used as receiver (1.6.0-M1 regression)KT-48500 AE: “Last parameter type of suspend function must be Continuation, but it is kotlin.coroutines.experimental.Continuation” for kotlin-stdlib-common libraryKT-48469 Problem with properties lazy initialization while using kotlinx.serialization pluginKT-48432 Regression 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-47542 Incorrect ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED after migration to 1.6 on class indirectly extending RuntimeExceptionKT-48166 FIR: incorrect common supertype for PSI elements hierarchyKT-47499 JVM / 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-46451 JVM Debugging: stepping on finally block end brace line before stepping into finally codeKT-48329 It's impossible to infer a type variables based on several builder inference lambdasKT-48193 Don't use the builder inference for calls which can be resolved without itKT-46450 JVM Debugging: some break statements in catch blocks have no line numbers and you cannot set breakpoints on themKT-48298 FIR: incorrect deserialized annotations in back-endKT-48234 FIR: false positive NON_INTERNAL_PUBLISHED_API for primary constructor propertyKT-48174 IR interpreter: unsupported compile-time callKT-48158 FIR: false positive ASSIGNMENT_TYPE_MISMATCH as a result of wrong type inference around callable referencesKT-48109 FIR: incorrect type inference for generic argument of intersection typeKT-48161 FIR: false positive ARGUMENT_TYPE_MISMATCH for bounded type parameter VS Java not-nullKT-48159 FIR: erroneous scope order during type resolve of constructor return typeKT-48165 FIR: false positive “initializer should be a constant value” on String.lengthKT-48175 FIR: exception for JvmField on local class propertyKT-48164 FIR: false positive OVERRIDING_FINAL_MEMBER in enum entryKT-48116 FIR: false positive NOT_A_LOOP_LABELKT-48102 FIR: false positive ABSTRACT_MEMBER_NOT_IMPLEMENTED with mapped stdlib functionsKT-47911 Native compiler on ios_arm64 target generates movi.2d instructions, which are mishandled by Apple hardwareKT-48105 FIR: generic/specific callable reference ambiguityKT-14392 Repeated annotation with use site target is not detected for getter and setterKT-47493 Missed frontend diagnostic in try/catchKT-48058 “No type for expression” compiler exception on calls with unused lambdaKT-47597 JVM IR: if statement doesn't eval correctly on 1.5.20 possible nullable type differences.KT-47922 False negative type mismatch on empty when as last statement of lambdaKT-34594 Do not generate fake debugger variables initialization for @InlineOnly functionsKT-47749 Incorrect scope of a local variable inside the coroutineKT-47527 JVM / IR ClassCastException: “kotlin.Unit cannot be cast to java.lang.String”KT-47840 JVM / IR: “IllegalStateException: No mapping for symbol: VALUE_PARAMETER name: x” in nested local functions with recursive callsKT-46448 JVM Debugging: Locals in finally blocks not always duplicated when the finally block isKT-47716 JVM / IR: NoSuchMethodError when trying to get MAX_VALUE from ULong in non-trivial try/finally contextKT-47762 JVM / IR: Properties with the same signatures in inline class and its companion object crashes the compiler with NullPointerExceptionKT-47741 JVM / IR: VerifyError: Bad type on operand stack with iterator and invoking method reference to IntIteratorKT-43696 ClassFormatError on @JvmStatic external fun in interface companion objectKT-47715 JVM / IR, R8: External getter cannot be represented in dex formatKT-47684 Add warning on is checks which are always falseKT-47685 False positive CAST_NEVER_SUCCEEDS on variable of intersection typeKT-32188 NI: False positive “This cast can never succeed”KT-35687 NI: Poor cast can never succeed [CAST_NEVER_SUCCEEDS]KT-41331 False negative USELESS_IS_CHECK with nullKT-47609 JVM IR: “AssertionError: Unexpected number of type arguments” when compiling an extension property with annotation and it extends a value class with a generic parameterKT-47413 FIR: Rework FirDelegatedScopeKT-47492 Illegal use of DUP
Docs & Examples
KT-48534 Wrong compiler argument for RequiresOptIn
IDE
KT-48604 MISSING_DEPENDENCY_CLASS in test source sets with kotlin.mpp.enableGranularSourceSetsMetadata=true
IDE. Debugger
KT-47970 AE: “Either library or explicit name have to be provided ” in IR debugger tests
IDE. Gradle Integration
KT-46273 MPP: Don't fail import for case of missed platform in source set structureKT-48823 Improve error reporting on import when configuration phase in Gradle failedKT-48504 MPP: UninitializedPropertyAccessException on import if new hierarchical mpp flag conflicts with other flagsKT-47463 MPP: Import fails with Task 'runCommonizer' not found in root project if Kotlin configured only in module
IDE. Multiplatform
KT-47604 kotlin-stdlib-common leaks into dependencies of Android-specific source sets
JavaScript
KT-43783 KJS / IR: companion object and nested objects are not exportedKT-47524 KJS / IR: Treat protected members as part of exported APIKT-48132 KJS / IR: “IllegalStateException” when interface methods don't have default implementationKT-47700 Support instantiation of annotation classes on JSKT-48317 KJS / IR: “TypeError: ... is not a function” on running code with suspend function inheritorsKT-48344 KJS / IR: incorrect call with vararg argument from suspend functionKT-47751 Kotlin/JS: IR + IC: “argument has no effect without source map” warnings on build
Libraries
New Features
KT-46423 infix extension fun Comparable.compareToKT-47421 Stabilize collection buildersKT-48584 Introduce JVM readln() and readlnOrNull() top-level functions
Performance Improvements
KT-45438 Remove brittle ‘contains’ optimization in minus/removeAll/retainAll
Fixes
KT-28378 Different behavior of Regex replace function in JVM and JS when replacement string contains group referenceKT-46785 Get rid of !! after readLine() in the standard libraryKT-46784 Stabilize Duration API in the standard libraryKT-46229 Bring back Duration factory extension propertiesKT-27738 Make JS Regex.replace not inlineKT-48607 Stabilize experimental API for 1.6KT-47304 Random#nextLong generates value outside provided rangeKT-47706 System property that controls the brittle contains optimizationKT-48999 Align behavior of some JS functions with their JVM counterpartKT-46243 Typography.leftGuillemete and Typography.rightGuillemete are named inconsistent with standardKT-46101 Review deprecations in stdlib for 1.6KT-48456 Introduce Common (multi-platform) readln() and readlnOrNull() top-level functionsKT-48587 Deprecate some of JS-only stdlib APIKT-39328 Make builder collection implementations serializableKT-47676 K/JS: MatchResult.next() returns no expected next match if called after matchEntireKT-39166 Nothing is silently mapped to Void in arguments of the type passed to typeOfKT-39330 Migrate declarations from kotlin.dom and kotlin.browser packages to kotlinx.*KT-28753 Comparing floating point values in array/list operations ‘contains’, ‘indexOf’, ‘lastIndexOf’: IEEE 754 or total orderKT-38854 Gradually change the return type of collection min/max functions to non-nullableKT-38754 Deprecate appendln in favor of appendLine
Native
KT-48807 Cinterop: cannot create bindings for a framework when Xcode 13 RC is installedKT-49384 Kotlin/Native: Unexpected variance in super type argument: out @0KT-47424 StackOverflowError in IR hashCode() methods compiling KMM module for Kotlin/Native with Kotlin 1.5.0+KT-49234 SIGSEGV using the new memory manager in release in Kotlin 1.6.0-RC in MacosX64KT-48566 ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/NativeKT-48039 Native: support shaded (aka embeddable) compiler jar in Gradle pluginKT-42693 Remove dependency on ncurses5 library
Native. C Export
KT-47209 kotlin-native fails to generate valid C header if a setter takes anonymous parameter (_)
Native. C and ObjC Import
KT-48074 Native: cinterop: __flexarr support
Native. ObjC Export
KT-47809 Kotlin/Native: ObjC-export module name usage in klib compilation
Native. Platforms
KT-43024 Kotlin/Native: Windows as cross-compilation target
Native. Runtime
KT-48452 Kotlin/Native: Support thread state switching in termination handlers for the new MM
Native. Runtime. Memory
KT-48143 Kotlin/Native: test fails with assert with new MM and state checkerKT-48364 Uninitialized top-level properties in new MMKT-44283 staticCFunction 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-45066 Support flexible types (nullability, mutability, raw) in typeOfKT-35877 typeOf<MutableList<>> cannot be distinguished from typeOf<List<>> in Kotlin/JVM
Tools. CLI
KT-49007 Support three previous API versionsKT-48622 Introduce 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-48026 Add the compiler X-flag to enable self upper bound type inferenceKT-47640 CLI: support -option=value format as for -Xoption=valueKT-47099 Add 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-47523 MPP: 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-46691 MPP: Type mismatch for hierarchically commonized typealiasesKT-47221 C-interop commonization fails if few targets reuse same source setKT-47775 Commonizer don't run for shared native code if test source set depends on mainKT-47053 MPP: Unable to resolve c-interop commonized code from shared test source setKT-48118 Commonized c-interop lib is not attached to common main source setKT-47641 Enabled cInterop commonization triggers native compilation during Gradle sync in IDEKT-47056 MPP: Change naming for folder with commonized c-interop libraries
Tools. Compiler Plugins
KT-48842 Compiler crash: Symbol with IrFieldSymbolImpl is unboundKT-48117 Kotlin AllOpen Plugin should open private methodsKT-40340 jvm-abi-gen plugin: failure with Android D8 (Dexer) toolKT-40133 jvm-abi-gen plugin: fails for inline function containing apply block with anonymous objectKT-28704 jvm-abi-gen plugin: avoid calling codegen twice per moduleKT-48111 JVM / IR: “IllegalAccessError: tried to access method” with NoArg plugin and sealed class
Tools. Gradle
Performance Improvements
KT-49159 KotlinGradleBuildServices leaks Gradle instance when configuration cache is enabled
Fixes
KT-45504 Deprecate Gradle option KotlinJvmOptions.useIR since 1.5KT-49189 In Gradle, dependencies on an MPP with Android+JVM fail to resolve in pure-Java projectsKT-48830 Change deprecation level to ‘ERROR’ for ‘KotlinGradleSubplugin’KT-48264 Cannot write Kotlin build report unless directory existsKT-48745 JVM target compatibility check should be disabled when Java sources are emptyKT-49066 Setting kotlinOptions.modulePath in an android project breaks incremental compilationKT-48847 Remove deprecated kotlin options marked for removal after 1.5KT-48245 KGP makes compileOnly configuration resolvableKT-38010 Invalid warning “Runtime JAR files in the classpath should have the same version.” with java-gradle-pluginKT-48768 Misleading ‘jdkHome’ deprecation messageKT-46719 Remove ‘kotlin.useFallbackCompilerSearch’ build optionKT-47792 KGP should ignore ProjectDependency when customize kotlin DependenciesKT-47867 Replace usages of IncrementalTaskInputs with InputChangesKT-46972 Migrate Kotlin repo to use Gradle toolchain feature
Tools. Gradle. JS
KT-49124 KJS / Gradle: Unable to load ‘@webpack-cli/serve’ commandKT-49201 KJS / Gradle: NPM dependencies resolution may fail on parallel buildsKT-48241 KJS / Gradle: NPM test dependency may break Gradle configuration cacheKT-32071 Possibility to disable downloading of Node.js and YarnKT-48332 Make NodeJsSetupTask and YarnSetupTask not cacheableKT-37895 KJS: NPM Post-install Scripts sometimes print “node: not found”KT-34985 kotlin-gradle-plugin: Should align ways NodeJs and Yarn are downloaded
Tools. Gradle. Multiplatform
KT-48709 MPP: Task compileKotlinMacosX64 fails on matching native variants if ktlint presentedKT-48919 Gradle multiplatform plugin 1.6.0-M1 does not accept apiVersion = “1.7”KT-46343 [Commonizer] Use lockfile for NativeDistributionCommonizationCacheKT-48427 Execution failed for task ‘:commonizeNativeDistribution’. > java.io.FileNotFoundException lock (No such file or directory)KT-48513 Commonized platform libraries are unresolved in modules for new hierarchical MPP flagKT-48138 CInteropCommonizer: Missing commonization request if test source set has different targets than associated mainKT-35832 Gradle: MPP plugin operates with -Xuse-experimental and not with -Xopt-in
Tools. Gradle. Native
KT-48729 Test-source sets receive extra unnecessary granular dependencies to more common source sets when depending on MPP-libraryKT-37511 CocoaPods Gradle plugin: Support incremental task execution when switching between Xcode and terminalKT-47362 Cocoapods plugin: add error reporting for case when pod is not installed on user machineKT-37513 CocoaPods Gradle plugin: Support building tests from terminal for projects depending on pods
Tools. Kapt
KT-45545 Kapt is not compatible with JDK 16+KT-47853 KaptWithoutKotlincTask eagerly resolves dependencies during construction/configuration and can cause deadlocksKT-47934 KaptJavaLog is unable to map stub back to the kotlin sourceKT-48195 Kapt causes dead lock in DefaultFileLockManager
Tools. Scripts
KT-49400 Script resolver options can't take values with special symbols (/, , $, :, .) in themKT-49012 Compiling .kts script with inner class declaration fails with Backend Internal Error caused by AE: “Local class constructor can't have dispatch receiver”KT-47927 Script: memory leak with new enginesKT-48025 JVM / IR / Script: IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER caused by method tnat returns outer functionKT-48303 main.kts script fails to detect vanished dependencies if run from the cacheKT-48177 Scripts: OutOfMemoryException with circular @file:ImportKT-46645 Scripts: “IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER” caused by get accessor
Recent ChangeLogs: