1.8.21
Compiler
KT-57848 Native: compilation of dynamic/static library fails with Xcode 14.3KT-57875 Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDAKT-57946 KAPT: “RuntimeException: No type for expression” with delegate
JavaScript
KT-57356 KJS: StackOverflowException on @JsExport with type parameters referring to one another
Tools. Compiler plugins. Serialization
KT-58067 Serialization: NullPointerException caused by @Contextual property with type with genericKT-57730 Serialization: “IllegalStateException: Serializer for element of type .Foo has not been found” caused by serialization of Java type
Tools. Gradle. JS
KT-57766 KJS / Gradle “Module not found: Error: Can't resolve ‘kotlin-kotlin-stdlib-js-ir’” when using “useEsModules”
Tools. Kapt
KT-58027 Kotlin 1.8.20 kapt issue “null: KtCallExpression: build()”
Tools. Maven
KT-58048 Maven: “Too many source module declarations found” after upgrading to 1.8.20KT-58101 ‘Unable to access class’ in kotlin-maven-plugin after updating to Kotlin 1.8.20
1.8.20
Analysis API
KT-55510 K2: Lost designation for local classesKT-55191 AA: add an API to compare symbol pointersKT-55487 K2: symbol pointer restoring doesn't work for static membersKT-55336 K2 IDE: “java.lang.IllegalStateException: Required value was null.” exception while importing a compiled JPS projectKT-55098 AA: KtDeclarationRenderer should render a context receiversKT-51181 LL API: errors for SAM with suspend function from another moduleKT-50250 Analysis API: Implement Analysis API of KtExpression.isUsedAsExpressionKT-54360 KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FE1.0
KT-55825 AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter
Analysis API. FIR
KT-54311 K2: proper implementation of KtSymbolPointerKT-50238 Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
KT-52160 FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrappedKT-55566 LL FIR: Tests in compiler/testData/diagnostics/tests/testsWithJava17 fail under LL FIRKT-55339 LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type aliasKT-55327 LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function testKT-54826 KtSymbolPointer: migrate from IdSignature to our own solution
Android
KT-54464 MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
KT-38924 Wasm support in nodejsKT-56160 Getting WebAssembly.CompileError in browsers not supported GC and other required proposalsKT-46773 Implement an experimental version of the Kotlin/Wasm compiler backendKT-56584 K/Wasm: Can't link symbol classKT-56166 Fix compatibility with Firefox NightlyKT-55589 Basic support of WASIKT-53790 Reading from “node:module” is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
KT-54535 Implement custom equals and hashCode for value classes in Kotlin/JVMKT-55949 Release experimental @Volatile support in nativeKT-44698 Frontend (K2): print file name/line on compiler crash/exceptionKT-54666 K2: Allow to skip specifying type arguments for members from raw type scopeKT-54524 Implement Java synthetic property references in compilerKT-54024 K2: support -Xlink-via-signatures mode
Performance Improvements
KT-33722 JVM: Result API causes unnecessary boxingKT-53330 Optimize for-loops and contains over open-ended ranges with until operator (..<) for all backendsKT-54415 JVM BE: performance loss related to multi-field inline class loweringKT-48759 Infix compareTo boxes inline classesKT-55033 Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline functionKT-54501 Improve code generation for inline classes with custom equals
Fixes
KT-56965 K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val]KT-56611 Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradleKT-55251 Enum.entries compilation error should be more specificKT-56527 K2: “AssertionError: Assertion failed” during compilation in SequentialFilePositionFinderKT-56526 InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20KT-57388 Kapt+JVM_IR: “RuntimeException: No type for expression” for delegated propertyKT-53153 Synthetic Enum.entries can be shadowed by user-defined declarationsKT-51290 “AssertionError: Parameter indices mismatch at context” with context receiversKT-57242 Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RCKT-57261 “IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod” when comparing non-inline class instance with an inline class instanceKT-57107 Handling of Windows line endings CRLF broken in latest snapshot with K2KT-57117 K2: Compiler reports invalid columns in diagnostics in case of crlf line endingsKT-56500 The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDAKT-56258 VerifyError: Bad local variable type when using -XdebugKT-54455 Unexpected result of equality comparison of inline class objectsKT-56251 Generic Java synthetic property references don't work in K2KT-55886 K2: Wrong code location mapping with Windows line endingsKT-43296 FIR: Complicated interaction between smart cast and inference leads to false-positive diagnosticKT-57053 Problem around anonymous objects in inline functionsKT-54950 NoSuchMethodError on calling ‘addAll’ on inline class implementing mutable listKT-56815 compileKotlin task is stuck with while(true) and suspend functionKT-56847 Unresolved reference to Java annotation in Kotlin class with the same name packagesKT-52459 Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclassesKT-56215 JVM: Object extension function nullable receiver null check false negative when object is nullKT-56188 K/N: AssertionError when casting SAM wrapper with generic type parameterKT-56033 Restore ‘isMostPreciseContravariantArgument’ function signature for compatibilityKT-56407 Backend Internal error: Exception during IR lowering during :daemon-common-new:compileKotlinKT-55887 K2. “IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected” on adding kotlin.plugin.jpaKT-56701 K2 (with LightTree) reports syntax errors without additional informationKT-56649 K2 uses 0-index for line numbers rather than 1-indexKT-54807 K2. Support @OnlyInputTypes diagnostic checks (contains like calls)KT-51247 “AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl” caused by context receiver functional typesKT-55436 K1: implement warning about shadowing of the derived property by the base class fieldKT-56521 Static scope initializers sometimes not called when first accessed from interopKT-49182 Strange cast from Unit to StringKT-55288 False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifierKT-33132 Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclassKT-56061 K1 does not report error on inconsistent synthetic property assignmentKT-55483 K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactoryKT-55125 Difference in generated bytecode for open suspend functions of generic classesKT-54140 SOE at IrBasedDescriptorsKt.makeKotlinType with mixing recursive definitely not nullable type with nullabilityKT-56224 Clarify message “Secondary constructors with bodies are reserved for for future releases” for secondary constructors in value classes with bodiesKT-54662 K2: Assign operator ambiguity on synthetic property from javaKT-54507 K2: Wrong implicitModality for interface in FirHelpersKT-55912 “UnsupportedOperationException: Unsupported const element type kotlin.Any” caused by kotlin fqn in annotationKT-56018 [K2/N] Fir2Ir does not take value parameters annotations from FIR to IRKT-56091 [K2/N] Fix various property annotationsKT-54209 K2: false positive deprecation on a class literal with deprecated companionKT-55977 [K2/N] Suspend function reference type is wrongly serialized to klibKT-55493 K2: False-negative VAL_REASSIGNMENTKT-55372 K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent classKT-55371 K2: compiled code fails trying to call static method of package-private Java grandparent classKT-55408 K2: can't access indirectly inherited from a package-private class Java members through a type aliasKT-55116 K2: store static qualifiers in dispatch receiver fieldKT-55996 K2: cannot switch the light tree mode off with -Xuse-fir-lt=falseKT-55368 K2/MPP: Metadata compilerKT-54305 K1: implement warning “synthetic setter projected out”KT-52027 “NullPointerException” when using context receivers with inline funKT-55984 Stack allocated array is not cleaned between loop iterationsKT-52593 Provide Alpha support for JS in the K2 platformKT-54656 NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameterKT-56015 Remove unnecessary stack traces for special checks for ObjC interopKT-55606 K2. Infix operator “in” works on ConcurrentHashMap when it's declared through another classKT-53884 K2: “IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a” when importing this classKT-54502 Synthetic extensions on raw types work differently from regular getter callsKT-49351 FIR: Raw type scopes are unsupportedKT-49345 FIR: Properly support raw types in type parameter upper boundsKT-55733 K2. Reference resolve works incorrectly for classes declared through typealiasKT-46369 FIR: Investigate raw types for arraysKT-41794 [FIR] Implement raw type based scopeKT-55181 K2. No compilation error on throwing not throwableKT-55398 Kotlin inline nested inline lambda's inline variable will inline not correctlyKT-55359 K2. No error when secondary constructor does not delegate to primary oneKT-55759 K2: Unresolved reference of serializer if library linking is used (with kotlinx.serialization plugin)KT-54705 Kotlin scripting doesn't support files with UTF-8 BOMKT-51753 FIR: various errors due to expect/actual mapping absence in translatorKT-44515 FIR DFA: extract non-null info from anonymous object's initializationKT-55018 K2 / serialization: FIR2IR fails on local companionKT-55284 Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...)KT-55693 K2. Type inference changed in k2KT-54742 K2: lambda with conditional bare return inferred to return Any, not UnitKT-54332 Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404KT-55509 Invisible fake overrides are listed among lazy IR class membersKT-55597 K2. This type has a constructor, and thus must be initialized here error is missed for anonymous object inherits class with no-arg constructorKT-54357 “ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver” with anonymous object extending a class with a context receiverKT-51397 “VerifyError: Bad type on operand stack” with context receiversKT-54905 KLIB check on compiled with pre-release versionKT-55615 K2 often does not expand type aliases in annotation positionKT-54522 K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList typeKT-54300 K2: No “Projections are not allowed for immediate arguments of a supertype” for projection in supertypes of an anonymous objectKT-55495 K2: support lateinit intrinsic applicability checkerKT-55494 MPP. Error when building for native: Compilation failed: Global ‘kclass:io.ktor.serialization.$deserializeCOROUTINE$0’ already existsKT-54980 K2: Explicit type arguments in calls with the wrong number of type arguments are not resolvedKT-54730 K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parametersKT-55611 IC / MPP: Optional internal annotations are not visible on incremental buildsKT-55324 K2: ControlFlowGraphBuilder fails with index out of bounds exceptionKT-55656 K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtimeKT-51277 “NoSuchElementException: Collection contains no element matching the predicate” with context receivers and star projectionKT-52791 Class with multiple context receivers fails -Xvalidate-ir with “Validation failed in file”KT-55071 Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functionsKT-52193 Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source setKT-54573 K2: untouched implicit types in delegated constructor call of data class with @JvmRecordKT-55037 Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3KT-48989 JVM / IR: “IllegalStateException: Bad exception handler end” when first parameter of inline function is nullable with “try/catch/finally” default value and second parameter tries to call toString() on the firstKT-55231 K2: Contract declarations are not passed to checkersKT-54411 False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines codeKT-55005 Inconsistent behavior of array set operation in Kotlin 1.7.21KT-44625 Property backing/delegate field annotations are not serialized/deserialized for non-JVM targetsKT-42490 Receiver annotations are not serialized/deserialized for non-JVM targetsKT-53441 K2: cannot access static method of package-private Java grandparent classKT-54197 [K2] Exception from inliner for inline function with context receiverKT-55246 Disable ‘CustomEqualsInValueClasses’ feature in 1.9 language versionKT-55247 Disable ‘InlineLateinit’ feature in 1.9 language versionKT-53957 K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receiversKT-55421 K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbolKT-52815 Compiler option -Xjdk-release fails to compile mixed projectsKT-52236 Different modality in psi and firKT-54921 K2: cannot access static field of package-private Java parent classKT-53698 K2: FIR2IR fails on call of inivisble extension function with SuppressKT-53920 K2: “NoSuchElementException: Key org.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab is missing in the map” with unreachable code and anonymous objectKT-55358 INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functionsKT-51475 “ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4” with context(Any) on inline function with contractKT-51951 “IllegalStateException: No receiver” caused by implicit invoke on typealias context receiverKT-52373 Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is includedKT-54220 K2: compiler fails on compiling plus expression on unsigned intKT-54692 K2: compiler fails on compiling unsigned shiftsKT-54824 K2: missing smartcast after two levels of aliasing and a reassignmentKT-53368 Out of bounds read in sse version of String::hashCodeKT-54978 K2: Property accesses with explicit type arguments pass frontend checkersKT-51863 ClassCastException when using context receivers with named argument.KT-55123 JvmSerializableLambda is not applicable in common code in multiplatform projectsKT-45970 Missing deprecation warnings for constant operators calls in property initializersKT-54851 K2: analysis of as/is contains multiple errors that result in missing diagnosticsKT-54668 K2: Inference error in body of lazy property with elvis with Nothing in RHSKT-55269 FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClassKT-55026 K2: Function hides internal constructor from another moduleKT-53070 Update intellij testdata fixes for FIR and merge it to masterKT-53492 No parameter null check generated for constructor taking an inline class typeKT-50489 Smart cast may lead to failing inferenceKT-55160 Kotlin's fragment element types must not extend IStubFileElementTypeKT-55143 K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classesKT-47933 Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.RepeatableKT-55035 FIR: do not use FirValueParameter for FirFunctionalTypeRefKT-55095 Wrong containingDeclarationSymbol in type parameter from EnhancementKT-53946 K2: don't resolve Enum.declaringClass and Enum.getDeclaringClassKT-54673 K2. “Superclass is not accessible” from interface error for sealed interfacesKT-55074 OptIn false negative: constructor call with default argument valueKT-54260 K2: “AssertionError: No modifier list, but modifier has been found by the analyzer” when annotated annotation and AllOpen pluginKT-55034 FIR: provide information about containing function/constructor to FirValueParameterKT-54744 K2: reassigning a var erases smartcast info of a variable derived from the old valueKT-53988 K2: False negative “The expression cannot be a selector (occur after a dot)”KT-53983 K2 crashes with NPE when ‘this’ is used inside enum class constructorKT-54910 Can not declare typed equals operator in inline class with “Nothing” return typeKT-54909 Usage of custom typed equals operator in generic inline class is type-unsafeKT-53371 Properly resolve FIR to get fully resolved annotationsKT-53519 FIR: argument mapping for annotations on value parameter is not properly builtKT-54827 MPP: “java.lang.IndexOutOfBoundsException: Index: 0” during compilation of androidMain targetKT-54417 K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver typeKT-54972 K2: Local functions with multiple type arguments are brokenKT-54762 Private constructor is accessible from a public inline function via @PublishedAPI annotationKT-54832 Deprecate incorrect callable references resolution behavior for KT-54316KT-54732 DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64KT-54897 K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another moduleKT-54784 NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scriptsKT-54840 Field for const property on interface companion object loses deprecated status when copied to interfaceKT-53825 class files are generated when compilation fails with platform declaration clashKT-54526 K2: Raw type scope is lost after exiting from elvisKT-54570 K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw typesKT-52157 Annotation on type parameter isn't present in the symbol loaded from the libraryKT-54318 VerifyError on { null } in catch blockKT-54654 K2: Implicit types leaks into delegated memberKT-54645 K2: Clash of two inherited classes with the same nameKT-53255 [FIR2IR] StackOverflowError with long when-expression conditionsKT-48861 No warning on incorrect usage of array type annotated as Nullable in JavaKT-54539 @Deprecated on members of private companion object is no longer neededKT-54403 Unexpected behaviour on overridden typed equals in inline classKT-54536 Unexpected result of comparison of inline class instancesKT-54603 ClassCastException on comparison of inline classes with custom equalsKT-54401 Unhandled exception on compilation inline class with ‘equals’ from ‘Any’ returning ‘Nothing’KT-54378 K2: smart cast breaks subtyping in case with complex projectionsKT-53761 Reified type not propagated to supertype token through two inline functionsKT-53876 Manually instantiated annotations with unsigned arrays are not equalKT-51740 NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting rangeKT-54084 ClassCastException when trying to call a context receiver's methodKT-51282 IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using @JvmMultifileClassesKT-53479 False positive “Cannot access ‘runCatching’ before superclass constructor has been called”KT-50950 JVM IR: “AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION” when using bound reference to suspend SAM functionKT-49364 “VerifyError: Bad type on operand stack” on cast which “can never succeed” from ULong to IntKT-51478 Inapplicable receiver diagnostic expected when there are two context receiver candidates
Docs & Examples
KT-32469 @Synchronized on extension method doesn't generate instance lock
IDE
New Features
KTIJ-24378 Update Kotlin plugin to 1.8.0 in IDEA 223.2
Performance Improvements
KT-55445 KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE
Fixes
KTIJ-24657 Disable pre-release and other metadata checks in IDEKT-55929 Unresolved dependencies for intermediate multiplatform SourceSetsKTIJ-24179 Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2KTIJ-23547 K2 IDE: Functional type: explicit parameter name VS ParameterName annotationKTIJ-23347 K2 IDE. False positive “Symbol fun intFun(): Unit is invisible” in testsKT-55862 Can't resolve kotlin-stdlib-js sources in IDEKTIJ-23587 K2: SOE in delegate field resolutionKT-55782 [SLC] Typealiases are not exapnded in arguments of annotationsKT-55778 [SLC] Incorrect determination of useSitePostion for types of local declarationsKT-55780 [SLC] No approximation of anonymous and local types in membersKT-55743 K2 SLC: SymbolLightClassForClassOrObject must have a nameKT-55604 Descriptor leakKT-55502 SLC: drop redundant ‘final’ modifier from synthetic static enum membersKT-55497 LC: drop @NotNull annotation from parameter from synthetic Enum.valueOfKT-55496 SLC: generated synthetic enum methods by symbols instead of manual creationKT-55481 SLC: implement correct java annotations for annotation classes (Retention, Target, etc.)KT-55470 SLC: implement light class for RepeatableContainerKT-55442 SLC: ‘isInheritor’ for ‘DefaultImpls’ should work correctlyKTIJ-23449 K2: “parent must not be null” from SymbolLightClassBase.getContext()KT-40609 IDE: False positive “Exception is never thrown...” in Java when Kotlin getter is annotated with ThrowsKT-54051 Migrate symbol light classes from KtSymbol to KtElement
IDE. Completion
KTIJ-22503 Support code completion for data objectsKTIJ-22361 ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl ” on K2
IDE. Debugger
KTIJ-24259 Debugger is stuck in an infinite loop in an Android projectKTIJ-24003 Smart step into doesn't work for Java synthetic properties referencesKTIJ-24039 Support smart step into for property setters
IDE. Decompiler, Indexing, Stubs
KTIJ-24351 Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal
IDE. Gradle Integration
KTIJ-24616 Gradle Integration: “NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets” during sync fail after updating Kotlin IJ Plugin to 1.8.20-BetaKT-55347 Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialisedKTIJ-23781 TCS: Gradle Sync: Support friend&dependsOn via IdeaKotlinSourceDependency
IDE. Gradle. Script
KT-56941 Gradle KTS / Navigation: Go to declaration for Java types doesn't work
IDE. Inspections and Intentions
KTIJ-23404 K2 IDE. Platform type is inserted as type parameter for “Change return type” intentionKTIJ-24319 “Set module version to *” quickfix isn't workingKTIJ-23225 “Change package” intention unintentionally and intractably replaces text inside of critical strings and commentsKTIJ-23892 UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9KTIJ-22087 Support IDE inspections for upcoming data objectsKTIJ-24286 Constant conditions: false positive “Cast will always fail” with cast of java.lang.String to kotlin.StringKTIJ-23859 ConvertObjectToDataObjectInspection support more hashCode and toString casesKTIJ-23760 Get rid of readResolve logic in ConvertObjectToDataObjectInspection
IDE. KDoc
KTIJ-24342 KDoc: First line break character is swallowed when pasted
IDE. Misc
KTIJ-24370 Remove link to k2.xml from plugin.xml in kt-223 branchesKTIJ-24210 Compatibility issue with the CUBA plugin
IDE. Multiplatform
KTIJ-21205 MPP: Kotlin not configured error is shown for K/N sources if Android target is presentedKT-52172 Multiplatform: Support composite buildsKT-56198 Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm buildKTIJ-24147 MPP: NullPointerException: versionString must not be null
IDE. Refactorings. Move
KTIJ-24243 Move declarations: “Search in comments and strings” and “Search for text occurrences” options are always enabled when files are moved
IDE. Script
KT-56632 Script configuration cannot be loaded for embedded code snippets
IDE. Wizards
KTIJ-24562 Android target created by wizard contains AGP higher than supportedKTIJ-24402 Changes “Browser Application for Kotlin/Wasm” wizard templateKTIJ-23525 Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
JavaScript
New Features
KT-54118 Kotlin/JS IR: keep declarations with non-minified namesKT-35655 Investigate could we use “names” field in SourceMaps to improve debug experience
Fixes
KT-55971 KJS: Result of suspend function cannot be assigned to property of dynamic valueKT-52374 KJS / IR: caling suspend function as dynamic ignores the rest of the expressionKT-56884 KJS: “Top-level declarations in .d.ts files must start with either a ‘declare’ or ‘export’ modifier.” caused by enum and array inside the companion objectKT-51122 Provide fully-qualified method name in Kotlin/JS source mapsKT-56602 KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-BetaKT-56580 KJS: languageVersionSettings string is unstableKT-56581 KJS: Lock file for incremental cacheKT-56582 KJS: Function type interface reflection crashes the compiler in incremental buildKT-55720 KJS: ReferenceError: SuspendFunction1 is not defined with 1.8 when importingkotlin.coroutines.SuspendFunction1KT-56469 KJS: BE Incremental rebuild spoils source map commentKT-55930 KJS: A recursive callable reference of the inline function leads broken cross module referencesKT-31888 Kotlin/JS: make possible to call main() in main run tasks, but not in test tasksKT-51581 FIR: support JS backendKT-55786 KJS: Rewriting of secondary constructors if they are protectedKT-52563 KJS / IR: Invalid TypeScript generated for class extending base class with private constructorKT-55367 KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS codeKT-55240 KJS: “NoSuchElementException: No element of given type found” caused by @JsExport and Throwable's child classKT-54398 KJS / IR + IC: Support *.d.ts generationKT-55144 KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a callerKT-54134 KJS / IR: “TypeError: Cannot read properties of undefined” in js block wrapped with suspend functions aroundKT-54911 KJS / IR + IC: invalidate all klib dependencies after removing itKT-54912 KJS / IR + IC: Commit cache header only in the end (after lowering)KT-52677 Native: StackOverFlow during “kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke”KT-54480 KJS: “Exported declaration contains non-consumable identifier” warning when exporting modules as defaultKT-41294 KJS: Weird behaviour of j2v8 in test infraKT-54173 Kotlin/JS + IR: failed to provide keep setting to avoid DCE remove of default interface function from implementing object
Language Design
KT-55451 Preview of lifting restriction on secondary constructor bodies for value classesKT-54621 Preview of Enum.entries: modern and performant replacement for Enum.values()KT-54525 Preview of Java synthetic property referencesKT-55337 Preview of data objectsKT-55344 Deprecate @Synchronized in platforms except JVM
Libraries
KT-35508 EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.)KT-56794 Libraries: “Recursively copying a directory into its subdirectory is prohibited” Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystemKT-55935 [Kotlin/JVM] Path.copyToRecursively does not work across file systemsKT-55978 Provide Common Base64 encoding in stdlibKT-46211 [Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large inputKT-31066 Add Closeable & use to common stdlibKT-55609 Introduce experimental kotlin.concurrent.Volatile annotationKT-39789 Segfault in Kotlin/Native regex interpreterKT-53310 Native: HashMap/HashSet doesn't reclaim storage after removing elements
Native
KT-56443 Native link task reports w: Cached libraries will not be used for optimized compilationKT-55938 [Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build
Native. C and ObjC Import
KT-55303 Objective-C import: improve -fmodules flag discoverability.KT-39120 Cinterop tool doesn't support the -fmodules compiler argumentKT-40426 Incorrect Objective-C extensions importing that prevents UIKit usageKT-55653 Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override itKT-54284 Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
KT-56350 Kotlin/Native: restore “use Foundation” in generated Objective-C frameworksKT-55736 Native: exporting suspend function from a cached dependency to Objective-C crashes with “Suspend functions should be lowered out at this point”KT-53638 Native: support disabling mangling globally for Swift names in generated Objective-C headerKT-53069 SOE on K/N framework build for Arm64KT-53317 ObjCName annotation is not applied to an extension receiver in Objective-C export
Native. Stdlib
KT-53064 Native: provide stdlib API to obtain memory management statistics
Reflection
KT-27585 Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use “isAccessible = true” to make the property accessibleKT-55178 Improve performance of KCallable.callByKT-53279 Reflection: “KotlinReflectionInternalError: Method is not supported” caused by @Repeatable annotation deserialization at runtime if it's repeated and contains arraysKT-44977 Reflection: ClassCastException caused by annotations with “AnnotationTarget.TYPE” usage on array attributes access
Tools. CLI
KT-57077 1.8.20-RC-243 shows Java 19 warnings even if configured with Java 17 toolchainKT-56992 Performance test regression in Gradle when switching to Kotlin 1.8.20KT-56789 Metaspace memory leak in CoreJrtFileSystemKT-56925 Remove warning about assignment pluginKT-54652 Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disableKT-55784 Unable to format compilation errors with ansi colors in compilation serverKT-54718 K2: Compiler crashes with “IllegalArgumentException: newPosition > limit”KT-54337 CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error
Tools. Commonizer
KT-47429 [Commonizer] OKIO supportKT-51517 C Interop Commonizer Fails On Classifier That Doesn't Exist
Tools. Compiler Plugins
Fixes
KT-53590 K2 Allopen does not look for transitive meta-annotationsKT-56487 Add more methods to DescriptorSerializerPluginKT-54020 [K2] [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case ‘static Name’ param was added to @AllArgsConstructor annotation and an empty list is set as a constructor param valueKT-53096 Create a pack of compiler utilities for generating declarations from pluginsKT-55248 K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classesKT-54756 Deprecate “legacy” mode of jvm-abi-gen pluginKT-55233 jvm-abi-gen strips out InnerClass attributesKT-54994 K2 plugin API: Compile-time constants are not evaluated before IRKT-55023 K2 plugin API: Compilation with Kotlin daemon fails after certain number of triesKT-55286 K2: Parcelize plugin sometimes can't find nested objects in current classKT-54500 Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen
Tools. Compiler plugins. Serialization
KT-56738 Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enumKT-56990 “AssertionError: SyntheticAccessorLowering should not attempt to modify other files” in kotlinx-serialization using @Serializer and List argumentKT-54441 Prohibit implicit serializer customization via companion objectKT-49983 Implement prototype of kotlinx.serialization for K2 compilerKT-48733 “AssertionError: Unexpected IR element found during code generation” caused by Serialization and annotation with default parameterKT-54297 Regression in serializable classes with star projections
Tools. Gradle
New Features
KT-54691 Kotlin Gradle Plugin libraries alignment platformKT-54492 Send gradle build errors from ideaKT-55540 Add compilation speed metric in build reportsKT-55541 Validate FUS metrics values on Gradle side
Performance Improvements
KT-54836 Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+KT-55995 Add ability to perform precise compilation task outputs backupKT-54579 Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11KT-54588 KotlinCompile: Avoid calling FileCollection.getFiles() multiple times
Fixes
KT-57296 Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin appliedKT-56645 Gradle: KGP reports an incorrect resources processing task name for JVM projectsKT-55824 Deprecate commonMain.dependsOn(anything) in user scriptsKT-56221 Gradle KTS: False positive Val cannot be reassigned when using an extension and its property with an implicit set operatorKT-55452 Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs taskKT-55565 Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTaskKT-55632 ‘The configuration :kotlinCompilerClasspath is both consumable and declarable’ messages are displayed in logs for different types of projects for KotlinCompile task with gradle 8KT-56414 Dependency locking and failed builds with Kotlin 1.8.10KT-52625 Compatibility with Gradle 7.4 releaseKT-55544 Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgsKT-52149 Gradle: declare shared build services usages with Task#usesServiceKT-55323 Gradle: allow to opt-out of reporting compiler arguments to a http statistics serviceKT-53811 Compatibility with Gradle 7.6 releaseKT-52998 Compatibility with Gradle 7.5 releaseKT-55741 Gradle 8: Build service ‘*’ is being used by task ‘*’ without the corresponding declaration via ‘Task#usesService’.KT-55174 KotlinCompile task produces deprecation “Build service ‘variant_impl_factories_...’ is being used by task”KT-54425 Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage()KT-54998 “kotlin.gradle.performance” FUS collector reports data twiceKT-55520 Add required configuration for Kotlin Gradle Plugin API reference publicationKT-52963 Build report code breaks Gradle project isolation.KT-55164 KGP: “Cannot access project ‘:’ from project ‘:list’” JVM - Project Isolation with Multi Modules and Configuration Cache failsKT-52490 Gradle: [org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warningsKT-55000 Include information about the new IC into “kotlin.gradle.performance” FUS collectorKT-54941 Gradle, Daemon, MacOS M1: “Native integration is not available for Mac OS X aarch64” on first buildKT-45748 Migrate all Kotlin Gradle plugin Android tests to new test setupKT-54029 Validate Binary Compatibility for kotlin-gradle-plugin-api
Tools. Gradle. Cocoapods
KT-41830 CocoaPods integration: Support link-only mode for podsKT-55117 PodGenTask doesn't declare ouputs properlyKT-55243 Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root projectKT-56304 Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic librariesKT-56298 Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle projectKT-55801 Deprecate useLibrariesKT-55790 Improper sdk selected for watchosDeviceArm64 target
Tools. Gradle. JS
New Features
KT-25878 Provide Option to Define Scoped NPM PackageKT-37759 [Gradle, JS] Support arguments of command line for webpack and nodejs taskKT-33518 Allow specifying command line args for node in nodejs or mocha testsKT-46163 KJS / Ktor: Support run on the next free port if default one is occupied
Performance Improvements
KT-55476 KotlinWebpack should be cacheableKT-39108 Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend pluginKT-45411 Investigate memory consumption in npm packageKT-51376 KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies
Fixes
KT-57285 KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourcesetKT-57068 KJS / Gradle: “Unable to find method ‘kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask’” after updating to 1.8.20-BetaKT-54445 KJS Remove dukat integrationKT-56999 K/JS: KotlinJsIrLink::rootCacheDirectory property must be publicKT-56765 K/JS: Several binaries use same cache directoryKT-54529 KJS / IR: generate typescript definitions only on explicit Gradle actionKT-56488 Debugger won't stop on breakpoints of JS browser testKT-56719 KJS / Gradle: Compile sync task has to sync only changed filesKT-56131 KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is brokenKT-37668 Kotlin/JS: nodeTest failure due to main() function fail is reported as “BUILD SUCCESSFUL”KT-35285 Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locationsKT-55593 KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as @Deprecated in 1.8KT-33291 JS: No build result with gradle parallel build in multiproject buildKT-40925 KJS: need a way to configure extra environment variables for the test taskKT-47236 KJS: kotlinNpmInstall fails if no yarn is downloadedKT-53288 KJS / Gradle: FileNotFoundException when customising moduleNameKT-54511 Kotlin/JS generated package.json main field is not correctly set if module name contains a / (slash)KT-54421 KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14KT-54503 Make the target observer API public in kotlin JS ExtensionKT-54418 KJS: Change test running with kotlin-test adapterKT-54132 KJS IR: Sometimes karma failed on teamcity because of uninitialized browser
Tools. Gradle. Multiplatform
New Features
KT-54766 TCS: external Android Target APIs: Milestone: CompileKT-50967 Make c-interop libs resolve robust to build cleanKT-53570 multiplatform ‘natural hierarchy’ prototype
Fixes
KT-36943 Gradle Plugin (multiplatform) - Consider publishing a ‘sourcesElements’ variant for the sources.jarKT-57460 Kotlin Gradle Plugin: Null this pointer in transformCommonMainDependenciesMetadataKT-57306 [Kotlin 1.8.20-RC] GradleException: Could not load the value of field apiConfiguration of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainerKTIJ-23750 KotlinMppModelSerializationService is not invoked in production environmentKTIJ-24223 Update latest tested KGP version to 1.9.0-dev-764KT-56536 Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.nameKTIJ-23889 TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependenciesKT-56729 commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3KT-56510 Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistributionKT-54180 TCS: Initial external Android Target APIsKT-55010 TCS: External Android Target Prototype: Setup Android dependenciesKT-54783 KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilationsKT-54867 KotlinWithJavaCompilation does not respect javaSourceSet classpathsKT-52413 MPP: Gradle dependency substitution breaks KMP import for native targetsKT-56115 Multiplatform;Composite Builds: Support import with cinterop commonization enabledKT-54312 TCS: Replace CompilationDetails abstract class hierarchy by composable implementationKT-47441 MPP: Unresolved reference for dependent on the other module with dependencySubstitutionKT-56429 Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folderKT-56337 Unable to import a project with cinterop with enableKgpDependencyResolutionKT-55873 Unrequested dependencies leaking into common source sets: Regression after 703fd0f2KT-55891 Deprecate pre-HMPP flagsKT-56278 TCS: Gradle Sync: [MISSING_DEPENDENCY_CLASS] on libraries used in shared native source setsKT-56143 CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on targetKT-56285 TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolutionKT-56204 KotlinTargetHierarchy: Changing naming from ‘any’ to ‘with’ prefixKT-56111 Multiplatform;Composite Builds: Clean builds fail on when ‘hostSpecificMetadata’ is requiredKT-54974 TCS: Gradle Sync: Implement IdeKotlinDependencyResolversKT-38712 Gradle configuration's name with word “implementation” is camelcased to “İmplementation” if default locale is TurkishKT-54975 TCS: Gradle Sync: Implement stdlib-common filter for platform source setsKT-48839 Sources.jar of the root artifact of MPP library includes source files from test sourcesetsKT-55492 TCS: Gradle Sync: Sources and Documentation as extra ‘classpath’KT-55237 TCS: Gradle Sync: Support stdlib-native sourcesKT-55475 TCS: Gradle Sync: Fine tune jvmAndAndroid source setsKT-55189 TCS: Gradle Sync: Support icons (native, js) and global librariesKT-55218 KotlinTargetHierarchy: Disambiguate declaring targets vs including targetsKT-55112 TCS: Gradle Sync: Resolve Source DependenciesKT-54977 TCS: Gradle Sync: Implement debugging toolsKT-54948 TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCSKT-55289 TCS: Gradle Sync: Prototypical sources jar resolutionKT-55238 TCS: Gradle Sync: Support commonized native distributionKT-55230 Remove metadata dependencies transformation for runtimeOnly scopeKT-53338 Prettify the message about incompatible AGP and KGP versionsKT-55134 MPP / Gradle: Cannot read test tasks stateKT-54506 Test tasks are considered up-to-date after a failure when triggered by allTestsKTIJ-23509 Update latest tested KGP version to 1.8.20-dev-1815KT-54787 Test tasks are not up-to-date when an individual test task called after aggregating test taskKT-54033 Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP ApisKT-54202 CInterop Commonization fails on first run when native distribution is not yet commoniziedKT-54135 Add documentation with examples to CompositeMetadataArtifact
Tools. Gradle. Native
KT-37051 MPP Gradle plugin: duplicated cinterop libraries in composite buildKT-55650 Pass through errors from Gradle to XcodeKT-56205 Shared Native Compilation: False positive ‘w: Could not find’ warnings on metadata klibsKT-54969 Support podspec generation for the new K/N artifact DSL
Tools. Incremental Compile
KT-55021 New IC: “The following LookupSymbols are not yet converted to programSymbols” when removing/renaming file facadesKTIJ-21161 Incremental build is taking too long when no files have changed in the projectKT-53832 Enable new incremental compilation by default in GradleKT-55622 MPP: Incremental compilation ignores changes in source set structureKT-55309 IC: Get rid of NonCachingLazyStorageKT-53402 Incremental compilation tries to compile resourcesKT-54791 Incremental compilation in JPS broken in 1.8.20-dev-1815
Tools. JPS
KT-56165 Language version 1.9 and 2.0 is absent in Kotlin Compiler settingsKT-51536 [JPS] Recompile module on facet settings changeKT-53735 JPS / IC: “IOException: The system cannot find the file specified” on WindowsKT-47983 [JPS] Adding compilerSettings to Facet should initiate rebuild of moduleKT-54449 Cyrillic characters in a filename break builds on linux
Tools. Kapt
New Features
KT-53135 Enable JVM IR for KAPT stub generation by defaultKT-41129 kotlin-maven-plugin + kapt - allow aptMode to be set according to docs
Fixes
KT-56635 KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-BetaKT-56360 Kapt with JVM IR changes fields orderKT-54380 Kapt / IR: Build failed when inheritance by functional interface with suspend modifierKT-54245 JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.ktKT-33847 Kapt does not included Filer-generated class files on compilation classpathKT-55490 Kapt + JVM IR: “annotation @Foo is missing default values”KT-43786 KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScopeKT-43117 Kapt: “System is already defined in this compilation unit”KT-46966 Kapt: correctErrorTypes: receiver type is NonExistentClassKT-46965 Kapt: correctErrorTypes: custom setter gets Object parameter typeKT-51087 KAPT: @JvmRepeatable annotations are present in inverse order in KAPT stubsKT-54870 KAPT stub generation with JVM_IR backend throws exception for delegated propertiesKT-44350 Kapt Gradle integration tests failing with Android Gradle plugin 7.0KT-54030 Kapt: annotation processor warnings are displayed as errors on JDK 17+KT-32596 kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotationKT-37586 KAPT: When delegated property use an unknown type (to-be-generated class), correctTypeError will mess up the $delegate field type
Tools. Maven
KT-56697 IC: “Incremental compilation was attempted but failed” Failed to get changed files: java.io.IOException: readPrevChunkAddressKT-55709 Maven: “java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible”KT-29346 Add components.xml to automatically compile kotlin maven projectsKT-13995 Maven: Kotlin compiler plugin should respect model's compile source rootsKT-54822 Maven: Too low-level error message “Parameter specified as non-null is null: method kotlin.text.StringsKt__StringsJVMKt.startsWith, parameter ” from Kotlin Maven plugin invoking compiler when tags are emptyKT-47110 Disable jdk8-specific warnings in kotlin-maven-plugin
Tools. Scripts
KT-54095 It is difficult (if not impossible) to use kotlin compiler plugins with scriptingKT-54461 Warnings and stack traces when executing scripts via kotlin-maven-pluginKT-54733 Scripts: ConcurrentModificationException in *.main.kts scriptsKT-53283 Scripts: main-kts JAR does not relocate embedded SLF4J and jsoup libraries
1.8.0
Analysis API
KT-50255 Analysis API: Implement standalone mode for the Analysis API
Analysis API. FIR
KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light fieldKT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias
Android
KT-53342 TCS: New AndroidSourceSet layout for multiplatformKT-53013 Increase AGP compile version in KGP to 4.1.3KT-54013 Report error when using deprecated Kotlin Android Extensions compiler pluginKT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder
Backend. Native. Debug
KT-53561 Invalid LLVM module: “inlinable function call in a function with debug info must have a !dbg location”
Compiler
New Features
KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdasKT-54460 Implementation of non-local break and continueKT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compilerKT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage
Performance Improvements
KT-53347 Get rid of excess allocations in parserKT-53689 JVM: Optimize equality on class literalsKT-53119 Improve String Concatenation Lowering
Fixes
KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20KT-49658 NI: False negative TYPE_MISMATCH on nullable type with whenKT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() callKT-43493 NI: False negative: no compilation error “Operator ‘==’ cannot be applied to ‘Long’ and ‘Int’” is reported in builder inference lambdasKT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper boundKT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backendKT-51284 SAM conversion doesn't work if method has context receiversKT-48532 Remove old JVM backendKT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backendKT-53270 K1: implement synthetic Enum.entries propertyKT-52823 Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARGKT-53547 Missing fun IrBuilderWithScope.irFunctionReferenceKT-54884 “StackOverflowError: null” caused by Enum constant name in constructor of the same Enum constantKT-47475 “IncompatibleClassChangeError: disagree on InnerClasses attribute”: cross-module inlined WhenMappings has mismatched InnerClassesKT-55013 State checker use-after-free with XCode 14.1KT-54802 “VerifyError: Bad type on operand stack” for inline functions on arraysKT-54707 “VerifyError: Bad type on operand stack” in inline call chain on a nullable array valueKT-48678 Coroutine debugger: disable “was optimised out” compiler featureKT-54745 Restore KtToken constructors without tokenId parameter to preserve back compatibilityKT-54650 Binary incompatible ABI change in Kotlin 1.7.20KT-52786 Frontend / K2: IndexOutOfBoundsException when opting in to K2KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-timeKT-54581 JVM: “VerifyError: Bad type on operand stack” with generic inline function and when inside try-catch blockKT-53794 IAE “Unknown visibility: protected/protected and package/” on callable reference to protected member of Java superclassKT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type boundKT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegateKT-54509 Ir Interpreter: unable to evaluate string concatenation with “this” as argumentKT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expressionKT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtimeKT-53712 Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER)KT-54366 K2: no JVM BE specific diagnostics (in particular CONFLICTING_JVM_DECLARATIONS) in 1.8KT-35187 NullPointerException on compiling suspend inline fun with typealias to suspend function typeKT-54275 K2: “IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION”KT-53656 “IllegalStateException: typeParameters == null for SimpleFunctionDescriptorImpl” with recursive generic type parametersKT-46727 Report warning on contravariant usages of star projected argument from JavaKT-53197 K2: ‘init’ hides member of supertype ‘UIComponent’ and needs ‘override’ modifierKT-53867 K2: @JvmRecord does not compile to a java recordKT-53964 K2 is unable to work with Java recordsKT-53349 K2: TYPE_MISMATCH caused by non-local returnKT-54100 “Type variable TypeVariable(P) should not be fixed” crash in code with errorsKT-54212 K2: cannot calculate implicit property typeKT-53699 K2: Exception during IR lowering in code with coroutinesKT-54192 Warn about unsupported feature on generic inline class parametersKT-53723 Friend modules aren't getting passed to cache build during box testsKT-53873 K2: Duplicated diagnostics reported from user type ref checkersKT-50909 “VerifyError: Bad type on operand stack” caused by smartcasting for nullable inline class property in classKT-54115 Restore Psi2IrTranslator constructor from 1.7.20KT-53908 K2: Self-referencing generics in Java class causes New Inference Error (IE: class Foo<T extends Foo>)KT-53193 K2: compile error on project that compiles fine with normal 1.7.10KT-54062 K2 Invalid serialization for type-aliased suspend function type with extension receiverKT-53953 Forbid usages of super or super if in fact it accesses an abstract memberKT-47473 NI: Missed UPPER_BOUND_VIOLATED diagnostics if use type aliases with type parametersKT-54049 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTEDKT-30054 Wrong approximation if nullable anonymous object with implemented interface is usedKT-53751 Postpone IgnoreNullabilityForErasedValueParameters featureKT-53324 Implement Enum.entries lowering on K/NKT-44441 K2: report redeclaration error if there is a Java class with the same name as the Kotlin classKT-53807 No warning about declaringClass on an enum valueKT-53493 K2: val on function parameter counts as just warningKT-53435 K2: “IllegalArgumentException: class KtValueArgument is not a subtype of class KtExpression for factory ANNOTATION_ARGUMENT_MUST_BE_CONST” if string in nested annotation is concatenatedKT-52927 AssertionError: LambdaKotlinCallArgumentImplKT-53922 Make Enum.entries unstable feature to poison binariesKT-53783 Exception during psi2ir when declaring expect data objectKT-53622 [OVERLOAD_RESOLUTION_AMBIGUITY] when enum entry called ‘entries’ is present in K2KT-41670 JVM IR: AbstractMethodError when using inheritance for fun interfacesKT-53178 K2: implement diagnostics for serialization pluginKT-53804 Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlibKT-52970 Default value constant in companion object works on JVM and JS, but fails on nativeKT-51114 FIR: Support DNN checksKT-27936 Write InnerClasses attribute for all class names used in a class fileKT-53719 Parsing regression on function call with type arguments and labeled lambdaKT-53261 Evaluate effect from inline for primitive typesKT-53706 K2: Context receivers are not resolved on properties during type resolution stageKT-39492 Kotlin.Metadata's packageName field cannot be an empty stringKT-53664 Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another moduleKT-52478 [Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another oneKT-48822 CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationExceptionKT-50281 IllegalStateException: unsupported call of reified inlined functionKT-50083 Different error messages in android and JVM (Intrinsics.checkNotNullParameter).KT-53236 Support Enum.entries codegen on JVM/IR BEKT-41017 FIR: should we support smartcast after null checkKT-53202 “ISE: Descriptor can be left only if it is last” after direct invoke optimization on a capturing lambdaKT-46969 @BuilderInference with nested DSL scopes cause false-positive scope violation in Kotlin 1.5KT-53257 FIR: Improper context receiver argument is chosen when there are two extension receiver candidatesKT-53090 Anonymous function and extension function literals are generated as classes even with -Xlambdas=indyKT-53208 K2: Cannot get annotation for default interface method parameter when compiled with -Xuse-k2KT-53184 K2: NoSuchMethodError on KProperty1.get() referenced via nullable typealiasKT-53198 K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit?KT-53100 Optimization needed: (CONSTANT_PRIMITIVE(x: T?)) => xKT-49875 [FIR] Support infering PRIVATE_TO_THIS visibilityKT-53024 Refactor FIR renderer to composable architectureKT-50995 [FIR] Support SAM with receiver pluginKT-53148 K1: introduce warning for inline virtual member in enumKT-49847 Devirtualization fails to eliminate boxing in function reference contextKT-52875 Extension function literal creation with -Xlambdas=indy fails with incorrect argumentsKT-53072 INVALID_IF_AS_EXPRESSION error isn't shown in the IDE (LV 1.8)KT-52985 Native: a function with type T? returned a kotlin.Unit instead of nullKT-52020 FIR warning message includes internal renderingKT-48778 -Xtype-enhancement-improvements-strict-mode not respecting @NonNull annotation for property accesses?
IDE
Fixes
KTIJ-22357 CCE “class org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef” in K2KT-55150 Argument for @NotNull parameter ‘scope’ of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be nullKTIJ-22165 IDE notification to promote users to migrate to the new Kotlin/JS toolchainKTIJ-22166 IDE notification (or something else) about JPS and Maven support for Kotlin/JS is deprecatedKT-53543 Rework light classes for file facadeKT-48773 Investigate the possibility of removing dependency on old JVM backend in light classesKTIJ-19699 IDE: False positive type mismatch in Java code for Kotlin nested class non-direct inheritor from external libraryKT-51101 FIR IDE: Exception on “Show Type Info” actionKTIJ-22295 MPP, IDE: False positive UPPER_BOUND_VIOLATED when JVM module implements the generic interface from MPP module and the type parameter is not equal to itself.KT-51656 FIR IDE: ProgressCancelled exception is masked in the compiler during resolveKT-51315 FIR IDE: move out base modules from fe10 plugin to reuse in k2 pluginKTIJ-22323 K2: ISE during resolve of stdlib calls from the stdlibKTIJ-21391 Generate -> Override methods : don't delegate to abstract methodsKT-53097 Extract common part of light classes to another moduleKTIJ-22354 FIR LC: annotation owner is always nullKTIJ-22157 Kotlin call resolver leaks user code when reporting exception
IDE. Completion
KTIJ-22552 Kotlin: ‘for loop’ postfix completion doesn't work - “Fe10SuggestVariableNameMacro must be not requested from main classloader”KTIJ-22503 Support code completion for data objects
IDE. Debugger
KT-51755 Compilation exception with scripting compilation during debug sessionKTIJ-21963 Debugger / IR: Expression evaluation of the debugger doesn't work
IDE. Decompiler, Indexing, Stubs
KTIJ-22750 Initialize Kotlin stub element types lazilyKTIJ-18094 IDE: “AssertionError: Stub count doesn't match stubbed node length” with minified Android AAR libraryKTIJ-17632 IndexOutOfBoundsException: Cannot decompile a class located in minified AAR
IDE. Gradle Integration
KT-48135 In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external librariesKTIJ-22345 False positive unresolved reference for members of subclasses of expect classes.KT-53514 HMPP: False positive for None of the following functions can be called with the arguments supplied. with Enum in common moduleKT-51583 Gradle 7.4+ | SamplesVariantRule interference: Could not resolve all files for configuration ‘:kotlinKlibCommonizerClasspath’KTIJ-21077 Dependency matrix does not work with Jetpack compose / multiplatform projects
IDE. Inspections and Intentions
KTIJ-19531 Adapt changes about new rules for method implementation requirementsKTIJ-22087 Support IDE inspections for upcoming data objectsKTIJ-20510 Quick fix to implement and call correct super method in case of inheritance with defaultsKTIJ-20170 Provide quickfix for deprecated resolution to private constructor of sealed classKTIJ-22630 FIR IDE: Lazy resolve exception after invocation of Override members action on value classKT-49643 Intentions: “Implement members” fails when base type function declaration uses unresolved generic types
IDE. JS
KTIJ-22167 Make JS IR default in projects created by wizardKTIJ-22332 Wizard: Kotlin/JS projects: cssSupport DSL should be updated
IDE. KDoc
KTIJ-22324 K2 IDE: implement reference resolve inside KDocs
IDE. Multiplatform
KTIJ-19566 New Project Wizard: Update HMPP-related flags in multiplatform wizards
IDE. Navigation
KT-51314 FIR IDE: show Kotlin declarations in search symbolKTIJ-22755 Find usage for constructor from kotlin library doesn't work for secondary constructor usages
IDE. Script
KTIJ-22598 Add warning for standalone scripts in source rootsKT-54325 .settings.gradle.kts and .init.gradle.kts are reported as standalone scripts
IDE. Structural Search
KTIJ-21986 KSSR: “CodeFragment with non-kotlin context should have fakeContextForJavaFile set: originalContext = null” warning shows up when replacing
IDE. Tests Support
KT-50269 FIR IDE: Allow running tests via gutter
IDE. Wizards
KTIJ-23537 Wizard: projects with Android modules require higher sdkCompileVersionKTIJ-23525 Wizard: Compose multiplatform: project won't build and require higher compileSdkVersionKTIJ-22763 New Project Wizard: remove deprecated Android extensions plugin from Android target in the project constructorKTIJ-22481 Wizard: Kotlin -> Browser application (gradle groove). Build error
JavaScript
Fixes
KT-55097 KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exceptionKT-54406 Kotlin/JS: build with dependencies fails with “Could not find “kotlin” in [~/.local/share/kotlin/daemon]”KT-53074 Make JS IR BE default in toolchain (gradle & CLI)KT-50589 UTF-8 Instability in kotlin.js.mapKT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signaturesKT-54895 KJS / IR + IC: broken cross module references for function default param wrappersKT-54520 KJS / IR Allow IdSignature clashesKT-54120 JS IR + IC: pointless invalidation of dependent code after modifying companionsKT-53986 KJS / IR + IC: compiler produces different JS file names with IC and without ICKT-54010 JS IR + IC: Force IC cache invalidation after updating language version or featuresKT-53931 KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not definedKT-53968 Kotlin/JS: no UninitializedPropertyAccessException on access to non-initialized lateinit property defined in dependenciesKT-54686 KJS / IR: Incorrect generation of signatures when one of argument is nested classKT-54479 KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructureKT-54382 KJS / IR: Wrong type check for inheritors of suspend functionsKT-54323 KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuildKT-53361 KJS / IR: No debug info is generated for in-line js codeKT-53321 Implement Enum.entries lowering on JS/IRKT-53112 KJS IR turn on IC infra by defaultKT-50503 Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: “Could not find library” after removing module dependencyKT-54011 JS IR + IC: EnumEntries don't work well when IC is enabledKT-53672 KJS / IR: “IndexOutOfBoundsException: Index 0 out of bounds for length 0” caused by function reference to extension function of reified type variableKT-43455 KJS: IR. Incremental compilation problem with unbound symbolsKT-53539 KJS: Exported class inherited non-exported class shows warningKT-53443 KJS/IR: NullPointerException caused by anonymous objects inside lambdasKT-52795 K/JS and K/Native IR-validation/compilation errors for a valid kotlin codeKT-52805 KJS/IR: Invalid call of inline function in also blockKT-51151 KJS / IR: Wrong overloaded generic method with receiver is calledKT-52830 KJS/IR: Sourcemap disabling doesn't workKT-52968 KJS / IR: Buggy generation of overridden methodsKT-53063 KJS / IR + IC: undefined cross module reference for implemented interface functionsKT-51099 KJS / IR + IC: Cache invalidation doesn't check generic class variance annotations (in, out)KT-51090 KJS / IR + IC: Cache invalidation doesn't check suspend qualifierKT-51088 KJS / IR + IC: Cache invalidation doesn't check class qualifiers (data, inline)KT-51083 KJS / IR + IC: Cache invalidation doesn't check inline function which was non inline initiallyKT-51896 KJS / IR + IC: Cache invalidation doesn't trigger rebuild for fake overridden inline functions
Language Design
KT-48385 Deprecate confusing grammar in when-with-subjectKT-48516 Forbid @Synchronized annotation on suspend functionsKT-41886 Ability to require opt-in for interface implementation, but not for usageKT-34943 OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java codeKT-51334 Implement type-bound label this@Type
Libraries
New Features
KT-21007 Provide Kotlin OSGI Bundle with extensions for JRE8 (and JRE7)KT-54082 Comparable and subtractible TimeMarksKT-52928 Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.PathKT-49425 Update OptIn documentation to reflect latest design changesKT-54005 Allow calling declaringJavaClass on EnumKT-52933 rangeUntil members in built-in types
Performance Improvements
KT-53508 Cache typeOf-related KType instances when kotlin-reflect is used
Fixes
KT-51907 Switch JVM target of the standard libraries to 1.8KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.KT-54168 Expand on natural order in comparator docsKT-53277 Stabilize experimental API for 1.8KT-53864 Review deprecations in stdlib for 1.8KT-47707 Remove the system property and the brittle contains optimization code itselfKT-52336 Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1)KT-53927 Remove deprecation from ConcurrentModificationException constructorsKT-53152 Introduce EnumEntries to stdlib as backing implementation of Enum.entriesKT-53134 stdlib > object Charsets > not thread safe lazy initializationKT-51063 Gradle project with JPS runner: “JUnitException: Failed to parse version” JUnit runner internal error with JUnitKT-52908 Native: setUnhandledExceptionHook swallows exceptions
Native
KT-51043 Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2KT-50786 Native: prohibit suspend calls inside autoreleasepool {}KT-52834 Implement test infrastructure for K2/Native
Native. C Export
KT-36878 Reverse C Interop: incorrect headers generation for primitive unassigned type arraysKT-53599 [Reverse C Interop] Provide box/unbox API for unsigned primitive typesKT-41904 Kotlin/Native : error: duplicate member for interface and function with the same nameKT-42830 [Reverse C Interop] Add API to get value of boxed primitivesKT-39496 K/N C: optional unsigned types as function parameters crash the compilerKT-39015 Cannot compile native library with nullable inline class
Native. C and ObjC Import
KT-54738 Cocoapods cinterop: linking platform.CoreGraphics packageKT-54001 Kotlin/Native: support header exclusion in cinterop def filesKT-53151 Native: Custom declarations in .def don't work with modules, only headers
Native. ObjC Export
KT-53680 Obj-C refinement annotationsKT-54119 Native: runtime assertion failed due to missing thread state switchKT-42641 Don't export generated component* methods from Kotlin data classes to Obj-C header
Native. Platform Libraries
KT-54225 Native: update to Xcode 14.1KT-54164 Native: commonizer fails on CoreFoundation typesKT-39747 Why is there no WinHttp API in Kotlin/Native's Windows API?
Native. Runtime
KT-49228 Kotlin/Native: Allow to unset unhandled exception hookKT-27305 Fix FILE macro inside RuntimeCheck and RuntimeAssert
Native. Runtime. Memory
KT-54498 Deprecation message of ‘FreezingIsDeprecated’ is not really helpfulKT-53182 New memory manager: Unexpected memory usage on IOS
Native. Stdlib
KT-52429 Small Usability Improvements for Worker API
Reflection
KT-54629 Incorrectly cached class classifierKT-54611 KTypeImpl does not take into account class loader from the classifier propertyKT-48136 Make Reflection.getOrCreateKotlinPackage use cache when kotlin-reflect is usedKT-50705 Use ClassValue to cache KClass objects in kotlin-reflectKT-53454 Properly cache the same class‘s KClass when it’s loaded by multiple classloaders in getOrCreateKotlinClass
Specification
KT-54210 Update Kotlin specification to mention that since 1.8 generics in value classes are allowed
Tools. CLI
KT-54116 Add JVM target bytecode version 19KT-53278 Support values 6 and 8 for -Xjdk-releaseKT-46312 CLI: Kotlin runner should use platform class loader to load JDK modules on Java 9+
Tools. Commonizer
KT-54310 Commonizer fails on 1.8.0-dev K/N distributionsKT-48576 [Commonizer] platform.posix.pselect not commonized in Ktor
Tools. Compiler Plugins
KT-46959 Kotlin Lombok: Support generated builders (@Builder)KT-53683 Unresolved reference compilation error occurs if a file is annotated with @ Singular and has any guava collection type : ImmutableTable, ImmutableList or elseKT-53657 [K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type NavigableMap without explicit types specificationKT-53647 [K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type Iterable<>KT-53724 Param of the @ Singular lombok annotation ignoreNullCollections=true is ignored by kotlin compilerKT-53451 [K2] References to methods generated by @ With lombok annotation can't be resolved with enabled K2 compilerKT-53721 [K2] There is no compilation error while trying to add null as a param of the field with non-null typeKT-53370 Kotlin Lombok compiler plugin can't resolve methods generated for java boolean fields annotated with @ With annotation
Tools. Compiler plugins. Serialization
KT-54878 JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer<Box<*>>()KT-55340 Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete typeKT-55296 Improve exceptions in serialization pluginKT-55180 KJS: regression in serialization for Kotlin 1.8.0-betaKT-53157 Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serializationKT-54297 Regression in serializable classes with star projectionsKT-49660 kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed classKT-43910 JS IR: Serialization with base class: “IndexOutOfBoundsException: Index 0 out of bounds for length 0”
Tools. Daemon
KT-52622 Kotlin/JS, Kotlin/Common compilations start Kotlin daemon incompatible with Kotlin/JVM compilation on JDK 8
Tools. Gradle
New Features
KT-27301 Expose compiler flags via Gradle lazy propertiesKT-53357 Change single build metrics propertyKT-50673 Gradle: KotlinCompile task(s) should use @NormalizeLineEndingsKT-34464 Kotlin build report path not clickable in the IDE
Performance Improvements
KT-51525 [Gradle] Optimize evaluating args for compile tasksKT-52520 Remove usage of reflection from CompilerArgumentsGradleInput
Fixes
KT-48843 Add ability to disable Kotlin daemon fallback strategyKT-55334 kaptGenerateStubs passes wrong android variant module names to compilerKT-55255 Gradle: stdlib version alignment fails build on dynamic stdlib version.KT-55363 [K1.8.0-Beta] Command line parsing treats plugin parameters as source filesKT-54993 Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+KT-54136 Duplicated classes cause build failure if a dependency to kotlin-stdlib specified in an android projectKT-50115 Setting toolchain via Java extension does not configure ‘kotlinOptions.jvmTarget’ value when Kotlin compilation tasks are created eagerlyKT-55222 Migrate AndroidDependencyResolver to the new Gradle APIKT-55119 There is no validation for different jvmTarget and targetCompatibility values in multiplatform projects with jvm target and used java sourcesKT-55102 Compile java task fails with different target version in pure kotlin projectKT-54995 [1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'KT-35003 Automatically set targetCompatibility for kotlin-jvm projects to work with gradle 6 metadataKT-45335 kotlinOptions.jvmTarget conflicts with Gradle variantsKT-48798 Android: going from one to more than one productFlavor causes inputs of commonSourceSet$kotlin_gradle_plugin property of compileKotlin task to changeKT-55019 Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilationKT-55004 jvmTarget value is ignored by depending modules if a task “UsesKotlinJavaToolchain” is configured for all project modules using allProjects {}KT-54888 Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phaseKT-54399 Undeprecate ‘kotlinOptions’ DSLKT-54306 Change the naming of newly added Compiler*Options classes and interfacesKT-54580 KotlinOptions in AbstractKotlinCompilation class are deprecatedKT-54653 java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt exception if a dependency to the kotlin-stdlib is addedKT-52624 Compatibility with Gradle 7.3 releaseKT-54703 Stdlib substitution does not work with JPMS modulesKT-54602 Prevent leaking Gradle Compile DSL types into compiler cli runtimeKT-54439 Project failed to sync Native LaguageSettings to compiler options in afterEvaluateKT-53885 Bump minimal supported Gradle version to 6.8.3KT-53773 Protect and system properties can contain sensitive dataKT-53732 Add custom values limits for build scan reportsKT-52623 Compatibility with Gradle 7.2. releaseKT-51831 Gradle: remove kotlin.compiler.execution.strategy system propertyKT-51679 Change deprecation level to error for KotlinCompile setClasspath/getClasspath methodsKT-54335 Kotlin build report configuration. There is no validation for SINGLE_FILE output if the required kotlin.build.report.single_file property is empty or absentKT-54356 Kotlin build report configuration. Wrong path is used for the property kotlin.internal.single.build.metrics.fileKT-53617 KotlinCompilerExecutionStrategy value is ignored by depending modules if configure once for all project modules using allProjects {}KT-53823 Kotlin Gradle Plugin uses deprecated Gradle API: Provider.forUseAtConfigurationTime()KT-54142 Increase Kotlin Gradle plugin Gradle target API to 7.5KT-50161 Android variant filter breaks KotlinCompile cache compatibilityKT-54113 LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong contextKT-53830 Versions of kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 aren't overrided if added as transitive dependencies to kotlin-stdlibKT-54112 Missing target input on KotlinNativeLink taskKT-45879 Documentation: Wrong kotlin languageVersion “1.6 (EXPERIMENTAL)”KT-54103 Remove JvmTarget.JVM_1_6 from generated Gradle compiler typeKT-52959 KMP code is breaking Gradle project isolationKT-50598 MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first buildKT-53246 Gradle: Special characters in paths of errors and warnings should be escapedKT-47730 How to avoid stdlib coming from Kotlin gradle pluginKT-52209 Corrupted cache and non-incremental build if produce caches “in process” and restore then compiling with kotlin daemonKT-41642 “TaskDependencyResolveException: Could not determine the dependencies” when trying to apply stdlibKT-53390 Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilationKT-52984 Kotlin Gradle plugin is misbehaving by resolving DomainObjectCollection earlyKT-38622 Non-incremental compilation because of R.jar with Android Gradle plugin 3.6KT-38576 AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpath
Tools. Gradle. Cocoapods
KT-54314 Cocoapods: Signing pod dependency for Xcode 14KT-54060 Xcode 14: disable bitcode embedding for Apple frameworksKT-53340 Change default linking type for frameworks registered by cocoapods pluginKT-53392 Deprecate and delete downloading pod dependencies by direct linkKT-53695 Build of macOS application fails if a framework is integrated via Cocoapods plugin
Tools. Gradle. JS
KT-53367 KJS: Migrate cssSupport APIKT-45789 KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask outputKT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectlyKT-52951 [KGP/JS] Browser test target registration via propertiesKT-52950 KJS: Report if yarn.lock was updated during builtKT-53374 KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache supportKT-53381 Kotlin/JS: with erased kotlin-js-store/ and reportNewYarnLock = true the task kotlinUpgradeYarnLock always failsKT-53788 KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabledKT-53614 Kotlin/JS upgrade npm dependencies
Tools. Gradle. Multiplatform
New Features
KT-53396 Support ‘implementation platform()’ by gradle kotlin mpp plugin for JVM targetKT-40489 MPP / Gradle: support BOM (enforcedPlatform) artifacts in source set dependencies DSL
Performance Improvements
KT-52726 [MPP] Optimize caching/performance/call-sites of ‘compilationsBySourceSets’
Fixes
KT-54634 MPP: Test Failure causes: KotlinJvmTest$Executor$execute$1 does not define failureKT-35916 Gradle MPP plugin: Configurations for a main compilation and its default source set have different namingKT-46960 Repeated kotlin/native external libraries in projectKT-27292 MPP: jvm { withJava() }: Gradle build: Java source under Kotlin root is resolved while building, but does not produce output class filesKT-34650 Naming clash in MPP+Android: androidTest vs androidAndroidTestKT-54387 Remove MPP alpha stability warningKT-31468 Targets disambiguation doesn't work if a depending multiplatform module uses withJava() modeKT-54090 Take an Apple test device from the device listKT-54301 KotlinToolingVersionOrNull: IllegalArgumentExceptionKT-53256 Implement K/N compiler downloading for KPMKT-45412 KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source setKT-49202 Tests on android target can't be executed in multiplatform project if dependency to kotlin-test framework is provided as a single dependency and tests configured to be executed via Junit5
Tools. Gradle. Native
New Features
KT-43293 Support Gradle configuration caching with Kotlin/NativeKT-53107 Add arm64 support for watchOS targets (Xcode 14)
Fixes
KT-53704 Native cinterop: eager header path calculationKT-54814 Kotlin/Native: Github Actions: Testing watchOSX64 with Xcode 14 — Invalid device: Apple Watch Series 5KT-54627 Native: :commonizeNativeDistribution with configuration cache enabled fails even when set to warn on JDK 17KT-54339 Link tasks fail if Gradle Configuration Cache is enabledKT-53191 Native cinterop sync problem with gradleKT-54583 watchosDeviceArm64 target shouldn't register test tasksKT-52303 Gradle / Native: Build tasks ignore project.buildDirKT-54442 Gradle iOS test tasks fail if a device is not selected explicitlyKT-54177 Gradle: Deprecate enableEndorsedLibs flagKT-47355 Support macos target for FatFramework taskKT-53339 MPP / CocoaPods: The static framework fails to install on a real iOS deviceKT-31573 Missing description for Native Gradle tasksKT-53131 Gradle Sync: “NoSuchElementException: Array contains no element matching the predicate” with CocoaPodsKT-53686 Task assembleReleaseXCFramework fails with “error: the path does not point to a valid framework” if project name contains a dash
Tools. Incremental Compile
KT-54144 New IC: “IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols” when changing an inline function with custom JvmNameKT-53871 New IC: “IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols” when changing an inline property accessorKT-19804 Relocatable IC caches
Tools. JPS
KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilationKT-54228 Switching abstract to sealed classes causes incremental issueKT-38483 JPS: Stopping compilation causes IDE CompilationCanceledExceptionKT-50310 False positive NO_ELSE_IN_WHEN on incremental build when adding sealed classesKT-48813 Move cache version to compilerKTIJ-921 JPS: FileNotFoundException on project build in mixed Kotlin/Scala project
Tools. Kapt
KT-54187 JVM IR + kapt: incorrect modifier final is generated for nested enum in interfaceKT-48827 Remove ‘kapt.use.worker.api’ property
Tools. Scripts
KT-54355 Scripts: Internal compiler error (languageVersion=1.9)KT-53009 Scripting: NDFDE “Descriptor wasn't found for declaration SCRIPT” on using script definition with kotlin from master
Recent ChangeLogs: